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

physics::ConvexShape Class Reference

Inheritance diagram for physics::ConvexShape:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef Int Attributes
typedef Int VisualType
enum  AttributeFlags {
  ShowAxes = 1, ShowBounds = 2, ShowCollisions = 4, ShowCollisionModel = 8,
  ShowCollisionDetection = 16, ShowEdges = 32, ShowNormals = 64, VerticesOnly = 128
}
enum  ExternalizationType { Input = 1, Output = 2, IO = 3 }

Public Member Functions

virtual ~ConvexShape ()
virtual bool isConvex () const
virtual gfx::Point3 support (const gfx::Vector3 &v) const=0
virtual BoundingBox getBoundingBox () const=0
virtual BoundingSphere getBoundingSphere () const=0
virtual bool includesAppearance () const
virtual void setIncludesAppearance (bool appearanceIncluded)
virtual const MassPropertiesgetMassProperties (ref< const Material > material) const=0
virtual gfx::Segment3 shortestSegmentBetween (const base::Transform &t, const Point3 &p) const=0
 return the shortest segment between this shape (in configuration t) and the point p (the returned segment will always end with p)

virtual gfx::Segment3 shortestSegmentBetween (const base::Transform &t, const gfx::Segment3 &s) const=0
 return the shortest segment between this shape (in configuration t) and the segment s

virtual gfx::Segment3 shortestSegmentBetween (const base::Transform &t, const gfx::Triangle3 &tri) const=0
 return the shortest segment between this shape (in configuration t) and the triangle t

virtual gfx::Segment3 shortestSegmentBetween (const base::Transform &t, const gfx::Quad3 &q) const=0
 return the shortest segment between this shape (in configuration t) and the quad q

virtual gfx::Segment3 shortestSegmentBetween (const base::Transform &t1, ref< const Shape > s, const base::Transform &t2) const=0
 return the shortest segment between this shape (in configuration t1) and the shape s (in configuration t2)

ref< ShapecreateShapeFromInput (base::Externalizer &e, String format="", Real version=1.0)
 create a new concrete Shape (subclass) based on the next element that appears in the Input Externalizer stream

base::ref< CollisionModelgetCollisionModel (CollisionModel::CollisionModelType modelType) const
 deprecated.

void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const
virtual bool visualTypeSupported (VisualType type) const
virtual osg::Node * createOSGVisual (Visual::Attributes visualAttributes=0) const
virtual void serialize (Serializer &s)=0
 read or write object state to Serializer

virtual bool isSameKindAs (const Object &) const
virtual bool isSameKindAs (const ReferencedObject &) const
virtual String className () const=0
virtual bool formatSupported (String format, Real version=1.0, ExternalizationType type=IO) const=0
 query if specific format is supported (for input, output or both)

virtual void externalize (Externalizer &e, String format="", Real version=1.0)=0
 read or write object state to Externalizer

virtual void externalize (Externalizer &e, String format="", Real version=1.0) const
 write object state to Externalizer (throws if e is in Input)

void load (ref< VFile > archive, const String &format="", Real version=1.0)
void save (ref< VFile > archive, const String &format="", Real version=1.0)

Static Public Member Functions

template<class BaseClass, class DerivedClass> void registerSerializableInstantiator (const SerializableInstantiator &instantiator)
void registerSerializableInstantiator (const String &baseClassTypeName, const String &derivedClassTypeName, const SerializableInstantiator &instantiator)
template<class BaseClass> const SerializableInstantiator & getSerializableInstantiator (const String &derivedClassTypeName)
const SerializableInstantiator & getSerializableInstantiator (const String &baseClassTypeName, const String &derivedClassTypeName)

Static Public Attributes

const Int OSGVisual = 1

Protected Member Functions

ref< CollisionModelgetCollisionModelFromVisual (CollisionModel::CollisionModelType modelType) const

Static Protected Member Functions

osg::Node * createOSGAxes (const base::Dimension3 &dim)

Protected Attributes

bool shapeHasAppearance
int _refCount
bool onUnreferenceEnabled

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 base::Externalizable::ExternalizationType [inherited]
 

Enumeration values:
Input 
Output 
IO 

Definition at line 40 of file Externalizable.


Constructor & Destructor Documentation

virtual physics::ConvexShape::~ConvexShape  )  [inline, virtual]
 

Definition at line 40 of file ConvexShape.


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.

osg::Node* physics::Shape::createOSGAxes const base::Dimension3 dim  )  [static, protected, inherited]
 

virtual osg::Node* gfx::Visual::createOSGVisual Visual::Attributes  visualAttributes = 0  )  const [inline, virtual, inherited]
 

Reimplemented in physics::GJKCollisionDetector, physics::OBBCollisionModel, physics::ODECollisionModel, physics::ODESolidSystem, physics::Solid, physics::SOLIDCollisionModel, and robot::sim::SimulatedBasicEnvironment.

Definition at line 49 of file Visual.

References gfx::Visual::Attributes, Logln, and NewObj.

ref<Shape> physics::Shape::createShapeFromInput base::Externalizer e,
String  format = "",
Real  version = 1.0
[inherited]
 

create a new concrete Shape (subclass) based on the next element that appears in the Input Externalizer stream

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 void base::Externalizable::externalize Externalizer e,
String  format = "",
Real  version = 1.0
const [virtual, inherited]
 

write object state to Externalizer (throws if e is in Input)

Reimplemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::Sphere, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::PlatformDescription, robot::RobotDescription, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, and robot::ToolDescription.

virtual void base::Externalizable::externalize Externalizer e,
String  format = "",
Real  version = 1.0
[pure virtual, inherited]
 

read or write object state to Externalizer

Implemented in base::Path, base::Trajectory, physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Material, physics::Polyhedron, physics::Sphere, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::ManipulatorJointTrajectory, robot::PlatformDescription, robot::RobotDescription, robot::sim::IKORTest::Test, robot::sim::IKORTest, robot::sim::SimulatedBasicEnvironment, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, robot::sim::TestBasicEnvironment, robot::sim::VisualIKORTest, and robot::ToolDescription.

virtual bool base::Externalizable::formatSupported String  format,
Real  version = 1.0,
ExternalizationType  type = IO
const [pure virtual, inherited]
 

query if specific format is supported (for input, output or both)

Implemented in base::Path, base::Trajectory, physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Material, physics::Polyhedron, physics::Sphere, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::ManipulatorJointTrajectory, robot::PlatformDescription, robot::RobotDescription, robot::sim::IKORTest::Test, robot::sim::IKORTest, robot::sim::SimulatedBasicEnvironment, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, robot::sim::TestBasicEnvironment, robot::sim::VisualIKORTest, and robot::ToolDescription.

virtual BoundingBox physics::Shape::getBoundingBox  )  const [pure virtual, inherited]
 

Implemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::SimpleTerrain, physics::Sphere, and physics::Torus.

virtual BoundingSphere physics::Shape::getBoundingSphere  )  const [pure virtual, inherited]
 

Implemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::SimpleTerrain, physics::Sphere, and physics::Torus.

base::ref<CollisionModel> physics::Shape::getCollisionModel CollisionModel::CollisionModelType  modelType  )  const [virtual, inherited]
 

deprecated.

Implements physics::CollisionModelProvider.

Reimplemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::SimpleTerrain, physics::Sphere, and physics::Torus.

ref<CollisionModel> physics::Shape::getCollisionModelFromVisual CollisionModel::CollisionModelType  modelType  )  const [protected, inherited]
 

virtual const MassProperties& physics::Shape::getMassProperties ref< const Material material  )  const [pure virtual, inherited]
 

Implemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::Sphere, and physics::Torus.

const SerializableInstantiator& base::Serializable::getSerializableInstantiator const String baseClassTypeName,
const String derivedClassTypeName
[static, inherited]
 

template<class BaseClass>
const SerializableInstantiator& base::Serializable::getSerializableInstantiator const String derivedClassTypeName  )  [inline, static, inherited]
 

Definition at line 71 of file Serializable.

References base::String.

virtual bool physics::Shape::includesAppearance  )  const [inline, virtual, inherited]
 

Definition at line 60 of file Shape.

References physics::Shape::shapeHasAppearance.

virtual bool physics::ConvexShape::isConvex  )  const [inline, virtual]
 

Implements physics::Shape.

Definition at line 42 of file ConvexShape.

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

Definition at line 52 of file ReferencedObject.

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

Definition at line 47 of file Object.

void base::Externalizable::load ref< VFile archive,
const String format = "",
Real  version = 1.0
[inherited]
 

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 base::Serializable::registerSerializableInstantiator const String baseClassTypeName,
const String derivedClassTypeName,
const SerializableInstantiator instantiator
[static, inherited]
 

template<class BaseClass, class DerivedClass>
void base::Serializable::registerSerializableInstantiator const SerializableInstantiator instantiator  )  [inline, static, inherited]
 

Definition at line 62 of file Serializable.

void base::Externalizable::save ref< VFile archive,
const String format = "",
Real  version = 1.0
[inherited]
 

virtual void base::Serializable::serialize Serializer s  )  [pure virtual, inherited]
 

read or write object state to Serializer

Implemented in base::BinaryOpExpression, base::ConstantExpression, base::Expression, base::LineSegPathRep, base::LineSegTrajectoryRep, base::ParametricPathRep, base::ParametricTrajectoryRep, base::Path, base::Trajectory, base::UnaryOpExpression, base::VariableExpression, base::WaypointPathRep, base::WaypointTrajectoryRep, physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron::Vertex, physics::Polyhedron::Edge, physics::Polyhedron::Polygon, physics::Polyhedron, physics::Sphere, physics::Torus, robot::KinematicChain::Link, robot::KinematicChain, and robot::ManipulatorJointTrajectory.

virtual void physics::Shape::setIncludesAppearance bool  appearanceIncluded  )  [inline, virtual, inherited]
 

Definition at line 61 of file Shape.

References physics::Shape::shapeHasAppearance.

virtual gfx::Segment3 physics::Shape::shortestSegmentBetween const base::Transform t1,
ref< const Shape s,
const base::Transform t2
const [pure virtual, inherited]
 

return the shortest segment between this shape (in configuration t1) and the shape s (in configuration t2)

Implemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::Sphere, and physics::Torus.

virtual gfx::Segment3 physics::Shape::shortestSegmentBetween const base::Transform t,
const gfx::Quad3 q
const [pure virtual, inherited]
 

return the shortest segment between this shape (in configuration t) and the quad q

Implemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::Sphere, and physics::Torus.

virtual gfx::Segment3 physics::Shape::shortestSegmentBetween const base::Transform t,
const gfx::Triangle3 tri
const [pure virtual, inherited]
 

return the shortest segment between this shape (in configuration t) and the triangle t

Implemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::Sphere, and physics::Torus.

virtual gfx::Segment3 physics::Shape::shortestSegmentBetween const base::Transform t,
const gfx::Segment3 s
const [pure virtual, inherited]
 

return the shortest segment between this shape (in configuration t) and the segment s

Implemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::Sphere, and physics::Torus.

virtual gfx::Segment3 physics::Shape::shortestSegmentBetween const base::Transform t,
const Point3 p
const [pure virtual, inherited]
 

return the shortest segment between this shape (in configuration t) and the point p (the returned segment will always end with p)

Implemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::Sphere, and physics::Torus.

virtual gfx::Point3 physics::ConvexShape::support const gfx::Vector3 &  v  )  const [pure virtual]
 

Implemented in physics::Capsule, physics::Cone, and physics::Cylinder.

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 gfx::Visual::visualTypeSupported VisualType  type  )  const [inline, virtual, inherited]
 

Reimplemented in gfx::OSGWorld, gfx::VisualPath, physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::GJKCollisionDetector, physics::LODTerrain, physics::OBBCollisionModel, physics::ODECollisionModel, physics::ODESolidSystem, physics::Polyhedron, physics::Solid, physics::SOLIDCollisionModel, physics::Sphere, physics::Torus, physics::VisualDebugUtil, and robot::sim::VisualIKORTest.

Definition at line 47 of file Visual.

References gfx::Visual::VisualType.


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

bool physics::Shape::shapeHasAppearance [protected, inherited]
 

Definition at line 97 of file Shape.

Referenced by physics::Shape::includesAppearance(), physics::Shape::setIncludesAppearance(), and physics::Shape::Shape().


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