3ds Max C++ API Reference
IRenderElementMgr Class Referenceabstract

#include <renderelements.h>

+ Inheritance diagram for IRenderElementMgr:

Public Types

enum  {
  fps_AddRenderElement , fps_RemoveRenderElement , fps_RemoveAllRenderElements , fps_NumRenderElements ,
  fps_GetRenderElement , fps_SetElementsActive , fps_GetElementsActive , fps_SetDisplayElements ,
  fps_GetDisplayElements , fps_SetRenderElementFilename , fps_GetRenderElementFilename
}
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 

Public Member Functions

virtual BOOL AppendMergedRenderElement (IRenderElement *pRenderElement)=0
 
virtual BOOL AppendMergedRenderElement (ReferenceTarget *pRenderElement)=0
 
virtual BOOL AddRenderElement (IRenderElement *pRenderElement)=0
 
virtual BOOL AddRenderElement (ReferenceTarget *pRenderElement)=0
 
virtual BOOL RemoveRenderElement (IRenderElement *pRenderElement)=0
 
virtual BOOL RemoveRenderElement (ReferenceTarget *pRenderElement)=0
 
virtual void RemoveAllRenderElements ()=0
 
virtual int NumRenderElements ()=0
 
virtual IRenderElementGetRenderElement (int index)=0
 
virtual void SetElementsActive (BOOL elementsActive)=0
 
virtual BOOL GetElementsActive () const =0
 
virtual void SetDisplayElements (BOOL displayElements)=0
 
virtual BOOL GetDisplayElements () const =0
 
- Public Member Functions inherited from FPMixinInterface
 FPMixinInterface ()
 
virtual LifetimeType LifetimeControl ()
 
virtual CoreExport bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
CoreExport ~FPMixinInterface ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDescByID (Interface_ID id)
 
virtual Interface_ID GetID ()
 
- Public Member Functions inherited from FPInterface
virtual FPInterfaceDescGetDesc ()=0
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

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...
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from FPMixinInterface
 FPMixinInterface (const FPMixinInterface &rhs)
 
FPMixinInterfaceoperator= (const FPMixinInterface &rhs)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 
- Protected Attributes inherited from FPMixinInterface
Tab< InterfaceNotifyCallback * > * interfaceNotifyCBs
 

Detailed Description

See also
Class IRenderElement, Class FPMixinInterface, Class ReferenceTarget, Render Elements

Description:
This class represents the interface for the Render Element Manager. A sample plugin of a Render Element can be found in the SDK samples; /MAXSDK/SAMPLES/RENDER/RENDERELEMENTS.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
fps_AddRenderElement 
fps_RemoveRenderElement 
fps_RemoveAllRenderElements 
fps_NumRenderElements 
fps_GetRenderElement 
fps_SetElementsActive 
fps_GetElementsActive 
fps_SetDisplayElements 
fps_GetDisplayElements 
fps_SetRenderElementFilename 
fps_GetRenderElementFilename 
868  {
874  };
@ fps_SetDisplayElements
Definition: renderelements.h:872
@ fps_GetRenderElement
Definition: renderelements.h:870
@ fps_SetElementsActive
Definition: renderelements.h:871
@ fps_GetRenderElementFilename
Definition: renderelements.h:873
@ fps_AddRenderElement
Definition: renderelements.h:869
@ fps_RemoveAllRenderElements
Definition: renderelements.h:869
@ fps_RemoveRenderElement
Definition: renderelements.h:869
@ fps_SetRenderElementFilename
Definition: renderelements.h:873
@ fps_GetDisplayElements
Definition: renderelements.h:872
@ fps_GetElementsActive
Definition: renderelements.h:871
@ fps_NumRenderElements
Definition: renderelements.h:870

Member Function Documentation

◆ AppendMergedRenderElement() [1/2]

virtual BOOL AppendMergedRenderElement ( IRenderElement pRenderElement)
pure virtual
Remarks
This method gets called by the system to add a Render Element when it is merged from another file.
Parameters:
IRenderElement *pRenderElement

A pointer to the Render Element to add.
Returns
TRUE if the merging was successful, FALSE if it was not.

◆ AppendMergedRenderElement() [2/2]

virtual BOOL AppendMergedRenderElement ( ReferenceTarget pRenderElement)
pure virtual
Remarks
This method gets called by the system to add a Render Element when it is merged from another file and ensures that the Reference Target is a Render Element.
Parameters:
ReferenceTarget *pRenderElement

A pointer to the Render Element to add.
Returns
TRUE if the merging was successful, FALSE if it was not.

◆ AddRenderElement() [1/2]

virtual BOOL AddRenderElement ( IRenderElement pRenderElement)
pure virtual
Remarks
This method adds an IRenderElement instance to the manager's list.
Parameters:
IRenderElement *pRenderElement

A pointer to the Render Element to add.
Returns
TRUE if the addition was successful, FALSE if it was not.

◆ AddRenderElement() [2/2]

virtual BOOL AddRenderElement ( ReferenceTarget pRenderElement)
pure virtual
Remarks
This method adds an IRenderElement instance to the manager's list and ensures that the Reference Target is a Render Element.
Parameters:
ReferenceTarget *pRenderElement

A pointer to the Render Element to add.
Returns
TRUE if the addition was successful, FALSE if it was not.

◆ RemoveRenderElement() [1/2]

virtual BOOL RemoveRenderElement ( IRenderElement pRenderElement)
pure virtual

◆ RemoveRenderElement() [2/2]

virtual BOOL RemoveRenderElement ( ReferenceTarget pRenderElement)
pure virtual
Remarks
This method removes an IRenderElement instance from the manager's list and ensures that the Reference Target is a Render Element.
Parameters:
ReferenceTarget *pRenderElement

A pointer to the Render Element to remove.
Returns
TRUE if the addition was successful, FALSE if it was not.

◆ RemoveAllRenderElements()

virtual void RemoveAllRenderElements ( )
pure virtual
Remarks
This method will remove all the IRenderElement instances from the manager's list.

◆ NumRenderElements()

virtual int NumRenderElements ( )
pure virtual
Remarks
This method returns the number of Render Elements contained in the manager's list.

◆ GetRenderElement()

virtual IRenderElement* GetRenderElement ( int  index)
pure virtual
Remarks
This method returns a pointer to a specific Render Element in manager's list.
Parameters:
int index

The index of the Render Element in the manager's list.
Returns
A pointer to the specific Render Element or NULL if the index is invalid.

◆ SetElementsActive()

virtual void SetElementsActive ( BOOL  elementsActive)
pure virtual
Remarks
This method sets whether the Render Elements List should be active during a render.
Parameters:
BOOL elementsActive

TRUE to activate the Render Elements List, FALSE to deactivate.

◆ GetElementsActive()

virtual BOOL GetElementsActive ( ) const
pure virtual
Remarks
This method checks if the Render Elements List is active during a render and will return TRUE if it is or FALSE if it is not.

◆ SetDisplayElements()

virtual void SetDisplayElements ( BOOL  displayElements)
pure virtual
Remarks
This method sets whether the Render Elements should be displayed in their own (VFB) viewer window.
Parameters:
BOOL displayElements

TRUE to display in their own viewer, FALSE if you do not want to.

◆ GetDisplayElements()

virtual BOOL GetDisplayElements ( ) const
pure virtual
Remarks
This method checks whether the Render Elements are displayed in their own (VFB) viewer window and will return TRUE if they are or FALSE if they are not.