Lumiera  0.pre.03
»edityourfreedom«
MObject Class Referenceabstract

#include "proc/mobject/mobject.hpp"

Description

MObject is the interface class for all "Media Objects".

All the contents and elements that can be placed and manipulated and finally rendered within Lumiera's high-level model and Session are MObjects.

Definition at line 79 of file mobject.hpp.

Public Member Functions

virtual DurationgetLength ()=0
 
virtual bool isValid () const =0
 MObject self-test (usable for asserting) More...
 
virtual bool operator== (const MObject &oo) const =0
 needed for handling by lumiera::P More...
 
string const & shortID () const
 a short readable ID as a single name-token, denoting both the kind of MObject and some sort of instance identity. More...
 
- Public Member Functions inherited from Visitable< builder::BuilderTool >
virtual ReturnType apply (builder::BuilderTool &)=0
 to be defined by the DEFINE_PROCESSABLE_BY macro in all classes wanting to be treated by some tool More...
 

Static Public Attributes

static session::MObjectFactory create
 Storage for the (single, static) MObject factory object. More...
 

Friends

class session::MObjectFactory
 

Protected Types

typedef lib::time::Duration Duration
 
- Protected Types inherited from Visitable< builder::BuilderTool >
typedef builder::BuilderTool ::ToolBase ToolBase
 

Protected Member Functions

 MObject ()
 
virtual ~MObject ()
 
virtual string initShortID () const =0
 
- Protected Member Functions inherited from Visitable< builder::BuilderTool >
virtual ~Visitable ()
 

Protected Attributes

Duration length_
 
string shortID_
 

Additional Inherited Members

- Public Types inherited from Visitable< builder::BuilderTool >
typedef builder::BuilderTool ::ReturnType ReturnType
 
- Static Protected Member Functions inherited from Visitable< builder::BuilderTool >
static ReturnType dispatchOp (TAR &target, builder::BuilderTool &tool)
 
- Private Member Functions inherited from NonCopyable
 NonCopyable ()=default
 
 NonCopyable (NonCopyable const &)=delete
 
 ~NonCopyable ()=default
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Member Typedef Documentation

◆ Duration

typedef lib::time::Duration Duration
protected

Definition at line 85 of file mobject.hpp.

Constructor & Destructor Documentation

◆ MObject()

MObject ( )
protected

Definition at line 47 of file mobject.cpp.

◆ ~MObject()

~MObject ( )
protectedvirtual

Definition at line 53 of file mobject.cpp.

Member Function Documentation

◆ shortID()

string const & shortID ( ) const

a short readable ID as a single name-token, denoting both the kind of MObject and some sort of instance identity.

Not necessarily unique but should be reasonable unique in most cases

Definition at line 58 of file mobject.cpp.

References MObject::initShortID(), util::isnil(), and MObject::shortID_.

Referenced by MObjectInterface_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isValid()

virtual bool isValid ( ) const
pure virtual

MObject self-test (usable for asserting)

Implemented in Fork, Clip, GeneratorMO, DummyMO, Root, Label, BusMO, and Binding.

Referenced by PlacementIndex::Validator::checkRoot(), PlacementObjectIdentity_test::run(), MObjectInterface_test::run(), MObjectRef_test::run(), and AbstractMO::throwIfInvalid().

+ Here is the caller graph for this function:

◆ getLength()

virtual Duration& getLength ( )
pure virtual

Implemented in AbstractMO.

Referenced by MObjectInterface_test::run().

+ Here is the caller graph for this function:

◆ operator==()

virtual bool operator== ( const MObject oo) const
pure virtual

needed for handling by lumiera::P

Implemented in AbstractMO.

◆ initShortID()

virtual string initShortID ( ) const
protectedpure virtual

Implemented in Fork, DummyMO, Root, Clip, Label, BusMO, Binding, GeneratorMO, AbstractMO, Meta, Effect, and Auto< VAL >.

Referenced by MObject::shortID().

+ Here is the caller graph for this function:

Member Data Documentation

◆ length_

Duration length_
protected

Definition at line 87 of file mobject.hpp.

Referenced by AbstractMO::getLength(), Clip::isValid(), and Clip::setupLength().

◆ shortID_

string shortID_
mutableprotected

Definition at line 89 of file mobject.hpp.

Referenced by MObject::shortID().

◆ create

Friends And Related Function Documentation

◆ session::MObjectFactory

friend class session::MObjectFactory
friend

Definition at line 94 of file mobject.hpp.

+ Inheritance diagram for MObject:
+ Collaboration diagram for MObject:

The documentation for this class was generated from the following files: