![]() |
VR-Forces 5.0.3 Developer's Guide
|
DtFxParticleSystemManager is the manager for all the particle systems and descriptions diguy sdk communicates to it via diguyParticleManager base class.

Public Member Functions | |
| DtFxParticleSystemManager (makVrv::DtDe &de) | |
| virtual | ~DtFxParticleSystemManager () |
| virtual bool | get_scenario_owns_particle_manager () |
| virtual void | initialize_renderer () |
| virtual DtFxOglParticleSystemRenderer * | renderer () |
| virtual void | draw () |
| virtual void | draw (osg::RenderInfo &renderInfo) |
| virtual void | drawDebugVisuals (osg::RenderInfo &renderInfo) |
| virtual void | addImguiOverlay () |
| virtual void | addImguiStats () |
| virtual diguyParticleSystem * | create_particle_system (const char *desc_name) |
| virtual void | reinitialize (bool recreate_default_effect=true) |
| virtual void | update (float quantum) |
| virtual void | vrvUpdate (float quantum) |
| virtual int | load_entries (const char *fileName) |
| virtual void | add_desc (bdiParticleDesc *desc) |
| virtual void | remove_desc (bdiParticleDesc *desc, int delete_desc=1) |
| virtual void | rename_desc (bdiParticleDesc *desc, const char *new_name) |
| virtual DtFxParticleDesc * | create_default_description () |
| virtual int | in_use (bdiParticleDesc *desc) |
| virtual bdiParticleDescArray * | get_descriptions () |
| bdiParticleDesc * | get_description (int index) |
| bdiParticleDesc * | find_description (const char *name) |
| diguyParticleSystem * | create (const char *desc_name) |
| diguyParticleSystem * | create_transient_system (const char *desc_name, float life_time_override=-1.0f) |
| diguyParticleSystem * | create_preview_system (const char *desc_name) |
| diguyParticleSystem * | find_system_with_character_pointer (diguyCharacter *character) |
| virtual void | remove_system (diguyParticleSystem *ps) |
| virtual int | get_number_of_systems () |
| virtual int | get_number_of_transient_systems () |
| virtual diguyParticleSystem * | get_system (int i) |
| virtual bdiString | get_unique_description_name (const char *prefix) |
| virtual diguyParticleSystem * | get_preview_system () |
| virtual void | destroy_preview_system () |
| virtual void | reset () |
| virtual void | process_data_queue () |
| virtual void | set_draw_debug_visuals (int val) |
| virtual int | get_draw_debug_visuals () const |
| virtual void | set_global_wind (const bdiVec3f &wind) |
| virtual const bdiVec3f & | get_global_wind () const |
| virtual void | load_texture_map (bdiParticleDesc *desc) |
| virtual int | get_enabled () const |
| virtual void | set_enabled (int val) |
| virtual void | start_emitting_for (diguyCharacter *, const bdiFarPosition &start_pos, const bdiVec3f &orient) |
| virtual void | stop_emitting_for (diguyCharacter *) |
| virtual void | stop_all_particles_for (diguyCharacter *) |
| virtual void | set_draw_placeholder (int draw) |
| virtual int | get_draw_placeholder () const |
| virtual void | set_draw_placeholder_master_switch (int draw) |
| virtual int | get_draw_placeholder_master_switch () const |
| virtual int | get_license_status () const |
| virtual int | load_descs_library (bdiObjectLibrary *object_library) |
| virtual void | unload_descs_library (bdiObjectLibrary *object_library) |
| virtual void | clear_derived_update_flag_on_next_update () |
| virtual int | get_num_systems_drawn () const |
| virtual void | increment_systems_drawn () |
| virtual bool | isGeocentric () |
| virtual void | calcGeocentric (const bdiFarPosition &pos, bdiMat4f &mat, bdiMat4f *inversemat) |
| virtual void | setOsgDrawable (osg::ref_ptr< DtFxOsgParticleDrawable > &drawable) |
| virtual osg::ref_ptr < DtFxOsgParticleDrawable > & | osgDrawable () |
| virtual void | setWindSpeed (float metersPerSecond) |
| virtual void | setWindDirection (float radians) |
| virtual void | updateWind () |
| virtual void | setNumPreviewSystems (int value) |
| virtual void | restartPreview () |
| virtual void | setPreviewSystemsPosition (const bdiFarPosition &pos) |
| DtDe & | de () |
| virtual void | set_particle_module_disabled (int dis) |
| virtual void | set_water_height (const float &water_height) |
| virtual float | get_water_height () const |
| virtual void | sync_spawn_system_data (bdiParticleDesc *desc) |
| virtual osg::Node * | getOrCreateSensorNode (int diguyMat) |
| virtual DtFxCollisionVolumeInterface * | addCollisionVolume () |
| virtual void | destroyCollisionVolume (DtFxCollisionVolumeInterface *volume) |
| virtual DtFxForceInterface * | addGlobalForce () |
| virtual void | destroyGlobalForce (DtFxForceInterface *volume) |
| DtFxParticleVertex * | get_vertbuffer () |
| virtual bool | revertItem (DtFxParticleDesc *item) |
| virtual void | saveItem (DtFxParticleDesc *item) |
| virtual std::string | saveFiles () |
| virtual void | createDescBackups () |
| virtual diguyParticleManager * | getDiguyParticleManager () |
| virtual void | initSystem () |
| virtual void | createParticleDrawable () |
| virtual bool | hasDescription (const std::string &name) |
| virtual void | slot_reloadShaders () |
| virtual void | setWireFrameMode (bool wireframeMode) |
| virtual void | setTextureMode (bool textureMode) |
| virtual DtFxParticleSystem * | createSystem (const std::string &name) |
| virtual void | destroySystem (DtFxParticleSystem *system) |
| virtual void | updateParticles (double simTime) |
| bool | getTerrainOrPropIntersection (const osg::Vec3d &startPos, const osg::Vec3d &endPos, osg::Vec3d &result) const |
| virtual void | addGlobalForce (DtFxForce *force) |
| virtual void | removeGlobalForce (DtFxForce *force) |
| const DtFxForceArray & | globalForces () const |
| DtFxForceArray & | globalForces () |
| const DtFxCollisionObjectArray & | collisionObjects () const |
| DtFxCollisionObjectArray * | collisionObjectsPtr () |
| virtual void | addDescToTextureLoad (bdiParticleDesc *desc) |
| tbb::mutex & | systemDataMutex () |
| tbb::mutex & | lightMutex () |
| const std::set< std::string > & | fileNamesList () |
| DtFxParticleSystemArray & | previewArray () |
| DtFxParticleSystemArray & | systemArray () |
| DtFxParticleSystemHolderArray & | testHolderArray () |
| virtual bool * | previewAutoMovePtr () |
| virtual float * | previewAutoMoveSpeedPtr () |
| virtual bdiVec3f * | previewAutoMoveRadiusPtr () |
| virtual void | recompileScripts () |
| virtual void | addDebugDrawer (DtFxDebugDrawCallbackInterface *drawer) |
| virtual bool | anyToUpdateCullDraw (void) |
Public Member Functions inherited from makVrv::DtVirtualBaseClass | |
| DtVirtualBaseClass () | |
| virtual | ~DtVirtualBaseClass () |
Static Public Member Functions | |
| static DtFxParticleSystemManager * | instance (DtDe &de) |
Static Public Member Functions inherited from makVrv::DtParticleSystemManagerInterface | |
| static DtParticleSystemManagerInterface & | instance (DtDe &de) |
Protected Member Functions | |
| virtual diguyParticleSystem * | create_transient_system (DtFxParticleDesc *desc, float life_time_override=-1.0f) |
| virtual diguyParticleSystem * | create_preview_system (DtFxParticleDesc *desc) |
| virtual DtFxParticleSystem * | shared_creation (DtFxParticleDesc *desc) |
| virtual void | create_child_systems (DtFxParticleDesc *desc, DtFxParticleSystem *psystem, bool transient) |
| virtual void | update_preview (const float quantum) |
| virtual void | cull (DtFxParticleSystemArray &input, osg::Polytope &polytope, bool shadow_pass, std::vector< DtFxParticleSystem * > &results) |
| virtual osg::ref_ptr < osg::Texture2D > | loadTexture (const char *txName) |
| virtual bool | anyActive (DtFxParticleSystemArray &input) |
| virtual void | slot_coordinateSystemChanged () |
| makVrv::DtFxParticleSystemManager::DtFxParticleSystemManager | ( | makVrv::DtDe & | de | ) |
default constructor
|
virtual |
|
virtual |
stop diguy scenario from deleting the manager
|
virtual |
initialize renderer
|
virtual |
renderer accessor
|
inlinevirtual |
base class no-ops
|
virtual |
called by the osg drawable
|
virtual |
called by the osg drawable
|
virtual |
added Imgui overlay stats
|
virtual |
add imgui internal details
Implements makVrv::DtParticleSystemManagerInterface.
|
virtual |
creates a new particle system, caller's job to put it on the correct list
|
virtual |
base class no-ops
|
virtual |
base class no-ops (diguy sdk will call this, but we want to leave it in vrv's hands)
|
virtual |
update that's called as part of vrv's code
loads descriptions from config entries
|
virtual |
adds a particle system description
|
virtual |
removes a particle system description
|
virtual |
renames the description
|
virtual |
creates a default description
|
virtual |
checks if this description is in use
|
virtual |
gets a list of descriptions
| bdiParticleDesc* makVrv::DtFxParticleSystemManager::get_description | ( | int | index | ) |
gets a description at a given index
| bdiParticleDesc* makVrv::DtFxParticleSystemManager::find_description | ( | const char * | name | ) |
finds a description by name
| diguyParticleSystem* makVrv::DtFxParticleSystemManager::create | ( | const char * | desc_name | ) |
creates a particle system given the description name
| diguyParticleSystem* makVrv::DtFxParticleSystemManager::create_transient_system | ( | const char * | desc_name, |
| float | life_time_override = -1.0f |
||
| ) |
creates a temporary particle system that is automatically managed
| diguyParticleSystem* makVrv::DtFxParticleSystemManager::create_preview_system | ( | const char * | desc_name | ) |
creates a preview particle system that is automatically managed
| diguyParticleSystem* makVrv::DtFxParticleSystemManager::find_system_with_character_pointer | ( | diguyCharacter * | character | ) |
inherited from base class
|
virtual |
remove and deletes the system
|
virtual |
number of regular systems;
|
virtual |
number of transient systems
|
virtual |
get regular system at index
|
virtual |
generates a unique description name
|
virtual |
accessors from the preview system
|
virtual |
destroy all the preview systems
|
virtual |
restarts all systems and deletes the transient systems
|
virtual |
loads edited particle descriptions
|
virtual |
show visuals
|
virtual |
should I show visuals
|
virtual |
update global wind
|
virtual |
get the global wind value
|
virtual |
management issues
|
virtual |
system desc have changed update them
|
virtual |
stats tracking
|
virtual |
stats tracking
|
virtual |
|
virtual |
generates geocentric matrix from diguy position
|
virtual |
saves off the drawable
|
virtual |
returns the drawable
Implements makVrv::DtParticleSystemManagerInterface.
|
virtual |
receiver when wind speed changes
|
virtual |
receiver when wind direction changes
|
virtual |
helper function that updates the wind, only applies to preview systems
|
virtual |
debug ui handler
|
virtual |
debug ui handler
|
virtual |
debug ui handler for mouse click
| DtDe& makVrv::DtFxParticleSystemManager::de | ( | ) |
accessor for the de
| DtFxParticleVertex* makVrv::DtFxParticleSystemManager::get_vertbuffer | ( | ) |
|
virtual |
|
virtual |
|
virtual |
returns error list
|
virtual |
save off data for reverting
|
static |
DtParticleSystemManagerInterface functions.
|
virtual |
accessor needed for diguy integration
Implements makVrv::DtParticleSystemManagerInterface.
|
virtual |
loads particle system data adds infrastructure to scene graph.
|
virtual |
creates drawable and adds to scene graph.
|
virtual |
checks list of descriptions for match.
Implements makVrv::DtParticleSystemManagerInterface.
|
virtual |
reloads the particle shaders
|
virtual |
sets the wireframe mode
|
virtual |
sets the texturing mode
|
virtual |
creates a particle system
Implements makVrv::DtParticleSystemManagerInterface.
|
virtual |
destroys the system
|
virtual |
called every frame with the amount of time that's passed
| bool makVrv::DtFxParticleSystemManager::getTerrainOrPropIntersection | ( | const osg::Vec3d & | startPos, |
| const osg::Vec3d & | endPos, | ||
| osg::Vec3d & | result | ||
| ) | const |
helper intersection function work in progress.
|
virtual |
adds a global force that the particle systems manage
|
virtual |
removes a global force that the particles manage
| const DtFxForceArray& makVrv::DtFxParticleSystemManager::globalForces | ( | ) | const |
access to the global force list
| DtFxForceArray& makVrv::DtFxParticleSystemManager::globalForces | ( | ) |
non const version for the particle editor
| const DtFxCollisionObjectArray& makVrv::DtFxParticleSystemManager::collisionObjects | ( | ) | const |
access to list of collision objects
| DtFxCollisionObjectArray* makVrv::DtFxParticleSystemManager::collisionObjectsPtr | ( | ) |
access to list of non-const collision objects
|
virtual |
| tbb::mutex& makVrv::DtFxParticleSystemManager::systemDataMutex | ( | ) |
this mutex allows live editing of the data via the UI only should be used by editor
| tbb::mutex& makVrv::DtFxParticleSystemManager::lightMutex | ( | ) |
this mutex allows the multi threaded update to not mess up the lighting manager
| const std::set<std::string>& makVrv::DtFxParticleSystemManager::fileNamesList | ( | ) |
list of file names for the UI
| DtFxParticleSystemArray& makVrv::DtFxParticleSystemManager::previewArray | ( | ) |
access to the preview array for the ui
| DtFxParticleSystemArray& makVrv::DtFxParticleSystemManager::systemArray | ( | ) |
access to the system array for the ui
| DtFxParticleSystemHolderArray& makVrv::DtFxParticleSystemManager::testHolderArray | ( | ) |
access to the system array for the ui
|
virtual |
public to allow the UI to edit
|
virtual |
public to allow the UI to edit
|
virtual |
|
virtual |
recompiles the scripts
|
virtual |
debug draw callback
|
virtual |
any systems that need update/cull/draw returns true if any of these are true used for early out by the drawable
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
helper function
|
protectedvirtual |
any particle system in this array has active particles?
|
protectedvirtual |
slot for when the coordinate system changes
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
array for additional test systems
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
public to allow the UI to edit
|
protected |
public to allow the UI to edit
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
local clone of the system wide coordinate system. for thread safety.