3ds Max C++ API Reference
SlateModelWrapper Class Reference

SlateModelWrapper is a simple wrapper class that holds an internal pointer to a particle flow slate model. More...

#include <SlateModelWrapper.h>

+ Inheritance diagram for SlateModelWrapper:

Public Types

enum  Direction { Direction_None = 0x0 , Direction_In = 0x1 , Direction_Out = 0x2 , Direction_Both = 0x3 }
 

Public Member Functions

 SlateModelWrapper ()
 
 SlateModelWrapper (const SlateModelWrapper &slateModelWrapper)
 
virtual ~SlateModelWrapper ()
 
Slate::IModel * GetModel ()
 Returns a pointer to the original wrapped slate model. More...
 
void SetDirection (Direction direction)
 Sets the connection direction of the wrapped slate model. More...
 
void NotifyListenersDisplayColorChanged ()
 Helpers for the public maxsdk sample class PFOperatorDisplay. More...
 
void DefineColorSwatchUI ()
 Helpers for the public maxsdk sample class PFOperatorDisplay. More...
 
void RefreshColorSwatchVisibility ()
 Helpers for the public maxsdk sample class PFOperatorDisplay. More...
 
void RefMakerNotifyTarget (int message, ReferenceMaker *hMaker)
 Need to be called by NotifyTarget( int message, ReferenceMaker* hMaker ) in the object that derives from SlateModelWrapper. 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

SlateModelWrapper is a simple wrapper class that holds an internal pointer to a particle flow slate model.

Public particle flow actions/operators need to derive from this class when they want to show up in the new slate particle view. The memory management of the internal model is done by the wrapper. This wrapper class has been introduced temporarily in order to keep the MaxSDK clean from any appearances of the currently non public SlateSDK. When the SlateSDK is final this wrapper class can be replaced again, with it's according slate model class.

Member Enumeration Documentation

◆ Direction

enum Direction
Enumerator
Direction_None 
Direction_In 
Direction_Out 
Direction_Both 
38  {
39  Direction_None = 0x0, // no connections at all
40  Direction_In = 0x1, // accepts uni- and bi-directional connections
41  Direction_Out = 0x2, // accepts only uni-directional connections : other OUT -> this IN
42  Direction_Both = 0x3, // accepts only uni-directional connections : this OUT -> other IN
43  };
@ Direction_In
Definition: SlateModelWrapper.h:40
@ Direction_None
Definition: SlateModelWrapper.h:39
@ Direction_Out
Definition: SlateModelWrapper.h:41
@ Direction_Both
Definition: SlateModelWrapper.h:42

Constructor & Destructor Documentation

◆ SlateModelWrapper() [1/2]

◆ SlateModelWrapper() [2/2]

SlateModelWrapper ( const SlateModelWrapper slateModelWrapper)

◆ ~SlateModelWrapper()

virtual ~SlateModelWrapper ( )
virtual

Member Function Documentation

◆ GetModel()

Slate::IModel* GetModel ( )
inline

Returns a pointer to the original wrapped slate model.

33 { return mModel; }

◆ SetDirection()

void SetDirection ( Direction  direction)

Sets the connection direction of the wrapped slate model.

In case of a test operator it is Direction_Out for simple action operators its just Direction_None.

Parameters
[in]directionThe connection of the wrapped model.

◆ NotifyListenersDisplayColorChanged()

void NotifyListenersDisplayColorChanged ( )

Helpers for the public maxsdk sample class PFOperatorDisplay.

Notify slate model listeners like the ui controller about the color change, so that it can update the color of the slate color swatch.

◆ DefineColorSwatchUI()

void DefineColorSwatchUI ( )

Helpers for the public maxsdk sample class PFOperatorDisplay.

Defines the display operator should use a slate color swatch for its UI edit control.

◆ RefreshColorSwatchVisibility()

void RefreshColorSwatchVisibility ( )

Helpers for the public maxsdk sample class PFOperatorDisplay.

Updates visibility state of Color Swatch UI

◆ RefMakerNotifyTarget()

void RefMakerNotifyTarget ( int  message,
ReferenceMaker hMaker 
)

Need to be called by NotifyTarget( int message, ReferenceMaker* hMaker ) in the object that derives from SlateModelWrapper.

It is internally used by slate to detect if the according INode for a particle flow action gets deleted.