VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
makVrv::MyParticleSystemModel Class Reference

MyParticleSystemModel extends DtOsgParticleSystemModel to add a shader manager as shown in exampleCustomShaders that allows the color of the particle system to be modified through a fragment shader. More...

Inheritance diagram for makVrv::MyParticleSystemModel:
Inheritance graph
[legend]

Public Member Functions

 MyParticleSystemModel (DtDe &de, DtUniqueID &id)
 CTOR.
virtual ~MyParticleSystemModel ()
 virtual DTOR
virtual void setModelInstance (DtModelInstance *modelInstance)
 Override setModelInstance to create the shader manager (or destroy it if the modelInstance is Null)
virtual void changeColorOverride (int color, float deltaChange)
 This method has been added to the distributed interface of this object (through MyParticleSystemModel.ocdx).
- Public Member Functions inherited from makVrv::DtOsgParticleSystemModel
 DtOsgParticleSystemModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtOsgParticleSystemModel ()
 DTOR.
virtual void setModelDefinition (const std::string &str)
 Override the default model definition function.
virtual std::string className () const
 Get the class name of the model instance owner.
virtual void setIntensity (float intensity)
 Set the intensity.
virtual void setScale (float scale)
 Set the intensity.
virtual void setDuration (double seconds)
 Set the duration of the effect.
virtual void setWindDirection (const DtVector &direction)
 Set the wind direction.
virtual void setMaxParticlesToEmit (int max)
 Set the maximum number of particles to emit.
virtual void stop ()
 Tell the model to stop emitting particles.
virtual void start ()
 Tell the model to start emitting particles.
virtual void pause ()
 Freeze the particle emitters.
virtual void resume ()
 Resume the animation.
virtual void setVisible (bool isVisible)
 Override to call setVisible on the scene connector.
virtual void setIsSupportModel (bool isSupport)
 Set whether the model is part of the support group (whether or not other scene objects can ground clamp to this model)
virtual void setPosition (int vtx, const DtVector &position)
 Set the position of a control vertex in the model.
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Set the orientation of a vertex in the model.
- Public Member Functions inherited from makVrv::DtParticleSystemModel
 DtParticleSystemModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtParticleSystemModel ()
 DTOR.
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtModel ()
 DTOR.
virtual void saveModelToFile (const std::string &filename)
unsigned int transformSize () const
 Get the number of position/orientations this model has.
virtual void removePosition (int vtx)
 Remove a transform at the given position.
const DtVectorposition (int vtx=0) const
 Get the Position of a given point.
const DtTaitBryan & orientation (int vtx=0) const
 Get the Orientation of a given point.
virtual void enableColorBlending (bool b)
 Enable / disable color blending for this model.
virtual void setBlendColor (float r, float g, float b, float a)
 Set color to use if color blending is enabled.
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 Returns the blend color.
virtual bool colorBlendingEnabled () const
 Returns whether or not blending is enabled.
virtual void setColor (float r, float g, float b, float a)
 set the model's color
virtual void enableLighting (bool l)
 set whether the model is lit; this may not be an option on all models
virtual int modelSet () const
 Get the model set this model is part of.
const DtVectorboundingBoxExtents () const
 Get the bounding box extents of the model instance.
void getBoundingBoxExtents (double &x, double &y, double &z) const
 Get the bounding box extents of the model instance.
const DtVectorboundingBoxCenter () const
 Get the bounding box center of the model instance.
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance.
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the minimum and maximum X,Y,Z components of the bounding box.
void setContributesToBound (bool trueOrFalse)
 Set whether this model instance contributes to an object's overall bounding volume.
bool contributesToBound () const
 Get whether this model instance contributes to an object's overall bounding volume.
DtDede ()
 Get the DtDe object.
virtual bool visible () const
 Get the visible state of the model.
DtUniqueID parentSceneObjectID () const
 Parent of the model.
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 Called when a scene object added the model as a prop.
virtual void addedToSceneObject (const DtUniqueID &sceneObj, int modelSet, int visualizerType)
 Called when a scene object added the model with the given model set and visualizer type.
virtual void setElementId (DtUniqueID id)
 Called when the element ID of the model's parent object is set.
virtual void removedFromSceneObject ()
 Called when the model was removed from a scene object.
virtual void setSolid (bool isSolid)
 Set whether or not other this model is drawn filled in.
virtual bool isProp ()
 Return whether or not this model was added as a prop.
virtual DtModelInstancemodelInstance ()
 Get the model instance.
virtual const DtModelInstancemodelInstance () const
int visualizerType () const
 The visualizer type determines which channel-specific group node this model will be parented to, and consequently, which observer setting will cause it to be rendered in which channel.

Protected Attributes

MyShaderManagermyShaderManager
- Protected Attributes inherited from makVrv::DtOsgParticleSystemModel
DtOsgSceneConnectormySceneConnector
double myIntensity
bool myIntensitySet
double myScale
bool myScaleSet
double myDuration
bool myDurationSet
bool myOrientUp
bool myPositionSet
bool myOrientationSet
DtVector myPosition
DtTaitBryan myOrientation
float myWindSpeed
float myWindDirection
int myMaxParticlesToEmit
DtVector myUp
bool myUpSet

Additional Inherited Members

- Public Attributes inherited from makVrv::DtModel
boost::signal< void(DtModel *)> signal_modelToBeDestroyed
 Signal emitted when the model is to be destroyed.
boost::signal< void(DtModel *)> signal_modelChanged
boost::signal< bool(DtModel
*, bool), SlotReturnOR
signal_visibilityChangeRequested
 Signal when the visibility has been requested, if any slot returns false, it will not change.
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 Signal emitted when the model instance is created.
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 Signal emitted when the model instance is to be destroyed.
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList
- Protected Member Functions inherited from makVrv::DtOsgParticleSystemModel
virtual void addToScene (const DtUniqueID &id, int modelSet, int visualizerType)
 Virtual Functions to be implemented, add this model to the scene.
virtual void addToSceneAsProp (const DtUniqueID &sceneObjectId)
 Add this model to the scene as a prop.
virtual void removeFromScene ()
 Virtual Functions to be implemented, remove this model from the scene.
virtual void slot_handleWindDirectionChanged (float dir)
virtual void slot_handleWindSpeedChanged (float speed)
virtual void updateWind ()

Detailed Description

MyParticleSystemModel extends DtOsgParticleSystemModel to add a shader manager as shown in exampleCustomShaders that allows the color of the particle system to be modified through a fragment shader.

Constructor & Destructor Documentation

makVrv::MyParticleSystemModel::MyParticleSystemModel ( DtDe de,
DtUniqueID id 
)

CTOR.

virtual makVrv::MyParticleSystemModel::~MyParticleSystemModel ( )
virtual

virtual DTOR

Member Function Documentation

virtual void makVrv::MyParticleSystemModel::setModelInstance ( DtModelInstance modelInstance)
virtual

Override setModelInstance to create the shader manager (or destroy it if the modelInstance is Null)

Reimplemented from makVrv::DtModel.

virtual void makVrv::MyParticleSystemModel::changeColorOverride ( int  color,
float  deltaChange 
)
virtual

This method has been added to the distributed interface of this object (through MyParticleSystemModel.ocdx).

When called, it calls the shader manager to perform the operation. The color parameter is 0, 1, or 2, to modify Red, Green, or Blue by deltaChange amount

Member Data Documentation

MyShaderManager* makVrv::MyParticleSystemModel::myShaderManager
protected

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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)