diff options
Diffstat (limited to 'source/blender/simulations/BParticles.h')
-rw-r--r-- | source/blender/simulations/BParticles.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/source/blender/simulations/BParticles.h b/source/blender/simulations/BParticles.h new file mode 100644 index 00000000000..2bfc888b80f --- /dev/null +++ b/source/blender/simulations/BParticles.h @@ -0,0 +1,45 @@ + +#ifndef __SIM_PARTICLES_C_H__ +#define __SIM_PARTICLES_C_H__ + +#include "BLI_utildefines.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct Mesh; +struct Depsgraph; +struct BParticlesModifierData; +struct BParticlesFrameCache; +struct Depsgraph; + +typedef struct OpaqueBParticlesSimulationState *BParticlesSimulationState; + +BParticlesSimulationState BParticles_new_simulation(void); +void BParticles_simulation_free(BParticlesSimulationState simulation_state); + +void BParticles_simulate_modifier(struct BParticlesModifierData *bpmd, + struct Depsgraph *depsgraph, + BParticlesSimulationState simulation_state, + float time_step); + +Mesh *BParticles_modifier_point_mesh_from_state(BParticlesSimulationState simulation_state); +Mesh *BParticles_modifier_mesh_from_state(BParticlesSimulationState simulation_state); + +Mesh *BParticles_state_extract_type__tetrahedons(BParticlesSimulationState simulation_state, + const char *particle_type); +Mesh *BParticles_state_extract_type__points(BParticlesSimulationState simulation_state, + const char *particle_type); + +void BParticles_modifier_free_cache(struct BParticlesModifierData *bpmd); +struct Mesh *BParticles_modifier_mesh_from_cache(struct BParticlesFrameCache *cached_frame); +void BParticles_modifier_cache_state(struct BParticlesModifierData *bpmd, + BParticlesSimulationState simulation_state, + float frame); + +#ifdef __cplusplus +} +#endif + +#endif /* __SIM_PARTICLES_C_H__ */ |