33 #ifndef DART_COMMON_ASPECTWITHVERSION_HPP_
34 #define DART_COMMON_ASPECTWITHVERSION_HPP_
42 template <
class DerivedT,
44 class CompositeT = Composite,
45 void (*updateState)(DerivedT*) = &detail::NoOp<DerivedT*> >
50 template <
class DerivedT,
51 typename PropertiesDataT,
53 void (*updateProperties)(DerivedT*) = &detail::NoOp<DerivedT*> >
58 template <
class DerivedT,
60 typename PropertiesDataT,
62 void (*updateState)(DerivedT*) = &detail::NoOp<DerivedT*>,
63 void (*updateProperties)(DerivedT*) = updateState>
67 DerivedT, PropertiesDataT, CompositeT, updateProperties>
77 constexpr
static void (*UpdateState)(
Derived*) = updateState;
78 constexpr
static void (*UpdateProperties)(
Derived*) = updateProperties;
88 DerivedT, StateDataT, PropertiesDataT, CompositeT,
89 updateState, updateProperties>;
115 return make_unique<Derived>(this->getState(), this->getProperties());
127 template <
class DerivedT,
129 typename PropertiesDataT,
131 void (*updateState)(DerivedT*),
132 void (*updateProperties)(DerivedT*)>
134 PropertiesDataT, CompositeT, updateState, updateProperties>::UpdateState)
138 template <
class DerivedT,
140 typename PropertiesDataT,
142 void (*updateState)(DerivedT*),
143 void (*updateProperties)(DerivedT*)>
145 PropertiesDataT, CompositeT, updateState, updateProperties>::UpdateProperties)
BodyPropPtr properties
Definition: SdfParser.cpp:80
Definition: AspectWithVersion.hpp:68
AspectWithStateAndVersionedProperties(const StateData &state=StateData(), const PropertiesData &properties=PropertiesData())
Construct using a StateData and a PropertiesData instance.
Definition: AspectWithVersion.hpp:95
StateDataT StateData
Definition: AspectWithVersion.hpp:72
AspectWithStateAndVersionedProperties(const AspectWithStateAndVersionedProperties &)=delete
std::unique_ptr< Aspect > cloneAspect() const override
Definition: AspectWithVersion.hpp:113
DerivedT Derived
Definition: AspectWithVersion.hpp:71
PropertiesDataT PropertiesData
Definition: AspectWithVersion.hpp:73
AspectWithStateAndVersionedProperties(const PropertiesData &properties, const StateData &state=StateData())
Construct using a PropertiesData and a StateData instance.
Definition: AspectWithVersion.hpp:104
CompositeT CompositeType
Definition: AspectWithVersion.hpp:74
Composite is a base class that should be virtually inherited by any class that wants to be able to ma...
Definition: Composite.hpp:52
The MakeCloneable class is used to easily create an Cloneable (such as Node::State) which simply take...
Definition: Cloneable.hpp:85
AspectWithProtectedState generates implementations of the State managing functions for an Aspect clas...
Definition: AspectWithVersion.hpp:51
AspectWithProtectedProperties generates implementations of the Property managing functions for an Asp...
Definition: AspectWithVersion.hpp:107
Definition: BulletCollisionDetector.cpp:63