Public Types | |
enum | CollisionModelType { AnyModel, OBBModel, SOLIDModel, GJKModel, ODEModel, MaxCollisionModels } |
enum | CollisionModelFidelity { Accurate, Normal, Fast, Fastest } |
typedef Int | Attributes |
typedef Int | VisualType |
enum | AttributeFlags { ShowAxes = 1, ShowBounds = 2, ShowCollisions = 4, ShowCollisionModel = 8, ShowCollisionDetection = 16, ShowEdges = 32, ShowNormals = 64, VerticesOnly = 128 } |
Public Member Functions | |
OBBCollisionModel (const gfx::TriangleContainer &triangles) | |
OBBCollisionModel (const OBBCollisionModel &cm) | |
virtual | ~OBBCollisionModel () |
virtual String | className () const |
virtual Object & | clone () const |
virtual CollisionModelType | getType () const |
virtual bool | visualTypeSupported (VisualType type) const |
virtual osg::Node * | createOSGVisual (Visual::Attributes visualAttributes=0) const |
virtual bool | isSameKindAs (const ReferencedObject &) const |
virtual bool | isSameKindAs (const Object &) const |
void | reference () const |
bool | unreference () const |
const int | referenceCount () const |
void | enableOnUnreferenceCall (bool enabled) |
virtual void | onUnreference () const |
Static Public Member Functions | |
void | setCollisionModelFidelity (CollisionModelFidelity fidelity) |
CollisionModelFidelity | getCollisionModelFidelity () |
Static Public Attributes | |
const Int | OSGVisual = 1 |
Protected Member Functions | |
void | buildHierarchy () |
osg::Node * | createOBBVisualRecurse (OBB &obb, Int level) const |
Static Protected Member Functions | |
Int | eigenAndSort1 (Matrix3 &evecs, const Matrix3 &cov, Int maxIterations=50) |
Protected Attributes | |
base::array< OBB > & | b |
base::array< gfx::Triangle3 > & | tris |
int | _refCount |
bool | onUnreferenceEnabled |
Static Protected Attributes | |
const Int | maxLevels = 3 |
const Int | onlyLevel = 3 |
const bool | onlyOneLevel = false |
CollisionModelFidelity | collisionModelFidelity |
Friends | |
class | OBBCollisionDetector |
|
Definition at line 39 of file Visual. Referenced by gfx::Visual::createOSGVisual(). |
|
Definition at line 44 of file Visual. Referenced by gfx::Visual::visualTypeSupported(). |
|
|
|
Definition at line 48 of file CollisionModel. Referenced by physics::CollisionModel::getCollisionModelFidelity(). |
|
Definition at line 42 of file CollisionModel. |
|
Referenced by clone(). |
|
|
|
|
|
|
|
return the name of the object's class type. Must be defined by derived classes. Implements base::Object. Definition at line 47 of file OBBCollisionModel. Referenced by clone(). |
|
Definition at line 48 of file OBBCollisionModel. References className(), NewNamedObj, and OBBCollisionModel(). |
|
|
|
Reimplemented from gfx::Visual. |
|
|
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
Definition at line 52 of file CollisionModel. References physics::CollisionModel::collisionModelFidelity, and physics::CollisionModel::CollisionModelFidelity. |
|
Implements physics::CollisionModel. Definition at line 50 of file OBBCollisionModel. |
|
|
|
Definition at line 52 of file ReferencedObject. |
|
Called by unreference() if enabled via enableOnUnreferenceCall(true). Typically overridden in subclasses that wish to know about unreference() calls - for example to handle manually breaking cyclic references Reimplemented in robot::control::ControllableAdaptor::AdaptorControlInterface, and robot::control::ControllableAdaptor. Definition at line 121 of file Referenced. Referenced by base::Referenced::unreference(). |
|
Increment the reference count by one, indicating that this object has another pointer which is referencing it. Definition at line 65 of file Referenced. References base::Referenced::_refCount. |
|
Return the number pointers currently referencing this object. Definition at line 112 of file Referenced. References base::Referenced::_refCount. Referenced by robot::control::ControllableAdaptor::AdaptorControlInterface::onUnreference(). |
|
Definition at line 50 of file CollisionModel. References physics::CollisionModel::collisionModelFidelity. |
|
Decrement the reference count by one, indicating that a pointer to this object is referencing it. If the refence count goes to zero, it is assumed that this object is nolonger referenced and is automatically deleted. Definition at line 81 of file Referenced. References base::Referenced::_refCount, Exception, base::Referenced::onUnreference(), and base::Referenced::onUnreferenceEnabled. |
|
Reimplemented from gfx::Visual. Definition at line 53 of file OBBCollisionModel. |
|
Definition at line 141 of file OBBCollisionModel. |
|
Definition at line 136 of file Referenced. Referenced by base::Referenced::reference(), base::Referenced::referenceCount(), base::Referenced::Referenced(), base::Referenced::unreference(), and base::Referenced::~Referenced(). |
|
Definition at line 134 of file OBBCollisionModel. |
|
Definition at line 69 of file CollisionModel. Referenced by physics::CollisionModel::getCollisionModelFidelity(), and physics::CollisionModel::setCollisionModelFidelity(). |
|
Definition at line 137 of file OBBCollisionModel. |
|
Definition at line 138 of file OBBCollisionModel. |
|
Definition at line 139 of file OBBCollisionModel. |
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
|
|
Definition at line 135 of file OBBCollisionModel. |