SO3Engine
|
OgreNewt_RayCast.h
Go to the documentation of this file.
6 OgreNewt basically has no license, you may use any or all of the library however you desire... I hope it can help you in any way.
46 void go( const OgreNewt::World* world, const Ogre::Vector3& startpt, const Ogre::Vector3& endpt );
64 virtual bool userCallback( OgreNewt::Body* body, Ogre::Real distance, const Ogre::Vector3& normal, dLong collisionID ) = 0;
67 friend dFloat CollisionPrimitives::TreeCollision::newtonRayCastCallback(const NewtonBody* const body, const NewtonCollision* const treeCollision, dFloat distance, dFloat *normal, int faceId, void *userData);
68 //friend float CollisionPrimitives::TreeCollision::newtonRayCastCallback(float distance, float *normal, int faceId, void *userData);
79 static float newtonRaycastFilter(const NewtonBody* body, const NewtonCollision* const shapeHit, const dFloat* const hitContact, const dFloat* hitNormal, dLong collisionID, void* userData, dFloat intersectParam);
106 Ogre::Quaternion getNormalOrientation() { return OgreNewt::Converters::grammSchmidt(mNormal); };
131 BasicRaycast( const OgreNewt::World* world, const Ogre::Vector3& startpt, const Ogre::Vector3& endpt, bool sorted);
141 void go( const OgreNewt::World* world, const Ogre::Vector3& startpt, const Ogre::Vector3& endpt, bool sorted);
147 bool userCallback( Body* body, Ogre::Real distance, const Ogre::Vector3& normal, dLong collisionID );
simple class that represents a single raycast rigid body intersection.
Definition OgreNewt_RayCast.h:97
Ogre::Real mDistance
dist from point1 of the raycast, in range [0,1].
Definition OgreNewt_RayCast.h:108
Ogre::Quaternion getNormalOrientation()
Definition OgreNewt_RayCast.h:106
Ogre::Vector3 getNormal()
Definition OgreNewt_RayCast.h:105
bool operator<(const BasicRaycastInfo &rhs) const
Definition OgreNewt_RayCast.h:113
OgreNewt::Body * getBody()
Definition OgreNewt_RayCast.h:103
dLong getCollisionId()
Definition OgreNewt_RayCast.h:104
Ogre::Real getDistance()
Definition OgreNewt_RayCast.h:102
dLong mCollisionID
collision ID of the primitive hit by the ray (for compound collision bodies)
Definition OgreNewt_RayCast.h:110
bool m_treecollisioncallback_bodyalreadyadded
save if this body was already added by RayCastCallback from TreeCollision
Definition OgreNewt_RayCast.h:74
OgreNewt::Body * m_treecollisioncallback_lastbody
save the last OgreNewt::Body from the newtonRaycastPreFilter to use this for example the TreeCollisio...
Definition OgreNewt_RayCast.h:71
virtual bool userCallback(OgreNewt::Body *body, Ogre::Real distance, const Ogre::Vector3 &normal, dLong collisionID)=0
user callback filter function
virtual bool userPreFilterCallback(OgreNewt::Body *body)
user callback pre-filter function.
Definition OgreNewt_RayCast.h:54
_OgreNewtExport Ogre::Quaternion grammSchmidt(const Ogre::Vector3 &pin)
Definition OgreNewt_Tools.cpp:105
Generated by 1.9.8