DI-Guy SDK Documentation  13.7
diguyParticleSystem Class Referenceabstract

An interface class that represents a particle system that has been created by diguy's appearance effect system. this class allows you to hook up diguy to a 3rd party particle system basing the mapping on the particle name. It's also possible to directly render diguy particles via the diguyParticleSystemRenderer class. More...

#include <diguyParticleSystem.h>

Public Member Functions

 diguyParticleSystem (const char *effect_name)
 
virtual ~diguyParticleSystem ()
 
virtual const char * get_name ()=0
 
virtual void set_name (const char *name)=0
 
virtual int update (float dt)
 return 0 if object can be garbage collected More...
 
virtual void start_emitting ()=0
 
virtual void stop_emitting ()=0
 
virtual void pause_emitting ()=0
 
virtual void stop_all_particles ()=0
 
virtual void restart_particle_system ()=0
 
virtual void pause_update ()
 
virtual void resume_update ()
 
virtual int get_emitting ()=0
 
virtual int get_active_count ()=0
 if this and get_emitting return 0 will garbage collect More...
 
virtual void set_position (double x, double y, double z)=0
 
virtual void get_position (double **\note, double *y, double *z)=0
 
virtual int set_visible (int visible)
 
virtual int get_visible ()
 
virtual void set_orientation (float *matrix)=0
 not essential More...
 
virtual void set_scale (float scale)=0
 
virtual void set_scale (float scale_x, float scale_y, float scale_z)=0
 
virtual void set_time_scale (float t)=0
 
virtual void reset_prev_position_next_update ()=0
 diguy on reset will suggest that you reset the previous position. More...
 
diguyCharacterget_character ()
 
void set_character (diguyCharacter *character)
 
void set_particle_manager (diguyParticleManager *manager)
 
diguyParticleManager * get_particle_manager ()
 
virtual void render (diguyGraphicsShaderProgram *shader)
 Define to use the diguy render. More...
 
void set_particle_renderer (diguyParticleSystemRenderer *renderer)
 
diguyParticleSystemRendererget_particle_renderer ()
 
virtual int get_ready_for_garbage_collection ()
 
virtual void set_ready_for_garbage_collection (int value)
 
virtual float get_system_life_time_override ()
 
virtual void set_system_life_time_override (float value)
 
virtual int get_spawned_system ()
 
virtual void set_spawned_system (int value)
 
virtual void add_collision_plane (const bdiVec3f &vPlaneNormal, const bdiVec3f &vPoint, float fBounceFactor=1.0f, int nCollisionResult=0)
 

Protected Attributes

diguyParticleManager * m_particle_manager
 
diguyParticleSystemRendererm_renderer
 
diguyCharacterm_character
 
int m_visible
 
float m_age
 
float m_system_life_time_override
 
int m_ready_for_garbage_collection
 
int m_spawned_system
 

Detailed Description

An interface class that represents a particle system that has been created by diguy's appearance effect system. this class allows you to hook up diguy to a 3rd party particle system basing the mapping on the particle name. It's also possible to directly render diguy particles via the diguyParticleSystemRenderer class.

Can be subclassed by filling out the diguy_graphics_set_particle_system_create_func().

Constructor & Destructor Documentation

diguyParticleSystem::diguyParticleSystem ( const char *  effect_name)
virtual diguyParticleSystem::~diguyParticleSystem ( )
inlinevirtual

Member Function Documentation

virtual const char* diguyParticleSystem::get_name ( )
pure virtual
virtual void diguyParticleSystem::set_name ( const char *  name)
pure virtual
virtual int diguyParticleSystem::update ( float  dt)
virtual

return 0 if object can be garbage collected

virtual void diguyParticleSystem::start_emitting ( )
pure virtual
virtual void diguyParticleSystem::stop_emitting ( )
pure virtual
virtual void diguyParticleSystem::pause_emitting ( )
pure virtual
virtual void diguyParticleSystem::stop_all_particles ( )
pure virtual
virtual void diguyParticleSystem::restart_particle_system ( )
pure virtual
virtual void diguyParticleSystem::pause_update ( )
inlinevirtual
virtual void diguyParticleSystem::resume_update ( )
inlinevirtual
virtual int diguyParticleSystem::get_emitting ( )
pure virtual
virtual int diguyParticleSystem::get_active_count ( )
pure virtual

if this and get_emitting return 0 will garbage collect

virtual void diguyParticleSystem::set_position ( double  x,
double  y,
double  z 
)
pure virtual
virtual void diguyParticleSystem::get_position ( double **\  note,
double *  y,
double *  z 
)
pure virtual
virtual int diguyParticleSystem::set_visible ( int  visible)
inlinevirtual
virtual int diguyParticleSystem::get_visible ( )
inlinevirtual
virtual void diguyParticleSystem::set_orientation ( float *  matrix)
pure virtual

not essential

virtual void diguyParticleSystem::set_scale ( float  scale)
pure virtual
virtual void diguyParticleSystem::set_scale ( float  scale_x,
float  scale_y,
float  scale_z 
)
pure virtual
virtual void diguyParticleSystem::set_time_scale ( float  t)
pure virtual
virtual void diguyParticleSystem::reset_prev_position_next_update ( )
pure virtual

diguy on reset will suggest that you reset the previous position.

this can be useful for creating particles between time steps as a particle system moves

diguyCharacter* diguyParticleSystem::get_character ( )
inline
void diguyParticleSystem::set_character ( diguyCharacter character)
inline
void diguyParticleSystem::set_particle_manager ( diguyParticleManager *  manager)
inline
diguyParticleManager* diguyParticleSystem::get_particle_manager ( )
inline
virtual void diguyParticleSystem::render ( diguyGraphicsShaderProgram shader)
inlinevirtual

Define to use the diguy render.

void diguyParticleSystem::set_particle_renderer ( diguyParticleSystemRenderer renderer)
inline
diguyParticleSystemRenderer* diguyParticleSystem::get_particle_renderer ( )
inline
virtual int diguyParticleSystem::get_ready_for_garbage_collection ( )
inlinevirtual
virtual void diguyParticleSystem::set_ready_for_garbage_collection ( int  value)
inlinevirtual
virtual float diguyParticleSystem::get_system_life_time_override ( )
inlinevirtual
virtual void diguyParticleSystem::set_system_life_time_override ( float  value)
inlinevirtual
virtual int diguyParticleSystem::get_spawned_system ( )
inlinevirtual
virtual void diguyParticleSystem::set_spawned_system ( int  value)
inlinevirtual
virtual void diguyParticleSystem::add_collision_plane ( const bdiVec3f &  vPlaneNormal,
const bdiVec3f &  vPoint,
float  fBounceFactor = 1.0f,
int  nCollisionResult = 0 
)
inlinevirtual

Member Data Documentation

diguyParticleManager* diguyParticleSystem::m_particle_manager
protected
diguyParticleSystemRenderer* diguyParticleSystem::m_renderer
protected
diguyCharacter* diguyParticleSystem::m_character
protected
int diguyParticleSystem::m_visible
protected
float diguyParticleSystem::m_age
protected
float diguyParticleSystem::m_system_life_time_override
protected
int diguyParticleSystem::m_ready_for_garbage_collection
protected
int diguyParticleSystem::m_spawned_system
protected

The documentation for this class was generated from the following file: