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

Detailed Description

Viz interface.

General

virtual eVizMode GetMode () const =0
 Get the viz mode. {Property}. More...
 
virtual iGraphicsGetGraphics () const =0
 Get the viz's graphics interface. {Property}. More...
 
virtual ni::tBool SuggestGarbageCollect (iVizSink *apSink, tF32 afTime)=0
 The function will report through iVizSink::OnVizSink_RemovalSuggested method all objects that haven't been visible (in any camera) during the last 'afTime' seconds. More...
 
virtual void ClearCaches ()=0
 When this function is called, all sub-systems will be informed to minimize their memory usage. This will cause freeing of all temporary allocations, invalidation of all caches etc. This function shouldn't be called often as it has a negative impact on the speed of the following visibility queries (as caches are rebuilt and new temporary memory allocations are performed). More...
 
virtual iMaterialGetMaterial (eVizMaterial aMaterial) const =0
 Get the specificed viz material. More...
 
virtual tBool SetUserObjectUUID (const tUUID &aUUID)=0
 Set the required interface of the viz object's user object. More...
 
virtual const tUUIDGetUserObjectUUID () const =0
 Get the required interface of the viz object's user object. {Property}. More...
 

Shapes

virtual iVizShapeCreateShapeAABB (const sVec3f &avMin, const sVec3f &avMax)=0
 Creates an AABB shape. More...
 
virtual iVizShapeCreateShapeOOBB (const sMatrixf &aMatrix)=0
 Creates an OOBB shape. More...
 
virtual iVizShapeCreateShapeSphere (const sVec3f &avSphere, tF32 afRadius)=0
 Creates a sphere shape. More...
 
virtual iVizShapeCreateShapeMesh (const sVec3f *apVertices, tU32 anNumVertices, const tIndex *apTris, tU32 anNumTris, ni::tBool abClockwise)=0
 Creates a mesh shape from the specified vertices and triangles. {NoAutomation}. More...
 
virtual iVizShapeCreateShapeMeshFromPtr (const tPtr apVertices, tU32 anNumVertices, tU32 anVertexStride, const tPtr apTris, tU32 anNumTris, tU32 anTriStride, ni::tBool abClockwise)=0
 Creates a mesh shape from raw pointers. More...
 
virtual iVizShapeCreateShapeMeshFromFile (iFile *apVertices, tU32 anNumVertices, tU32 anVertexStride, iFile *apTris, tU32 anNumTris, tU32 anTriStride, ni::tBool abClockwise)=0
 Creates a mesh shape from file objects. More...
 
virtual iVizShapeCreateShapeMeshFromArrays (iVertexArray *apVA, iIndexArray *apIA, ni::tBool abClockwise)=0
 Creates a mesh shape from the specified vertex and index arrays. More...
 
virtual iVizShapeCreateShapeMeshFromArraysRange (iVertexArray *apVA, iIndexArray *apIA, tU32 anFirstIndex, tU32 anNumIndices, ni::tBool abClockwise)=0
 Creates a mesh shape from the specified vertex and index arrays range. More...
 
virtual iVizShapeCreateShapeMeshFromDrawOperations (const tDrawOperationCVec *apLst, ni::tBool abClockwise)=0
 Creates a mesh shape from the specified draw operations. More...
 
virtual iVizShapeCreateShapeLocalBV (ni::iBoundingVolume *apLocalBV)=0
 Creates a shape around a local bounding volume. More...
 

Objects

virtual iVizObjectCreateObject (iVizShape *apTestShape, iVizShape *apWriteShape, ni::tBool abIsOccluder)=0
 Creates a viz object. More...
 
virtual iVizObjectCreateObjectUnbounded (ni::tBool abIsOccluder)=0
 Creates an unbounded object. More...
 

Cells

virtual iVizCellCreateCell ()=0
 Creates a viz cell. More...
 

Camera

virtual iVizCameraCreateCamera (iCamera *apBaseCamera)=0
 Creates a viz camera. 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 eVizMode GetMode ( ) const
pure virtual

Get the viz mode. {Property}.

virtual iGraphics* GetGraphics ( ) const
pure virtual

Get the viz's graphics interface. {Property}.

virtual ni::tBool SuggestGarbageCollect ( iVizSink apSink,
tF32  afTime 
)
pure virtual

The function will report through iVizSink::OnVizSink_RemovalSuggested method all objects that haven't been visible (in any camera) during the last 'afTime' seconds.

virtual void ClearCaches ( )
pure virtual

When this function is called, all sub-systems will be informed to minimize their memory usage. This will cause freeing of all temporary allocations, invalidation of all caches etc. This function shouldn't be called often as it has a negative impact on the speed of the following visibility queries (as caches are rebuilt and new temporary memory allocations are performed).

virtual iMaterial* GetMaterial ( eVizMaterial  aMaterial) const
pure virtual

Get the specificed viz material.

virtual tBool SetUserObjectUUID ( const tUUID aUUID)
pure virtual

Set the required interface of the viz object's user object.

Remarks
This can be set only once, only the first call that pass a UUID different of iUnknown will succeed. {Property}
virtual const tUUID& GetUserObjectUUID ( ) const
pure virtual

Get the required interface of the viz object's user object. {Property}.

virtual iVizShape* CreateShapeAABB ( const sVec3f avMin,
const sVec3f avMax 
)
pure virtual

Creates an AABB shape.

virtual iVizShape* CreateShapeOOBB ( const sMatrixf aMatrix)
pure virtual

Creates an OOBB shape.

virtual iVizShape* CreateShapeSphere ( const sVec3f avSphere,
tF32  afRadius 
)
pure virtual

Creates a sphere shape.

virtual iVizShape* CreateShapeMesh ( const sVec3f apVertices,
tU32  anNumVertices,
const tIndex apTris,
tU32  anNumTris,
ni::tBool  abClockwise 
)
pure virtual

Creates a mesh shape from the specified vertices and triangles. {NoAutomation}.

Remarks
The list of indices must be a triangle list.
virtual iVizShape* CreateShapeMeshFromPtr ( const tPtr  apVertices,
tU32  anNumVertices,
tU32  anVertexStride,
const tPtr  apTris,
tU32  anNumTris,
tU32  anTriStride,
ni::tBool  abClockwise 
)
pure virtual

Creates a mesh shape from raw pointers.

Remarks
The vertices passed must be in object space. {NoAutomation}
virtual iVizShape* CreateShapeMeshFromFile ( iFile apVertices,
tU32  anNumVertices,
tU32  anVertexStride,
iFile apTris,
tU32  anNumTris,
tU32  anTriStride,
ni::tBool  abClockwise 
)
pure virtual

Creates a mesh shape from file objects.

Remarks
The vertices passed must be in object space.
virtual iVizShape* CreateShapeMeshFromArrays ( iVertexArray apVA,
iIndexArray apIA,
ni::tBool  abClockwise 
)
pure virtual

Creates a mesh shape from the specified vertex and index arrays.

Remarks
The vertices passed must be in object space.
virtual iVizShape* CreateShapeMeshFromArraysRange ( iVertexArray apVA,
iIndexArray apIA,
tU32  anFirstIndex,
tU32  anNumIndices,
ni::tBool  abClockwise 
)
pure virtual

Creates a mesh shape from the specified vertex and index arrays range.

Remarks
The vertices passed must be in object space.
virtual iVizShape* CreateShapeMeshFromDrawOperations ( const tDrawOperationCVec apLst,
ni::tBool  abClockwise 
)
pure virtual

Creates a mesh shape from the specified draw operations.

Remarks
The vertices passed must be in object space.
virtual iVizShape* CreateShapeLocalBV ( ni::iBoundingVolume apLocalBV)
pure virtual

Creates a shape around a local bounding volume.

Remarks
The shape will hold a reference to the bounding volume so that any changes made to it will be reflected correctly.
virtual iVizObject* CreateObject ( iVizShape apTestShape,
iVizShape apWriteShape,
ni::tBool  abIsOccluder 
)
pure virtual

Creates a viz object.

Parameters
apTestShapeis the test shape of the object, if not specified the object creation fails.
apWriteShapeis the write shape of the object, optional, only usefull in software mode and if the object is an occluder.
abIsOccludersets whether the object will be used as an occluder in the visibility tests.
virtual iVizObject* CreateObjectUnbounded ( ni::tBool  abIsOccluder)
pure virtual

Creates an unbounded object.

Remarks
Unbounded objects are set with a generic unit AABB test shape.
virtual iVizCell* CreateCell ( )
pure virtual

Creates a viz cell.

virtual iVizCamera* CreateCamera ( iCamera apBaseCamera)
pure virtual

Creates a viz camera.