|
Rasterfarm-SDK
|
#include <iqmfactory.h>
Classes | |
| struct | Adjacency |
| struct | Animation |
| struct | Bounds |
| struct | Extension |
| struct | Header |
| struct | Joint |
| struct | JointNode |
| struct | Mesh |
| struct | Pose |
| struct | Triangle |
| struct | VertexArray |
Public Types | |
| enum | VertexArrayType { POSITION = 0 , TEXCOORD = 1 , NORMAL = 2 , TANGENT = 3 , BLEND_INDEX = 4 , BLEND_WEIGHT = 5 , COLOR = 6 , CUSTOM = 0x10 } |
| enum | VertexArrayFormat { BYTE = 0 , UBYTE = 1 , SHORT = 2 , USHORT = 3 , INT = 4 , UINT = 5 , HALF = 6 , FLOAT = 7 , DOUBLE = 8 } |
| enum | AnimationFlags { LOOP = 1<<0 } |
Public Member Functions | |
| IQMFactory (const char *iqmFile) | |
| IQMFactory (GeometricBase *pGeometric) | |
| ~IQMFactory () | |
| void | read (GeometricBase *pGeometric) |
| void | read (const char *iqmFile) |
| void | write (const char *iqmFile) |
| void | create (Shape::Skeletal *pGeometry) |
| Surface::Material * | allocMaterialAndComponents (uint meshIndex, Light *pLight, Surface::MaterialManager *pMaterialManager, Surface::Render::ComponentManager *pComponentManager, TextureManager *pTextureManager) |
| Skeletal * | createSkeletalObject (Light *pLightObject, Surface::MaterialManager *pMaterialManager, Surface::Render::ComponentManager *pComponentManager, TextureManager *pTextureManager) |
| void | create (Shape::Skeletal *pGeometry, uint index) |
| const Vector4fArray & | getColorArray () const |
| const Vector2fArray & | getTextureCoordArray () const |
| const Vector3fArray & | getTangentArray () const |
| const Vector3fArray & | getBiTangentArray () const |
| Schedule::Sequence::AnimationBase * | createAnimation (Skeletal *pObject, uint index) |
| const HeapArray< JointNode > & | getJointNode () const |
| const Header & | getHeader () const |
| const HeapArray< Matrix4f > & | getAnimatedFrameJointMatrix (uint frame) const |
| const HeapArray< Matrix4f > & | getBaseJointMatrix () const |
| const String | getMeshName (uint index) const |
| Joint * | getJoint (uint index) const |
| Animation * | getAnimation (uint index) const |
| Bounds * | getBounds (uint index) const |
| Mesh * | getMesh (uint index) const |
| Pose * | getPose (uint index) const |
| template<class S > | |
| char * | getName (S *pStruct) const |
| uint | getJointIndex (const char *name) |
| void | printHeader () |
| void | printJoints () |
| void | printMeshes () |
| void | printAnimations () |
Static Public Member Functions | |
| static bool | isLittleEndian () |
Static Public Attributes | |
| static constexpr char | magicString [] = "INTERQUAKEMODEL" |
Static Protected Member Functions | |
| static HeapArray< Joint > | read (Shape::Skeletal *pGeometry) |
Protected Attributes | |
| HeapArray< Matrix4f > | baseJointMatrix |
| HeapArray2D< Matrix4f > | frameJointMatrix |
| Vector2fArray | textureCoord |
| Vector4fArray | color |
| Vector3fArray | normal |
| Vector3fArray | tangent |
| Vector3fArray | bitangent |
Reads and writes Inter-Quake Model format(IQM) data and produces surface, shape, and animation resources.
| IQMFactory::IQMFactory | ( | const char * | iqmFile | ) |
| IQMFactory::IQMFactory | ( | GeometricBase * | pGeometric | ) |
| IQMFactory::~IQMFactory | ( | ) |
| Surface::Material * IQMFactory::allocMaterialAndComponents | ( | uint | meshIndex, |
| Light * | pLight, | ||
| Surface::MaterialManager * | pMaterialManager, | ||
| Surface::Render::ComponentManager * | pComponentManager, | ||
| TextureManager * | pTextureManager ) |
| The | mesh index |
| Pointer | to MaterialManager, or nullptr to manage explicitly. |
| Pointer | to ComponentManager, or nullptr to manage explicitly. |
| Pointer | to TextureManager, or nullptr to manage explicitly. |
| void IQMFactory::create | ( | Shape::Skeletal * | pGeometry | ) |
Adds all the data needed to create the Geometry from the IQM data.
| Pointer | to an Skeletal Geometry. |
| void IQMFactory::create | ( | Shape::Skeletal * | pGeometry, |
| uint | index ) |
| Geometry | pointer. |
| The | mesh index |
| Schedule::Sequence::AnimationBase * IQMFactory::createAnimation | ( | Skeletal * | pObject, |
| uint | index ) |
| Skeletal * IQMFactory::createSkeletalObject | ( | Light * | pLightObject, |
| Surface::MaterialManager * | pMaterialManager, | ||
| Surface::Render::ComponentManager * | pComponentManager, | ||
| TextureManager * | pTextureManager ) |
| A | Light object incident to returned Skeletal object. |
| Pointer | to MaterialManager, or nullptr to manage explicitly. |
| Pointer | to ComponentManager, or nullptr to manage explicitly. |
| Pointer | to TextureManager, or nullptr to manage explicitly. |
| const HeapArray< Matrix4f > & IQMFactory::getAnimatedFrameJointMatrix | ( | uint | frame | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| uint IQMFactory::getJointIndex | ( | const char * | name | ) |
|
inline |
|
inline |
| const String IQMFactory::getMeshName | ( | uint | index | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
| void IQMFactory::printAnimations | ( | ) |
| void IQMFactory::printHeader | ( | ) |
| void IQMFactory::printJoints | ( | ) |
| void IQMFactory::printMeshes | ( | ) |
| void IQMFactory::read | ( | const char * | iqmFile | ) |
| void IQMFactory::read | ( | GeometricBase * | pGeometric | ) |
Reads geometric and material into the IQM format. NOTE: Animations are currently not supported and joint matrices are stored as forward-kinematic rather than the inverse-kinematic. The joint-names are applied iteratively(joint1, joint2, etc...) as indexed within Shape::Skeletal.
|
staticprotected |
| void IQMFactory::write | ( | const char * | iqmFile | ) |
Write the contents of the current IQM data buffer to the filesystem. NOTE: This method does not export the IQM assets(ie. textures)
|
protected |
|
protected |
|
protected |
|
protected |
|
staticconstexpr |
|
protected |
|
protected |
|
protected |