Karlsruhe Institute of Technology (KIT) Logo

Master Motor Map

Whole-body human reference model and tools for unifying representations of whole-body human motion

Public Member Functions | Protected Member Functions
MMM::InterpolatableSensor< M, > Class Template Reference

The templated interface with already implemented methods for implementing new interpolatable sensor classes. More...

#include <InterpolatableSensor.h>

Inheritance diagram for MMM::InterpolatableSensor< M, >:
[legend]

Public Member Functions

std::shared_ptr< M > getDerivedMeasurement (float timestep)
 
bool isInterpolatable ()
 
void synchronizeSensorMeasurements (float timeFrequency, float minTimestep, float maxTimestep)
 Synchronizes all possible sensormeasurements on a specific time frequency via linear interpolation. Removes all measurements outside the given intervall.
 
- Public Member Functions inherited from MMM::BasicSensor< M >
virtual bool addSensorMeasurement (std::shared_ptr< M > measurement)
 
virtual bool checkModel (ModelPtr model)=0
 
SensorPtr clone ()
 
virtual std::shared_ptr< BasicSensor< M > > cloneConfiguration ()=0
 
std::shared_ptr< BasicSensor< M > > cloneDerived ()
 
virtual bool equalsConfiguration (SensorPtr other)=0
 
void extend (float minTimestep, float maxTimestep)
 
virtual std::shared_ptr< M > getDerivedMeasurement (float timestep, float delta)
 
float getMaxTimestep ()
 
SensorMeasurementPtr getMeasurement (float timestep)
 
SensorMeasurementPtr getMeasurement (float timestep, float delta)
 
std::map< float, SensorMeasurementPtr > getMeasurements ()
 
float getMinTimestep ()
 
SensorPtr getSegmentSensor (float startTimestep, float endTimestep, bool changeTimestep=false)
 
std::vector< float > getTimesteps ()
 
bool hasMeasurement ()
 
bool hasMeasurement (float timestep)
 
virtual void shiftMeasurements (float delta)
 
- Public Member Functions inherited from MMM::Sensor
void appendSensorXML (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)
 
std::string getDescription ()
 
std::string getName ()
 
virtual int getPriority ()
 
virtual std::vector< std::string > getSensorSpecificInformation (const std::string &name)
 
virtual std::string getType ()=0
 
std::string getUniqueName ()
 
virtual std::string getVersion ()=0
 
virtual bool hasSensorConfigurationContent () const =0
 
virtual void initializeModel (ModelPtr model, float timestep, bool extend=false, bool update=false)
 
virtual void initializeModel (ModelPtr model, float timestep, float delta, bool extend=false, bool update=false)
 
virtual bool isMirrorSupported (MotionType type)
 
virtual void mirrorMotionData (const Eigen::Matrix4f &referencePose, int referenceAxis)
 
virtual void scaleMotionData (float scaleFactor)
 
void setDescription (const std::string &description)
 
void setName (const std::string &name)
 
void setUniqueName (const std::string &uniqueName)
 
virtual void shiftMotionData (const Eigen::Vector3f &positionDelta)
 
void synchronizeSensorMeasurements (float timeFrequency)
 Synchronizes all possible sensormeasurements on a specific time frequency via linear interpolation.
 

Protected Member Functions

 InterpolatableSensor (const std::string &description=std::string(), const std::map< float, std::shared_ptr< M > > &measurements=std::map< float, std::shared_ptr< M > >())
 
- Protected Member Functions inherited from MMM::BasicSensor< M >
virtual void appendDataXML (simox::xml::RapidXMLWrapperNodePtr node) override
 
 BasicSensor (const std::string &description=std::string(), const std::map< float, std::shared_ptr< M > > &measurements=std::map< float, std::shared_ptr< M > >())
 
SensorPtr joinSensor (SensorPtr sensor)
 
virtual void loadMeasurementNodeXML (simox::xml::RapidXMLWrapperNodePtr node) override
 
virtual void loadMeasurementXML (simox::xml::RapidXMLWrapperNodePtr node, float timestep, SensorMeasurementType type)=0
 
- Protected Member Functions inherited from MMM::Sensor
virtual void appendConfigurationXML (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)=0
 
virtual void appendTypeXML (simox::xml::RapidXMLWrapperNodePtr node)
 
virtual void loadConfigurationXML (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)=0
 
virtual void loadSensor (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)
 
 Sensor (const std::string &description="")
 

Additional Inherited Members

- Static Public Member Functions inherited from MMM::Sensor
static SensorPtr join (SensorPtr sensor1, SensorPtr sensor2)
 
- Static Public Attributes inherited from MMM::Sensor
static std::function< bool(std::filesystem::path &)> handleSensorFilePath = NULL
 
- Protected Attributes inherited from MMM::BasicSensor< M >
std::map< float, std::shared_ptr< M > > measurements
 
- Protected Attributes inherited from MMM::Sensor
std::string description
 
std::string name
 
std::string uniqueName
 

Detailed Description

template<typename M, typename std::enable_if< std::is_base_of< InterpolatableSensorMeasurement< M >, M >::value >::type * = nullptr>
class MMM::InterpolatableSensor< M, >

The templated interface with already implemented methods for implementing new interpolatable sensor classes.

Member Function Documentation

◆ isInterpolatable()

template<typename M , typename std::enable_if< std::is_base_of< InterpolatableSensorMeasurement< M >, M >::value >::type * = nullptr>
bool MMM::InterpolatableSensor< M, >::isInterpolatable ( )
inlinevirtual

Returns true if the sensor measurements are interpolatable

Reimplemented from MMM::Sensor.


The documentation for this class was generated from the following file:
KoroiBot Logo WALK-MAN Logo Xperience Logo SecondHands Logo TimeStorm Logo I-SUPPORT Logo
PACO-PLUS Logo SFB-588 Logo SPP1527 Logo