3ds Max C++ API Reference
|
Typically ICustomRenderItem::Draw() and ICustomRenderItem::HitTest() bring instance of this class as parameter. More...
#include <DrawContext.h>
Public Member Functions | |
virtual const Matrix44 & | GetWorldMatrix () const =0 |
Get current world matrix Note: If you want change the world matrix, you must first copy it to another instance, then apply the world matrix via SetWorldMatrix(). | |
virtual void | SetWorldMatrix (const Matrix44 &matrix)=0 |
Set current world matrix Note: If you want change the world matrix, you must first copy it to another instance, then apply the world matrix via SetWorldMatrix(). | |
virtual void | SetWorldMatrix (const Matrix3 &matrix)=0 |
Set current world matrix /param matrix new world matrix. | |
virtual const Matrix44 & | GetViewMatrix () const =0 |
Get current view matrix Note: If you want change the view matrix, you must first copy it to another instance, then apply the view matrix via SetViewMatrix(). | |
virtual void | SetViewMatrix (const Matrix44 &matrix)=0 |
Set current world matrix Note: If you want change the world matrix, you must first copy it to another instance, then apply the world matrix via SetWorldMatrix(). | |
virtual const Matrix44 & | GetProjectionMatrix () const =0 |
Get current projection matrix Note: If you want change the projection matrix, you must first copy it to another instance, then apply the projection matrix via SetProjectionatrix(). | |
virtual void | SetProjectionMatrix (const Matrix44 &matrix)=0 |
Set current projection matrix Note: If you want change the projection matrix, you must first copy it to another instance, then apply the projection matrix via SetProjectionatrix(). | |
virtual IVirtualDevice & | GetVirtualDevice ()=0 |
Get virtual device Note: Don't store the virtual device on client side. | |
virtual INode * | GetCurrentNode ()=0 |
Get current INode object /return INode object. | |
virtual int | GetExtendedDisplayMode () const =0 |
Get node's extended display mode /return extended display mode flag from node. | |
virtual const ViewExp * | GetViewExp () const =0 |
Get current ViewExp Note: Legacy GraphicsWindow object also available in the ViewExp. | |
virtual const MaxSDK::Graphics::BaseMaterialHandle & | GetMaterial () const =0 |
Get current material handle /return current material handle Note: the handle might be invalid. | |
virtual int | GetFrameStamp ()=0 |
Get current frame stamp return current frame stamp. | |
virtual TimeValue | GetTime () const =0 |
Get current animation time return current animation time. | |
virtual bool | GetAlphaTestEnabled () const =0 |
Get the alpha test enabled flag. | |
virtual void | SetAlphaTestEnabled (bool value)=0 |
Set the alpha test enabled flag. | |
virtual CompareFunction | GetAlphaTestFunction ()=0 |
Gets the alpha test comparison function. | |
virtual void | SetAlphaTestFunction (CompareFunction value)=0 |
Sets the alpha test comparison function. | |
virtual float | GetAlphaTestReference () const =0 |
Gets the alpha test reference value. | |
virtual void | SetAlphaTestReference (float value)=0 |
Sets the alpha test reference value. | |
virtual const MaxSDK::Graphics::IViewportViewSetting * | GetViewportSettings () const =0 |
Gets viewport settings /return viewport settings. | |
virtual bool | IsHitTest () const =0 |
Get if this draw context is used for hit test /return true if the draw context is used for hit test pass. | |
Protected Member Functions | |
virtual | ~DrawContext () |
Additional Inherited Members | |
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. | |
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. | |
Typically ICustomRenderItem::Draw() and ICustomRenderItem::HitTest() bring instance of this class as parameter.
It contains the complete state of a single item being drawn all system supplied variables are contained here, for example, current virtual device and matrices. Developers may need these information to determine Display and HitTest code paths.
|
inlineprotectedvirtual |
|
pure virtual |
Get current world matrix Note: If you want change the world matrix, you must first copy it to another instance, then apply the world matrix via SetWorldMatrix().
/return current world matrix.
Set current world matrix Note: If you want change the world matrix, you must first copy it to another instance, then apply the world matrix via SetWorldMatrix().
/param matrix new world matrix.
Set current world matrix /param matrix new world matrix.
|
pure virtual |
Get current view matrix Note: If you want change the view matrix, you must first copy it to another instance, then apply the view matrix via SetViewMatrix().
/return current view matrix.
Set current world matrix Note: If you want change the world matrix, you must first copy it to another instance, then apply the world matrix via SetWorldMatrix().
/param matrix new world matrix.
|
pure virtual |
Get current projection matrix Note: If you want change the projection matrix, you must first copy it to another instance, then apply the projection matrix via SetProjectionatrix().
/return current projection matrix.
Set current projection matrix Note: If you want change the projection matrix, you must first copy it to another instance, then apply the projection matrix via SetProjectionatrix().
/param matrix new projection matrix.
|
pure virtual |
Get virtual device Note: Don't store the virtual device on client side.
You should always use the virtual device in the pipeline context. Because in DX11 multi-thread environment, the device may different in each call. /return virtual device.
|
pure virtual |
Get node's extended display mode /return extended display mode flag from node.
|
pure virtual |
Get current ViewExp Note: Legacy GraphicsWindow object also available in the ViewExp.
But we recommend to use new VirtualDevice object to do rendering task. /return ViewExp object
|
pure virtual |
Get current material handle /return current material handle Note: the handle might be invalid.
Which means current item don't have material.
|
pure virtual |
Get current frame stamp return current frame stamp.
|
pure virtual |
Get current animation time return current animation time.
|
pure virtual |
Get the alpha test enabled flag.
The default value is false (disabled). /return current alpha test flag. True means enabled, false means disabled.
|
pure virtual |
Set the alpha test enabled flag.
The default value is false (disabled). /param value new alpha test flag. True means enabled, false means disabled.
|
pure virtual |
Gets the alpha test comparison function.
The default value is CompareFunctionAlways. /return current alpha test comparison function.
|
pure virtual |
Sets the alpha test comparison function.
The default value is CompareFunctionAlways. /param value the new alpha test comparison function.
|
pure virtual |
Gets the alpha test reference value.
The default value is 0.0f. /return alpha test reference value.
|
pure virtual |
Sets the alpha test reference value.
The value must be in the range [0.0, 1.0]. /param value new alpha test reference value
|
pure virtual |
Gets viewport settings /return viewport settings.
|
pure virtual |
Get if this draw context is used for hit test /return true if the draw context is used for hit test pass.