3ds Max C++ API Reference
IGameConversionManager Class Referenceabstract

A developer can use this class to define what Coord Systems IGame exports the data in. More...

#include <IConversionManager.h>

+ Inheritance diagram for IGameConversionManager:

Public Types

enum  CoordSystem { IGAME_MAX , IGAME_D3D , IGAME_OGL , IGAME_USER }
 The supported Coordinate Systems. More...
 

Public Member Functions

virtual void SetCoordSystem (CoordSystem Coord)=0
 Set IGame up for the Coordinate System you are wanting the data to be present in. More...
 
virtual CoordSystem GetCoordSystem ()=0
 Get the Coordinate System. More...
 
virtual void SetUserCoordSystem (UserCoord UC)=0
 Set the User defined Coordinate system, if the CoordSystem has been defined as IGAME_USER. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_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...
 

Detailed Description

A developer can use this class to define what Coord Systems IGame exports the data in.

IGame will convert data from the standard 3ds Max RH Z up system to any defined system. At the moment direct support for DirectX and OpenGL are provided. This means that all Matrix and vertex data will have been converted ready to use on your target system.
The coordinate system should set up straight after initialising IGame. The default is to provide everything in 3ds Max native formats.

Member Enumeration Documentation

◆ CoordSystem

The supported Coordinate Systems.

These are used to tell IGame how to format the data

Enumerator
IGAME_MAX 

Max RH Z up & +Y.

IGAME_D3D 

DirectX LH Y up & +Z.

IGAME_OGL 

OpenGL RH Y up & -Z.

IGAME_USER 

User defined Coord System.

88  {
89  IGAME_MAX,
90  IGAME_D3D,
91  IGAME_OGL,
92  IGAME_USER
93  };
@ IGAME_USER
User defined Coord System.
Definition: IConversionManager.h:92
@ IGAME_MAX
Max RH Z up & +Y.
Definition: IConversionManager.h:89
@ IGAME_D3D
DirectX LH Y up & +Z.
Definition: IConversionManager.h:90
@ IGAME_OGL
OpenGL RH Y up & -Z.
Definition: IConversionManager.h:91

Member Function Documentation

◆ SetCoordSystem()

virtual void SetCoordSystem ( CoordSystem  Coord)
pure virtual

Set IGame up for the Coordinate System you are wanting the data to be present in.

The default system is the 3ds MAX system.

Parameters
CoordThe Coordinate system to use If Coord is IGAME_USER then you must set this data via SetUserCoordSystem

◆ GetCoordSystem()

virtual CoordSystem GetCoordSystem ( )
pure virtual

Get the Coordinate System.

The default system is the 3ds MAX system.

Returns
The current Coordinate System used, one of the IGameConversionManager::CoordSystem

◆ SetUserCoordSystem()

virtual void SetUserCoordSystem ( UserCoord  UC)
pure virtual

Set the User defined Coordinate system, if the CoordSystem has been defined as IGAME_USER.

Allow a user definable Coordinate System. See comments above.

Parameters
UCTHe data to define the system