DART  6.10.1
dart::common::EmbedProperties< DerivedT, PropertiesDataT > Class Template Reference

Inherit this class to embed Properties into your Composite object. More...

#include <EmbeddedAspect.hpp>

Inheritance diagram for dart::common::EmbedProperties< DerivedT, PropertiesDataT >:
dart::common::RequiresAspect< common::EmbeddedPropertiesAspect< DerivedT, PropertiesDataT > > dart::dynamics::detail::EntityNodeBase< Base, isCompositeBase >

Public Types

using Derived = DerivedT
 
using Aspect = common::EmbeddedPropertiesAspect< Derived, PropertiesDataT >
 
using AspectProperties = typename Aspect::Properties
 
using AspectPropertiesData = typename Aspect::PropertiesData
 
using Base = common::RequiresAspect< Aspect >
 

Public Member Functions

template<typename... Args>
 EmbedProperties (Args &&... args)
 
virtual ~EmbedProperties ()=default
 
const AspectPropertiesgetAspectProperties () const
 

Protected Attributes

AspectProperties mAspectProperties
 Aspect::Properties data, directly accessible to your derived class. More...
 

Detailed Description

template<class DerivedT, typename PropertiesDataT>
class dart::common::EmbedProperties< DerivedT, PropertiesDataT >

Inherit this class to embed Properties into your Composite object.

DerivedT is the name of your class and PropertiesDataT is a "plain-old data" structure that holds your properties information.

Your derived class must implement the following function:

void setAspectProperties(const AspectProperties& state);
typename Aspect::Properties AspectProperties
Definition: EmbeddedAspect.hpp:208

To embed both state and properties information, use EmbedStateAndProperties.

It is possible to customize the way an EmbeddedPropertiesAspect interacts with your Composite by using the dart::common::detail::EmbeddedPropertiesAspect class directly instead of inheriting this class.

Member Typedef Documentation

◆ Aspect

template<class DerivedT , typename PropertiesDataT >
using dart::common::EmbedProperties< DerivedT, PropertiesDataT >::Aspect = common::EmbeddedPropertiesAspect<Derived, PropertiesDataT>

◆ AspectProperties

template<class DerivedT , typename PropertiesDataT >
using dart::common::EmbedProperties< DerivedT, PropertiesDataT >::AspectProperties = typename Aspect::Properties

◆ AspectPropertiesData

template<class DerivedT , typename PropertiesDataT >
using dart::common::EmbedProperties< DerivedT, PropertiesDataT >::AspectPropertiesData = typename Aspect::PropertiesData

◆ Base

template<class DerivedT , typename PropertiesDataT >
using dart::common::EmbedProperties< DerivedT, PropertiesDataT >::Base = common::RequiresAspect<Aspect>

◆ Derived

template<class DerivedT , typename PropertiesDataT >
using dart::common::EmbedProperties< DerivedT, PropertiesDataT >::Derived = DerivedT

Constructor & Destructor Documentation

◆ EmbedProperties()

template<class DerivedT , typename PropertiesDataT >
template<typename... Args>
dart::common::EmbedProperties< DerivedT, PropertiesDataT >::EmbedProperties ( Args &&...  args)
inline

◆ ~EmbedProperties()

template<class DerivedT , typename PropertiesDataT >
virtual dart::common::EmbedProperties< DerivedT, PropertiesDataT >::~EmbedProperties ( )
virtualdefault

Member Function Documentation

◆ getAspectProperties()

template<class DerivedT , typename PropertiesDataT >
const AspectProperties& dart::common::EmbedProperties< DerivedT, PropertiesDataT >::getAspectProperties ( ) const
inline

Member Data Documentation

◆ mAspectProperties

template<class DerivedT , typename PropertiesDataT >
AspectProperties dart::common::EmbedProperties< DerivedT, PropertiesDataT >::mAspectProperties
protected

Aspect::Properties data, directly accessible to your derived class.