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 | Friends
MMM::MotionSegment Class Reference
Inheritance diagram for MMM::MotionSegment:
[legend]

Public Member Functions

MotionSegmentPtr clone (MotionSegmentationPtr parentSegmentation, bool deepCopy=true)
 
MotionSegmentPtr clone (MotionSegmentationPtr parentSegmentation, float startTimestep, float endTimestep, bool deepCopy=true, bool copyAnnotations=true)
 
MotionSegmentationPtr createChildSegmentation (const std::string &childSegmentName=std::string()) override
 
MotionRecordingSegmentPtr createMotionRecordingSegment ()
 
float getEndTimestep () const override
 
MotionRecordingPtr getMotionRecordingSegment (bool changeTimestep=false)
 
MotionRecordingPtr getMotionRecordingTargetSegment (bool changeTimestep=false)
 
MotionPtr getMotionTarget ()
 
MotionSegmentPtr getNextSegment ()
 
MotionSegmentationPtr getParentSegmentation () override
 
MotionSegmentPtr getPrevSegment ()
 
bool getResizeLeftInterval (float &minTimestep, float &maxTimestep)
 
bool getResizeRightInterval (float &minTimestep, float &maxTimestep)
 
MotionPtr getSegmentedMotion (MotionPtr motion, bool changeTimestep=false)
 
MotionPtr getSegmentedMotionTarget (bool changeTimestep=false)
 
float getStartTimestep () const override
 
 MotionSegment (float startTimestep, float endTimestep, const std::string &name, MotionRecordingPtr motions)
 
 MotionSegment (simox::xml::RapidXMLWrapperNodePtr node, MotionRecordingPtr motions, MotionSegmentationPtr parent)
 
bool resizeLeft (float timestep, bool checkTimestep=true, bool setEditor=true)
 
bool resizeRight (float timestep, bool checkTimestep=true, bool setEditor=true)
 
void setEndTimestep (float timestep)
 
void setStartTimestep (float timestep)
 
void shiftTimesteps (float timestepDelta) override
 
- Public Member Functions inherited from MMM::AbstractMotionSegment
void addAnnotation (MotionAnnotationPtr annotation)
 
void addAnnotations (AbstractMotionSegmentPtr fromSegment)
 
bool addSegmentation (MotionSegmentationPtr segmentation)
 
void addSegmentations (AbstractMotionSegmentPtr fromSegment, bool deepCopy=true, bool copyAnnotations=true)
 
void addSegmentations (AbstractMotionSegmentPtr fromSegment, float startTimestep, float endTimestep, bool deepCopy=true, bool copyAnnotations=true)
 
void addSegmentObserver (std::weak_ptr< MotionSegmentObserver > observer)
 
void appendSegmentXML (simox::xml::RapidXMLWrapperNodePtr node)
 
std::vector< std::vector< MotionSegmentationPtr > > collectSegmentations ()
 
std::vector< std::vector< MotionSegmentationPtr > > collectSegmentationsReverse ()
 
bool containsSegmentationByConfiguration (MotionSegmentationPtr segmentation)
 
MotionAnnotationList getAllAnnotations () const
 
std::string getAnnotationAsXML (const std::string &nodeName="Annotations")
 
MotionAnnotationList getAnnotations (const std::string &type, const std::string &style=std::string()) const
 
template<typename A , typename std::enable_if< std::is_base_of< MotionAnnotation, A >::value >::type * = nullptr>
std::shared_ptr< A > getDerivedAnnotation (const std::string &style=std::string()) const
 
template<typename A , typename std::enable_if< std::is_base_of< MotionAnnotation, A >::value >::type * = nullptr>
std::vector< std::shared_ptr< A > > getDerivedAnnotations (const std::string &style=std::string()) const
 
float getLength () const
 
MotionRecordingPtr getMotionRecording ()
 
const std::string & getName () const
 
MotionSegmentationPtr getSegmentationByConfiguration (MotionSegmentationPtr segmentation)
 
MotionSegmentationList getSegmentations ()
 
void notifyNameChange (MotionPtr motion, const std::string &oldMotionName)
 
bool operator< (AbstractMotionSegmentPtr segment) const
 
bool overlaps (AbstractMotionSegmentPtr other)
 
bool overlaps (float startTimestep, float endTimestep)
 
bool removeAnnotations (const std::string &type=std::string(), const std::string &style=std::string())
 
bool removeSegmentation (MotionSegmentationPtr segmentation)
 
bool removeSegmentObserver (std::weak_ptr< MotionSegmentObserver > observer)
 
void setMotionRecording (MotionRecordingPtr motions)
 
void setName (const std::string &name)
 

Protected Member Functions

bool merge (MotionSegmentPtr segment, bool appendChildSegmentations=true)
 
- Protected Member Functions inherited from MMM::AbstractMotionSegment
 AbstractMotionSegment (const std::string &name=std::string(), MotionRecordingPtr motions=nullptr)
 
void addAnnotations (simox::xml::RapidXMLWrapperNodePtr node)
 
void addSegmentations (simox::xml::RapidXMLWrapperNodePtr node)
 
void notifySegmentResized ()
 
template<typename Derived >
std::shared_ptr< Derived > shared_from_base ()
 

Friends

class MotionSegmentation
 

Additional Inherited Members

- Static Public Member Functions inherited from MMM::AbstractMotionSegment
static bool overlaps (float a1, float a2, float b1, float b2)
 
- Static Public Attributes inherited from MMM::AbstractMotionSegment
static float MINIMUM_SEGMENT_SIZE = 0.01f
 
- Static Protected Member Functions inherited from MMM::AbstractMotionSegment
static void merge (std::vector< std::vector< MotionSegmentationPtr >> &a, const std::vector< std::vector< MotionSegmentationPtr >> &b)
 
- Protected Attributes inherited from MMM::AbstractMotionSegment
MotionAnnotationList annotations
 
MotionSegmentationList childSegmentations
 
MotionRecordingWeakPtr motions
 
std::string name
 
std::vector< std::weak_ptr< MotionSegmentObserver > > observers
 

Member Function Documentation

◆ getEndTimestep()

float MMM::MotionSegment::getEndTimestep ( ) const
overridevirtual

Returns segment end timestep in seconds

Implements MMM::AbstractMotionSegment.

◆ getStartTimestep()

float MMM::MotionSegment::getStartTimestep ( ) const
overridevirtual

Returns segment start timestep in seconds

Implements MMM::AbstractMotionSegment.


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