33 #ifndef DART_COMMON_DETAIL_PROXYASPECT_HPP_
34 #define DART_COMMON_DETAIL_PROXYASPECT_HPP_
43 template <
class BaseT,
class CompositeT,
typename StateT>
54 template <
typename... Args>
76 return std::make_unique<ProxyStateAspect>();
83 Base::setComposite(newComposite);
86 typename State::Owner* owner
87 =
dynamic_cast<typename State::Owner*
>(newComposite);
100 Base::loseComposite(oldComposite);
108 template <
class BaseT,
class CompositeT,
typename PropertiesT>
119 template <
typename... Args>
141 return std::make_unique<ProxyPropertiesAspect>();
148 Base::setComposite(newComposite);
149 typename Properties::Owner* owner
150 =
dynamic_cast<typename Properties::Owner*
>(newComposite);
163 Base::loseComposite(oldComposite);
BodyPropPtr properties
Definition: SdfParser.cpp:80
If your Aspect has Properties, then that Properties class should inherit this Aspect::Properties clas...
Definition: Aspect.hpp:86
If your Aspect has a State, then that State class should inherit this Aspect::State class.
Definition: Aspect.hpp:65
Composite is a base class that should be virtually inherited by any class that wants to be able to ma...
Definition: Composite.hpp:53
Definition: ProxyAspect.hpp:110
ProxyPropertiesAspect(Args &&... args)
General constructor.
Definition: ProxyAspect.hpp:120
CompositeT CompositeType
Definition: ProxyAspect.hpp:113
std::unique_ptr< Aspect > cloneAspect() const override
Definition: ProxyAspect.hpp:139
PropertiesT Properties
Definition: ProxyAspect.hpp:114
virtual ~ProxyPropertiesAspect()=default
void setAspectProperties(const Aspect::Properties &properties) override final
Definition: ProxyAspect.hpp:127
Properties mProxyProperties
Proxy properties for this Aspect.
Definition: ProxyAspect.hpp:167
void loseComposite(Composite *oldComposite) override
Reconfigure the Aspect to unlink it from this Aspect's old Composite.
Definition: ProxyAspect.hpp:160
BaseT Base
Definition: ProxyAspect.hpp:112
void setComposite(Composite *newComposite) override
Reconfigure the Aspect to link it to this Aspect's new Composite.
Definition: ProxyAspect.hpp:146
const Aspect::Properties * getAspectProperties() const override final
Definition: ProxyAspect.hpp:133
Definition: ProxyAspect.hpp:45
const Aspect::State * getAspectState() const override final
Definition: ProxyAspect.hpp:68
ProxyStateAspect(Args &&... args)
General constructor.
Definition: ProxyAspect.hpp:55
void setAspectState(const Aspect::State &state) override final
Definition: ProxyAspect.hpp:62
void setComposite(Composite *newComposite) override
Reconfigure the Aspect to link it to this Aspect's new Composite.
Definition: ProxyAspect.hpp:81
void loseComposite(Composite *oldComposite) override
Reconfigure the Aspect to unlink it from this Aspect's old Composite.
Definition: ProxyAspect.hpp:97
BaseT Base
Definition: ProxyAspect.hpp:47
virtual ~ProxyStateAspect()=default
CompositeT CompositeType
Definition: ProxyAspect.hpp:48
StateT State
Definition: ProxyAspect.hpp:49
std::unique_ptr< Aspect > cloneAspect() const override
Definition: ProxyAspect.hpp:74
State mProxyState
Proxy state for this Aspect.
Definition: ProxyAspect.hpp:104
Definition: BulletCollisionDetector.cpp:65
Definition: SharedLibraryManager.hpp:46