3ds Max C++ API Reference
|
Represents an instance of a schematic view window and provides methods for adding nodes and node pointers, refreshing the schematic view, accessing filter bits and updating and controlling the various editors within 3ds Max in ways that are not surfaced in the general interface. More...
#include <svcore.h>
Public Member Functions | |
virtual void | PushLevel (Animatable *anim, int id=SV_NO_ID)=0 |
Push a level onto the animatable ownership stack. | |
virtual void | PopLevel ()=0 |
Pops a level off the animatable ownership stack. | |
virtual SvGraphNodeReference | AddAnimatable (Animatable *anim, Animatable *owner, int id, DWORD flags=0)=0 |
Adds an Animatable to the schematic view. | |
virtual IGraphRef * | AddReference (IGraphNode *maker, IGraphNode *target, SvReferenceType type)=0 |
This method adds a reference from the specified "maker" node to the specified "target" node. | |
virtual IGraphRef * | AddRelationship (IGraphNode *maker, Animatable *target, int id, SvRelationshipType type)=0 |
This method adds a relationship from the specified "maker" node to the specified "target" node. | |
virtual void | SvEditSelectedNodeProperties ()=0 |
Pops up the property editor dialog on the selected nodes in the schematic view. | |
virtual void | SvSelectInMaterialEditor (IGraphNode *gNode)=0 |
Selects the given node in the material editor. | |
virtual void | SvSetCurEditObject (IGraphNode *gNode)=0 |
Selects the given node in the modifier panel. | |
virtual bool | SvIsCurEditObject (IGraphNode *gNode)=0 |
Returns true if the given node is current in the modifier panel. | |
virtual bool | ApplyModifier (IGraphNode *gModNode, IGraphNode *gParentNode)=0 |
virtual bool | DeleteModifier (IGraphNode *gNode)=0 |
virtual bool | ApplyController (IGraphNode *gSrcNode, IGraphNode *gDestNode)=0 |
Invokes the copy/instance controller dialog within schematic view. | |
virtual void | SvInvalidateView ()=0 |
Invalidates the schematic view window. | |
virtual void | SvInvalidateNode (IGraphNode *gNode)=0 |
Invalidates a node in the schematic view window. | |
virtual void | SvUpdateMaterialEditor ()=0 |
Forces the material editor to update. | |
virtual void | SvUpdateModifierPanel ()=0 |
Forces the modifier panel to update. | |
virtual void | SetFilter (DWORD mask)=0 |
Sets the specified filter bits. | |
virtual void | ClearFilter (DWORD mask)=0 |
Clears the specified filter bits. | |
virtual bool | TestFilter (DWORD mask)=0 |
Tets the specified filter bits. | |
virtual COLORREF | SvGetUIColor (int colorIndex)=0 |
Get a SV UI color given a color index. | |
virtual HWND | GetHWnd ()=0 |
Get HWnd for Schematic View window. | |
Additional Inherited Members | |
![]() | |
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. | |
Represents an instance of a schematic view window and provides methods for adding nodes and node pointers, refreshing the schematic view, accessing filter bits and updating and controlling the various editors within 3ds Max in ways that are not surfaced in the general interface.
|
pure virtual |
Push a level onto the animatable ownership stack.
During traversal of the Animatable graph via SvTraverseAnimGraph(), this method (along with PopLevel()) should be called appropriately to maintain an ownership stack. This is required by the schematic view when nodes are added to the graph with the SV_DUPLICATE_INSTANCES flag set. Note: In 3ds Max 3.0, SV_DUPLICATE_INSTANCES is always on (i.e., the flag is ignored). Because of this, PushLevel() and PopLevel() should always be called in SvTraverseAnimGraph(). See the sample code in Animatable::SvStdTraverseAnimGraph() for an example of this.
anim | This is the Animatable that you are, in all likelihood, about to add to the graph via the AddAnimatable() call. |
id | (default to SV_NO_ID) This is also the same "id" you'd pass into AddAnimatable(). The "id" is only required in cases where it's impossible for the schematic view to distinguish between two (or more) children in the tree that have the same Animatable but represent different sub-anims. For example, a box has both its width and height set to the same controller (instanced). In the schematic view, this is still shown in tree form so we need the ID to distinguish between the "width" and "height" children. |
|
pure virtual |
Pops a level off the animatable ownership stack.
|
pure virtual |
Adds an Animatable to the schematic view.
Note that "owner" and "id" are actually arbitrary - they are used to provide context for this Animatable. This means that the plug-in developer can set them to any value. They are not used internally by the schematic view except in the "Sv*" methods (which the developer can override). So, when you add an Animatable to the schematic view, you would typically add the owner (parent) Animatable as well as the sub-anim id. This allows you to, for example, easily return the name of the object when queried by the SvGetName() call (whose default implementation is shown below):
anim | Points to the animatable to add. |
owner | Points to the owner of "anim" above (typically). |
id | When nodes are added to the schematic view via this method this integer is provided. This value is not used internally by the schematic view. Rather, it is available to implementers of the Animatable::Sv*() methods to aid in identifying the node. |
flags | This flag is some combination of the bit flags in Flags for AddAnimatable() and SvTravereseAnimGraph() |
|
pure virtual |
This method adds a reference from the specified "maker" node to the specified "target" node.
maker | Points to the 'maker' node in schematic view. |
target | Points to the 'target' node in schematic view. |
type | One of the following enum values:
|
|
pure virtual |
This method adds a relationship from the specified "maker" node to the specified "target" node.
maker | Points to the 'maker' node in schematic view. |
target | Points to the 'target' node in schematic view. |
id | An arbitrary ID that the Animatable can use later to identify itself. |
type | the type of the relationship |
|
pure virtual |
Pops up the property editor dialog on the selected nodes in the schematic view.
|
pure virtual |
Selects the given node in the material editor.
Does nothing if "gNode" does not represent a material or map.
gNode | Points to the node in schematic view. |
|
pure virtual |
Selects the given node in the modifier panel.
Does nothing if "gNode" does not represent an object.
gNode | Points to the node in schematic view. |
|
pure virtual |
Returns true if the given node is current in the modifier panel.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Invokes the copy/instance controller dialog within schematic view.
The controller referenced by gSrcNode will be either copied or instanced into gDestNode. This is typically called from within a link callback:
gSrcNode | The node that supplies the Matrix3 controller to apply. |
gDestNode | The node to apply the controller to. |
|
pure virtual |
Invalidates the schematic view window.
|
pure virtual |
Invalidates a node in the schematic view window.
gNode | - Points to the node in schematic view. |
|
pure virtual |
Forces the material editor to update.
|
pure virtual |
Forces the modifier panel to update.
|
pure virtual |
Sets the specified filter bits.
mask | See Schematic View Filter bits |
|
pure virtual |
Clears the specified filter bits.
mask | See Schematic View Filter bits |
|
pure virtual |
Tets the specified filter bits.
Returns true if set; otherwise false.
mask | See Schematic View Filter bits |
|
pure virtual |
Get HWnd for Schematic View window.