3ds Max C++ API Reference
UpdateDisplayContext Class Reference

This class contains all information that will be passed to IObjectDisplay::UpdateDisplay and will be used by plugin to update its display data. More...

#include <UpdateDisplayContext.h>

+ Inheritance diagram for UpdateDisplayContext:

Public Member Functions

GraphicsDriverAPI UpdateDisplayContext ()
 
virtual GraphicsDriverAPI ~UpdateDisplayContext ()
 
GraphicsDriverAPI unsigned long GetRequiredComponents () const
 Get component requirement flags. More...
 
GraphicsDriverAPI void SetRequiredComponents (unsigned long requiredComponent)
 Set component requirement flags. More...
 
GraphicsDriverAPI void ClearRequiredStreams ()
 Clear the required stream of this class. More...
 
GraphicsDriverAPI const MaterialRequiredStreamsGetRequiredStreams () const
 Get the required streams. More...
 
GraphicsDriverAPI MaterialRequiredStreamsGetRequiredStreams ()
 Get the required streams. More...
 
GraphicsDriverAPI void AddRequiredStreams (const MaterialRequiredStreams &requiredStreams)
 Add stream requirements, so that the new requirement of the UpdateDisplayContext contains both old requirement and the newly input requirement. More...
 
GraphicsDriverAPI void SetDisplayTime (TimeValue t)
 Set the display time of this UpdateDisplayContext. More...
 
GraphicsDriverAPI TimeValue GetDisplayTime () const
 Get the display time. More...
 
GraphicsDriverAPI size_t GetNumberOfOwnerNodes () const
 Get the number of nodes that reference the plugin object. More...
 
GraphicsDriverAPI INodeGetOwnerNode (size_t i) const
 Get the i-th owner node of the array. More...
 

Protected Attributes

voidmpImpl
 

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

This class contains all information that will be passed to IObjectDisplay::UpdateDisplay and will be used by plugin to update its display data.

All the value of this class are set by system and plugin developers should build render items to satisfy those requirements.

Constructor & Destructor Documentation

◆ UpdateDisplayContext()

◆ ~UpdateDisplayContext()

Member Function Documentation

◆ GetRequiredComponents()

GraphicsDriverAPI unsigned long GetRequiredComponents ( ) const

Get component requirement flags.

Component requirement flag is decided by current viewport configuration: visual style, edged faces, etc. and node display properties: backface cull, vertex ticks, etc.

See also
ObjectComponentRequirement
Returns
A combination of RenderItemCategory

◆ SetRequiredComponents()

GraphicsDriverAPI void SetRequiredComponents ( unsigned long  requiredComponent)

Set component requirement flags.

See also
ObjectComponentRequirement
Parameters
requiredComponentA combination of RenderItemCategory

◆ ClearRequiredStreams()

GraphicsDriverAPI void ClearRequiredStreams ( )

Clear the required stream of this class.

◆ GetRequiredStreams() [1/2]

GraphicsDriverAPI const MaterialRequiredStreams& GetRequiredStreams ( ) const

Get the required streams.

Required streams is for generating mesh render items.

See also
MaterialRequiredStreams

◆ GetRequiredStreams() [2/2]

GraphicsDriverAPI MaterialRequiredStreams& GetRequiredStreams ( )

Get the required streams.

Required streams is for generating mesh render items.

See also
MaterialRequiredStreams

◆ AddRequiredStreams()

GraphicsDriverAPI void AddRequiredStreams ( const MaterialRequiredStreams requiredStreams)

Add stream requirements, so that the new requirement of the UpdateDisplayContext contains both old requirement and the newly input requirement.

See also
MaterialRequiredStreams
Parameters
[in]requiredStreamsthe requirement to be added.

◆ SetDisplayTime()

GraphicsDriverAPI void SetDisplayTime ( TimeValue  t)

Set the display time of this UpdateDisplayContext.

The display time is not necessarily the current time of 3ds max. This allows viewport to display objects with different time.

Parameters
[in]tThe current time.

◆ GetDisplayTime()

GraphicsDriverAPI TimeValue GetDisplayTime ( ) const

Get the display time.

Returns
the current time.

◆ GetNumberOfOwnerNodes()

GraphicsDriverAPI size_t GetNumberOfOwnerNodes ( ) const

Get the number of nodes that reference the plugin object.

Returns
the number of owner nodes.

◆ GetOwnerNode()

GraphicsDriverAPI INode* GetOwnerNode ( size_t  i) const

Get the i-th owner node of the array.

Parameters
[in]ithe index of the node in this context.
Returns
the i-th owner node.

Member Data Documentation

◆ mpImpl

void* mpImpl
protected