|
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
|
|
|
Get Vertex Index for specified face and corner
|
virtual int | GetFaceVertex (int faceIndex, int corner)=0 |
|
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 supportGet the number of polygons in the EPoly.
|
|
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.
|
|
| IGameObject () |
| Default constructor.
|
|
IGAMEEXPORT void | GetBoundingBox (Box3 &bb) |
| The bounding box of the object.
|
|
IGAMEEXPORT bool | IsRenderable () |
| Check if object renderable.
|
|
virtual ObjectTypes | GetIGameType ()=0 |
| The IGame object type.
|
|
IGAMEEXPORT Object * | GetMaxObject () |
| Access to the actual 3ds Max object.
|
|
IGAMEEXPORT MaxType | GetMaxType () |
| The 3ds Max object type.
|
|
IGAMEEXPORT int | GetNumModifiers () |
| The number of modifiers active on the object.
|
|
IGAMEEXPORT IGameModifier * | GetIGameModifier (int index) |
| Access to IGame modifier.
|
|
IGAMEEXPORT | IGameObject (INode *node) |
| The IGameObject constructor.
|
|
IGAMEEXPORT bool | CastShadows () |
| Check if Object casts shadows.
|
|
IGAMEEXPORT bool | IsObjectSkinned () |
| Check if object skinned.
|
|
IGAMEEXPORT IGameSkin * | GetIGameSkin () |
| Access to the Skin interface.
|
|
IGAMEEXPORT bool | IsObjectXRef () |
| Check if XRef object.
|
|
IGAMEEXPORT GMatrix | GetIGameObjectTM () |
| Access to the ObjectTM.
|
|
virtual bool | InitializeData () |
| Extract the 3ds Max data into IGame data.
|
|
virtual | ~IGameObject ()=0 |
|
virtual | ~IExportEntity () |
| Destructor.
|
|
virtual IPropertyContainer * | GetIPropertyContainer () |
| Retrieve the Property Container.
|
|
virtual bool | IsEntitySupported () |
| Is the Entity directly supported.
|
|
virtual const MCHAR * | GetClassName ()=0 |
| Retrieves the name of the entity class.
|
|
|
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 UtilExport void * | operator new (size_t size) |
| Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate arrays of objects.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
| Placement new operator.
|
|
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
| Placement delete operator.
|
|
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
| Allocates memory on a specified alignment boundary.
|
|
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
| Reallocates memory on a specified alignment boundary.
|
|
static UtilExport void | aligned_free (void *ptr) |
| Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
|
|
void | SetNode (INode *n) |
|
INode * | gameNode |
|
Object * | gameObject |
|
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.