dart
|
The Detachable class is a special case of the Entity base class. More...
#include <Entity.hpp>
Public Member Functions | |
Detachable (Frame *_refFrame, bool _quiet) | |
Constructor. | |
virtual void | setParentFrame (Frame *_newParentFrame) |
Allows the user to change the parent Frame of this Entity. | |
![]() | |
Entity (Frame *_refFrame, bool _quiet) | |
Constructor for typical usage. | |
Entity () | |
Default constructor, delegates to Entity(ConstructAbstract_t) | |
Entity (const Entity &)=delete | |
virtual | ~Entity () |
Destructor. | |
virtual const std::string & | setName (const std::string &_name)=0 |
Set name. More... | |
virtual const std::string & | getName () const =0 |
Return the name of this Entity. | |
Frame * | getParentFrame () |
Get the parent (reference) frame of this Entity. | |
const Frame * | getParentFrame () const |
Get the parent (reference) frame of this Entity. | |
bool | descendsFrom (const Frame *_someFrame) const |
Returns true if and only if this Entity is itself (i.e. More... | |
bool | isFrame () const |
True iff this Entity is also a Frame. | |
bool | isQuiet () const |
Returns true if this Entity is set to be quiet. More... | |
virtual void | notifyTransformUpdate () |
Notify the transformation update of this Entity that its parent Frame's pose is needed. | |
virtual void | dirtyTransform () |
Notify the transformation update of this Entity that its parent Frame's pose is needed. | |
bool | needsTransformUpdate () const |
Returns true iff a transform update is needed for this Entity. | |
virtual void | notifyVelocityUpdate () |
Notify the velocity update of this Entity that its parent Frame's velocity is needed. | |
virtual void | dirtyVelocity () |
Notify the velocity update of this Entity that its parent Frame's velocity is needed. | |
bool | needsVelocityUpdate () const |
Returns true iff a velocity update is needed for this Entity. | |
virtual void | notifyAccelerationUpdate () |
Notify the acceleration of this Entity that its parent Frame's acceleration is needed. | |
virtual void | dirtyAcceleration () |
Notify the acceleration of this Entity that its parent Frame's acceleration is needed. | |
bool | needsAccelerationUpdate () const |
Returns true iff an acceleration update is needed for this Entity. | |
![]() | |
virtual | ~Subject () |
Destructor will notify all Observers that it is destructing. | |
Protected Member Functions | |
Detachable () | |
Constructor for inheriting classes, so they do not need to fill in the arguments. | |
![]() | |
Entity (ConstructFrameTag) | |
Entity (ConstructAbstractTag) | |
virtual void | changeParentFrame (Frame *_newParentFrame) |
Used by derived classes to change their parent frames. | |
![]() | |
void | sendDestructionNotification () const |
Send a destruction notification to all Observers. More... | |
void | addObserver (Observer *_observer) const |
Add an Observer to the list of Observers. | |
void | removeObserver (Observer *_observer) const |
Remove an Observer from the list of Observers. | |
Additional Inherited Members | |
![]() | |
using | EntitySignal = common::Signal< void(const Entity *)> |
using | FrameChangedSignal = common::Signal< void(const Entity *, const Frame *_oldFrame, const Frame *_newFrame)> |
using | NameChangedSignal = common::Signal< void(const Entity *, const std::string &_oldName, const std::string &_newName)> |
![]() | |
common::SlotRegister< FrameChangedSignal > | onFrameChanged |
Slot register for frame changed signal. | |
common::SlotRegister< NameChangedSignal > | onNameChanged |
Slot register for name changed signal. | |
common::SlotRegister< EntitySignal > | onTransformUpdated |
Slot register for transform updated signal. | |
common::SlotRegister< EntitySignal > | onVelocityChanged |
Slot register for velocity updated signal. | |
common::SlotRegister< EntitySignal > | onAccelerationChanged |
Slot register for acceleration updated signal. | |
![]() | |
enum | ConstructFrameTag { ConstructFrame } |
Used when constructing a Frame class, because the Frame constructor will take care of setting up the parameters you pass into it. | |
enum | ConstructAbstractTag { ConstructAbstract } |
Used when constructing a pure abstract class, because calling the Entity constructor is just a formality. | |
![]() | |
Frame * | mParentFrame |
Parent frame of this Entity. | |
bool | mNeedTransformUpdate |
Does this Entity need a Transform update. | |
bool | mNeedVelocityUpdate |
Does this Entity need a Velocity update. | |
bool | mNeedAccelerationUpdate |
Does this Entity need an Acceleration update. | |
FrameChangedSignal | mFrameChangedSignal |
Frame changed signal. | |
NameChangedSignal | mNameChangedSignal |
Name changed signal. | |
EntitySignal | mTransformUpdatedSignal |
Transform changed signal. | |
EntitySignal | mVelocityChangedSignal |
Velocity changed signal. | |
EntitySignal | mAccelerationChangedSignal |
Acceleration changed signal. | |
![]() | |
std::set< Observer * > | mObservers |
List of current Observers. | |
The Detachable class is a special case of the Entity base class.
Detachable allows the Entity's reference Frame to be changed arbitrarily by the user.