3ds Max C++ API Reference
IDxSceneTransformManager Class Referenceabstract

An interface to allow access to scene transforms. More...

#include <RTMax.h>

+ Inheritance diagram for IDxSceneTransformManager:

Public Types

enum  TransformType { kWorldXform , kViewXform , kProjectionXform }
 

Public Member Functions

virtual ~IDxSceneTransformManager ()
 Destructor. More...
 
virtual D3DXMATRIX GetD3DMatrix (TransformType matType)=0
 Get the current matrix. More...
 
virtual void SetD3DMatrix (const MCHAR *paramName)=0
 Set the current Matrix. More...
 
virtual void SetD3DMatrix (D3DXMATRIX mat, TransformType matType)=0
 Set the currentMatrix. More...
 
virtual D3DXMATRIX GetD3DMatrix (const MCHAR *paramName, TransformType matType)=0
 Get the current matrix. 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

An interface to allow access to scene transforms.

This is important as depending on the pass different transforms may be required. Using this system makes sure the correct transform is used.

Member Enumeration Documentation

◆ TransformType

Enumerator
kWorldXform 
kViewXform 
kProjectionXform 
794  {
795  kWorldXform,
796  kViewXform,
798  };
@ kViewXform
Definition: RTMax.h:796
@ kProjectionXform
Definition: RTMax.h:797
@ kWorldXform
Definition: RTMax.h:795

Constructor & Destructor Documentation

◆ ~IDxSceneTransformManager()

virtual ~IDxSceneTransformManager ( )
inlinevirtual

Destructor.

800 {;}

Member Function Documentation

◆ GetD3DMatrix() [1/2]

virtual D3DXMATRIX GetD3DMatrix ( TransformType  matType)
pure virtual

Get the current matrix.

Get the Scene based Transforms such as View and Projection, this shouldn't be used for world matrix info

Parameters
matTypeThe matrix to receive
Returns
A D3D Matrix

◆ SetD3DMatrix() [1/2]

virtual void SetD3DMatrix ( const MCHAR paramName)
pure virtual

Set the current Matrix.

Set the Projection and View Matrix for the parameter supplied. This currently only supports lights

Parameters
paramNameA pointer to a string containing the name as defined in the effect file.

◆ SetD3DMatrix() [2/2]

virtual void SetD3DMatrix ( D3DXMATRIX  mat,
TransformType  matType 
)
pure virtual

Set the currentMatrix.

Allows a developer to store Projection and View matrix data. This will be typically used to store effect specific matrices used in environmental rendering. An example would be cube map generation. The developer needs to make sure the data is up to date for when the shaders require this. Ideally this would set in a PreRender method.

Parameters
matThe matrix to store
matTypeThe type of matrix to store

◆ GetD3DMatrix() [2/2]

virtual D3DXMATRIX GetD3DMatrix ( const MCHAR paramName,
TransformType  matType 
)
pure virtual

Get the current matrix.

Returns the matrix for the specified parameter

Parameters
paramNameA pointer to a string containing the name as defined in the effect file
matTypeThe transform to obtain
Returns
A D3D Matrix