Public Member Functions

IGameMesh Class Reference

This reference page is linked to from the following overview topics: What's New in 3DXI, 3DXI Export Entities, 3DXI Helper Objects, 3DXI Mesh.


Search for all occurrences

Detailed Description

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.

#include <IGameObject.h>

Inheritance diagram for IGameMesh:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual bool  InitializeBinormalData ()=0
  Initialize Binormal and Tangents data NEW for 3DXI V 2.2
virtual int  GetNumberOfVerts ()=0
  Get number of Vertices.
virtual int  GetNumberOfTexVerts ()=0
  Get number of Texture Vertices.
virtual Point3  GetVertex (int index, bool ObjectSpace=false)=0
  Get the actual Vertex.
virtual bool  GetVertex (int index, Point3 &vert, bool ObjectSpace=false)=0
  Get the actual Vertex.
virtual Point2  GetTexVertex (int index)=0
  Get the actual Texture Vertex.
virtual bool  GetTexVertex (int index, Point2 &tex)=0
  Get the actual Texture Vertex.
virtual void  SetUseWeightedNormals ()=0
  [METHOD IS RETIRED] Specify whether normals are calculated based on face angles
virtual int  GetNumberOfNormals ()=0
  Get number of normals.
virtual int  GetNormalVertexIndex (int index)=0
  Get the Vertex Index associated with the Normal NEW for 3DXI V 2.2
virtual Point3  GetNormal (int index, bool ObjectSpace=false)=0
  Get the actual normal.
virtual bool  GetNormal (int index, Point3 &norm, bool ObjectSpace=false)=0
  Get the actual normal.
virtual bool  GetNormal (int faceIndex, int corner, Point3 &norm, bool ObjectSpace=false)=0
  Get the normal based on face and corner.
virtual Point3  GetNormal (FaceEx *face, int corner, bool ObjectSpace=false)=0
  Get the normal based on face and corner.
virtual bool  GetNormal (FaceEx *face, int corner, Point3 &norm, bool ObjectSpace=false)=0
  Get the normal based on face and corner.
virtual Point3  GetNormal (int faceIndex, int corner, bool ObjectSpace=false)=0
  Get the normal based on face and corner.
virtual int  GetNumberOfIllumVerts ()=0
  Get number of Illuminated Vertices.
virtual int  GetNumberOfAlphaVerts ()=0
  Get number of Alpha Vertices.
virtual int  GetNumberOfColorVerts ()=0
  Get number of Vertex Colors.
virtual Point3  GetColorVertex (int index)=0
  Get the actual Color Vertex.
virtual bool  GetColorVertex (int index, Point3 &col)=0
  Get the actual Color Vertex.
virtual float  GetAlphaVertex (int index)=0
  Get the actual Alpha Vertex.
virtual bool  GetAlphaVertex (int index, float &alpha)=0
  Get the actual Alpha Vertex.
virtual float  GetIllumVertex (int index)=0
  Get the actual Illuminated Vertex.
virtual bool  GetIllumVertex (int index, float &illum)=0
  Get the actual Illuminated Vertex.
virtual int  GetNumberOfFaces ()=0
  Get the number of faces in the mesh.
virtual FaceEx GetFace (int index)=0
  Get the actual face.
virtual int  GetNumberOfMapVerts (int ch)=0
  The number of verts in a mapping channel.
virtual Point3  GetMapVertex (int ch, int index)=0
  Get the mapping vertex.
virtual bool  GetMapVertex (int ch, int index, Point3 &mVert)=0
  Get the mapping vertex.
virtual int  GetNumberOfBinormals (int mapChannel=1)=0
  The number of Binormals This function is only available in 3ds Max 6.0 and above
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
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
virtual int  GetNumberOfTangents (int mapChannel=1)=0
  The number of Tangents This function is only available in 3ds Max 6.0 and above
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
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
virtual Tab< int >  GetActiveMapChannelNum ()=0
  Get the active mapping channels.
virtual bool  GetMapFaceIndex (int ch, int faceNum, DWORD *index)=0
  Get the face index into the mapping channel array.
virtual Tab< DWORD >  GetActiveSmgrps ()=0
  Get all the smoothing groups found on a mesh.
virtual Tab< int >  GetActiveMatIDs ()=0
  Get all the material IDs found on a mesh.
virtual Tab< FaceEx * >  GetFacesFromSmgrp (DWORD smgrp)=0
  Get the face for a particular smoothing group.
virtual Tab< int >  GetFaceIndexFromSmgrp (DWORD smgrp)=0
  Get the face index for a particular smoothing group.
virtual Tab< FaceEx * >  GetFacesFromMatID (int matID)=0
  Get the faces for a particular Material ID.
virtual IGameMaterial GetMaterialFromFace (int FaceNum)=0
  The actual material used by the Face.
virtual IGameMaterial GetMaterialFromFace (FaceEx *face)=0
  The actual material used by the Face.
virtual Mesh GetMaxMesh ()=0
  The actual 3ds Max Mesh representation.
virtual bool  EvaluateSurface (int FaceIndex, Color *result)=0
  Access the color data for the face specified.
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
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.
virtual int  GetFaceTextureVertex (int faceIndex, int corner, int mapChannel=1)=0
  Get Map Vertex Index for specified face and corner.
virtual int  GetFaceVertexNormal (int faceIndex, int corner)=0
  Get Normal Vertex Index for specified face and corner.
virtual int  GetFaceVertexTangentBinormal (int faceIndex, int corner, int mapChannel=1)=0
  Get Tangent and Binormal Vertex Index for specified face and corner.
virtual DWORD  GetFaceSmoothingGroup (int faceIndex)=0
  Get Smoothing Group for specified face.
virtual int  GetFaceMaterialID (int faceIndex)=0
  Get Material ID for specified face.
virtual int  GetFaceEdgeVisibility (int faceIndex, int edge)=0
  Get Edge Visibility value for specified face and edge.
virtual int  GetNumberOfPolygons ()=0
  N-Polygon support.
virtual int  GetNumberOfPolygonNormals ()=0
  Get the number of Normals in the EPoly NEW for 3DXI V 2.2
virtual int  GetNumberOfPolygonCorners (int PolyIndex)=0
  Get Polygon polygon corners.
virtual Tab< INT >  GetPolygonVertices (int PolyIndex)=0
  Get Polygon vertices.
virtual Tab< INT >  GetPolygonNormals (int PolyIndex)=0
  Get Polygon normals.
virtual Tab< Point3 GetPolygonNormalsArray (int PolyIndex=-1)=0
  Get Polygon normals array NEW for 3DXI V 2.2
virtual Tab< INT >  GetPolygonMapVertices (int PolyIndex, int MapChannel)=0
  Get Polygon map vertices.
virtual Tab< INT >  GetPolygonEgdesVisibility (int PolyIndex)=0
  Get Polygon Edges Visibility.
virtual DWORD  GetPolygonSmoothingGroup (int PolyIndex)=0
  Get Smoothing Group for specified Polygon.
virtual int  GetPolygonMaterialID (int PolyIndex)=0
  Get Material ID for specified Polygon.
virtual Tab< INT >  GetPolygonIndexFromMatID (int MatID)=0
  Get Polygon Indices based on Material ID.
virtual IGameMaterial GetMaterialFromPolygon (int PolyIndex)=0
  Get Polygon Material.

Member Function Documentation

virtual bool InitializeBinormalData ( ) [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

Returns:
true if successful, false otherwise
virtual int GetNumberOfVerts ( ) [pure virtual]

Get number of Vertices.

The total number of vertices found in the mesh

Returns:
The number of Vertices
virtual int GetNumberOfTexVerts ( ) [pure virtual]

Get number of Texture Vertices.

The total number of Texture vertices found in the mesh

Returns:
The number of TextureVertices
virtual Point3 GetVertex ( int  index,
bool  ObjectSpace = false 
) [pure virtual]

Get the actual Vertex.

Get the vertex at the specified index. This is in the World Space Coordinate System

Parameters:
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
Returns:
A Point3 representing the position of the vertex
virtual bool GetVertex ( int  index,
Point3 vert,
bool  ObjectSpace = false 
) [pure virtual]

Get the actual Vertex.

Get the vertex at the specified index. This is in the World Space Coordinate System

Parameters:
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
Returns:
TRUE if successful
virtual Point2 GetTexVertex ( int  index ) [pure virtual]

Get the actual Texture Vertex.

Get the Texture vertex at the specified index

Parameters:
index The index of the Texture vertex
Returns:
A Point2 representing the Texture vertex
virtual bool GetTexVertex ( int  index,
Point2 tex 
) [pure virtual]

Get the actual Texture Vertex.

Get the Texture vertex at the specified index

Parameters:
index The index of the Texture vertex
&tex A Point2 to receive the data.
Returns:
TRUE if successful
virtual void SetUseWeightedNormals ( ) [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

virtual int GetNumberOfNormals ( ) [pure virtual]

Get number of normals.

The total number of normals found in the mesh

Returns:
The number of normals
virtual int GetNormalVertexIndex ( int  index ) [pure virtual]

Get the Vertex Index associated with the Normal NEW for 3DXI V 2.2

Get the Vertex Index associated with the Normal index.

Parameters:
index The index of the normal in the flat list
Returns:
Vertex Index associated with the Normal inex
virtual Point3 GetNormal ( int  index,
bool  ObjectSpace = false 
) [pure virtual]

Get the actual normal.

Get the normal at the specified index.

Parameters:
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
Returns:
A Point3 representing the normal
virtual bool GetNormal ( int  index,
Point3 norm,
bool  ObjectSpace = false 
) [pure virtual]

Get the actual normal.

Get the normal at the specified index in the flat list

Parameters:
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
Returns:
TRUE if successful
virtual bool GetNormal ( int  faceIndex,
int  corner,
Point3 norm,
bool  ObjectSpace = false 
) [pure virtual]

Get the normal based on face and corner.

Parameters:
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
Returns:
TRUE if successful
virtual Point3 GetNormal ( FaceEx face,
int  corner,
bool  ObjectSpace = false 
) [pure virtual]

Get the normal based on face and corner.

Parameters:
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
Returns:
A Point3 containing the normal
virtual bool GetNormal ( FaceEx face,
int  corner,
Point3 norm,
bool  ObjectSpace = false 
) [pure virtual]

Get the normal based on face and corner.

Parameters:
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
Returns:
TRUE if successful
virtual Point3 GetNormal ( int  faceIndex,
int  corner,
bool  ObjectSpace = false 
) [pure virtual]

Get the normal based on face and corner.

Parameters:
faceIndex The index into the face array
corner The vertex whose normal is requested
Returns:
A Point3 containing the normal
Parameters:
ObjectSpace Defines what space the normal is in. This defaults to World space to be compatible with previous versions
virtual int GetNumberOfIllumVerts ( ) [pure virtual]

Get number of Illuminated Vertices.

The total number of Illuminated Vertices found in the mesh

Returns:
The number of Illuminated Vertices
virtual int GetNumberOfAlphaVerts ( ) [pure virtual]

Get number of Alpha Vertices.

The total number of Alpha Vertices found in the mesh

Returns:
The number of Alpha Vertices
virtual int GetNumberOfColorVerts ( ) [pure virtual]

Get number of Vertex Colors.

The total number of Vertex Colors found in the mesh

Returns:
The number of Vertex Colors
virtual Point3 GetColorVertex ( int  index ) [pure virtual]

Get the actual Color Vertex.

Get the color vertex at the specified index

Parameters:
index The index of the color vertex
Returns:
A Point3 representing the color of the vertex. Return Point3(-1,-1,-1) if the index is invalid
virtual bool GetColorVertex ( int  index,
Point3 col 
) [pure virtual]

Get the actual Color Vertex.

Get the color vertex at the specified index

Parameters:
index The index of the color vertex
&col A Point3 to receive the color data
Returns:
TRUE if successful
virtual float GetAlphaVertex ( int  index ) [pure virtual]

Get the actual Alpha Vertex.

Get the Alpha vertex at the specified index

Parameters:
index The index of the Alpha vertex
Returns:
A float representing the Alpha value of the vertex. Return -1 if the index is invalid
virtual bool GetAlphaVertex ( int  index,
float &  alpha 
) [pure virtual]

Get the actual Alpha Vertex.

Get the Alpha vertex at the specified index

Parameters:
index The index of the Alpha vertex
&alpha A float to receive the value
Returns:
TRUE if successful
virtual float GetIllumVertex ( int  index ) [pure virtual]

Get the actual Illuminated Vertex.

Get the Illuminated vertex at the specified index

Parameters:
index The index of the Illuminated vertex
Returns:
A float representing the Illuminated value of the vertex. Return -1 if the index is invalid
virtual bool GetIllumVertex ( int  index,
float &  illum 
) [pure virtual]

Get the actual Illuminated Vertex.

Get the Illuminated vertex at the specified index

Parameters:
index The index of the Illuminated vertex
&illum A float to receive the data
Returns:
TRUE if successful
virtual int GetNumberOfFaces ( ) [pure virtual]

Get the number of faces in the mesh.

The total number of faces contained in the mesh

Returns:
The number of faces
virtual FaceEx* GetFace ( int  index ) [pure virtual]

Get the actual face.

The face represented by the index. The data in FaceEx can be used to lookup into the various arrays

Parameters:
index The index of the face to return
Returns:
A pointer to FaceEx, or NULL if an invalid index is passed in
virtual int GetNumberOfMapVerts ( int  ch ) [pure virtual]

The number of verts in a mapping channel.

Get the number of the vertices for a particular mapping channel

Parameters:
ch The mapping channel to use
Returns:
The number of verts
virtual Point3 GetMapVertex ( int  ch,
int  index 
) [pure virtual]

Get the mapping vertex.

Get the actual mapping vertex for the channel

Parameters:
ch The channel to query
index The vertex index
Returns:
The actual mapping data. This will be 0 if the Mapping channel is not found
virtual bool GetMapVertex ( int  ch,
int  index,
Point3 mVert 
) [pure virtual]

Get the mapping vertex.

Get the actual mapping vertex for the channel

Parameters:
ch The channel to query
index The vertex index
&mVert A Point3 to receive the data
Returns:
TRUE if successful
virtual int GetNumberOfBinormals ( int  mapChannel = 1 ) [pure virtual]

The number of Binormals This function is only available in 3ds Max 6.0 and above

Get the number of the binormals

Parameters:
mapChannel The valid MESH MAP channel, range (-2...99), default - Texture Coordinates
Returns:
The number of binormals for specified map channel
virtual Point3 GetBinormal ( int  index,
int  mapChannel = 1 
) [pure virtual]

Get the actual Binormal This function is only available in 3ds Max 6.0 and above

Get the Binormal at the specified index

Parameters:
index The index of the Binormal
mapChannel The valid MESH MAP channel, range (-2...99), default - Texture Coordinates
Returns:
A Point3 representing the Binormal for specified map channel
virtual bool GetBinormal ( int  index,
Point3 biNormal,
int  mapChannel = 1 
) [pure virtual]

Get the actual Binormal This function is only available in 3ds Max 6.0 and above

Get the Binormal at the specified index

Parameters:
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
Returns:
TRUE if successful
virtual int GetNumberOfTangents ( int  mapChannel = 1 ) [pure virtual]

The number of Tangents This function is only available in 3ds Max 6.0 and above

Get the number of the Tangents

Parameters:
mapChannel The valid MESH MAP channel, range (-2...99), default - Texture Coordinates
Returns:
The number of Tangents for specified map channel
virtual Point3 GetTangent ( int  index,
int  mapChannel = 1 
) [pure virtual]

Get the actual Tangent This function is only available in 3ds Max 6.0 and above

Get the Tangent at the specified index

Parameters:
index The index of the Tangent
mapChannel The valid MESH MAP channel, range (-2...99), default - Texture Coordinates
Returns:
A Point3 representing the Tangent for specified map channel
virtual bool GetTangent ( int  index,
Point3 Tangent,
int  mapChannel = 1 
) [pure virtual]

Get the actual Tangent This function is only available in 3ds Max 6.0 and above

Get the Tangent at the specified index

Parameters:
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
Returns:
TRUE if successful
virtual Tab<int> GetActiveMapChannelNum ( ) [pure virtual]

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.

Returns:
A tab containing the active Mapping channels.
virtual bool GetMapFaceIndex ( int  ch,
int  faceNum,
DWORD *  index 
) [pure virtual]

Get the face index into the mapping channel array.

Get the actual index into the mapping channel for the supplied face.

Parameters:
ch The mapping channel to use
faceNum The face to use
index An array of three indices to receive the indexing into the vertices
Returns:
TRUE if the channel was accessed correctly. False will mean that the channel was not present.
virtual Tab<DWORD> GetActiveSmgrps ( ) [pure virtual]

Get all the smoothing groups found on a mesh.

Returns:
A tab containing the smoothing groups. If the count is zero it means that no smoothing groups were found
virtual Tab<int> GetActiveMatIDs ( ) [pure virtual]

Get all the material IDs found on a mesh.

Returns:
A tab containing the Material IDs
virtual Tab<FaceEx *> GetFacesFromSmgrp ( DWORD  smgrp ) [pure virtual]

Get the face for a particular smoothing group.

Get all the faces belonging to a particular smoothing group

Parameters:
smgrp The smoothing group to use
Returns:
A tab containing all the faces
virtual Tab<int> GetFaceIndexFromSmgrp ( DWORD  smgrp ) [pure virtual]

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

Parameters:
smgrp The smoothing group to use
Returns:
A tab containing all the indexes
virtual Tab<FaceEx *> GetFacesFromMatID ( int  matID ) [pure virtual]

Get the faces for a particular Material ID.

Get all the faces belonging to a particular material ID

Parameters:
matID The material ID to use
Returns:
A tab containing all the faces
virtual IGameMaterial* GetMaterialFromFace ( int  FaceNum ) [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.

Parameters:
FaceNum The index of the face whose material is needed.
Returns:
A pointer to a material. The is the actual material, so in the case of the SubObject material the material whose mat ID matches.
virtual IGameMaterial* GetMaterialFromFace ( FaceEx face ) [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.

Parameters:
face A pointer to the face whose material is needed.
Returns:
A pointer to a material. The is the actual material, so in the case of the SubObject material the material whose mat ID matches.
virtual Mesh* GetMaxMesh ( ) [pure virtual]

The actual 3ds Max Mesh representation.

The Mesh pointer used by 3ds Max. This allows the developer further access if required to the mesh or data structures

Returns:
A Mesh pointer
virtual int GetFaceVertex ( int  faceIndex,
int  corner 
) [pure virtual]

Get Vertex Index for specified face and corner.

Parameters:
faceIndex The face ID to use
corner The face corner to use
Returns:
Vertex Index
virtual int GetFaceTextureVertex ( int  faceIndex,
int  corner,
int  mapChannel = 1 
) [pure virtual]

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

Parameters:
faceIndex The face ID to use
corner The face corner to use
mapChannel The valid MESH MAP channel, range (-2...99), default - Texture Coordinates
Returns:
Map Vertex Index
virtual int GetFaceVertexNormal ( int  faceIndex,
int  corner 
) [pure virtual]

Get Normal Vertex Index for specified face and corner.

Parameters:
faceIndex The face ID to use
corner The face corner to use
Returns:
Normal Vertex Index
virtual int GetFaceVertexTangentBinormal ( int  faceIndex,
int  corner,
int  mapChannel = 1 
) [pure virtual]

Get Tangent and Binormal Vertex Index for specified face and corner.

Parameters:
faceIndex The face ID to use
corner The face corner to use
mapChannel The valid MESH MAP channel, range (-2...99), default - Texture Coordinates
Returns:
Tangent and Binormal Vertex Index if successful, -1 otherwise
virtual DWORD GetFaceSmoothingGroup ( int  faceIndex ) [pure virtual]

Get Smoothing Group for specified face.

Parameters:
faceIndex The face ID to use
Returns:
Smoothing Group value
virtual int GetFaceMaterialID ( int  faceIndex ) [pure virtual]

Get Material ID for specified face.

Parameters:
faceIndex The face ID to use
Returns:
Material ID value
virtual int GetFaceEdgeVisibility ( int  faceIndex,
int  edge 
) [pure virtual]

Get Edge Visibility value for specified face and edge.

Parameters:
faceIndex The face ID to use
edge The edge to use
Returns:
1 if edge visible, 0 otherwise
virtual bool EvaluateSurface ( int  FaceIndex,
Color result 
) [pure virtual]

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

Parameters:
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]
Returns:
TRUE is successful. Possible errors include the object not being renderable or is hidden.
See also:
IGameRenderedSurface
virtual void SetCreateOptimizedNormalList ( ) [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.

virtual int GetNumberOfPolygons ( ) [pure virtual]

N-Polygon support.

Get the number of polygons in the EPoly

The total number of polygons contained in the EPoly

Returns:
The number of polygons, zero if mesh can not be converted to EPoly
virtual int GetNumberOfPolygonNormals ( ) [pure virtual]

Get the number of Normals in the EPoly NEW for 3DXI V 2.2

The total number of Normalscontained in the EPoly

Returns:
The number of Normals, zero if mesh can not be converted to EPoly
virtual int GetNumberOfPolygonCorners ( int  PolyIndex ) [pure virtual]

Get Polygon polygon corners.

The degree (corners) for given polygon in the EPoly

Parameters:
PolyIndex The polygon index is being evaluated
Returns:
The degree (corners) for polygon, zero if mesh can not be converted to EPoly
virtual Tab<INT> GetPolygonVertices ( int  PolyIndex ) [pure virtual]

Get Polygon vertices.

The vertices ID's for given polygon in the EPoly

Parameters:
PolyIndex The polygon index is being evaluated
Returns:
The vertices ID's as an array, empty if mesh can not be converted to EPoly
virtual Tab<INT> GetPolygonNormals ( int  PolyIndex ) [pure virtual]

Get Polygon normals.

The normals ID's for given polygon in the EPoly

Parameters:
PolyIndex The polygon index is being evaluated
Returns:
The normals ID's as an array, empty if mesh can not be converted to EPoly
virtual Tab<Point3> GetPolygonNormalsArray ( int  PolyIndex = -1 ) [pure virtual]

Get Polygon normals array NEW for 3DXI V 2.2

The normals array

Parameters:
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.
Returns:
The normals as an array, empty if mesh can not be converted to EPoly
virtual Tab<INT> GetPolygonMapVertices ( int  PolyIndex,
int  MapChannel 
) [pure virtual]

Get Polygon map vertices.

The map vetrices ID's for given polygon in the EPoly

Parameters:
PolyIndex The polygon index is being evaluated
MapChannel The map channel is being evaluated
Returns:
The map vertices ID's as an array, empty if mesh can not be converted to EPoly
virtual Tab<INT> GetPolygonEgdesVisibility ( int  PolyIndex ) [pure virtual]

Get Polygon Edges Visibility.

The Edges Visibility values for given polygon in the EPoly

Parameters:
PolyIndex The polygon index is being evaluated
Returns:
The Edges Visibility array (1 if edge visible, 0 otherwise), empty if mesh can not be converted to EPoly
virtual DWORD GetPolygonSmoothingGroup ( int  PolyIndex ) [pure virtual]

Get Smoothing Group for specified Polygon.

Parameters:
PolyIndex The polygon index is being evaluated
Returns:
Smoothing Group value
virtual int GetPolygonMaterialID ( int  PolyIndex ) [pure virtual]

Get Material ID for specified Polygon.

Parameters:
PolyIndex The polygon index is being evaluated
Returns:
Material ID value
virtual Tab<INT> GetPolygonIndexFromMatID ( int  MatID ) [pure virtual]

Get Polygon Indices based on Material ID.

The Polygon ID's for given Material ID in the EPoly

Parameters:
MatID The face index is being evaluated
Returns:
The vertices ID's as an array, empty if mesh can not be converted to EPoly
virtual IGameMaterial* GetMaterialFromPolygon ( int  PolyIndex ) [pure virtual]

Get Polygon Material.

The Material for given polygon in the EPoly

Parameters:
PolyIndex The polygon index is being evaluated
Returns:
The Polygon Material, NULL if not exists

IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh
IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh IGameMesh