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

Detailed Description

Character Factory interface.

Public Member Functions

virtual iGraphicsGetGraphics () const =0
 Return the iGraphics interface used to create it. {Property}. More...
 
virtual tBool IsCharacter (iFile *pFile)=0
 Check if the given file is character file. More...
 
virtual Ptr< iCharacterLoadCharacterFromFile (iFile *pFile)=0
 Load a character from the given file. More...
 
virtual Ptr< iCharacterLoadCharacterFromScene (const iScene *apScene)=0
 Load a character from the given scene. More...
 
virtual Ptr< iCharacterLoadCharacterFromSceneNode (const iScene *apScene, const iSceneNode *apNode)=0
 Load a character from the given scene node. More...
 
virtual Ptr< iCharacterLoadCharacterInstance (iHString *ahspPath, tCharacterInstanceFlags aInstanceFlags)=0
 Load a regular character from the given resource. More...
 
virtual Ptr< iAnimationLoadAnimationsFromFile (iFile *pFile)=0
 Load only the main animation from the given file. More...
 
virtual Ptr< iAnimationLoadAnimationsFromScene (const iScene *apScene)=0
 Load only the main animation from the given scene. More...
 
virtual Ptr< iAnimationLoadAnimationInstance (iHString *ahspPath)=0
 Load a the main animation from the given resource. More...
 
virtual iCharacterCreateEmptyCharacter ()=0
 Create an empty character. More...
 
virtual tBool WriteCharacter (iFile *apFile, iCharacter *apChar, tCharacterWriteFlags aFlags)=0
 Write a character to the specified file. More...
 
virtual tBool WriteCharacter2 (iFile *apFile, iCharacter *apChar, tCharacterWriteFlags aFlags, const sVec3f &avPrec, tMaterialSerializeFlags aMaterialLibraryFlags)=0
 Write a character to the specified file. More...
 
virtual iParticleSystemCreateParticleSystem (eParticleRendering aRendering)=0
 Create a new particle system. More...
 
- Public Member Functions inherited from iSceneFactory
virtual iSceneCreateScene ()=0
 Create a new scene instance. More...
 
virtual iAnimationTimeCreateAnimationTime ()=0
 Create a new animation time instance. More...
 
virtual iAnimationCreateAnimation ()=0
 Create a new animation instance. More...
 
virtual iAnimationKeysSetCreateAnimationKeysSet (eAnimationKeysType type)=0
 Create a new animation keys set. More...
 
virtual iAnimationMixerCreateAnimationMixer ()=0
 Create a new animation mixer instance. 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 iGraphics* GetGraphics ( ) const
pure virtual

Return the iGraphics interface used to create it. {Property}.

virtual tBool IsCharacter ( iFile pFile)
pure virtual

Check if the given file is character file.

virtual Ptr<iCharacter> LoadCharacterFromFile ( iFile pFile)
pure virtual

Load a character from the given file.

Parameters
pFilefile to load the character from.
Remarks
InitMeshCollisions, InitMeshDrawOps and InitAnimations should be called after to setup collisions, rendering and animations.
virtual Ptr<iCharacter> LoadCharacterFromScene ( const iScene apScene)
pure virtual

Load a character from the given scene.

Remarks
InitMeshCollisions, InitMeshDrawOps and InitAnimations should be called after to setup collisions, rendering and animations.
virtual Ptr<iCharacter> LoadCharacterFromSceneNode ( const iScene apScene,
const iSceneNode apNode 
)
pure virtual

Load a character from the given scene node.

Remarks
InitMeshCollisions, InitMeshDrawOps and InitAnimations should be called after to setup collisions, rendering and animations.
virtual Ptr<iCharacter> LoadCharacterInstance ( iHString ahspPath,
tCharacterInstanceFlags  aInstanceFlags 
)
pure virtual

Load a regular character from the given resource.

Remarks
This method potentially leads to the creation of a character instance.
InitMeshCollisions, InitMeshDrawOps and InitAnimations should be called after to setup collisions, rendering and animations.
virtual Ptr<iAnimation> LoadAnimationsFromFile ( iFile pFile)
pure virtual

Load only the main animation from the given file.

virtual Ptr<iAnimation> LoadAnimationsFromScene ( const iScene apScene)
pure virtual

Load only the main animation from the given scene.

Remarks
InitAnimations should be called after to setup collisions, rendering and animations.
virtual Ptr<iAnimation> LoadAnimationInstance ( iHString ahspPath)
pure virtual

Load a the main animation from the given resource.

virtual iCharacter* CreateEmptyCharacter ( )
pure virtual

Create an empty character.

virtual tBool WriteCharacter ( iFile apFile,
iCharacter apChar,
tCharacterWriteFlags  aFlags 
)
pure virtual

Write a character to the specified file.

Remarks
The character is written in the most optimized form possible for the current hardware.
virtual tBool WriteCharacter2 ( iFile apFile,
iCharacter apChar,
tCharacterWriteFlags  aFlags,
const sVec3f avPrec,
tMaterialSerializeFlags  aMaterialLibraryFlags 
)
pure virtual

Write a character to the specified file.

Parameters
apFileis the file where to write the file.
apCharis the character to write.
aFlagsthe character write flags.
avPrecdelta compression precision, set to zero to have no quality loss. Vec3(Position,Normal/TexCoo3,TexCoo1/2/4).
aMaterialLibraryFlagsmaterial library's serialization flags. This can be used to specify the maximum texture resolution and texture compression ratio.
virtual iParticleSystem* CreateParticleSystem ( eParticleRendering  aRendering)
pure virtual

Create a new particle system.