Public Member Functions | Static Public Attributes

Interface9 Class Reference

Search for all occurrences

Detailed Description

The interface class for max version 9.

This interface should always be retrieved over Interface, Interface7, or Interface8 when programming against version 9 of the application. It features new functionality and deprecates obsolete functions.

#include <maxapi.h>

Inheritance diagram for Interface9:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual bool  DoMaxBrowseForFolder (HWND aOwner, const MSTR &aInstructions, MSTR &aDir)=0
  Opens a application-style Open dialog for generic file types.
virtual unsigned int  DeleteNodes (INodeTab &aNodes, bool aKeepChildTM=true, bool aRedraw=true, bool overrideSlaveTM=false)=0
  Deletes the specified nodes from the scene.

Static Public Attributes

static CoreExport const
Interface_ID 
kInterface9InterfaceID
  The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface9 pointer.

Member Function Documentation

virtual bool DoMaxBrowseForFolder ( HWND  aOwner,
const MSTR aInstructions,
MSTR aDir 
) [pure virtual]

Opens a application-style Open dialog for generic file types.

Launches the standard Browse For Folder dialog in max.

Parameters:
[in] aOwner The handle to the window to whom this browse dialog should be a child to.
[in] aInstructions An parameter for specifying user instructions which will appear above the main selection area. These instructions can span multiple lines. If this parameter is an empty string, then default instructions will be specified.
[in,out] aDir This parameter is used to specify both the initial browse directory, and the user selection. If the user cancels the selection, then this variable will not be modified. If this parameter is an empty string, or if a non-existing directory is passed in, the Windows control will default to the My Documents directory.
Returns:
true if the user accepts a selection, false if the user cancels
virtual unsigned int DeleteNodes ( INodeTab aNodes,
bool  aKeepChildTM = true,
bool  aRedraw = true,
bool  overrideSlaveTM = false 
) [pure virtual]

Deletes the specified nodes from the scene.

Call this method to delete the specific nodes from the scene. The result of this operation is the same as deleting the nodes interactively or via maxscript's "delete <node>" command. If you need to delete individual nodes, use Interface::DeleteNode.

  • The children of the deleted nodes will maintain their positon.
  • Empty group heads resulting from the deletion of the nodes will be deleted.
  • If a system node is deleted, the whole system is deleted.
  • If target light / camera nodes are deleted, their target nodes are also deleted.
  • If the target of a target light / camera node is deleted, the light / camera node is also deleted.
  • If a closed group / assembly head node is deleted, the whole group/ assembly is deleted.
  • The selection state and deletion of the nodes will be undo-able after calling this method, provided that the undo system was engaged.
    Parameters:
    [in] aNodes The nodes to be deleted. This array is expanded with other nodes based on the criteria described above. After this method returns, the nodes in this array are invalid.
    [in] aKeepChildTM If true, the child nodes of each deleted node keep their world transformation. Note that this modifies each child node's transformation matrix. If false, the node's transformation matrix is not modified, but that means they'll get transformed relative to the world since their parent node is changing.
    [in] aRedraw If false the viewports will not be redrawn after the nodes are deleted. This allows client code to optimize the viewport redraw.
    [in] overrideSlaveTM If true, this method will delete nodes whose TM controllers implement Control::PreventNodeDeletion() to return TRUE. Control::PreventNodeDeletion() controls whether the node can be deleted from the scene. This parameter allows a master controller to easily delete slaves nodes if it needs to.
    Returns:
    The number of nodes that were deleted.

Member Data Documentation

CoreExport const Interface_ID kInterface9InterfaceID [static]

The ID for this interface. Pass this ID to Interface::GetInterface to get an Interface9 pointer.


Interface9 Interface9 Interface9 Interface9 Interface9 Interface9 Interface9 Interface9 Interface9 Interface9
Interface9 Interface9 Interface9 Interface9 Interface9 Interface9 Interface9 Interface9 Interface9 Interface9