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

physics::CollidableGroup Class Reference

Inheritance diagram for physics::CollidableGroup:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef base::reflist< Collidable > Collidables
typedef Collidables::iterator iterator
typedef Collidables::iterator_const  iterator_const
typedef Collidables::const_iterator const_iterator
typedef Collidables::const_iterator_const  const_iterator_const

Public Member Functions

 CollidableGroup ()
virtual ~CollidableGroup ()
virtual String className () const
virtual BoundingBox getBoundingBox () const
virtual void addCollidable (ref< Collidable > c)
 add Collidable to the group

virtual void removeCollidable (ref< Collidable > c)
 remove collidable from the group

virtual void clear ()
 remove all Collidables from group

virtual ref< const Collidable > findNamed (const String &name, bool recurse=true) const
virtual ref< Collidable > findNamed (const String &name, bool recurse=true)
virtual bool find (ref< const Collidable > collidable, bool recurse=true) const
virtual void setChildIntercollisionEnabled (bool enabled)
virtual bool isChildIntercollisionEnabled () const
iterator begin ()
const_iterator begin () const
const_iterator_const  const_begin () const
iterator end ()
const_iterator end () const
const_iterator_const  const_end () const
virtual void setName (const String &name)
virtual void setInterpenetrationIsNormal (bool interpenetrationIsNormal)
virtual bool isInterpenetrationNormal () const
virtual void setUserData (ref< base::ReferencedObject > data)
virtual ref< base::ReferencedObject > getUserData () 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
void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const

Protected Member Functions

 CollidableGroup (const CollidableGroup &cg)

Protected Attributes

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

ref< base::ReferencedObject > userData
Int userClass
int _refCount
bool onUnreferenceEnabled

Member Typedef Documentation

typedef base::reflist<Collidable> physics::CollidableGroup::Collidables
 

Definition at line 74 of file CollidableGroup.

typedef Collidables::const_iterator physics::CollidableGroup::const_iterator
 

Definition at line 77 of file CollidableGroup.

typedef Collidables::const_iterator_const physics::CollidableGroup::const_iterator_const
 

Definition at line 78 of file CollidableGroup.

typedef Collidables::iterator physics::CollidableGroup::iterator
 

Definition at line 75 of file CollidableGroup.

typedef Collidables::iterator_const physics::CollidableGroup::iterator_const
 

Definition at line 76 of file CollidableGroup.


Constructor & Destructor Documentation

physics::CollidableGroup::CollidableGroup (   )  [inline]
 

Definition at line 39 of file CollidableGroup.

References childIntercollisionsEnabled.

virtual physics::CollidableGroup::~CollidableGroup (   )  [inline, virtual]
 

Definition at line 40 of file CollidableGroup.

physics::CollidableGroup::CollidableGroup (  const CollidableGroup &  cg  )  [inline, protected]
 

Definition at line 89 of file CollidableGroup.

References childIntercollisionsEnabled, and collidables.


Member Function Documentation

virtual void physics::CollidableGroup::addCollidable (  ref< Collidable >  c  )  [inline, virtual]
 

add Collidable to the group

Reimplemented in physics::ODECollidableGroup.

Definition at line 58 of file CollidableGroup.

References Assert, collidables, and base::reflist< _Tp, _Alloc >::push_back().

const_iterator physics::CollidableGroup::begin (   )  const [inline]
 

Definition at line 81 of file CollidableGroup.

References base::reflist< _Tp, _Alloc >::begin(), and collidables.

iterator physics::CollidableGroup::begin (   )  [inline]
 

Definition at line 80 of file CollidableGroup.

References base::reflist< _Tp, _Alloc >::begin(), and collidables.

virtual String physics::CollidableGroup::className (   )  const [inline, virtual]
 

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

Implements base::Object.

Reimplemented in physics::ODECollidableGroup.

Definition at line 42 of file CollidableGroup.

virtual void physics::CollidableGroup::clear (   )  [inline, virtual]
 

remove all Collidables from group

Reimplemented in physics::ODECollidableGroup.

Definition at line 60 of file CollidableGroup.

References base::reflist< _Tp, _Alloc >::clear(), and collidables.

const_iterator_const physics::CollidableGroup::const_begin (   )  const [inline]
 

Definition at line 82 of file CollidableGroup.

References collidables, and base::reflist< _Tp, _Alloc >::const_begin().

Referenced by getBoundingBox().

const_iterator_const physics::CollidableGroup::const_end (   )  const [inline]
 

Definition at line 85 of file CollidableGroup.

References collidables, and base::reflist< _Tp, _Alloc >::const_end().

Referenced by getBoundingBox().

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.

const_iterator physics::CollidableGroup::end (   )  const [inline]
 

Definition at line 84 of file CollidableGroup.

References collidables, and base::reflist< _Tp, _Alloc >::end().

iterator physics::CollidableGroup::end (   )  [inline]
 

Definition at line 83 of file CollidableGroup.

References collidables, and base::reflist< _Tp, _Alloc >::end().

virtual bool physics::CollidableGroup::find (  ref< const Collidable >  collidable,
bool  recurse = true
)  const [virtual]
 

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

Reimplemented from physics::Collidable.

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

Reimplemented from physics::Collidable.

virtual BoundingBox physics::CollidableGroup::getBoundingBox (   )  const [inline, virtual]
 

Implements physics::Collidable.

Definition at line 44 of file CollidableGroup.

References const_begin(), const_end(), physics::BoundingBox::include(), and physics::BoundingBox::setEmpty().

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

Definition at line 44 of file Named.

References base::String.

Referenced by physics::Collidable::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, inherited]
 

Definition at line 59 of file Collidable.

References physics::Collidable::userClass.

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

Definition at line 55 of file Collidable.

References physics::Collidable::userData.

virtual bool physics::CollidableGroup::isChildIntercollisionEnabled (   )  const [inline, virtual]
 

Definition at line 70 of file CollidableGroup.

References childIntercollisionsEnabled.

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

Definition at line 46 of file Collidable.

References physics::Collidable::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::CollidableGroup::removeCollidable (  ref< Collidable >  c  )  [inline, virtual]
 

remove collidable from the group

Reimplemented in physics::ODECollidableGroup.

Definition at line 59 of file CollidableGroup.

References collidables, and base::reflist< _Tp, _Alloc >::remove().

virtual void physics::CollidableGroup::setChildIntercollisionEnabled (  bool  enabled  )  [inline, virtual]
 

Definition at line 67 of file CollidableGroup.

References childIntercollisionsEnabled.

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

Definition at line 45 of file Collidable.

References physics::Collidable::interpenetrationNormal.

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

Reimplemented from base::Named.

Definition at line 43 of file Collidable.

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

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, inherited]
 

Definition at line 54 of file Collidable.

References physics::Collidable::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::CollidableGroup::childIntercollisionsEnabled [protected]
 

Definition at line 93 of file CollidableGroup.

Referenced by CollidableGroup(), isChildIntercollisionEnabled(), and setChildIntercollisionEnabled().

Collidables physics::CollidableGroup::collidables [protected]
 

Definition at line 94 of file CollidableGroup.

Referenced by addCollidable(), begin(), clear(), CollidableGroup(), const_begin(), const_end(), end(), and removeCollidable().

bool physics::Collidable::interpenetrationNormal [protected, inherited]
 

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 physics::Collidable::Collidable(), physics::Collidable::isInterpenetrationNormal(), and physics::Collidable::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, inherited]
 

Definition at line 69 of file Collidable.

Referenced by physics::Collidable::Collidable(), and physics::Collidable::getUserClass().

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

Definition at line 68 of file Collidable.

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


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