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

forces to include that influence the particles movement /ingroup vrvFx More...

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

Public Member Functions

 DtFxForce ()
 CTOR. More...
 
 DtFxForce (const DtFxForce &rhs)
 copy CTOR More...
 
virtual ~DtFxForce ()
 DTOR. More...
 
virtual bdiCfgEntry * create_cfg_entry () const
 serialize to diguy config entry More...
 
virtual int read_cfg_entries (bdiCfgEntry *cfg_entry)
 load from diguy config entry More...
 
virtual void setParticleManager (DtFxParticleSystemManager *manager)
 sets the manager More...
 
virtual void setPosition (double x, double y, double z)
 sets the position of the object More...
 
virtual void setPosition (const bdiFarPosition &pos)
 
const bdiFarPosition & position () const
 gets the position More...
 
virtual void setSourceSystem (DtFxParticleSystem *system)
 sets the system that created this force More...
 
virtual void setSourceForce (DtFxForce *force)
 sets the desc force that this cloned from More...
 
virtual DtFxForcesourceForce () const
 
virtual void setRadius (float radius)
 sets the volume of the force, only used for None falloff type, other ones will be derived base on falloff. More...
 
virtual float radius () const
 
virtual void setForceType (ForceType forceType)
 sets the type of force More...
 
virtual ForceType forceType () const
 
virtual void setFalloffType (FalloffType falloffType)
 sets the falloff type More...
 
virtual FalloffType falloffType () const
 
virtual void setForceStrength (float str)
 sets the force strength More...
 
virtual float forceStrength () const
 
virtual void setForceDirection (float x, float y, float z)
 currently only used for wind More...
 
virtual const bdiVec3f & forceDirection () const
 
virtual void setGlobalForce (bool global)
 is this a global force More...
 
virtual bool globalForce () const
 
virtual void render_into_vbo (const bdiFarPosition &eyePoint, const bdiFarPosition &globalPos, const bdiMat4f &geocentricMat, const bdiMat4f &geocentricMatInv, bdiVec3fArray &verts, bdiVec4fArray &colors) const
 local object render helper More...
 
virtual void render_into_vbo (const bdiFarPosition &eyePoint, bdiVec3fArray &verts, bdiVec4fArray &colors) const
 global object render helper More...
 
virtual float calcBoundingRadius () const
 used by culling system More...
 
virtual void updateGlobalPosition (const bdiFarPosition &position, const bdiMat4f &geocentricMat, const bdiMat4f &geocentricMatInv)
 updates position of child force More...
 
const bdiString & forceScript () const
 gets the force script More...
 
virtual void updateForceStrength ()
 updates the force strength only for scripted ones More...
 
void applyForceGeocentric (const DtFxParticleSystem *system, float quantum, const bdiFarPosition &currentForcePosition, const bdiMat4f &geocentricMat, const bdiMat4f &geocentricMatInv, const bdiVec3f &upVec, DtFxParticle *pParticle, float particle_mass) const
 
void applyForceFlatEarth (const DtFxParticleSystem *system, float quantum, const bdiFarPosition &currentForcePosition, const bdiVec3f &upVec, DtFxParticle *pParticle, float particle_mass) const
 
const bdiMat4f & geocentricMat () const
 
const bdiMat4f & geocentricMatInv () const
 
- Public Member Functions inherited from makVrv::DtFxForceInterface
virtual ~DtFxForceInterface ()
 DTOR. More...
 
virtual void setForceType (ForceType falloff_type)=0
 sets the type of force More...
 
virtual void setFalloffType (FalloffType falloff_type)=0
 sets the falloff type More...
 

Protected Attributes

bool m_global_force
 
bdiFarPosition m_position
 
bdiFarPosition m_last_geoc_position
 
float m_force
 
float m_radius
 
bdiVec3f m_direction
 
ForceType m_force_type
 
FalloffType m_falloff_type
 
DtFxParticleSystemm_source_system
 
DtFxForcem_source_force
 
DtFxParticleSystemManagerm_particle_manager
 
bdiMat4f myGeocentricMat
 
bdiMat4f myGeocentricMatInv
 
bdiString myForceScript
 
DtFxScriptData myForceScriptData
 

Static Protected Attributes

static osgEarth::Util::SimplexNoise theNoise
 

Friends

class bdiQPropTreeItemAdditionalForce
 allows UI to edit all the internals More...
 

Additional Inherited Members

- Public Types inherited from makVrv::DtFxForceInterface
enum  ForceType {
  Repulsor2D, Repulsor3D, Attractor2D, Attractor3D,
  Spinner2D, LiftVortex, WindVolume, CurlNoise
}
 
enum  FalloffType { None, Linear, DistanceSquared }
 

Detailed Description

forces to include that influence the particles movement /ingroup vrvFx

Constructor & Destructor Documentation

makVrv::DtFxForce::DtFxForce ( )

CTOR.

makVrv::DtFxForce::DtFxForce ( const DtFxForce rhs)

copy CTOR

virtual makVrv::DtFxForce::~DtFxForce ( )
inlinevirtual

DTOR.

Member Function Documentation

virtual bdiCfgEntry* makVrv::DtFxForce::create_cfg_entry ( ) const
virtual

serialize to diguy config entry

virtual int makVrv::DtFxForce::read_cfg_entries ( bdiCfgEntry *  cfg_entry)
virtual

load from diguy config entry

virtual void makVrv::DtFxForce::setParticleManager ( DtFxParticleSystemManager manager)
inlinevirtual

sets the manager

virtual void makVrv::DtFxForce::setPosition ( double  x,
double  y,
double  z 
)
virtual

sets the position of the object

Implements makVrv::DtFxForceInterface.

virtual void makVrv::DtFxForce::setPosition ( const bdiFarPosition &  pos)
inlinevirtual
const bdiFarPosition& makVrv::DtFxForce::position ( ) const
inline

gets the position

virtual void makVrv::DtFxForce::setSourceSystem ( DtFxParticleSystem system)
inlinevirtual

sets the system that created this force

virtual void makVrv::DtFxForce::setSourceForce ( DtFxForce force)
inlinevirtual

sets the desc force that this cloned from

virtual DtFxForce* makVrv::DtFxForce::sourceForce ( ) const
inlinevirtual
virtual void makVrv::DtFxForce::setRadius ( float  radius)
inlinevirtual

sets the volume of the force, only used for None falloff type, other ones will be derived base on falloff.

Implements makVrv::DtFxForceInterface.

virtual float makVrv::DtFxForce::radius ( ) const
inlinevirtual
virtual void makVrv::DtFxForce::setForceType ( ForceType  forceType)
inlinevirtual

sets the type of force

virtual ForceType makVrv::DtFxForce::forceType ( ) const
inlinevirtual
virtual void makVrv::DtFxForce::setFalloffType ( FalloffType  falloffType)
inlinevirtual

sets the falloff type

virtual FalloffType makVrv::DtFxForce::falloffType ( ) const
inlinevirtual
virtual void makVrv::DtFxForce::setForceStrength ( float  str)
inlinevirtual

sets the force strength

Implements makVrv::DtFxForceInterface.

virtual float makVrv::DtFxForce::forceStrength ( ) const
inlinevirtual
virtual void makVrv::DtFxForce::setForceDirection ( float  x,
float  y,
float  z 
)
inlinevirtual

currently only used for wind

Implements makVrv::DtFxForceInterface.

virtual const bdiVec3f& makVrv::DtFxForce::forceDirection ( ) const
inlinevirtual
virtual void makVrv::DtFxForce::setGlobalForce ( bool  global)
inlinevirtual

is this a global force

virtual bool makVrv::DtFxForce::globalForce ( ) const
inlinevirtual
virtual void makVrv::DtFxForce::render_into_vbo ( const bdiFarPosition &  eyePoint,
const bdiFarPosition &  globalPos,
const bdiMat4f &  geocentricMat,
const bdiMat4f &  geocentricMatInv,
bdiVec3fArray &  verts,
bdiVec4fArray &  colors 
) const
virtual

local object render helper

virtual void makVrv::DtFxForce::render_into_vbo ( const bdiFarPosition &  eyePoint,
bdiVec3fArray &  verts,
bdiVec4fArray &  colors 
) const
virtual

global object render helper

virtual float makVrv::DtFxForce::calcBoundingRadius ( ) const
virtual

used by culling system

virtual void makVrv::DtFxForce::updateGlobalPosition ( const bdiFarPosition &  position,
const bdiMat4f &  geocentricMat,
const bdiMat4f &  geocentricMatInv 
)
virtual

updates position of child force

const bdiString& makVrv::DtFxForce::forceScript ( ) const
inline

gets the force script

virtual void makVrv::DtFxForce::updateForceStrength ( )
virtual

updates the force strength only for scripted ones

void makVrv::DtFxForce::applyForceGeocentric ( const DtFxParticleSystem system,
float  quantum,
const bdiFarPosition &  currentForcePosition,
const bdiMat4f &  geocentricMat,
const bdiMat4f &  geocentricMatInv,
const bdiVec3f &  upVec,
DtFxParticle pParticle,
float  particle_mass 
) const
void makVrv::DtFxForce::applyForceFlatEarth ( const DtFxParticleSystem system,
float  quantum,
const bdiFarPosition &  currentForcePosition,
const bdiVec3f &  upVec,
DtFxParticle pParticle,
float  particle_mass 
) const
const bdiMat4f& makVrv::DtFxForce::geocentricMat ( ) const
inline
const bdiMat4f& makVrv::DtFxForce::geocentricMatInv ( ) const
inline

Friends And Related Function Documentation

friend class bdiQPropTreeItemAdditionalForce
friend

allows UI to edit all the internals

Member Data Documentation

bool makVrv::DtFxForce::m_global_force
protected
bdiFarPosition makVrv::DtFxForce::m_position
protected
bdiFarPosition makVrv::DtFxForce::m_last_geoc_position
protected
float makVrv::DtFxForce::m_force
protected
float makVrv::DtFxForce::m_radius
protected
bdiVec3f makVrv::DtFxForce::m_direction
protected
ForceType makVrv::DtFxForce::m_force_type
protected
FalloffType makVrv::DtFxForce::m_falloff_type
protected
DtFxParticleSystem* makVrv::DtFxForce::m_source_system
protected
DtFxForce* makVrv::DtFxForce::m_source_force
protected
DtFxParticleSystemManager* makVrv::DtFxForce::m_particle_manager
protected
bdiMat4f makVrv::DtFxForce::myGeocentricMat
protected
bdiMat4f makVrv::DtFxForce::myGeocentricMatInv
protected
bdiString makVrv::DtFxForce::myForceScript
protected
DtFxScriptData makVrv::DtFxForce::myForceScriptData
protected
osgEarth::Util::SimplexNoise makVrv::DtFxForce::theNoise
staticprotected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)