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

physics::Collidable Class Reference

Inheritance diagram for physics::Collidable:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual BoundingBox getBoundingBox () const=0
virtual void setName (const String &name)
virtual void setInterpenetrationIsNormal (bool interpenetrationIsNormal)
virtual bool isInterpenetrationNormal () const
virtual ref< const CollidablefindNamed (const String &name, bool recurse=true) const
virtual ref< CollidablefindNamed (const String &name, bool recurse=true)
virtual void setUserData (ref< base::ReferencedObject > data)
virtual ref< base::ReferencedObjectgetUserData () const
virtual void setUserClass (Int userClass=0)
 Collisions between Collidables of the same class number (>0) are culled.

virtual Int getUserClass () const
virtual const String & getName () const
virtual bool isSameKindAs (const ReferencedObject &) const
virtual bool isSameKindAs (const Object &) const
virtual String className () const=0
void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const

Protected Member Functions

 Collidable (bool interpenetrationNormal=false)
 Collidable (const Collidable &c)

Protected Attributes

bool interpenetrationNormal
 if under normal circumstances this Collidable is expected to sometimes be interpenetrating another Collidable, this is true

ref< base::ReferencedObjectuserData
Int userClass
int _refCount
bool onUnreferenceEnabled

Constructor & Destructor Documentation

physics::Collidable::Collidable bool  interpenetrationNormal = false  )  [inline, protected]
 

Definition at line 62 of file Collidable.

References interpenetrationNormal, and userClass.

physics::Collidable::Collidable const Collidable c  )  [inline, protected]
 

Definition at line 63 of file Collidable.

References interpenetrationNormal, and userData.


Member Function Documentation

virtual String base::Object::className  )  const [pure virtual, inherited]
 

return the name of the object's class type. Must be defined by derived classes.

Implemented in base::Application, base::BinarySerializer, base::Cache, base::CacheDirectory, base::CacheFile, base::ConstantExpression, base::CosExpression, base::DifferenceExpression, base::Directory, base::Expression, base::Externalizer, base::File, base::LineSegPathRep, base::LineSegTrajectoryRep, base::Math, base::NegateExpression, base::ParametricPathRep, base::ParametricTrajectoryRep, base::Path, base::PathComponent, base::PathName, base::ProductExpression, base::QuotientExpression, base::SimpleXMLSerializer, base::SinExpression, base::StdFileSystem, base::SumExpression, base::Time, base::Trajectory, base::Universe, base::VariableExpression, base::VDirectory, base::WaypointPathRep, base::WaypointTrajectoryRep, base::World, gfx::IndexedPoint3Array, gfx::OSGWorld, gfx::TriangleIterator, gfx::VisualPath, gfx::VisualTriangles, gfx::VisualTriangles::TriangleArrayIteratorState, physics::Body, physics::Box, physics::Capsule, physics::CollidableGroup, physics::CollisionModel::ModelState, physics::CollisionState, physics::Cone, physics::Cylinder, physics::DynamicSpatial, physics::GJKCollisionDetector, physics::GJKCollisionDetector::GJKCollisionState, physics::GJKCollisionModel, physics::HeightField, physics::LODTerrain, physics::MassProperties, physics::Material, physics::NullCollisionResponseHandler, physics::OBBCollisionDetector, physics::OBBCollisionDetector::OBBCollisionState, physics::OBBCollisionModel, physics::ODEBallJoint, physics::ODECollidableBody, physics::ODECollidableBody::BodyState, physics::ODECollidableGroup, physics::ODECollisionCuller, physics::ODECollisionDetector, physics::ODECollisionDetector::ODECollisionState, physics::ODECollisionModel, physics::ODECollisionResponseHandler, physics::ODEConstraintGroup, physics::ODEContactConstraint, physics::ODEDoubleHingeJoint, physics::ODEFixedConstraint, physics::ODEHingeJoint, physics::ODEMotor, physics::ODESliderJoint, physics::ODESolid, physics::ODESolidConnectedCollidableBody, physics::ODESolidSystem, physics::ODEUniversalJoint, physics::Polyhedron, physics::Polyhedron::Vertex, physics::Polyhedron::Edge, physics::Polyhedron::Polygon, physics::SimpleCollisionCuller, physics::SimpleTerrain, physics::Solid, physics::SOLIDCollisionDetector, physics::SOLIDCollisionDetector::SOLIDCollisionState, physics::SOLIDCollisionModel, physics::SolidCollisionResponseHandler, physics::SpatialGroup, physics::SpatialTransform, physics::Sphere, physics::Torus, physics::VisualDebugUtil, robot::AggregateControlInterface, robot::control::ControllableAdaptor, robot::control::ControllableAdaptor::AdaptorControlInterface, robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer, robot::control::kinematics::AnalyticLagrangianNullSpaceBetaOptimizer, robot::control::kinematics::BetaFormConstraints::BetaFormConstraint, robot::control::kinematics::BetaFormConstraints, robot::control::kinematics::IKOR, robot::control::kinematics::IKOR::JointLimitBetaConstraint, robot::control::kinematics::IKOR::PushAwayBetaConstraint, robot::control::kinematics::IKOR::RankLossBetaConstraint, robot::control::kinematics::IKORController, robot::control::kinematics::IKORController::EEPositionControlInterface, robot::control::kinematics::IKORController::LinkPositionsControlInterface, robot::control::kinematics::IKORFullSpaceSolver, robot::control::kinematics::LeastNormIKSolver, robot::control::kinematics::MPPseudoInvSolver, robot::control::kinematics::OldIKOR, robot::control::kinematics::ReferenceOpVectorFormObjective, robot::control::kinematics::SVDFullSpaceSolver, robot::control::ManipulatorPIDPositionController, robot::control::ManipulatorPIDPositionController::PositionInterface, robot::JFKengine, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::ManipulatorJointTrajectory, robot::NumericKinematicEvaluator, robot::PlatformDescription, robot::RobotDescription, robot::sim::BasicEnvironment, robot::sim::BasicEnvironment::Tool, robot::sim::BasicEnvironment::Obstacle, robot::sim::Environment, robot::sim::IKORTest, robot::sim::IKORTest::Test, robot::sim::IKORTester, robot::sim::SimulatedBasicEnvironment, robot::sim::SimulatedKinematicChain::ProximityCollisionResponseHandler, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedRobot::ManipulatorControlInterface, robot::sim::SimulatedRobot::ToolControlInterface, robot::sim::SimulatedRobot::PlatformControlInterface, robot::sim::SimulatedRobot::ProximitySensorInterface, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, robot::sim::TestBasicEnvironment, robot::sim::VisualIKORTest, robot::TestRobot, robot::TestRobot::ManipulatorControlInterface, robot::TestRobot::ToolControlInterface, robot::TestRobot::PlatformControlInterface, robot::TestRobot::ProximitySensorInterface, and robot::ToolDescription.

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.

virtual ref<Collidable> physics::Collidable::findNamed const String &  name,
bool  recurse = true
[inline, virtual]
 

Reimplemented in physics::CollidableGroup.

Definition at line 51 of file Collidable.

References base::Named::getName().

virtual ref<const Collidable> physics::Collidable::findNamed const String &  name,
bool  recurse = true
const [inline, virtual]
 

Reimplemented in physics::CollidableGroup.

Definition at line 48 of file Collidable.

References base::Named::getName().

virtual BoundingBox physics::Collidable::getBoundingBox  )  const [pure virtual]
 

Implemented in physics::CollidableBody, and physics::CollidableGroup.

virtual const String& base::Named::getName  )  const [inline, virtual, inherited]
 

Definition at line 44 of file Named.

References base::String.

Referenced by findNamed(), physics::operator<<(), robot::ToolDescription::operator=(), robot::RobotDescription::operator=(), robot::PlatformDescription::operator=(), robot::ManipulatorDescription::operator=(), base::Named::operator=(), and robot::ManipulatorDescription::operator==().

virtual Int physics::Collidable::getUserClass  )  const [inline, virtual]
 

Definition at line 59 of file Collidable.

References userClass.

virtual ref<base::ReferencedObject> physics::Collidable::getUserData  )  const [inline, virtual]
 

Definition at line 55 of file Collidable.

References userData.

virtual bool physics::Collidable::isInterpenetrationNormal  )  const [inline, virtual]
 

Definition at line 46 of file Collidable.

References interpenetrationNormal.

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

virtual void physics::Collidable::setInterpenetrationIsNormal bool  interpenetrationIsNormal  )  [inline, virtual]
 

Definition at line 45 of file Collidable.

References interpenetrationNormal.

virtual void physics::Collidable::setName const String &  name  )  [inline, virtual]
 

Reimplemented from base::Named.

Definition at line 43 of file Collidable.

virtual void physics::Collidable::setUserClass Int  userClass = 0  )  [inline, virtual]
 

Collisions between Collidables of the same class number (>0) are culled.

Definition at line 58 of file Collidable.

virtual void physics::Collidable::setUserData ref< base::ReferencedObject data  )  [inline, virtual]
 

Definition at line 54 of file Collidable.

References userData.

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.


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

bool physics::Collidable::interpenetrationNormal [protected]
 

if under normal circumstances this Collidable is expected to sometimes be interpenetrating another Collidable, this is true

Definition at line 66 of file Collidable.

Referenced by Collidable(), isInterpenetrationNormal(), and setInterpenetrationIsNormal().

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

Int physics::Collidable::userClass [protected]
 

Definition at line 69 of file Collidable.

Referenced by Collidable(), and getUserClass().

ref<base::ReferencedObject> physics::Collidable::userData [protected]
 

Definition at line 68 of file Collidable.

Referenced by Collidable(), getUserData(), and setUserData().


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