DART  6.10.1
dart::dynamics::PointMassNotifier Class Reference

#include <PointMass.hpp>

Inheritance diagram for dart::dynamics::PointMassNotifier:
dart::dynamics::Entity dart::common::Subject

Public Types

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

Public Member Functions

 PointMassNotifier (SoftBodyNode *_parentSoftBody, const std::string &_name)
 
bool needsPartialAccelerationUpdate () const
 
void clearTransformNotice ()
 
void clearVelocityNotice ()
 
void clearPartialAccelerationNotice ()
 
void clearAccelerationNotice ()
 
void dirtyTransform () override
 Notify the transformation update of this Entity that its parent Frame's pose is needed. More...
 
void dirtyVelocity () override
 Notify the velocity update of this Entity that its parent Frame's velocity is needed. More...
 
void dirtyAcceleration () override
 Notify the acceleration of this Entity that its parent Frame's acceleration is needed. More...
 
const std::string & setName (const std::string &_name) override
 Set name. More...
 
const std::string & getName () const override
 Return the name of this Entity. More...
 
FramegetParentFrame ()
 Get the parent (reference) frame of this Entity. More...
 
const FramegetParentFrame () const
 Get the parent (reference) frame of this Entity. More...
 
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. More...
 
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. More...
 
bool needsTransformUpdate () const
 Returns true iff a transform update is needed for this Entity. More...
 
virtual void notifyVelocityUpdate ()
 Notify the velocity update of this Entity that its parent Frame's velocity is needed. More...
 
bool needsVelocityUpdate () const
 Returns true iff a velocity update is needed for this Entity. More...
 
virtual void notifyAccelerationUpdate ()
 Notify the acceleration of this Entity that its parent Frame's acceleration is needed. More...
 
bool needsAccelerationUpdate () const
 Returns true iff an acceleration update is needed for this Entity. More...
 

Protected Types

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. More...
 
enum  ConstructAbstractTag { ConstructAbstract }
 Used when constructing a pure abstract class, because calling the Entity constructor is just a formality. More...
 

Protected Member Functions

virtual void changeParentFrame (Frame *_newParentFrame)
 Used by derived classes to change their parent frames. More...
 
void sendDestructionNotification () const
 Send a destruction notification to all Observers. More...
 
void addObserver (Observer *_observer) const
 Add an Observer to the list of Observers. More...
 
void removeObserver (Observer *_observer) const
 Remove an Observer from the list of Observers. More...
 

Protected Attributes

std::string mName
 
bool mNeedPartialAccelerationUpdate
 
SoftBodyNodemParentSoftBodyNode
 
FramemParentFrame
 Parent frame of this Entity. More...
 
bool mNeedTransformUpdate
 Does this Entity need a Transform update. More...
 
bool mNeedVelocityUpdate
 Does this Entity need a Velocity update. More...
 
bool mNeedAccelerationUpdate
 Does this Entity need an Acceleration update. More...
 
FrameChangedSignal mFrameChangedSignal
 Frame changed signal. More...
 
NameChangedSignal mNameChangedSignal
 Name changed signal. More...
 
EntitySignal mTransformUpdatedSignal
 Transform changed signal. More...
 
EntitySignal mVelocityChangedSignal
 Velocity changed signal. More...
 
EntitySignal mAccelerationChangedSignal
 Acceleration changed signal. More...
 
std::set< Observer * > mObservers
 List of current Observers. More...
 

Slot registers

common::SlotRegister< FrameChangedSignalonFrameChanged
 Slot register for frame changed signal. More...
 
common::SlotRegister< NameChangedSignalonNameChanged
 Slot register for name changed signal. More...
 
common::SlotRegister< EntitySignalonTransformUpdated
 Slot register for transform updated signal. More...
 
common::SlotRegister< EntitySignalonVelocityChanged
 Slot register for velocity updated signal. More...
 
common::SlotRegister< EntitySignalonAccelerationChanged
 Slot register for acceleration updated signal. More...
 
const bool mAmQuiet
 Whether or not this Entity is set to be quiet. More...
 
bool mAmFrame
 Whether or not this Entity is a Frame. More...
 

Member Typedef Documentation

◆ EntitySignal

◆ FrameChangedSignal

using dart::dynamics::Entity::FrameChangedSignal = common::Signal<void( const Entity*, const Frame* _oldFrame, const Frame* _newFrame)>
inherited

◆ NameChangedSignal

using dart::dynamics::Entity::NameChangedSignal = common::Signal<void( const Entity*, const std::string& _oldName, const std::string& _newName)>
inherited

Member Enumeration Documentation

◆ ConstructAbstractTag

Used when constructing a pure abstract class, because calling the Entity constructor is just a formality.

Enumerator
ConstructAbstract 

◆ ConstructFrameTag

Used when constructing a Frame class, because the Frame constructor will take care of setting up the parameters you pass into it.

Enumerator
ConstructFrame 

Constructor & Destructor Documentation

◆ PointMassNotifier()

dart::dynamics::PointMassNotifier::PointMassNotifier ( SoftBodyNode _parentSoftBody,
const std::string &  _name 
)

Member Function Documentation

◆ addObserver()

void dart::common::Subject::addObserver ( Observer _observer) const
protectedinherited

Add an Observer to the list of Observers.

◆ changeParentFrame()

void dart::dynamics::Entity::changeParentFrame ( Frame _newParentFrame)
protectedvirtualinherited

Used by derived classes to change their parent frames.

Reimplemented in dart::dynamics::Frame.

◆ clearAccelerationNotice()

void dart::dynamics::PointMassNotifier::clearAccelerationNotice ( )

◆ clearPartialAccelerationNotice()

void dart::dynamics::PointMassNotifier::clearPartialAccelerationNotice ( )

◆ clearTransformNotice()

void dart::dynamics::PointMassNotifier::clearTransformNotice ( )

◆ clearVelocityNotice()

void dart::dynamics::PointMassNotifier::clearVelocityNotice ( )

◆ descendsFrom()

bool dart::dynamics::Entity::descendsFrom ( const Frame _someFrame) const
inherited

Returns true if and only if this Entity is itself (i.e.

this == _someFrame) or depends on (i.e. kinematically descends from) _someFrame.

If _someFrame is nullptr, this returns true in order to accommodate BodyNodes which always have a nullptr BodyNode as the parent of a root BodyNode.

◆ dirtyAcceleration()

void dart::dynamics::PointMassNotifier::dirtyAcceleration ( )
overridevirtual

Notify the acceleration of this Entity that its parent Frame's acceleration is needed.

Reimplemented from dart::dynamics::Entity.

◆ dirtyTransform()

void dart::dynamics::PointMassNotifier::dirtyTransform ( )
overridevirtual

Notify the transformation update of this Entity that its parent Frame's pose is needed.

Reimplemented from dart::dynamics::Entity.

◆ dirtyVelocity()

void dart::dynamics::PointMassNotifier::dirtyVelocity ( )
overridevirtual

Notify the velocity update of this Entity that its parent Frame's velocity is needed.

Reimplemented from dart::dynamics::Entity.

◆ getName()

const std::string & dart::dynamics::PointMassNotifier::getName ( ) const
overridevirtual

Return the name of this Entity.

Implements dart::dynamics::Entity.

◆ getParentFrame() [1/2]

Frame * dart::dynamics::Entity::getParentFrame ( )
inherited

Get the parent (reference) frame of this Entity.

◆ getParentFrame() [2/2]

const Frame * dart::dynamics::Entity::getParentFrame ( ) const
inherited

Get the parent (reference) frame of this Entity.

◆ isFrame()

bool dart::dynamics::Entity::isFrame ( ) const
inherited

True iff this Entity is also a Frame.

◆ isQuiet()

bool dart::dynamics::Entity::isQuiet ( ) const
inherited

Returns true if this Entity is set to be quiet.

A quiet entity is unknown to its parent Frame. It will not be tracked by its parent; it will not receive notifications from its parent, and it will not be rendered. The advantage to a quiet Entity is that it has less overhead when constructing and deconstructing, which makes it more suitable for temporary objects.

◆ needsAccelerationUpdate()

bool dart::dynamics::Entity::needsAccelerationUpdate ( ) const
inherited

Returns true iff an acceleration update is needed for this Entity.

◆ needsPartialAccelerationUpdate()

bool dart::dynamics::PointMassNotifier::needsPartialAccelerationUpdate ( ) const

◆ needsTransformUpdate()

bool dart::dynamics::Entity::needsTransformUpdate ( ) const
inherited

Returns true iff a transform update is needed for this Entity.

◆ needsVelocityUpdate()

bool dart::dynamics::Entity::needsVelocityUpdate ( ) const
inherited

Returns true iff a velocity update is needed for this Entity.

◆ notifyAccelerationUpdate()

void dart::dynamics::Entity::notifyAccelerationUpdate ( )
virtualinherited

Notify the acceleration of this Entity that its parent Frame's acceleration is needed.

◆ notifyTransformUpdate()

void dart::dynamics::Entity::notifyTransformUpdate ( )
virtualinherited

Notify the transformation update of this Entity that its parent Frame's pose is needed.

◆ notifyVelocityUpdate()

void dart::dynamics::Entity::notifyVelocityUpdate ( )
virtualinherited

Notify the velocity update of this Entity that its parent Frame's velocity is needed.

◆ removeObserver()

void dart::common::Subject::removeObserver ( Observer _observer) const
protectedinherited

Remove an Observer from the list of Observers.

◆ sendDestructionNotification()

void dart::common::Subject::sendDestructionNotification ( ) const
protectedinherited

Send a destruction notification to all Observers.

This will cause all Observers to behave as if this Subject has been permanently deleted, so it should only be called when that behavior is desired.

◆ setName()

const std::string & dart::dynamics::PointMassNotifier::setName ( const std::string &  _name)
overridevirtual

Set name.

Some implementations of Entity may make alterations to the name that gets passed in. The final name that this entity will use gets passed back in the return of this function.

Implements dart::dynamics::Entity.

Member Data Documentation

◆ mAccelerationChangedSignal

EntitySignal dart::dynamics::Entity::mAccelerationChangedSignal
protectedinherited

Acceleration changed signal.

◆ mAmFrame

bool dart::dynamics::Entity::mAmFrame
privateinherited

Whether or not this Entity is a Frame.

◆ mAmQuiet

const bool dart::dynamics::Entity::mAmQuiet
privateinherited

Whether or not this Entity is set to be quiet.

◆ mFrameChangedSignal

FrameChangedSignal dart::dynamics::Entity::mFrameChangedSignal
protectedinherited

Frame changed signal.

◆ mName

std::string dart::dynamics::PointMassNotifier::mName
protected

◆ mNameChangedSignal

NameChangedSignal dart::dynamics::Entity::mNameChangedSignal
protectedinherited

Name changed signal.

◆ mNeedAccelerationUpdate

bool dart::dynamics::Entity::mNeedAccelerationUpdate
mutableprotectedinherited

Does this Entity need an Acceleration update.

◆ mNeedPartialAccelerationUpdate

bool dart::dynamics::PointMassNotifier::mNeedPartialAccelerationUpdate
protected

◆ mNeedTransformUpdate

bool dart::dynamics::Entity::mNeedTransformUpdate
mutableprotectedinherited

Does this Entity need a Transform update.

◆ mNeedVelocityUpdate

bool dart::dynamics::Entity::mNeedVelocityUpdate
mutableprotectedinherited

Does this Entity need a Velocity update.

◆ mObservers

std::set<Observer*> dart::common::Subject::mObservers
mutableprotectedinherited

List of current Observers.

◆ mParentFrame

Frame* dart::dynamics::Entity::mParentFrame
protectedinherited

Parent frame of this Entity.

◆ mParentSoftBodyNode

SoftBodyNode* dart::dynamics::PointMassNotifier::mParentSoftBodyNode
protected

◆ mTransformUpdatedSignal

EntitySignal dart::dynamics::Entity::mTransformUpdatedSignal
protectedinherited

Transform changed signal.

◆ mVelocityChangedSignal

EntitySignal dart::dynamics::Entity::mVelocityChangedSignal
protectedinherited

Velocity changed signal.

◆ onAccelerationChanged

common::SlotRegister<EntitySignal> dart::dynamics::Entity::onAccelerationChanged
inherited

Slot register for acceleration updated signal.

◆ onFrameChanged

common::SlotRegister<FrameChangedSignal> dart::dynamics::Entity::onFrameChanged
inherited

Slot register for frame changed signal.

◆ onNameChanged

common::SlotRegister<NameChangedSignal> dart::dynamics::Entity::onNameChanged
inherited

Slot register for name changed signal.

◆ onTransformUpdated

common::SlotRegister<EntitySignal> dart::dynamics::Entity::onTransformUpdated
inherited

Slot register for transform updated signal.

◆ onVelocityChanged

common::SlotRegister<EntitySignal> dart::dynamics::Entity::onVelocityChanged
inherited

Slot register for velocity updated signal.