33#ifndef DART_COMMON_ASPECTWITHVERSION_HPP_
34#define DART_COMMON_ASPECTWITHVERSION_HPP_
42template <
class DerivedT,
44 class CompositeT = Composite,
45 void (*updateState)(DerivedT*) = &detail::NoOp<DerivedT*> >
50template <
class DerivedT,
51 typename PropertiesDataT,
53 void (*updateProperties)(DerivedT*) = &detail::NoOp<DerivedT*> >
58template <
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());
127template <
class DerivedT,
129 typename PropertiesDataT,
131 void (*updateState)(DerivedT*),
132 void (*updateProperties)(DerivedT*)>
134 PropertiesDataT, CompositeT, updateState, updateProperties>::UpdateState)
138template <
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
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
std::unique_ptr< Aspect > cloneAspect() const override
Definition AspectWithVersion.hpp:113
Definition Aspect.hpp:129
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