Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

physics::OBBCollisionModel Class Reference

Inheritance diagram for physics::OBBCollisionModel:

Inheritance graph
[legend]
Collaboration diagram for physics::OBBCollisionModel:

Collaboration graph
[legend]
List of all members.

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

Member Typedef Documentation

typedef Int gfx::Visual::Attributes [inherited]
 

Definition at line 39 of file Visual.

Referenced by gfx::Visual::createOSGVisual().

typedef Int gfx::Visual::VisualType [inherited]
 

Definition at line 44 of file Visual.

Referenced by gfx::Visual::visualTypeSupported().


Member Enumeration Documentation

enum gfx::Visual::AttributeFlags [inherited]
 

Enumeration values:
ShowAxes 
ShowBounds 
ShowCollisions 
ShowCollisionModel 
ShowCollisionDetection 
ShowEdges 
ShowNormals 
VerticesOnly 

Definition at line 40 of file Visual.

enum physics::CollisionModel::CollisionModelFidelity [inherited]
 

Enumeration values:
Accurate 
Normal 
Fast 
Fastest 

Definition at line 48 of file CollisionModel.

Referenced by physics::CollisionModel::getCollisionModelFidelity().

enum physics::CollisionModel::CollisionModelType [inherited]
 

Enumeration values:
AnyModel 
OBBModel 
SOLIDModel 
GJKModel 
ODEModel 
MaxCollisionModels 

Definition at line 42 of file CollisionModel.


Constructor & Destructor Documentation

physics::OBBCollisionModel::OBBCollisionModel const gfx::TriangleContainer triangles  ) 
 

Referenced by clone().

physics::OBBCollisionModel::OBBCollisionModel const OBBCollisionModel cm  ) 
 

virtual physics::OBBCollisionModel::~OBBCollisionModel  )  [virtual]
 


Member Function Documentation

void physics::OBBCollisionModel::buildHierarchy  )  [protected]
 

virtual String physics::OBBCollisionModel::className  )  const [inline, virtual]
 

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().

virtual Object& physics::OBBCollisionModel::clone  )  const [inline, virtual]
 

Definition at line 48 of file OBBCollisionModel.

References className(), NewNamedObj, and OBBCollisionModel().

osg::Node* physics::OBBCollisionModel::createOBBVisualRecurse OBB obb,
Int  level
const [protected]
 

virtual osg::Node* physics::OBBCollisionModel::createOSGVisual Visual::Attributes  visualAttributes = 0  )  const [virtual]
 

Reimplemented from gfx::Visual.

Int physics::OBBCollisionModel::eigenAndSort1 Matrix3 evecs,
const Matrix3 cov,
Int  maxIterations = 50
[static, protected]
 

void base::Referenced::enableOnUnreferenceCall bool  enabled  )  [inline, inherited]
 

If enabled, each call to unreference() will also call virtual method onUnreference()

Definition at line 115 of file Referenced.

References base::Referenced::onUnreferenceEnabled.

CollisionModelFidelity physics::CollisionModel::getCollisionModelFidelity  )  [inline, static, inherited]
 

Definition at line 52 of file CollisionModel.

References physics::CollisionModel::collisionModelFidelity, and physics::CollisionModel::CollisionModelFidelity.

virtual CollisionModelType physics::OBBCollisionModel::getType  )  const [inline, virtual]
 

Implements physics::CollisionModel.

Definition at line 50 of file OBBCollisionModel.

virtual bool base::Object::isSameKindAs const Object  )  const [inline, virtual, inherited]
 

Definition at line 47 of file Object.

virtual bool base::ReferencedObject::isSameKindAs const ReferencedObject  )  const [inline, virtual, inherited]
 

Definition at line 52 of file ReferencedObject.

virtual void base::Referenced::onUnreference  )  const [inline, virtual, inherited]
 

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().

void base::Referenced::reference  )  const [inline, inherited]
 

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.

const int base::Referenced::referenceCount  )  const [inline, inherited]
 

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().

void physics::CollisionModel::setCollisionModelFidelity CollisionModelFidelity  fidelity  )  [inline, static, inherited]
 

Definition at line 50 of file CollisionModel.

References physics::CollisionModel::collisionModelFidelity.

bool base::Referenced::unreference  )  const [inline, inherited]
 

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.

virtual bool physics::OBBCollisionModel::visualTypeSupported VisualType  type  )  const [inline, virtual]
 

Reimplemented from gfx::Visual.

Definition at line 53 of file OBBCollisionModel.


Friends And Related Function Documentation

friend class OBBCollisionDetector [friend]
 

Definition at line 141 of file OBBCollisionModel.


Member Data Documentation

int base::Referenced::_refCount [mutable, protected, inherited]
 

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().

base::array<OBB>& physics::OBBCollisionModel::b [protected]
 

Definition at line 134 of file OBBCollisionModel.

CollisionModelFidelity physics::CollisionModel::collisionModelFidelity [static, protected, inherited]
 

Definition at line 69 of file CollisionModel.

Referenced by physics::CollisionModel::getCollisionModelFidelity(), and physics::CollisionModel::setCollisionModelFidelity().

const Int physics::OBBCollisionModel::maxLevels = 3 [static, protected]
 

Definition at line 137 of file OBBCollisionModel.

const Int physics::OBBCollisionModel::onlyLevel = 3 [static, protected]
 

Definition at line 138 of file OBBCollisionModel.

const bool physics::OBBCollisionModel::onlyOneLevel = false [static, protected]
 

Definition at line 139 of file OBBCollisionModel.

bool base::Referenced::onUnreferenceEnabled [protected, inherited]
 

Definition at line 137 of file Referenced.

Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference().

const Int gfx::Visual::OSGVisual = 1 [static, inherited]
 

Definition at line 45 of file Visual.

base::array<gfx::Triangle3>& physics::OBBCollisionModel::tris [protected]
 

Definition at line 135 of file OBBCollisionModel.


The documentation for this class was generated from the following file:
Generated on Thu Jul 29 16:40:48 2004 for OpenSim by doxygen 1.3.6