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 | |
ODECollidableGroup () | |
virtual | ~ODECollidableGroup () |
virtual String | className () 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 dSpaceID | getSpaceID () const |
virtual BoundingBox | getBoundingBox () const |
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 Types | |
enum | ODESpaceType { ODESimpleSpace, ODEHashSpace, ODEQuadTreeSpace } |
Protected Member Functions | |
ODECollidableGroup (ODESpaceType type) | |
ODECollidableGroup (const ODECollidableGroup &cg) | |
void | create (ODESpaceType type) |
Protected Attributes | |
dSpaceID | spaceID |
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 |
|
Definition at line 74 of file CollidableGroup. |
|
Definition at line 77 of file CollidableGroup. |
|
Definition at line 78 of file CollidableGroup. |
|
Definition at line 75 of file CollidableGroup. |
|
Definition at line 76 of file CollidableGroup. |
|
Definition at line 53 of file ODECollidableGroup. |
|
|
|
|
|
Definition at line 55 of file ODECollidableGroup. References create(). |
|
Definition at line 56 of file ODECollidableGroup. References spaceID. |
|
add Collidable to the group
Reimplemented from physics::CollidableGroup. |
|
Definition at line 81 of file CollidableGroup. References base::reflist< _Tp, _Alloc >::begin(), and physics::CollidableGroup::collidables. |
|
Definition at line 80 of file CollidableGroup. References base::reflist< _Tp, _Alloc >::begin(), and physics::CollidableGroup::collidables. |
|
return the name of the object's class type. Must be defined by derived classes. Reimplemented from physics::CollidableGroup. Definition at line 44 of file ODECollidableGroup. |
|
remove all Collidables from group
Reimplemented from physics::CollidableGroup. |
|
Definition at line 82 of file CollidableGroup. References physics::CollidableGroup::collidables, and base::reflist< _Tp, _Alloc >::const_begin(). Referenced by physics::CollidableGroup::getBoundingBox(). |
|
Definition at line 85 of file CollidableGroup. References physics::CollidableGroup::collidables, and base::reflist< _Tp, _Alloc >::const_end(). Referenced by physics::CollidableGroup::getBoundingBox(). |
|
Referenced by ODECollidableGroup(). |
|
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 84 of file CollidableGroup. References physics::CollidableGroup::collidables, and base::reflist< _Tp, _Alloc >::end(). |
|
Definition at line 83 of file CollidableGroup. References physics::CollidableGroup::collidables, and base::reflist< _Tp, _Alloc >::end(). |
|
|
|
Reimplemented from physics::Collidable. |
|
Reimplemented from physics::Collidable. |
|
Implements physics::Collidable. Definition at line 44 of file CollidableGroup. References physics::CollidableGroup::const_begin(), physics::CollidableGroup::const_end(), physics::BoundingBox::include(), and physics::BoundingBox::setEmpty(). |
|
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==(). |
|
Definition at line 50 of file ODECollidableGroup. References spaceID. |
|
Definition at line 59 of file Collidable. References physics::Collidable::userClass. |
|
Definition at line 55 of file Collidable. References physics::Collidable::userData. |
|
Definition at line 70 of file CollidableGroup. References physics::CollidableGroup::childIntercollisionsEnabled. |
|
Definition at line 46 of file Collidable. References physics::Collidable::interpenetrationNormal. |
|
|
|
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(). |
|
remove collidable from the group
Reimplemented from physics::CollidableGroup. |
|
Definition at line 67 of file CollidableGroup. References physics::CollidableGroup::childIntercollisionsEnabled. |
|
Definition at line 45 of file Collidable. References physics::Collidable::interpenetrationNormal. |
|
Reimplemented from base::Named. Definition at line 43 of file Collidable. |
|
Collisions between Collidables of the same class number (>0) are culled.
Definition at line 58 of file Collidable. |
|
Definition at line 54 of file Collidable. References physics::Collidable::userData. |
|
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. |
|
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 93 of file CollidableGroup. Referenced by physics::CollidableGroup::CollidableGroup(), physics::CollidableGroup::isChildIntercollisionEnabled(), and physics::CollidableGroup::setChildIntercollisionEnabled(). |
|
|
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(). |
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
Definition at line 60 of file ODECollidableGroup. Referenced by getSpaceID(), and ODECollidableGroup(). |
|
Definition at line 69 of file Collidable. Referenced by physics::Collidable::Collidable(), and physics::Collidable::getUserClass(). |
|
Definition at line 68 of file Collidable. Referenced by physics::Collidable::Collidable(), physics::Collidable::getUserData(), and physics::Collidable::setUserData(). |