33 #ifndef DART_COMMON_ASPECTWITHVERSION_HPP_
34 #define DART_COMMON_ASPECTWITHVERSION_HPP_
45 class CompositeT = Composite,
46 void (*updateState)(DerivedT*) = &detail::NoOp<DerivedT*> >
57 typename PropertiesDataT,
59 void (*updateProperties)(DerivedT*) = &detail::NoOp<DerivedT*> >
71 typename PropertiesDataT,
73 void (*updateState)(DerivedT*) = &detail::NoOp<DerivedT*>,
74 void (*updateProperties)(DerivedT*) = updateState>
90 constexpr
static void (*UpdateState)(
Derived*) = updateState;
91 constexpr
static void (*UpdateProperties)(
Derived*) = updateProperties;
135 return std::make_unique<Derived>(this->getState(), this->getProperties());
149 typename PropertiesDataT,
151 void (*updateState)(DerivedT*),
152 void (*updateProperties)(DerivedT*)>
159 updateProperties>::UpdateState)(DerivedT*);
165 typename PropertiesDataT,
167 void (*updateState)(DerivedT*),
168 void (*updateProperties)(DerivedT*)>
175 updateProperties>::UpdateProperties)(DerivedT*);
BodyPropPtr properties
Definition: SdfParser.cpp:80
Definition: AspectWithVersion.hpp:82
AspectWithStateAndVersionedProperties(const StateData &state=StateData(), const PropertiesData &properties=PropertiesData())
Construct using a StateData and a PropertiesData instance.
Definition: AspectWithVersion.hpp:116
StateDataT StateData
Definition: AspectWithVersion.hpp:85
AspectWithStateAndVersionedProperties(const AspectWithStateAndVersionedProperties &)=delete
std::unique_ptr< Aspect > cloneAspect() const override
Definition: AspectWithVersion.hpp:133
DerivedT Derived
Definition: AspectWithVersion.hpp:84
PropertiesDataT PropertiesData
Definition: AspectWithVersion.hpp:86
AspectWithStateAndVersionedProperties(const PropertiesData &properties, const StateData &state=StateData())
Construct using a PropertiesData and a StateData instance.
Definition: AspectWithVersion.hpp:125
CompositeT CompositeType
Definition: AspectWithVersion.hpp:87
Composite is a base class that should be virtually inherited by any class that wants to be able to ma...
Definition: Composite.hpp:53
The MakeCloneable class is used to easily create an Cloneable (such as Node::State) which simply take...
Definition: Cloneable.hpp:84
AspectWithProtectedState generates implementations of the State managing functions for an Aspect clas...
Definition: AspectWithVersion.hpp:54
AspectWithProtectedProperties generates implementations of the Property managing functions for an Asp...
Definition: AspectWithVersion.hpp:109
Definition: BulletCollisionDetector.cpp:65