DI-Guy SDK Documentation  13.1
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. 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)=0
 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 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 rz, float rx, float ry)=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 ()
 

Public Attributes

diguyCharacterm_character
 
float m_system_life_time_override
 

Protected Attributes

diguyParticleManager * m_particle_manager
 
diguyParticleSystemRendererm_renderer
 
int m_visible
 

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.

// DOCUMENTATION PENDING

Can be subclassed by filling out the diguy_graphics_set_particle_system_create_func().

Constructor & Destructor Documentation

diguyParticleSystem::diguyParticleSystem ( const char *  effect_name)
inline
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)
pure 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 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  rz,
float  rx,
float  ry 
)
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 timesteps 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

Member Data Documentation

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

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