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>;
116 return make_unique<Derived>(this->getState(), this->getProperties());
128template <
class DerivedT,
130 typename PropertiesDataT,
132 void (*updateState)(DerivedT*),
133 void (*updateProperties)(DerivedT*)>
135 PropertiesDataT, CompositeT, updateState, updateProperties>::UpdateState)
139template <
class DerivedT,
141 typename PropertiesDataT,
143 void (*updateState)(DerivedT*),
144 void (*updateProperties)(DerivedT*)>
146 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:96
StateDataT StateData
Definition AspectWithVersion.hpp:72
AspectWithStateAndVersionedProperties(const AspectWithStateAndVersionedProperties &)=delete
DerivedT Derived
Definition AspectWithVersion.hpp:71
AspectWithStateAndVersionedProperties()=delete
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:105
CompositeT CompositeType
Definition AspectWithVersion.hpp:74
std::unique_ptr< Aspect > cloneAspect() const override
Definition AspectWithVersion.hpp:114
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