#include <IGameObject.h>
Simple wrapper for tri mesh objects.
An IGame wrapper around the standard 3ds Max Mesh class. It provides unified support for Vertex colors and normals Mirroring is taken into account so the data you retrieve is swapped.
Many of the geometry lookups used by IGameObject use the 3ds Max Template Class Tab. You can use the Tab returned to find out whether the call was successful as the Tab count would be greater then zero.
In 3ds Max 6.0 and above version of IGame, Tangent space is calculated. For this to work, each face must be a member of a smoothing group.
Public Member Functions | |
virtual bool | InitializeBinormalData ()=0 |
Initialize Binormal and Tangents data NEW for 3DXI V 2.2 More... | |
virtual int | GetNumberOfVerts ()=0 |
Get number of Vertices. More... | |
virtual int | GetNumberOfTexVerts ()=0 |
Get number of Texture Vertices. More... | |
virtual Point3 | GetVertex (int index, bool ObjectSpace=false)=0 |
Get the actual Vertex. More... | |
virtual bool | GetVertex (int index, Point3 &vert, bool ObjectSpace=false)=0 |
Get the actual Vertex. More... | |
virtual Point2 | GetTexVertex (int index)=0 |
Get the actual Texture Vertex. More... | |
virtual bool | GetTexVertex (int index, Point2 &tex)=0 |
Get the actual Texture Vertex. More... | |
virtual void | SetUseWeightedNormals ()=0 |
[METHOD IS RETIRED] Specify whether normals are calculated based on face angles More... | |
virtual int | GetNumberOfNormals ()=0 |
Get number of normals. More... | |
virtual int | GetNormalVertexIndex (int index)=0 |
Get the Vertex Index associated with the Normal NEW for 3DXI V 2.2 More... | |
virtual Point3 | GetNormal (int index, bool ObjectSpace=false)=0 |
Get the actual normal. More... | |
virtual bool | GetNormal (int index, Point3 &norm, bool ObjectSpace=false)=0 |
Get the actual normal. More... | |
virtual bool | GetNormal (int faceIndex, int corner, Point3 &norm, bool ObjectSpace=false)=0 |
Get the normal based on face and corner. More... | |
virtual Point3 | GetNormal (FaceEx *face, int corner, bool ObjectSpace=false)=0 |
Get the normal based on face and corner. More... | |
virtual bool | GetNormal (FaceEx *face, int corner, Point3 &norm, bool ObjectSpace=false)=0 |
Get the normal based on face and corner. More... | |
virtual Point3 | GetNormal (int faceIndex, int corner, bool ObjectSpace=false)=0 |
Get the normal based on face and corner. More... | |
virtual int | GetNumberOfIllumVerts ()=0 |
Get number of Illuminated Vertices. More... | |
virtual int | GetNumberOfAlphaVerts ()=0 |
Get number of Alpha Vertices. More... | |
virtual int | GetNumberOfColorVerts ()=0 |
Get number of Vertex Colors. More... | |
virtual Point3 | GetColorVertex (int index)=0 |
Get the actual Color Vertex. More... | |
virtual bool | GetColorVertex (int index, Point3 &col)=0 |
Get the actual Color Vertex. More... | |
virtual float | GetAlphaVertex (int index)=0 |
Get the actual Alpha Vertex. More... | |
virtual bool | GetAlphaVertex (int index, float &alpha)=0 |
Get the actual Alpha Vertex. More... | |
virtual float | GetIllumVertex (int index)=0 |
Get the actual Illuminated Vertex. More... | |
virtual bool | GetIllumVertex (int index, float &illum)=0 |
Get the actual Illuminated Vertex. More... | |
virtual int | GetNumberOfFaces ()=0 |
Get the number of faces in the mesh. More... | |
virtual FaceEx * | GetFace (int index)=0 |
Get the actual face. More... | |
virtual int | GetNumberOfMapVerts (int ch)=0 |
The number of verts in a mapping channel. More... | |
virtual Point3 | GetMapVertex (int ch, int index)=0 |
Get the mapping vertex. More... | |
virtual bool | GetMapVertex (int ch, int index, Point3 &mVert)=0 |
Get the mapping vertex. More... | |
virtual int | GetNumberOfBinormals (int mapChannel=1)=0 |
The number of Binormals This function is only available in 3ds Max 6.0 and above More... | |
virtual Point3 | GetBinormal (int index, int mapChannel=1)=0 |
Get the actual Binormal This function is only available in 3ds Max 6.0 and above More... | |
virtual bool | GetBinormal (int index, Point3 &biNormal, int mapChannel=1)=0 |
Get the actual Binormal This function is only available in 3ds Max 6.0 and above More... | |
virtual int | GetNumberOfTangents (int mapChannel=1)=0 |
The number of Tangents This function is only available in 3ds Max 6.0 and above More... | |
virtual Point3 | GetTangent (int index, int mapChannel=1)=0 |
Get the actual Tangent This function is only available in 3ds Max 6.0 and above More... | |
virtual bool | GetTangent (int index, Point3 &Tangent, int mapChannel=1)=0 |
Get the actual Tangent This function is only available in 3ds Max 6.0 and above More... | |
virtual Tab< int > | GetActiveMapChannelNum ()=0 |
Get the active mapping channels. More... | |
virtual bool | GetMapFaceIndex (int ch, int faceNum, DWORD *index)=0 |
Get the face index into the mapping channel array. More... | |
virtual Tab< DWORD > | GetActiveSmgrps ()=0 |
Get all the smoothing groups found on a mesh. More... | |
virtual Tab< int > | GetActiveMatIDs ()=0 |
Get all the material IDs found on a mesh. More... | |
virtual Tab< FaceEx * > | GetFacesFromSmgrp (DWORD smgrp)=0 |
Get the face for a particular smoothing group. More... | |
virtual Tab< int > | GetFaceIndexFromSmgrp (DWORD smgrp)=0 |
Get the face index for a particular smoothing group. More... | |
virtual Tab< FaceEx * > | GetFacesFromMatID (int matID)=0 |
Get the faces for a particular Material ID. More... | |
virtual IGameMaterial * | GetMaterialFromFace (int FaceNum)=0 |
The actual material used by the Face. More... | |
virtual IGameMaterial * | GetMaterialFromFace (FaceEx *face)=0 |
The actual material used by the Face. More... | |
virtual Mesh * | GetMaxMesh ()=0 |
The actual 3ds Max Mesh representation. More... | |
virtual bool | EvaluateSurface (int FaceIndex, Color *result)=0 |
Access the color data for the face specified. More... | |
virtual void | SetCreateOptimizedNormalList ()=0 |
[METHOD IS RETIRED] Tell IGame to create a flattened Normals Array This function is only available in 3ds Max 6.0 and above More... | |
As alternative to FaceEx structure, separate channels can be accessed directly | |
virtual int | GetFaceVertex (int faceIndex, int corner)=0 |
Get Vertex Index for specified face and corner. More... | |
virtual int | GetFaceTextureVertex (int faceIndex, int corner, int mapChannel=1)=0 |
Get Map Vertex Index for specified face and corner. More... | |
virtual int | GetFaceVertexNormal (int faceIndex, int corner)=0 |
Get Normal Vertex Index for specified face and corner. More... | |
virtual int | GetFaceVertexTangentBinormal (int faceIndex, int corner, int mapChannel=1)=0 |
Get Tangent and Binormal Vertex Index for specified face and corner. More... | |
virtual DWORD | GetFaceSmoothingGroup (int faceIndex)=0 |
Get Smoothing Group for specified face. More... | |
virtual int | GetFaceMaterialID (int faceIndex)=0 |
Get Material ID for specified face. More... | |
virtual int | GetFaceEdgeVisibility (int faceIndex, int edge)=0 |
Get Edge Visibility value for specified face and edge. More... | |
virtual int | GetNumberOfPolygons ()=0 |
N-Polygon support. More... | |
virtual int | GetNumberOfPolygonNormals ()=0 |
Get the number of Normals in the EPoly NEW for 3DXI V 2.2 More... | |
virtual int | GetNumberOfPolygonCorners (int PolyIndex)=0 |
Get Polygon polygon corners. More... | |
virtual Tab< INT > | GetPolygonVertices (int PolyIndex)=0 |
Get Polygon vertices. More... | |
virtual Tab< INT > | GetPolygonNormals (int PolyIndex)=0 |
Get Polygon normals. More... | |
virtual Tab< Point3 > | GetPolygonNormalsArray (int PolyIndex=-1)=0 |
Get Polygon normals array NEW for 3DXI V 2.2 More... | |
virtual Tab< INT > | GetPolygonMapVertices (int PolyIndex, int MapChannel)=0 |
Get Polygon map vertices. More... | |
virtual Tab< INT > | GetPolygonEgdesVisibility (int PolyIndex)=0 |
Get Polygon Edges Visibility. More... | |
virtual DWORD | GetPolygonSmoothingGroup (int PolyIndex)=0 |
Get Smoothing Group for specified Polygon. More... | |
virtual int | GetPolygonMaterialID (int PolyIndex)=0 |
Get Material ID for specified Polygon. More... | |
virtual Tab< INT > | GetPolygonIndexFromMatID (int MatID)=0 |
Get Polygon Indices based on Material ID. More... | |
virtual IGameMaterial * | GetMaterialFromPolygon (int PolyIndex)=0 |
Get Polygon Material. More... | |
Public Member Functions inherited from IGameObject | |
IGameObject () | |
Default constructor. More... | |
IGAMEEXPORT void | GetBoundingBox (Box3 &bb) |
The bounding box of the object. More... | |
IGAMEEXPORT bool | IsRenderable () |
Check if object renderable. More... | |
virtual ObjectTypes | GetIGameType ()=0 |
The IGame object type. More... | |
IGAMEEXPORT Object * | GetMaxObject () |
Access to the actual 3ds Max object. More... | |
IGAMEEXPORT MaxType | GetMaxType () |
The 3ds Max object type. More... | |
IGAMEEXPORT int | GetNumModifiers () |
The number of modifiers active on the object. More... | |
IGAMEEXPORT IGameModifier * | GetIGameModifier (int index) |
Access to IGame modifier. More... | |
IGAMEEXPORT | IGameObject (INode *node) |
The IGameObject constructor. More... | |
IGAMEEXPORT bool | CastShadows () |
Check if Object casts shadows. More... | |
IGAMEEXPORT bool | IsObjectSkinned () |
Check if object skinned. More... | |
IGAMEEXPORT IGameSkin * | GetIGameSkin () |
Access to the Skin interface. More... | |
IGAMEEXPORT bool | IsObjectXRef () |
Check if XRef object. More... | |
IGAMEEXPORT GMatrix | GetIGameObjectTM () |
Access to the ObjectTM. More... | |
virtual bool | InitializeData () |
Extract the 3ds Max data into IGame data. More... | |
virtual | ~IGameObject ()=0 |
Public Member Functions inherited from IExportEntity | |
virtual | ~IExportEntity () |
Destructor. More... | |
virtual IPropertyContainer * | GetIPropertyContainer () |
Retrieve the Property Container. More... | |
virtual bool | IsEntitySupported () |
Is the Entity directly supported. More... | |
virtual const MCHAR * | GetClassName ()=0 |
Retrieves the name of the entity class. More... | |
Additional Inherited Members | |
Public Types inherited from IGameObject | |
enum | ObjectTypes { IGAME_UNKNOWN, IGAME_LIGHT, IGAME_MESH, IGAME_SPLINE, IGAME_CAMERA, IGAME_HELPER, IGAME_BONE, IGAME_IKCHAIN, IGAME_XREF } |
Various IGame Object types. More... | |
enum | MaxType { IGAME_MAX_UNKNOWN, IGAME_MAX_GEOM, IGAME_MAX_SHAPE, IGAME_MAX_LIGHT, IGAME_MAX_CAMERA, IGAME_MAX_BONE, IGAME_MAX_HELPER } |
Various 3ds Max Object types. More... | |
Static Public Member Functions inherited from MaxHeapOperators | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new (size_t size, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void | operator delete (void *ptr) |
Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. More... | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. More... | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. More... | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. More... | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More... | |
Protected Member Functions inherited from IGameObject | |
void | SetNode (INode *n) |
Protected Attributes inherited from IGameObject | |
INode * | gameNode |
Object * | gameObject |
|
pure virtual |
Initialize Binormal and Tangents data NEW for 3DXI V 2.2
Binormal and Tangents can be initialized and accessed separately from other mesh data see IGameObject::InitializeData() for more details To initialize entire mesh data (including Binormals and Tangents) IGameObject::InitializeData() should be called
|
pure virtual |
Get number of Vertices.
The total number of vertices found in the mesh
|
pure virtual |
Get number of Texture Vertices.
The total number of Texture vertices found in the mesh
Get the actual Vertex.
Get the vertex at the specified index. This is in the World Space Coordinate System
index | The index of the vertex |
ObjectSpace | Defines what space the vertex is in. This defaults to World space to be compatible with previous versions |
Get the actual Vertex.
Get the vertex at the specified index. This is in the World Space Coordinate System
index | The index of the vertex |
&vert | A Point3 to receive the data |
ObjectSpace | Defines what space the vertex is in. This defaults to World space to be compatible with previous versions |
Get the actual Texture Vertex.
Get the Texture vertex at the specified index
index | The index of the Texture vertex |
Get the actual Texture Vertex.
Get the Texture vertex at the specified index
index | The index of the Texture vertex |
&tex | A Point2 to receive the data. |
|
pure virtual |
[METHOD IS RETIRED] Specify whether normals are calculated based on face angles
To tell IGame to calculate normals based on a weight made from the angle of the edges at the vertex, the developer needs to call this before IGameObject::InitializeData() is called. The default is not to use weighted normals which is also the default in 3ds Max 4.0
|
pure virtual |
Get number of normals.
The total number of normals found in the mesh
Get the Vertex Index associated with the Normal NEW for 3DXI V 2.2
Get the Vertex Index associated with the Normal index.
index | The index of the normal in the flat list |
Get the actual normal.
Get the normal at the specified index.
index | The index of the normal in the flat list |
ObjectSpace | defines what space the normal is in. This defaults to World space to be compatible with previous versions |
Get the actual normal.
Get the normal at the specified index in the flat list
index | The index of the normal |
&norm | A Point3 to receive the data. |
ObjectSpace | Defines what space the normal is in. This defaults to World space to be compatible with previous versions |
|
pure virtual |
Get the normal based on face and corner.
faceIndex | The index into the face array |
corner | The vertex whose normal is requested |
&norm | A point3 to receive the data |
ObjectSpace | Defines what space the normal is in. This defaults to World space to be compatible with previous versions |
Get the normal based on face and corner.
face | The pointer of the face whose normals are to be accessed |
corner | The vertex whose normal is requested |
ObjectSpace | Defines what space the normal is in. This defaults to World space to be compatible with previous versions |
|
pure virtual |
Get the normal based on face and corner.
face | The pointer of the face whose normals are to be accessed |
corner | The vertex whose normal is requested |
&norm | A point3 to receive the data |
ObjectSpace | Defines what space the normal is in. This defaults to World space to be compatible with previous versions |
Get the normal based on face and corner.
faceIndex | The index into the face array |
corner | The vertex whose normal is requested |
ObjectSpace | Defines what space the normal is in. This defaults to World space to be compatible with previous versions |
|
pure virtual |
Get number of Illuminated Vertices.
The total number of Illuminated Vertices found in the mesh
|
pure virtual |
Get number of Alpha Vertices.
The total number of Alpha Vertices found in the mesh
|
pure virtual |
Get number of Vertex Colors.
The total number of Vertex Colors found in the mesh
|
pure virtual |
Get the actual Alpha Vertex.
Get the Alpha vertex at the specified index
index | The index of the Alpha vertex |
|
pure virtual |
Get the actual Alpha Vertex.
Get the Alpha vertex at the specified index
index | The index of the Alpha vertex |
&alpha | A float to receive the value |
|
pure virtual |
Get the actual Illuminated Vertex.
Get the Illuminated vertex at the specified index
index | The index of the Illuminated vertex |
|
pure virtual |
Get the actual Illuminated Vertex.
Get the Illuminated vertex at the specified index
index | The index of the Illuminated vertex |
&illum | A float to receive the data |
|
pure virtual |
Get the number of faces in the mesh.
The total number of faces contained in the mesh
The number of verts in a mapping channel.
Get the number of the vertices for a particular mapping channel
ch | The mapping channel to use |
Get the mapping vertex.
Get the actual mapping vertex for the channel
ch | The channel to query |
index | The vertex index |
Get the mapping vertex.
Get the actual mapping vertex for the channel
ch | The channel to query |
index | The vertex index |
&mVert | A Point3 to receive the data |
The number of Binormals This function is only available in 3ds Max 6.0 and above
Get the number of the binormals
mapChannel | The valid MESH MAP channel, range (-2...99), default - Texture Coordinates |
Get the actual Binormal This function is only available in 3ds Max 6.0 and above
Get the Binormal at the specified index
index | The index of the Binormal |
mapChannel | The valid MESH MAP channel, range (-2...99), default - Texture Coordinates |
Get the actual Binormal This function is only available in 3ds Max 6.0 and above
Get the Binormal at the specified index
index | The index of the Binormal |
biNormal | A point3 to receive the Binormal for specified map channel |
mapChannel | The valid MESH MAP channel, range (-2...99), default - Texture Coordinates |
The number of Tangents This function is only available in 3ds Max 6.0 and above
Get the number of the Tangents
mapChannel | The valid MESH MAP channel, range (-2...99), default - Texture Coordinates |
Get the actual Tangent This function is only available in 3ds Max 6.0 and above
Get the Tangent at the specified index
index | The index of the Tangent |
mapChannel | The valid MESH MAP channel, range (-2...99), default - Texture Coordinates |
Get the actual Tangent This function is only available in 3ds Max 6.0 and above
Get the Tangent at the specified index
index | The index of the Tangent |
Tangent | A point3 to receive the Tangent for specified map channel |
mapChannel | The valid MESH MAP channel, range (-2...99), default - Texture Coordinates |
Get the active mapping channels.
Extracts the active mapping channels in use by the object. Starting with 3DXI V2.0 this returns all active channels including the standard ones such as Texture Coordinates, Vertex Colors, Illum, and Alpha.
Get the face index into the mapping channel array.
Get the actual index into the mapping channel for the supplied face.
ch | The mapping channel to use |
faceNum | The face to use |
index | An array of three indices to receive the indexing into the vertices |
|
pure virtual |
Get all the smoothing groups found on a mesh.
Get all the material IDs found on a mesh.
Get the face for a particular smoothing group.
Get all the faces belonging to a particular smoothing group
smgrp | The smoothing group to use |
Get the face index for a particular smoothing group.
Get all the faces belonging to a particular smoothing group as a set of indexes into the main face list
smgrp | The smoothing group to use |
Get the faces for a particular Material ID.
Get all the faces belonging to a particular material ID
matID | The material ID to use |
|
pure virtual |
The actual material used by the Face.
This will provide access to the material used by the Face whose index is passed in. This means the mesh can be broken down into smaller meshes if the material is a subObject material. This can be used in conjunction with IGameMesh::GetFacesFromMatID to rebuild a face with the material assigned via a material ID.
FaceNum | The index of the face whose material is needed. |
|
pure virtual |
The actual material used by the Face.
This will provide access to the material used by the Face. This means the mesh can be broken down into smaller meshes if the material is a subObject material. This can be used in conjunction with IGameMesh::GetFacesFromMatID to rebuild a face with the material assigned via a material ID.
face | A pointer to the face whose material is needed. |
|
pure virtual |
Get Vertex Index for specified face and corner.
faceIndex | The face ID to use |
corner | The face corner to use |
Get Map Vertex Index for specified face and corner.
Texture Vertex by default Should be used to get vertex index for Vertex Color, Alpha, Illum, etc
faceIndex | The face ID to use |
corner | The face corner to use |
mapChannel | The valid MESH MAP channel, range (-2...99), default - Texture Coordinates |
Get Normal Vertex Index for specified face and corner.
faceIndex | The face ID to use |
corner | The face corner to use |
|
pure virtual |
Get Tangent and Binormal Vertex Index for specified face and corner.
faceIndex | The face ID to use |
corner | The face corner to use |
mapChannel | The valid MESH MAP channel, range (-2...99), default - Texture Coordinates |
|
pure virtual |
Get Smoothing Group for specified face.
faceIndex | The face ID to use |
Get Edge Visibility value for specified face and edge.
faceIndex | The face ID to use |
edge | The edge to use |
Access the color data for the face specified.
The surface color can be obtained from the RenderedSurface interface. Before this function can be used the Surface data needs to be initialised before hand. Please see the IGameRenderedSurface for more information
FaceIndex | The face index whose color is being evaluated |
*result | A pointer to a Color Array that receives the 3 vertices for the face. This should initialised as Color res[3] |
|
pure virtual |
[METHOD IS RETIRED] Tell IGame to create a flattened Normals Array This function is only available in 3ds Max 6.0 and above
IGame can create a flattened list of normals for export much like Vertices and Texture Coordinates. However this operation can be expensive especially on large objects with mixed smoothing groups. This method determines whether this is available for use. If it is not set, then vertex normals can only be looked up on a per face basis .
Due to some internal changes, this method is not really needed. However some builds of IGame did require it so it has been kept in.
|
pure virtual |
|
pure virtual |
Get Polygon normals array NEW for 3DXI V 2.2
The normals array
PolyIndex | The polygon index is being evaluated. Default is -1, returning all normals for EPoly If parameter defined (other than -1) returns normals for provided polygon only. |
|
pure virtual |
Get Smoothing Group for specified Polygon.
PolyIndex | The polygon index is being evaluated |