Lumiera  0.pre.03
»edit your freedom«
Root Class Reference

#include "steam/mobject/session/root.hpp"

Description

High-level model root element, corresponding to the global session wide scope.

Serves as link to any definitions, rules and defaults valid throughout this session. Will be created automatically and inserted into the PlacementIndex of an empty session; causes the globals to be saved/loaded alongside with the model.

Todo:
WIP-WIP.. Serialisation is postponed, the rules implementation is preliminary, the active link to the AssetManager is missing. Thus, as of 12/09 this is an empty placeholder and just serves as root scope.

Definition at line 69 of file root.hpp.

Public Member Functions

 Root (lumiera::query::DefsManager &)
 
 DEFINE_PROCESSABLE_BY (builder::BuilderTool)
 
- Public Member Functions inherited from AbstractMO
DurationgetLength ()
 
bool operator== (const MObject &oo) const
 default/fallback implementation of equality using literal object identity (same address). More...
 
- Public Member Functions inherited from MObject
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
 

Static Public Member Functions

static lib::idi::EntryID< RootgetAssetID ()
 
static lib::idi::EntryID< RootgetID ()
 get an unique ID to identify "the model root". More...
 

Private Member Functions

string initShortID () const
 
virtual bool isValid () const
 

Private Attributes

lumiera::query::DefsManagerdefaults_
 

Additional Inherited Members

- Public Types inherited from Visitable< builder::BuilderTool >
typedef builder::BuilderTool ::ReturnType ReturnType
 
- Static Public Attributes inherited from MObject
static session::MObjectFactory create
 Storage for the (single, static) MObject factory object.
 
- Protected Types inherited from MObject
typedef lib::time::Duration Duration
 
- Protected Types inherited from Visitable< builder::BuilderTool >
typedef builder::BuilderTool ::ToolBase ToolBase
 
- Protected Member Functions inherited from AbstractMO
string buildShortID (lib::Literal typeID, string suffix="") const
 
void throwIfInvalid () const
 
- Static Protected Member Functions inherited from Visitable< builder::BuilderTool >
static ReturnType dispatchOp (TAR &target, builder::BuilderTool &tool)
 
- Protected Attributes inherited from MObject
Duration length_
 
string shortID_
 

Member Function Documentation

◆ isValid()

bool isValid ( ) const
privatevirtual
Todo:
validity self-check of the model root should do substantial checks; the idea is to perform a complete sanity check by delegating to the parts.
Note
beware of performance problems here!

Implements MObject.

Definition at line 77 of file root.cpp.

◆ getID()

lib::idi::EntryID< Root > getID ( )
static

get an unique ID to identify "the model root".

Actually this ID is statically fixed and will be used by the UI to connect to and talk to the session model at top-level

Returns
an embedded LUID tagged with the type of the session::Root. This ID is suitable to be used in model diff and as ID on the UI-Bus to address the corresponding representations in Steam-Layer and Stage-Layer

Definition at line 57 of file root.cpp.

+ Inheritance diagram for Root:
+ Collaboration diagram for Root:

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