diff options
author | Jacques Lucke <mail@jlucke.com> | 2019-06-07 12:04:01 +0300 |
---|---|---|
committer | Jacques Lucke <mail@jlucke.com> | 2019-06-07 12:04:01 +0300 |
commit | 01196be661967721cf0ea10a3afb7216818ba241 (patch) | |
tree | 5eb2e7570e1e3299c3e9f54df90fe53b8c6cfc70 /source/blender/simulations/BParticles.h | |
parent | 741ed59745bdd8062fcb4e1478a0684864db8d36 (diff) |
initial particle system api test
Still not happy with the way solver-dependent state is handled.
Diffstat (limited to 'source/blender/simulations/BParticles.h')
-rw-r--r-- | source/blender/simulations/BParticles.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/source/blender/simulations/BParticles.h b/source/blender/simulations/BParticles.h new file mode 100644 index 00000000000..ff69983d502 --- /dev/null +++ b/source/blender/simulations/BParticles.h @@ -0,0 +1,33 @@ + +#ifndef __SIM_PARTICLES_C_H__ +#define __SIM_PARTICLES_C_H__ + +#include "BLI_utildefines.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct OpaqueBParticlesDescription *BParticlesDescription; +typedef struct OpaqueBParticlesSolver *BParticlesSolver; +typedef struct OpaqueBParticlesState *BParticlesState; + +BParticlesDescription BParticles_playground_description(void); +void BParticles_description_free(BParticlesDescription description); + +BParticlesSolver BParticles_solver_build(BParticlesDescription description); +void BParticles_solver_free(BParticlesSolver solver); + +BParticlesState BParticles_state_init(BParticlesSolver solver); +void BParticles_state_adapt(BParticlesSolver new_solver, BParticlesState *state_to_adapt); +void BParticles_state_step(BParticlesState state); +void BParticles_state_free(BParticlesState state); + +uint BParticles_state_particle_count(BParticlesState state); +void BParticles_state_get_positions(BParticlesState state, float (*dst)[3]); + +#ifdef __cplusplus +} +#endif + +#endif /* __SIM_PARTICLES_C_H__ */ |