33 #ifndef DART_COMMON_DETAIL_PROXYASPECT_HPP_
34 #define DART_COMMON_DETAIL_PROXYASPECT_HPP_
43 template <
class BaseT,
class CompositeT,
typename StateT>
55 template <
typename... Args>
57 :
Base(
std::forward<Args>(args)...),
78 return make_unique<ProxyStateAspect>();
86 Base::setComposite(newComposite);
89 typename State::Owner* owner =
90 dynamic_cast<typename State::Owner*
>(newComposite);
103 Base::loseComposite(oldComposite);
112 template <
class BaseT,
class CompositeT,
typename PropertiesT>
124 template <
typename... Args>
126 :
Base(
std::forward<Args>(args)...),
147 return make_unique<ProxyPropertiesAspect>();
155 Base::setComposite(newComposite);
156 typename Properties::Owner* owner =
157 dynamic_cast<typename Properties::Owner*
>(newComposite);
170 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:83
If your Aspect has a State, then that State class should inherit this Aspect::State class.
Definition: Aspect.hpp:64
Composite is a base class that should be virtually inherited by any class that wants to be able to ma...
Definition: Composite.hpp:52
Definition: ProxyAspect.hpp:114
ProxyPropertiesAspect(Args &&... args)
General constructor.
Definition: ProxyAspect.hpp:125
CompositeT CompositeType
Definition: ProxyAspect.hpp:118
std::unique_ptr< Aspect > cloneAspect() const override
Definition: ProxyAspect.hpp:145
PropertiesT Properties
Definition: ProxyAspect.hpp:119
virtual ~ProxyPropertiesAspect()=default
void setAspectProperties(const Aspect::Properties &properties) override final
Definition: ProxyAspect.hpp:133
Properties mProxyProperties
Proxy properties for this Aspect.
Definition: ProxyAspect.hpp:174
void loseComposite(Composite *oldComposite) override
Reconfigure the Aspect to unlink it from this Aspect's old Composite.
Definition: ProxyAspect.hpp:167
BaseT Base
Definition: ProxyAspect.hpp:117
void setComposite(Composite *newComposite) override
Reconfigure the Aspect to link it to this Aspect's new Composite.
Definition: ProxyAspect.hpp:153
const Aspect::Properties * getAspectProperties() const override final
Definition: ProxyAspect.hpp:139
Definition: ProxyAspect.hpp:45
const Aspect::State * getAspectState() const override final
Definition: ProxyAspect.hpp:70
ProxyStateAspect(Args &&... args)
General constructor.
Definition: ProxyAspect.hpp:56
void setAspectState(const Aspect::State &state) override final
Definition: ProxyAspect.hpp:64
void setComposite(Composite *newComposite) override
Reconfigure the Aspect to link it to this Aspect's new Composite.
Definition: ProxyAspect.hpp:84
void loseComposite(Composite *oldComposite) override
Reconfigure the Aspect to unlink it from this Aspect's old Composite.
Definition: ProxyAspect.hpp:100
BaseT Base
Definition: ProxyAspect.hpp:48
virtual ~ProxyStateAspect()=default
CompositeT CompositeType
Definition: ProxyAspect.hpp:49
StateT State
Definition: ProxyAspect.hpp:50
std::unique_ptr< Aspect > cloneAspect() const override
Definition: ProxyAspect.hpp:76
State mProxyState
Proxy state for this Aspect.
Definition: ProxyAspect.hpp:107
Definition: BulletCollisionDetector.cpp:63
Definition: SharedLibraryManager.hpp:43