VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Attributes | Friends
makVrv::DtFxCollisionObject Class Reference

replaces the PPlane object /ingroup vrvFx

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

Public Types

enum  ObjectType { Plane, Sphere, Ellipsoid }
 

Public Member Functions

 DtFxCollisionObject ()
 
virtual ~DtFxCollisionObject ()
 
virtual void setPosition (double x, double y, double z)
 
virtual void setRadius (float radius)
 
virtual void setRadius (float radius_x, float radius_y, float radius_z)
 
virtual void setRotation (float angle, float x, float y, float z)
 
virtual void collide (const bdiFarPosition &system_pos, const bdiVec3f &planeNormal, float quantum, DtFxParticle *pParticle) const
 
virtual void render_into_vbo (const bdiFarPosition &eyePoint, const bdiMat4f &geocentricMat, bdiVec3fArray &verts, bdiVec4fArray &colors) const
 
const bdiMat4f & geocentricMatrix () const
 
bool globalObject () const
 
void setGlobalObject (bool global)
 
void setObjectType (int val)
 
int objectType () const
 
virtual void read_cfg_line (bdiCfgEntryLine *cfg_entry_line)
 
virtual bdiCfgEntryLine * create_cfg_line ()
 
virtual bdiCfgEntry * create_cfg_entry ()
 
virtual void read_cfg_entry (bdiCfgEntry *entry)
 
const bdiFarPosition & point () const
 
float radius () const
 
const bdiVec3f & normal () const
 
- Public Member Functions inherited from makVrv::DtFxCollisionVolumeInterface
virtual ~DtFxCollisionVolumeInterface ()
 

Protected Attributes

bool m_global_object
 
int m_object_type
 
bdiVec3f m_normal
 
bdiFarPosition m_point
 
float m_radius
 
bdiVec3f m_ellipsoid_radius
 
bdiVec4f m_quat
 
float m_bounce_factor
 
int m_collision_behavior
 
bdiMat4f myGeocentricMatrix
 
bdiMat4f myQuatMatrix
 
bdiMat4f myQuatMatrixInv
 

Friends

class bdiQPropTreeItemCollisionObject
 

Member Enumeration Documentation

Enumerator
Plane 
Sphere 
Ellipsoid 

Constructor & Destructor Documentation

makVrv::DtFxCollisionObject::DtFxCollisionObject ( )

CTOR constructs a force.

virtual makVrv::DtFxCollisionObject::~DtFxCollisionObject ( )
inlinevirtual

DTOR destroys a force.

Member Function Documentation

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

sets the position of the object

Implements makVrv::DtFxCollisionVolumeInterface.

virtual void makVrv::DtFxCollisionObject::setRadius ( float  radius)
virtual

turns object into sphere

Implements makVrv::DtFxCollisionVolumeInterface.

virtual void makVrv::DtFxCollisionObject::setRadius ( float  radius_x,
float  radius_y,
float  radius_z 
)
virtual

turns object into ellipsoid

Implements makVrv::DtFxCollisionVolumeInterface.

virtual void makVrv::DtFxCollisionObject::setRotation ( float  angle,
float  x,
float  y,
float  z 
)
virtual

quat representation of rotation

Implements makVrv::DtFxCollisionVolumeInterface.

virtual void makVrv::DtFxCollisionObject::collide ( const bdiFarPosition &  system_pos,
const bdiVec3f &  planeNormal,
float  quantum,
DtFxParticle pParticle 
) const
virtual

collides a particle with an object.

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

debug rendering

const bdiMat4f& makVrv::DtFxCollisionObject::geocentricMatrix ( ) const
inline

current geocentric matrix

bool makVrv::DtFxCollisionObject::globalObject ( ) const
inline

is this a global collision object (usually true if not a collision plane)

void makVrv::DtFxCollisionObject::setGlobalObject ( bool  global)
inline

sets this to be a global object

void makVrv::DtFxCollisionObject::setObjectType ( int  val)
inline

sets the object type

int makVrv::DtFxCollisionObject::objectType ( ) const
inline

gets the object type

virtual void makVrv::DtFxCollisionObject::read_cfg_line ( bdiCfgEntryLine *  cfg_entry_line)
virtual

reads the description from a config entry

virtual bdiCfgEntryLine* makVrv::DtFxCollisionObject::create_cfg_line ( )
virtual

writes the description into line

virtual bdiCfgEntry* makVrv::DtFxCollisionObject::create_cfg_entry ( )
virtual
virtual void makVrv::DtFxCollisionObject::read_cfg_entry ( bdiCfgEntry *  entry)
virtual
const bdiFarPosition& makVrv::DtFxCollisionObject::point ( ) const
inline

center of object or plane

float makVrv::DtFxCollisionObject::radius ( ) const
inline

sphere radius for bounds check

const bdiVec3f& makVrv::DtFxCollisionObject::normal ( ) const
inline

plane normal

Friends And Related Function Documentation

friend class bdiQPropTreeItemCollisionObject
friend

allows the UI to edit all the various parameters

Member Data Documentation

bool makVrv::DtFxCollisionObject::m_global_object
protected
int makVrv::DtFxCollisionObject::m_object_type
protected
bdiVec3f makVrv::DtFxCollisionObject::m_normal
protected

The plane's normal.

bdiFarPosition makVrv::DtFxCollisionObject::m_point
protected

A coplanar point within the plane, or center of object.

float makVrv::DtFxCollisionObject::m_radius
protected

sphere size

bdiVec3f makVrv::DtFxCollisionObject::m_ellipsoid_radius
protected

ellipsoid size

bdiVec4f makVrv::DtFxCollisionObject::m_quat
protected

results of set rotation

float makVrv::DtFxCollisionObject::m_bounce_factor
protected

Coefficient of restitution (or how bouncy the plane is)

int makVrv::DtFxCollisionObject::m_collision_behavior
protected
bdiMat4f makVrv::DtFxCollisionObject::myGeocentricMatrix
protected
bdiMat4f makVrv::DtFxCollisionObject::myQuatMatrix
protected
bdiMat4f makVrv::DtFxCollisionObject::myQuatMatrixInv
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)