TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
iVlk Struct Referenceabstract
Inheritance diagram for iVlk:
iUnknown

Detailed Description

Vlk interface.

Interfaces

virtual ni::iConsoleGetConsole () const =0
 Get the iConsole interface. {Property}. More...
 
virtual ni::iGraphicsGetGraphics () const =0
 Get the iGraphics interface. {Property}. More...
 
virtual ni::iGraphicsContextGetGraphicsContext () const =0
 Get the iGraphicsContext interface. {Property}. More...
 
virtual ni::iCharacterFactoryGetCharacterFactory () const =0
 Get the character factory interface. {Property}. More...
 
virtual ni::iPainterGetPainter () const =0
 Get the painter interface. {Property}. More...
 
virtual ni::iCollideGetCollide () const =0
 Get the collide interface. {Property}. More...
 
virtual ni::iVizGetViz () const =0
 Get the viz interface. {Property}. More...
 
virtual ni::iSoundFactoryGetSoundFactory () const =0
 Get the Sound Factory interface. {Property}. More...
 

Camera

virtual void SetCamera (iVlkCamera *apCamera)=0
 Set the active camera. {Property}. More...
 
virtual iVlkCameraGetCamera () const =0
 Get the active camera. {Property}. More...
 
virtual iVlkCameraGetTimelineCamera () const =0
 Get the camera determined by the timeline. {Property}. More...
 
virtual ni::tBool GetIsForcedCamera () const =0
 Get whether the camera to use has been 'forced', aka it's not the timeline camera. {Property}. More...
 

Entities

virtual iVlkEntityCreateEntity (ni::iDataTable *apDT)=0
 Create a new entity. More...
 
virtual iVlkEntityCreateEntityEx (const ni::achar *aaszName, const ni::achar *aaszClassName)=0
 Create an entity manually. More...
 
virtual iVlkEntityCreateEntityRaw (const ni::achar *aaszName, const ni::achar *aaszClassName)=0
 Create an entity without attaching any sink. More...
 
virtual iVlkEntityCreateEntitySerialize (ni::iDataTable *apDesc, tVlkEntitySerializeFlags aFlags, ni::iRegex *apFilter)=0
 Create an entity by loading/serializing the specified datatable. More...
 
virtual iVlkEntitySinkCreateEntitySink (const ni::achar *aaszClassName)=0
 Create an entity sink for the specified entity class. More...
 
virtual iVlkEntitySinkCreateEntitySinkFromScript (const ni::achar *aaszScriptPath, const ni::achar *aaszClassName)=0
 Create an entity sink for the specified script file. More...
 
virtual ni::tBool RecreateEntity (iVlkEntity *apEntity)=0
 Recreate an entity in-place. More...
 
virtual ni::tU32 GetNumEntities () const =0
 Get the number of entities created. {Property}. More...
 
virtual iVlkEntityGetEntityFromName (ni::iHString *ahspName) const =0
 Get the entity from the specified name. {Property}. More...
 
virtual ni::tBool SerializeEntity (iVlkEntity *apEntity, ni::iDataTable *apDT, tVlkEntitySerializeFlags anFlags)=0
 Serialize the specified entity. More...
 
virtual ni::tBool SerializeTransform (ni::iDataTable *apDT, ni::iTransform *apTransform, vlk::tVlkEntitySerializeFlags anFlags)=0
 Serialize the specified transform. More...
 

Actions

virtual ni::tBool SerializeAction (vlk::iVlkAction *apAction, ni::iDataTable *apDT, ni::tSerializeFlags aFlags)=0
 Serialize the specified action. More...
 
virtual vlk::iVlkActionSinkCreateActionSink (const ni::achar *aaszName)=0
 Create an action sink from the specified name. More...
 
virtual vlk::iVlkActionSinkCreateActionSinkFromScript (const ni::achar *aaszPath, const ni::achar *aaszName)=0
 Create an action sink from the specified script. More...
 

Events

virtual vlk::iVlkEventClassCreateEventClass (const ni::achar *aaszName)=0
 Create an event class. More...
 
virtual vlk::iVlkEventClassCreateEventClassFromScript (const ni::achar *aaszPath, const ni::achar *aaszName)=0
 Create an event class from the specified script. More...
 

Scene management

virtual ni::tBool SetState (eVlkState aState, ni::tU32 anValue)=0
 Set a vlk state. {Property}. More...
 
virtual ni::tU32 GetState (eVlkState aState) const =0
 Get a vlk state. {Property}. More...
 
virtual void SetRoot (iVlkEntity *apRoot)=0
 Set the active root entity. {Property}. More...
 
virtual iVlkEntityGetRoot () const =0
 Get the root entity. {Property}. More...
 
virtual void SetRootLevel (iVlkEntity *apRootLevel)=0
 Set the root level entity. {Property}. More...
 
virtual iVlkEntityGetRootLevel () const =0
 Get the root level entity. {Property}. More...
 
virtual iVlkTimelineGetRootTimeline () const =0
 Get the root timeline. {Property}. More...
 
virtual ni::tF32 GetRootTime () const =0
 Get the root time. {Property}. More...
 
virtual void Update (ni::tF32 afFrameTime)=0
 Standard local vlk update sequence. More...
 
virtual ni::tBool RenderEntity (ni::iCanvas *apCanvas, vlk::iVlkCamera *apCamera, vlk::iVlkEntity *apRoot, ni::iPainterRenderContext *apRC, ni::tU32 anPainterRTToPaintFlags)=0
 Render the scene. More...
 
virtual void SendUIMessage (ni::eUIMessage aMsg, const ni::Var &avarA, const ni::Var &avarB)=0
 Send a UI message to vlk's input targets. More...
 
virtual void SetFingerIDFlags (tVlkFingerIDFlags anFingerIDFlags)=0
 Set the current finger flags which indicate which fingers are currently down. {Property}. More...
 
virtual tVlkFingerIDFlags GetFingerIDFlags () const =0
 Get the current finger flags which indicate which fingers are currently down. {Property}. More...
 
virtual void SetRayCastViewport (const ni::sRectf &aRect)=0
 Set the screen viewport used for ray casts derived from a screen position. {Property}. More...
 
virtual ni::sRectf GetRayCastViewport () const =0
 Get the screen viewport used for ray casts derived from a screen position. {Property}. More...
 
virtual eVlkPlaybackOrientation GetPlaybackOrientation () const =0
 Get the playback orientation as derived from the RayCastViewport {Property}. More...
 
virtual ni::sRectf ComputeRayCastViewport (iVlkEntity *apEntity)=0
 Compute the final raycast viewport for the specified entity. More...
 
virtual vlk::iVlkEntityPickEntity (ni::iHString *ahspRayClass, const ni::tF32 afX, const ni::tF32 afY, const ni::tF32 afMaxParam, const ni::sRectf &aRectVP, vlk::iVlkCamera *apForcedCamera, ni::iCollideResponseTable *apRespTable)=0
 Pick an entity from screen coordinates. More...
 

Games

virtual ni::tBool SetGame (ni::iDataTable *apGameDT)=0
 Set the current game. {Property}. More...
 
virtual iVlkGameGetGame () const =0
 Get the current game. {Property}. More...
 
virtual iVlkGameLoadGame (ni::iDataTable *apGameDT) const =0
 Load a game from the specified datatable. More...
 

Statistics

virtual ni::tU32 GetNumDrawPrimitives () const =0
 Get the number of draw primitives last frame. {Property}. More...
 
virtual ni::tF32 GetFrameTime () const =0
 Get the last frame time. {Property}. More...
 
virtual ni::tF64 GetElapsedTime () const =0
 Get the time since the first update. {Property}. More...
 
virtual ni::tU32 GetNumUpdate () const =0
 Get the number of Update sent. {Property}. More...
 
virtual ni::tU32 GetNumUpdateFrame () const =0
 Get the number of UpdateFrame sent. {Property}. More...
 

Entity creation from resources and templates

virtual iVlkEntityCreateEntityFromResource (ni::iHString *ahspResource, ni::iHString *ahspCreateClass)=0
 Create an entity from a resource. More...
 
virtual ni::tU32 GetNumResourceTypes () const =0
 Get the number of entity resource types. {Property}. More...
 
virtual ni::iHStringGetEntityResourceType (ni::tU32 anIndex) const =0
 Get the entity resource type at the specified index. {Property}. More...
 
virtual ni::iHStringGetEntityResourceTypeClass (ni::tU32 anIndex) const =0
 Get the entity resource type class at the specified index. {Property}. More...
 
virtual ni::iHStringGetEntityResourceTypePathProperty (ni::tU32 anIndex) const =0
 Get the entity resource type path property at the specified index. {Property}. More...
 
virtual ni::tBool RegisterEntityResourceType (ni::iHString *ahspType, ni::iHString *ahspEntityClass, ni::iHString *ahspEntityPathProperty)=0
 Register a resource type. More...
 
virtual ni::tBool UnregisterEntityResourceType (ni::iHString *ahspType)=0
 Unregister a resource type. More...
 
virtual ni::tU32 GetEntityResourceTypeFromPath (ni::iHString *ahspPath) const =0
 Get the registered resource type associated with the specified file path. More...
 
virtual ni::Ptr< ni::iHStringGenerateUniqueActionDesc (vlk::iVlkTimeline *apTL, ni::iHString *ahspBaseName)=0
 Generate a unique action description. More...
 
virtual ni::Ptr< ni::iHStringGenerateUniqueTimelineName (vlk::iVlkEntity *apEntity, ni::iHString *ahspBaseName)=0
 Generate a unique timeline name. More...
 
virtual iVlkEntityCreateEntityFromTemplate (iVlkEntity *apParent, ni::tU32 anIndex, ni::iDataTable *apDT)=0
 Create an entity from a template. More...
 
virtual iVlkActionCreateActionFromTemplate (iVlkTimeline *apTL, ni::tU32 anIndex, ni::iDataTable *apDT)=0
 Create an action from a template. More...
 
virtual iVlkTimelineCreateTimelineFromTemplate (iVlkEntity *apE, ni::tU32 anIndex, ni::iDataTable *apDT)=0
 Create a timeline from a template. More...
 
virtual ni::tIUnknownCVecCreateObjectsFromTemplate (iVlkEntity *apParent, ni::tU32 anEntityIndex, iVlkTimeline *apTL, ni::tU32 anTLIndex, ni::iDataTable *apDT)=0
 Create a new objects from a template. More...
 
virtual ni::Ptr< ni::iDataTableMakeUniqueEntityNamedDataTable (const ni::iDataTable *apDT)=0
 Use the specified datatable to create a new one which contains uniquely named entities. The other node reference the renamed entites are updated including entity paths, etc.. More...
 

Root timeline playback control

virtual ni::tBool StartPlaybackRoot (ni::tF32 afStartTime)=0
 Start the root playback if its not already playing. More...
 
virtual void SetPlaybackRoot (vlk::eVlkPlayback aPlayback)=0
 Set the root playback state. {Property}. More...
 
virtual vlk::eVlkPlayback GetPlaybackRoot () const =0
 Get the root playback state. {Property}. More...
 

Path

virtual ni::Var ResolvePathToVar (ni::iHString *ahspPath, vlk::iVlkEntity *apEntity, vlk::iVlkTimeline *apTimeline, const ni::Var &aDefault) const =0
 Resolve the specified path to a variant type. More...
 
virtual ni::Ptr< ni::iHStringResolvePathToString (ni::iHString *ahspPath, vlk::iVlkEntity *apEntity, vlk::iVlkTimeline *apTimeline) const =0
 Resolve the specified path to a string type. More...
 
virtual iVlkEntityFindActionTarget (iVlkAction *apAction, ni::iHString *ahspName) const =0
 Find the entity targeted by the specified string for the specified action. More...
 
virtual iVlkTimelineFindActionTimeline (iVlkAction *apAction, iVlkEntity *apEntity, ni::iHString *ahspName) const =0
 Find the timeline targeted by the specified string for the specified action. More...
 
virtual ni::Var GetActionEventVarA (vlk::iVlkAction *apAction) const =0
 Get the VarA value of an event that triggered an event. More...
 
virtual ni::Var GetActionEventVarB (vlk::iVlkAction *apAction) const =0
 Get the VarB value of an event that triggered an event. More...
 
virtual ni::iExpressionContextCreateVlkExpressionContext (ni::eDataTablePropertyType aType, vlk::iVlkEntity *apEntity, vlk::iVlkTimeline *apTimeline, vlk::iVlkAction *apAction, ni::iRunnable *apGetThis) const =0
 Create an expression context which eval value linked to the specified objects. More...
 
virtual ni::Var ExpressionVariableToVar (ni::eDataTablePropertyType aType, ni::iExpressionVariable *apStartVar, ni::iExpressionVariable *apEndVar=NULL, ni::tF32 afT=0) const =0
 Return a variant from start/end expression variables. More...
 
virtual ni::eExpressionVariableType VarTypeToExpressionType (ni::eDataTablePropertyType aType) const =0
 Return the the expression variable type matching the specified variant type. More...
 

Observers

virtual ni::cString SetGlobalObserver (iVlkEntity *apEntity, const ni::achar *aObserved)=0
 Set a global observer. More...
 

Additional Inherited Members

- Public Member Functions inherited from iUnknown
virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Member Function Documentation

virtual ni::iConsole* GetConsole ( ) const
pure virtual

Get the iConsole interface. {Property}.

virtual ni::iGraphics* GetGraphics ( ) const
pure virtual

Get the iGraphics interface. {Property}.

virtual ni::iGraphicsContext* GetGraphicsContext ( ) const
pure virtual

Get the iGraphicsContext interface. {Property}.

virtual ni::iCharacterFactory* GetCharacterFactory ( ) const
pure virtual

Get the character factory interface. {Property}.

virtual ni::iPainter* GetPainter ( ) const
pure virtual

Get the painter interface. {Property}.

virtual ni::iCollide* GetCollide ( ) const
pure virtual

Get the collide interface. {Property}.

virtual ni::iViz* GetViz ( ) const
pure virtual

Get the viz interface. {Property}.

virtual ni::iSoundFactory* GetSoundFactory ( ) const
pure virtual

Get the Sound Factory interface. {Property}.

Remarks
The audio driver is initialized the first time this function is called, so don't call it if you don't need it...
The sound factory is NULL if sound isn't supported.
virtual void SetCamera ( iVlkCamera apCamera)
pure virtual

Set the active camera. {Property}.

virtual iVlkCamera* GetCamera ( ) const
pure virtual

Get the active camera. {Property}.

virtual iVlkCamera* GetTimelineCamera ( ) const
pure virtual

Get the camera determined by the timeline. {Property}.

virtual ni::tBool GetIsForcedCamera ( ) const
pure virtual

Get whether the camera to use has been 'forced', aka it's not the timeline camera. {Property}.

virtual iVlkEntity* CreateEntity ( ni::iDataTable apDT)
pure virtual

Create a new entity.

virtual iVlkEntity* CreateEntityEx ( const ni::achar aaszName,
const ni::achar aaszClassName 
)
pure virtual

Create an entity manually.

virtual iVlkEntity* CreateEntityRaw ( const ni::achar aaszName,
const ni::achar aaszClassName 
)
pure virtual

Create an entity without attaching any sink.

virtual iVlkEntity* CreateEntitySerialize ( ni::iDataTable apDesc,
tVlkEntitySerializeFlags  aFlags,
ni::iRegex apFilter 
)
pure virtual

Create an entity by loading/serializing the specified datatable.

virtual iVlkEntitySink* CreateEntitySink ( const ni::achar aaszClassName)
pure virtual

Create an entity sink for the specified entity class.

virtual iVlkEntitySink* CreateEntitySinkFromScript ( const ni::achar aaszScriptPath,
const ni::achar aaszClassName 
)
pure virtual

Create an entity sink for the specified script file.

virtual ni::tBool RecreateEntity ( iVlkEntity apEntity)
pure virtual

Recreate an entity in-place.

Remarks
This is usefull to restart entities after scripts modifications.
virtual ni::tU32 GetNumEntities ( ) const
pure virtual

Get the number of entities created. {Property}.

virtual iVlkEntity* GetEntityFromName ( ni::iHString ahspName) const
pure virtual

Get the entity from the specified name. {Property}.

virtual ni::tBool SerializeEntity ( iVlkEntity apEntity,
ni::iDataTable apDT,
tVlkEntitySerializeFlags  anFlags 
)
pure virtual

Serialize the specified entity.

Parameters
apEntityis the entity to serialize.
apDTis the source/destination data table.
anFlagsis the serialization flags.
Returns
eFalse if failed, else eTrue.
virtual ni::tBool SerializeTransform ( ni::iDataTable apDT,
ni::iTransform apTransform,
vlk::tVlkEntitySerializeFlags  anFlags 
)
pure virtual

Serialize the specified transform.

virtual ni::tBool SerializeAction ( vlk::iVlkAction apAction,
ni::iDataTable apDT,
ni::tSerializeFlags  aFlags 
)
pure virtual

Serialize the specified action.

Parameters
apActionis the acton to serialize.
apDTis the source/destination data table.
aFlagsare the serialize flags.
See also
ni::eSerializeFlags
Returns
eFalse if failed, else eTrue.
virtual vlk::iVlkActionSink* CreateActionSink ( const ni::achar aaszName)
pure virtual

Create an action sink from the specified name.

virtual vlk::iVlkActionSink* CreateActionSinkFromScript ( const ni::achar aaszPath,
const ni::achar aaszName 
)
pure virtual

Create an action sink from the specified script.

virtual vlk::iVlkEventClass* CreateEventClass ( const ni::achar aaszName)
pure virtual

Create an event class.

virtual vlk::iVlkEventClass* CreateEventClassFromScript ( const ni::achar aaszPath,
const ni::achar aaszName 
)
pure virtual

Create an event class from the specified script.

virtual ni::tBool SetState ( eVlkState  aState,
ni::tU32  anValue 
)
pure virtual

Set a vlk state. {Property}.

virtual ni::tU32 GetState ( eVlkState  aState) const
pure virtual

Get a vlk state. {Property}.

virtual void SetRoot ( iVlkEntity apRoot)
pure virtual

Set the active root entity. {Property}.

Remarks
The original root entity will be set as root if SetRoot is set to a null entity.
The original root entity is never destroyed as long as the Vlk instance is valid.
virtual iVlkEntity* GetRoot ( ) const
pure virtual

Get the root entity. {Property}.

virtual void SetRootLevel ( iVlkEntity apRootLevel)
pure virtual

Set the root level entity. {Property}.

Remarks
Unless you really have a good reason this is what you should consider the root entity.
virtual iVlkEntity* GetRootLevel ( ) const
pure virtual

Get the root level entity. {Property}.

Remarks
Unless you really have a good reason this is what you should consider the root entity.
virtual iVlkTimeline* GetRootTimeline ( ) const
pure virtual

Get the root timeline. {Property}.

virtual ni::tF32 GetRootTime ( ) const
pure virtual

Get the root time. {Property}.

virtual void Update ( ni::tF32  afFrameTime)
pure virtual

Standard local vlk update sequence.

virtual ni::tBool RenderEntity ( ni::iCanvas apCanvas,
vlk::iVlkCamera apCamera,
vlk::iVlkEntity apRoot,
ni::iPainterRenderContext apRC,
ni::tU32  anPainterRTToPaintFlags 
)
pure virtual

Render the scene.

virtual void SendUIMessage ( ni::eUIMessage  aMsg,
const ni::Var avarA,
const ni::Var avarB 
)
pure virtual

Send a UI message to vlk's input targets.

virtual void SetFingerIDFlags ( tVlkFingerIDFlags  anFingerIDFlags)
pure virtual

Set the current finger flags which indicate which fingers are currently down. {Property}.

virtual tVlkFingerIDFlags GetFingerIDFlags ( ) const
pure virtual

Get the current finger flags which indicate which fingers are currently down. {Property}.

virtual void SetRayCastViewport ( const ni::sRectf aRect)
pure virtual

Set the screen viewport used for ray casts derived from a screen position. {Property}.

Remarks
Computes and update the playback orientation everytime the viewport changes.
virtual ni::sRectf GetRayCastViewport ( ) const
pure virtual

Get the screen viewport used for ray casts derived from a screen position. {Property}.

virtual eVlkPlaybackOrientation GetPlaybackOrientation ( ) const
pure virtual

Get the playback orientation as derived from the RayCastViewport {Property}.

virtual ni::sRectf ComputeRayCastViewport ( iVlkEntity apEntity)
pure virtual

Compute the final raycast viewport for the specified entity.

virtual vlk::iVlkEntity* PickEntity ( ni::iHString ahspRayClass,
const ni::tF32  afX,
const ni::tF32  afY,
const ni::tF32  afMaxParam,
const ni::sRectf aRectVP,
vlk::iVlkCamera apForcedCamera,
ni::iCollideResponseTable apRespTable 
)
pure virtual

Pick an entity from screen coordinates.

Parameters
ahspRayClassis the class to use for the QueryRayCast
afXis the X screen coordinate
afYis the Y screen coordinate
afMaxParamis the max param passed to QueryRayCast (use 1.0 if you're not sure what to use)
aRectVPis the screen viewport
apForcedCameraif not NULL is a camera that will override the layer cameras and be used to do the picking.
apRespTableif not NULL is a response table that can override the default layer query response sink. This is usefull for example if you want to do a "pick all on ray" ray cast (instead of the default "pick nearest").
virtual ni::tBool SetGame ( ni::iDataTable apGameDT)
pure virtual

Set the current game. {Property}.

virtual iVlkGame* GetGame ( ) const
pure virtual

Get the current game. {Property}.

virtual iVlkGame* LoadGame ( ni::iDataTable apGameDT) const
pure virtual

Load a game from the specified datatable.

Remarks
Games that are manually loaded implement the action and entity creator sinks.
virtual ni::tU32 GetNumDrawPrimitives ( ) const
pure virtual

Get the number of draw primitives last frame. {Property}.

virtual ni::tF32 GetFrameTime ( ) const
pure virtual

Get the last frame time. {Property}.

virtual ni::tF64 GetElapsedTime ( ) const
pure virtual

Get the time since the first update. {Property}.

virtual ni::tU32 GetNumUpdate ( ) const
pure virtual

Get the number of Update sent. {Property}.

Remarks
This is the number of fixed updates.
virtual ni::tU32 GetNumUpdateFrame ( ) const
pure virtual

Get the number of UpdateFrame sent. {Property}.

Remarks
This is the number of frame update.
virtual iVlkEntity* CreateEntityFromResource ( ni::iHString ahspResource,
ni::iHString ahspCreateClass 
)
pure virtual

Create an entity from a resource.

virtual ni::tU32 GetNumResourceTypes ( ) const
pure virtual

Get the number of entity resource types. {Property}.

virtual ni::iHString* GetEntityResourceType ( ni::tU32  anIndex) const
pure virtual

Get the entity resource type at the specified index. {Property}.

virtual ni::iHString* GetEntityResourceTypeClass ( ni::tU32  anIndex) const
pure virtual

Get the entity resource type class at the specified index. {Property}.

virtual ni::iHString* GetEntityResourceTypePathProperty ( ni::tU32  anIndex) const
pure virtual

Get the entity resource type path property at the specified index. {Property}.

virtual ni::tBool RegisterEntityResourceType ( ni::iHString ahspType,
ni::iHString ahspEntityClass,
ni::iHString ahspEntityPathProperty 
)
pure virtual

Register a resource type.

virtual ni::tBool UnregisterEntityResourceType ( ni::iHString ahspType)
pure virtual

Unregister a resource type.

virtual ni::tU32 GetEntityResourceTypeFromPath ( ni::iHString ahspPath) const
pure virtual

Get the registered resource type associated with the specified file path.

virtual ni::Ptr<ni::iHString> GenerateUniqueActionDesc ( vlk::iVlkTimeline apTL,
ni::iHString ahspBaseName 
)
pure virtual

Generate a unique action description.

virtual ni::Ptr<ni::iHString> GenerateUniqueTimelineName ( vlk::iVlkEntity apEntity,
ni::iHString ahspBaseName 
)
pure virtual

Generate a unique timeline name.

virtual iVlkEntity* CreateEntityFromTemplate ( iVlkEntity apParent,
ni::tU32  anIndex,
ni::iDataTable apDT 
)
pure virtual

Create an entity from a template.

virtual iVlkAction* CreateActionFromTemplate ( iVlkTimeline apTL,
ni::tU32  anIndex,
ni::iDataTable apDT 
)
pure virtual

Create an action from a template.

virtual iVlkTimeline* CreateTimelineFromTemplate ( iVlkEntity apE,
ni::tU32  anIndex,
ni::iDataTable apDT 
)
pure virtual

Create a timeline from a template.

virtual ni::tIUnknownCVec* CreateObjectsFromTemplate ( iVlkEntity apParent,
ni::tU32  anEntityIndex,
iVlkTimeline apTL,
ni::tU32  anTLIndex,
ni::iDataTable apDT 
)
pure virtual

Create a new objects from a template.

Returns
A list containing the created objects.
Remarks
This will create entities, actions, timelines, etc... from from the source in the datatable and put it in the destination/parent.
virtual ni::Ptr<ni::iDataTable> MakeUniqueEntityNamedDataTable ( const ni::iDataTable apDT)
pure virtual

Use the specified datatable to create a new one which contains uniquely named entities. The other node reference the renamed entites are updated including entity paths, etc..

virtual ni::tBool StartPlaybackRoot ( ni::tF32  afStartTime)
pure virtual

Start the root playback if its not already playing.

Parameters
afStartTimeif >= 0 sets the current time set before starting to play, else (< 0) it will just continue playing from the current time.
virtual void SetPlaybackRoot ( vlk::eVlkPlayback  aPlayback)
pure virtual

Set the root playback state. {Property}.

virtual vlk::eVlkPlayback GetPlaybackRoot ( ) const
pure virtual

Get the root playback state. {Property}.

virtual ni::Var ResolvePathToVar ( ni::iHString ahspPath,
vlk::iVlkEntity apEntity,
vlk::iVlkTimeline apTimeline,
const ni::Var aDefault 
) const
pure virtual

Resolve the specified path to a variant type.

Parameters
ahspPathis the path to process
apEntityis the entity used as base for relative path (ex: './')
apTimelineis the timeline used to fetch VarA & VarB
aDefaultis the value returned if the property can't be found or if ahspPath is not a dt path.
Remarks
Does not unquote strings.
virtual ni::Ptr<ni::iHString> ResolvePathToString ( ni::iHString ahspPath,
vlk::iVlkEntity apEntity,
vlk::iVlkTimeline apTimeline 
) const
pure virtual

Resolve the specified path to a string type.

Parameters
ahspPathis the path to process. ahspPath is returned if the path is not a dt path or if the property cannot be found.
apEntityis the entity used as base for relative path (ex: './')
apTimelineis the timeline used to fetch VarA & VarB
Remarks
Unquote strings (remove the initial backquote if one is present).
virtual iVlkEntity* FindActionTarget ( iVlkAction apAction,
ni::iHString ahspName 
) const
pure virtual

Find the entity targeted by the specified string for the specified action.

virtual iVlkTimeline* FindActionTimeline ( iVlkAction apAction,
iVlkEntity apEntity,
ni::iHString ahspName 
) const
pure virtual

Find the timeline targeted by the specified string for the specified action.

virtual ni::Var GetActionEventVarA ( vlk::iVlkAction apAction) const
pure virtual

Get the VarA value of an event that triggered an event.

virtual ni::Var GetActionEventVarB ( vlk::iVlkAction apAction) const
pure virtual

Get the VarB value of an event that triggered an event.

virtual ni::iExpressionContext* CreateVlkExpressionContext ( ni::eDataTablePropertyType  aType,
vlk::iVlkEntity apEntity,
vlk::iVlkTimeline apTimeline,
vlk::iVlkAction apAction,
ni::iRunnable apGetThis 
) const
pure virtual

Create an expression context which eval value linked to the specified objects.

Parameters
aTypeis the expected return type of the expression.
apEntityis the entity for the context, which is used to access bound properties with relative path (dt://./).
apTimelineis the timeline for the context, which is used for VarA & VarB.
apActionis the action for the context.
apGetThisis a runnable that returns the value of the 'This' variable.
Remarks
The context has the dt:// protocol bound, as-well as the 'This', 'VarA', 'VarB', 'frametime', 'time', and 'roottime' variables.
virtual ni::Var ExpressionVariableToVar ( ni::eDataTablePropertyType  aType,
ni::iExpressionVariable apStartVar,
ni::iExpressionVariable apEndVar = NULL,
ni::tF32  afT = 0 
) const
pure virtual

Return a variant from start/end expression variables.

Parameters
aTypeis the variant type to return.
apStartVaris the first expression variable.
apEndVaris the second expression variable.
afTis the lerp factor between the two expression variables.
Remarks
If only on expression variable is specified it is returned as-is without lerp.
virtual ni::eExpressionVariableType VarTypeToExpressionType ( ni::eDataTablePropertyType  aType) const
pure virtual

Return the the expression variable type matching the specified variant type.

virtual ni::cString SetGlobalObserver ( iVlkEntity apEntity,
const ni::achar aObserved 
)
pure virtual

Set a global observer.

Parameters
apEntityis the observer entity that will receive the ObserverNotify messages.
aObservedis the mask specifying which message to receive, if NULL or empty the observer is removed.
Remarks
Note that the Vlk object won't hold a reference to the observer entity.
Returns
The previous observer flags for the entity.