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

Detailed Description

Scene interface.

Public Member Functions

virtual iSceneClone () const =0
 Create a copy of the scene. More...
 
virtual tBool IsSceneFile (iFile *pFile) const =0
 Return eTrue if it can load the given file. More...
 
virtual tBool InitializeFromFile (iFile *apFile, const sMatrixf &aBaseMatrix=sMatrixf::Identity())=0
 Initialize from the given file. More...
 
virtual tBool InitializeFromNode (const iSceneNode *apNode, const sMatrixf &aBaseMatrix=sMatrixf::Identity())=0
 Initialize from the given scene node. More...
 
virtual tBool InitializeFromMesh (const iSceneMesh *apMesh, const sMatrixf &aBaseMatrix=sMatrixf::Identity())=0
 Initialize from the given scene mesh. More...
 
virtual tBool InitializeFromEntity (const iSceneEntity *apEntity, const sMatrixf &aBaseMatrix=sMatrixf::Identity())=0
 Initialize from the given scene entity. More...
 
virtual tBool Optimize ()=0
 Optimize the scene. Remove all nodes that doesn't have children, nor entities, nor meshes. More...
 
virtual iGeometryCreateGeometry (iGraphics *apGraphics, eGeometryCreateFlags aFlags, tFVF aFVF, tBool abApplyBaseMatrix=eTrue, tSceneMaterialCVec *apvMaterials=NULL, const achar *aszNotLoadFlags=_A("[notdrawn]"), const achar *aszLoadFlags=_A("[drawn]")) const =0
 Create a geometry filled with the content of the file. More...
 
virtual void Enum (iSceneEnumSink *apSink) const =0
 Enumerate the scene content. More...
 
virtual iSceneNodeFindNode (const achar *aaszName, const iSceneNode *apStartNode=NULL) const =0
 Return the frame with the given name. More...
 
virtual iSceneNodeFindNodeI (const achar *aaszName, const iSceneNode *apStartNode=NULL) const =0
 Return the frame with the given name, case insensitive. More...
 
virtual void SetScenePath (const achar *aaszPath)=0
 Set the scene path. {Property}. More...
 
virtual const acharGetScenePath () const =0
 Get the scene path. {Property}. More...
 
virtual tSceneNodeCVecGetNodes () const =0
 Get the scene nodes. {Property}. More...
 
virtual tSceneAnimationCVecGetAnimations () const =0
 Get the scene animations. {Property}. More...
 
virtual tBool SetUserdata (iHString *ahspID, iUnknown *apUserdata)=0
 Set a userdata. {Property}. More...
 
virtual iUnknownGetUserdata (iHString *ahspID) const =0
 Get a userdata. {Property}. More...
 
virtual tSize GetNumUserdata () const =0
 Get the number of userdata. {Property}. More...
 
virtual iHStringGetUserdataName (tU32 anIndex) const =0
 Get the name of the user data at the specified index. {Property}. More...
 
virtual iUnknownGetUserdataFromIndex (tU32 anIndex) const =0
 Get the userdata at the specified index. {Property}. More...
 
virtual void MakeUniqueNodeNames ()=0
 Make all the node names unique. More...
 
virtual sVec4i CountNodes () const =0
 Count the number of nodes, meshes, vertices and faces in the scene. More...
 
- Public Member Functions inherited from iSerializable
virtual const acharGetSerializeObjectTypeID () const =0
 Get the object type ID. More...
 
virtual tSize Serialize (iFile *apFile, eSerializeMode aMode)=0
 Serialize the object. More...
 
- 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 iScene* Clone ( ) const
pure virtual

Create a copy of the scene.

virtual tBool IsSceneFile ( iFile pFile) const
pure virtual

Return eTrue if it can load the given file.

virtual tBool InitializeFromFile ( iFile apFile,
const sMatrixf aBaseMatrix = sMatrixf::Identity() 
)
pure virtual

Initialize from the given file.

virtual tBool InitializeFromNode ( const iSceneNode apNode,
const sMatrixf aBaseMatrix = sMatrixf::Identity() 
)
pure virtual

Initialize from the given scene node.

virtual tBool InitializeFromMesh ( const iSceneMesh apMesh,
const sMatrixf aBaseMatrix = sMatrixf::Identity() 
)
pure virtual

Initialize from the given scene mesh.

virtual tBool InitializeFromEntity ( const iSceneEntity apEntity,
const sMatrixf aBaseMatrix = sMatrixf::Identity() 
)
pure virtual

Initialize from the given scene entity.

virtual tBool Optimize ( )
pure virtual

Optimize the scene. Remove all nodes that doesn't have children, nor entities, nor meshes.

virtual iGeometry* CreateGeometry ( iGraphics apGraphics,
eGeometryCreateFlags  aFlags,
tFVF  aFVF,
tBool  abApplyBaseMatrix = eTrue,
tSceneMaterialCVec apvMaterials = NULL,
const achar aszNotLoadFlags = _A("[notdrawn]"),
const achar aszLoadFlags = _A("[drawn]") 
) const
pure virtual

Create a geometry filled with the content of the file.

virtual void Enum ( iSceneEnumSink apSink) const
pure virtual

Enumerate the scene content.

virtual iSceneNode* FindNode ( const achar aaszName,
const iSceneNode apStartNode = NULL 
) const
pure virtual

Return the frame with the given name.

virtual iSceneNode* FindNodeI ( const achar aaszName,
const iSceneNode apStartNode = NULL 
) const
pure virtual

Return the frame with the given name, case insensitive.

virtual void SetScenePath ( const achar aaszPath)
pure virtual

Set the scene path. {Property}.

virtual const achar* GetScenePath ( ) const
pure virtual

Get the scene path. {Property}.

virtual tSceneNodeCVec* GetNodes ( ) const
pure virtual

Get the scene nodes. {Property}.

virtual tSceneAnimationCVec* GetAnimations ( ) const
pure virtual

Get the scene animations. {Property}.

virtual tBool SetUserdata ( iHString ahspID,
iUnknown apUserdata 
)
pure virtual

Set a userdata. {Property}.

virtual iUnknown* GetUserdata ( iHString ahspID) const
pure virtual

Get a userdata. {Property}.

virtual tSize GetNumUserdata ( ) const
pure virtual

Get the number of userdata. {Property}.

virtual iHString* GetUserdataName ( tU32  anIndex) const
pure virtual

Get the name of the user data at the specified index. {Property}.

virtual iUnknown* GetUserdataFromIndex ( tU32  anIndex) const
pure virtual

Get the userdata at the specified index. {Property}.

virtual void MakeUniqueNodeNames ( )
pure virtual

Make all the node names unique.

virtual sVec4i CountNodes ( ) const
pure virtual

Count the number of nodes, meshes, vertices and faces in the scene.

Returns
Vec4(numVerts,numFaces,numNodes,numMeshes)