maxapi.h File Reference
 
 
 
maxapi.h File Reference
#include "maxheap.h"
#include <ole2.h>
#include "cmdmode.h"
#include "sceneapi.h"
#include "rtclick.h"
#include "evuser.h"
#include "maxcom.h"
#include "plugin.h"
#include "log.h"
#include "ActionTable.h"
#include "iTreeVw.h"
#include "iRenderPresets.h"
#include "excllist.h"
#include "DefaultActions.h"
#include "RendType.h"
#include "AssetManagement/AssetType.h"
#include "box3.h"
#include "InodeTransformModes.h"
#include "TabTypes.h"
#include "GetCOREInterface.h"
#include "ref.h"
#include "RollupConstants.h"
#include "ipoint3.h"
#include "MaxDirectories.h"

Classes

class   NameMaker
  Creates unique names. More...
struct   ViewWindowMetaData
  Meta data of ViewWindow class; it contains the description of how the window is created. More...
class   ViewWindow
class   ITrackBarFilterManager
class   ITrackBar
class   ViewExp
class   ViewExp10
  Extends ViewExp. More...
class   ViewExp11
  Extends ViewExp10. More...
class   DeviceRect
  Represents a viewport rectangle, but with coordinates in the range [0..1] instead of in pixels. More...
class   ViewExp13
  Extends ViewExp11. More...
class   CreateMouseCallBack
class   GenericCallback
class   TimeChangeCallback
class   CommandModeChangedCallback
class   ISceneCallbackPriority
  An interface to set priority to ViewportDisplayCallback's. More...
class   ViewportDisplayCallback
  Enables non-geometric plugins to draw in the viewport. More...
class   ExitMAXCallback
  A callback object that will get called before the program exits. More...
class   ExitMAXCallback2
  A callback object that will get called before the program exits. More...
class   CreateRendImgSeqCallback
  A callback object called for each sequence file created with Interface8::CreateRendImgSeq() More...
class   MAXFileOpenDialog
class   MAXFileSaveDialog
class   TrackViewFilter
class   TrackViewPick
class   PickModeCallback
class   PickNodeCallback
class   PickClassCallback
class   HitByNameDlgCallback
class   SelectFilterCallback
class   DisplayFilterCallback
class   RedrawViewsCallback
class   AxisChangeCallback
class   PreviewParams
class   Interface
class   Interface::SuspendSceneRedrawGuard
  Scene redraw guard class. More...
class   IObjParam
class   IObjCreate
class   Interface7
class   Interface8
  The interface class for max version 8. More...
class   Interface9
  The interface class for max version 9. More...
class   Interface10
  Extends Interface9 Client code should retrieve this interface using GetCOREInterface10. More...
class   Interface11
  Extends Interface10 Client code should retrieve this interface using GetCOREInterface11. More...
class   Interface12
  Extends Interface11 Client code should retrieve this interface using GetCOREInterface12. More...
class   Interface13
  Extends Interface12 Client code should retrieve this interface using GetCOREInterface13. More...
class   Interface14
  Extends Interface13 Client code should retrieve this interface using GetCOREInterface14. More...

Namespaces

namespace   MaxSDK
namespace   MaxSDK::AssetManagement

Defines

#define  MERGE_DUPS_PROMPT   0
  Prompt user when duplicate node names are encountered.
#define  MERGE_DUPS_MERGE   1
  Merge nodes and keep old ones in the scene.
#define  MERGE_DUPS_SKIP   2
  Do not merge nodes with duplicated names.
#define  MERGE_DUPS_DELOLD   3
  Merge nodes and delete old ones from the scene.
#define  MERGE_LIST_NAMES   4
  Causes a list of objects to be placed into mrgList parameter of Interface::MergeFromFile.
#define  MERGE_DUPS_RENAME   1000
  Merge nodes and automatically rename them.
#define  MERGE_DUP_MTL_PROMPT   MERGE_DUPS_PROMPT
  Prompt user when duplicate material names are encountered.
#define  MERGE_DUP_MTL_USE_MERGED   MERGE_DUPS_DELOLD
  Merge material and replace all scene materials with the same name with the merged material.
#define  MERGE_DUP_MTL_USE_SCENE   MERGE_DUPS_SKIP
  Don't merge material, use instead the scene material with the same name.
#define  MERGE_DUP_MTL_RENAME   MERGE_DUPS_RENAME
  Merge material and automatically rename them.
#define  MERGE_REPARENT_PROMPT   0
  Prompt user for reparenting action.
#define  MERGE_REPARENT_ALWAYS   1
  Maintain node hierarchies are maintained when merging nodes.
#define  MERGE_REPARENT_NEVER   2
  Don't maintain node hierarchies are maintained when merging nodes.
#define  XREF_AS_PROXY   (1<<0)
  The xref objects are created as proxies.
#define  XREF_XREF_MODIFIERS   0
  Modifiers will be part of the xrefed object, i.e.
#define  XREF_DROP_MODIFIERS   (1<<1)
  Modifiers will not be xrefed at all, i.e.
#define  XREF_MERGE_MODIFIERS   (1<<2)
  Modifiers will be merged, i.e modifiers will be accessible in the master scene's modifier panel, but won't get update on subsequent updates of the xrefed objects.
#define  XREF_MERGE_MANIPULATORS   (1<<3)
  Manipulators will be merged rather than xrefed.
#define  XREF_SELECT_NODES   (1<<5)
  The xrefed nodes are added to the current selection set.
#define  XREF_MERGE_CONTROLLERS   (1<<6)
  Controllers will be merged rather than being xrefed.
#define  XREF_MERGE_MATERIALS   (1<<7)
  Materials will be merged rather than xrefed.
#define  PROPSET_SUMMARYINFO   0x01
  Corresponds to the File Properties Summary tab properties.
#define  PROPSET_DOCSUMMARYINFO   0x02
  Corresponds to the File Properties Contents tab properties (Document Contents).
#define  PROPSET_USERDEFINED   0x04
  Corresponds to the File Properties Custom tab properties.
#define  PIDSI_CONTENTSTATUS   0x00000020L
#define  PIDSI_CONTENTTYPE   0x00000021L
#define  PIDSI_CREATOR   0x00000022L
#define  PIDSI_IDENTIFIER   0x00000023L
#define  PIDSI_LANGUAGE   0x00000024L
#define  PIDSI_VERSION   0x00000025L
#define  I_EXEC_ACTIVATE_TEXTURE   1
#define  I_EXEC_DEACTIVATE_TEXTURE   2
#define  I_EXEC_RENDER_MTL_SAMPLE   3
#define  I_EXEC_GET_VPDISPLAY_DIB   4
#define  I_EXEC_SET_DIR   10
#define  I_EXEC_NEW_OBJ_XREF_DLG   83
#define  I_EXEC_MODIFYTASK_INVALIDATEPANEL   86
#define  I_EXEC_INVALIDATE_VIEWEXP   87
#define  I_EXEC_SET_NUDGE   88
#define  I_EXEC_COUNT_MTL_SCENEREFS   0x2001
#define  I_EXEC_RET_OFFSET_FAIL   4
#define  VP_DEFAULT_RENDER   0x0000
  same as REDRAW_INTERACTIVE
#define  VP_DONT_RENDER   0x0001
#define  VP_DONT_SIMPLIFY   0x0002
  same as REDRAW_NORMAL
#define  VP_START_SEQUENCE   0x0004
  same as REDRAW_BEGIN
#define  VP_END_SEQUENCE   0x0008
  same as REDRAW_END
#define  VP_SECOND_PASS   0x0010
  for when both back- and fore-ground is rendered
#define  SHADE_LEVELS   10
#define  TRACKBAR_FILTER_ALL   1
#define  TRACKBAR_FILTER_TMONLY   2
#define  TRACKBAR_FILTER_CURRENTTM   3
#define  TRACKBAR_FILTER_OBJECT   4
#define  TRACKBAR_FILTER_MATERIAL   5
#define  TRACKBAR_FILTER_MANAGER_INTERFACE   Interface_ID(0xc85046, 0x2def7c7d)
  The ITrackBarFilterManager interface is implemented by the TrackBar.
#define  TRACKBAR_INTERFACE   Interface_ID(0x2aff3557, 0x16aa714b)
#define  CREATE_CONTINUE   1
#define  CREATE_STOP   0
#define  CREATE_ABORT   -1
#define  MOUSE_STOP   0
#define  MOUSE_CONTINUE   1
#define  MOUSE_CAPTURE_CONTINUE   2
#define  VIEWPORT_BKG_START   0
#define  VIEWPORT_BKG_END   1
#define  VIEWPORT_BKG_BLANK   0
#define  VIEWPORT_BKG_HOLD   1
#define  VIEWPORT_BKG_LOOP   2
#define  VIEWPORT_BKG_ASPECT_VIEW   0
#define  VIEWPORT_BKG_ASPECT_BITMAP   1
#define  VIEWPORT_BKG_ASPECT_OUTPUT   2
#define  MOVE_BUTTON   1
#define  ROTATE_BUTTON   2
#define  NUSCALE_BUTTON   3
#define  USCALE_BUTTON   4
#define  SQUASH_BUTTON   5
#define  SELECT_BUTTON   6
#define  AXIS_XY   2
#define  AXIS_ZX   1
#define  AXIS_YZ   0
#define  AXIS_X   3
#define  AXIS_Y   4
#define  AXIS_Z   5
#define  XAXIS_TPA_PGIZMO   7
  Constraints for the Three Points Align Gizmo.
#define  XAXIS_TPA_NGIZMO   8
#define  YAXIS_TPA_PGIZMO   9
#define  YAXIS_TPA_NGIZMO   10
#define  ZAXIS_TPA_PGIZMO   11
#define  ZAXIS_TPA_NGIZMO   12
#define  ORIGIN_LOCAL   0
#define  ORIGIN_SELECTION   1
#define  ORIGIN_SYSTEM   2
#define  COORDS_HYBRID   0
#define  COORDS_SCREEN   1
#define  COORDS_WORLD   2
#define  COORDS_PARENT   3
#define  COORDS_LOCAL   4
#define  COORDS_OBJECT   5
#define  COORDS_GIMBAL   6
#define  COORDS_WORKINGPIVOT   7
#define  TASK_MODE_CREATE   1
#define  TASK_MODE_MODIFY   2
#define  TASK_MODE_HIERARCHY   3
#define  TASK_MODE_MOTION   4
#define  TASK_MODE_DISPLAY   5
#define  TASK_MODE_UTILITY   6
#define  SYSCUR_MOVE   1
#define  SYSCUR_ROTATE   2
#define  SYSCUR_USCALE   3
#define  SYSCUR_NUSCALE   4
#define  SYSCUR_SQUASH   5
#define  SYSCUR_SELECT   6
#define  SYSCUR_DEFARROW   7
#define  SYSCUR_MOVE_SNAP   8
#define  REDRAW_BEGIN   (1<<0)
#define  REDRAW_INTERACTIVE   (1<<1)
#define  REDRAW_END   (1<<2)
#define  REDRAW_NORMAL   (1<<3)
#define  NUMAXIS_ZERO   0
#define  NUMAXIS_ALL   1
#define  NUMAXIS_INDIVIDUAL   2
#define  STATUS_UNIVERSE   1
#define  STATUS_SCALE   2
#define  STATUS_ANGLE   3
#define  STATUS_OTHER   4
#define  STATUS_UNIVERSE_RELATIVE   5
#define  STATUS_POLAR   6
#define  STATUS_POLAR_RELATIVE   7
#define  EXT_DISP_NONE   0
  no flags
#define  EXT_DISP_SELECTED   (1<<0)
  object is selected
#define  EXT_DISP_TARGET_SELECTED   (1<<1)
  object's target is selected
#define  EXT_DISP_LOOKAT_SELECTED   (1<<2)
  object's lookat node is selected
#define  EXT_DISP_ONLY_SELECTED   (1<<3)
  object is only thing selected
#define  EXT_DISP_DRAGGING   (1<<4)
  object is being "dragged"
#define  EXT_DISP_ZOOM_EXT   (1<<5)
  object is being tested for zoom ext
#define  EXT_DISP_GROUP_EXT   (1<<6)
  object is being tested for extents as member of group
#define  EXT_DISP_ZOOMSEL_EXT   (1<<7)
  object is being tested for zoom selected ext
#define  REND_TIMESINGLE   0
#define  REND_TIMESEGMENT   1
#define  REND_TIMERANGE   2
#define  REND_TIMEPICKUP   3
#define  HIDE_OBJECTS   0x0001
#define  HIDE_SHAPES   0x0002
#define  HIDE_LIGHTS   0x0004
#define  HIDE_CAMERAS   0x0008
#define  HIDE_HELPERS   0x0010
#define  HIDE_WSMS   0x0020
#define  HIDE_SYSTEMS   0x0040
#define  HIDE_PARTICLES   0x0080
#define  HIDE_BONEOBJECTS   0x0100
#define  HIDE_ALL   0xffff
#define  HIDE_NONE   0
#define  VP_LAYOUT_1   0x0001
  1 single full-screen viewport
#define  VP_LAYOUT_2V   0x0012
  2 vertical viewports
#define  VP_LAYOUT_2H   0x0022
  2 horizontal viewports
#define  VP_LAYOUT_2HT   0x0032
  2 horizontal viewports, small on top
#define  VP_LAYOUT_2HB   0x0042
  2 horizontal viewports, small on bottom
#define  VP_LAYOUT_3VL   0x0033
  3 viewports, 2 vertically on left
#define  VP_LAYOUT_3VR   0x0043
  3 viewports, 2 vertically on right
#define  VP_LAYOUT_3HT   0x0053
  3 viewports, 2 horizontally on top
#define  VP_LAYOUT_3HB   0x0063
  3 viewports, 2 horizontally on bottom
#define  VP_LAYOUT_4   0x0074
#define  VP_LAYOUT_4VL   0x0084
  4 viewports, 3 verically on left
#define  VP_LAYOUT_4VR   0x0094
  4 viewports, 3 verically on right
#define  VP_LAYOUT_4HT   0x00a4
  4 viewports, 3 horizontally on top
#define  VP_LAYOUT_4HB   0x00b4
  4 viewports, 3 horizontally on bottom
#define  VP_LAYOUT_1C   0x00c1
#define  VP_NUM_VIEWS_MASK   0x000f
#define  ATTRIB_HIDE   0
  If set, node is not visible in the viewport.
#define  ATTRIB_FREEZE   1
  If set, node is frozen.
#define  ATTRIB_BOXMODE   2
  If set, node is displayed as box.
#define  ATTRIB_BACKCULL   3
  If set (default), faces with normals pointing away from the camera are not displayed.
#define  ATTRIB_ALLEDGES   4
  If set, all edges including hidden ones and polygon diagonals are displayed.
#define  ATTRIB_LINKDISP   5
  If set, a wireframe representation of any hierarchical link (parent, etc) to the node is displayed.
#define  ATTRIB_LINKREPL   6
  If set, the wireframe representation of the hierarchical link is displayed instead of the node.
#define  ATTRIB_UNSEL   7
  for internal use only; something is not selected
#define  ATTRIB_HIDE_UNSEL   8
  for internal use only
#define  ATTRIB_FREEZE_UNSEL   9
  for internal use only
#define  ATTRIB_VERTTICKS   10
  If set, the vertices of the object are displayed as tick marks.
#define  ATTRIB_UNHIDE   11
  for internal use only
#define  ATTRIB_UNFREEZE   12
  for internal use only
#define  ATTRIB_CVERTS   13
  If set, the display of vertex color channel is enabled.
#define  ATTRIB_SHADE_CVERTS   14
  If set, the vertex color is shaded if the viewport is in a shaded display mode.
#define  ATTRIB_XRAY   15
  If set, makes the object translucent in the viewport.
#define  ATTRIB_IGNORE_EXT   16
  if set, the object is ignored by the Zoom Extents operation
#define  ATTRIB_TRAJECTORY   17
  if set, the object's trajectory is displayed
#define  ATTRIB_FRZMTL   18
  set, the object turns gray when it's frozen
#define  ATTRIB_HIDE_WITH_LAYER   19
  if set, the hide operation applies the whole layer the object is on
#define  ATTRIB_FREEZE_WITH_LAYER   20
  if set, the freeze operation applies to the whole layer the object is on
#define  ATTRIB_INHERITVISIBILITY   100
  if set, the object inherits a percentage of its visibility from its parent
#define  ATTRIB_CASTSHADOWS   101
  If set, the object can cast shadows.
#define  ATTRIB_RECEIVESHADOWS   102
  If set, the object can receive shadows.
#define  ATTRIB_ISTARGET   103
  If set, the object is marked as the target of another object.
#define  ATTRIB_RENDERABLE   104
  If set, the object is rendered.
#define  ATTRIB_RENDEROCCLUDED   105
  If set, the object becomes transparent from the point of view of special effects, thus the objects being occluded are affected by the special effects.
#define  ATTRIB_RCVCAUSTICS   106
  If set, the object can receive caustics.
#define  ATTRIB_GENERATECAUSTICS   107
  If set, the object can generate caustics.
#define  ATTRIB_RCVGLOBALILLUM   108
  If set, the object can receive global illumination.
#define  ATTRIB_GENERATEGLOBALILLUM   109
  If set, the object can generate global illumination.
#define  ATTRIB_SETWIRECOLOR   110
  If set, the supplied wire frame color is set on to the object.
#define  ATTRIB_SETGBUFID   111
  If set, tags an object as target for a render effect based on the supplied G-buffer channel.
#define  ATTRIB_PRIMARYVISIBILITY   112
  If set, the object is visible to cameras to an extent specified by the visibility parameter.
#define  ATTRIB_SECONDARYVISIBILITY   113
  If set, the object appears in rendered reflections and refractions.
#define  ATTRIB_MOTIONBLUR   114
  If set, motion blur is enabled for the object.
#define  I_EXEC_REGISTER_POSTSAVE_CB   1001
  For example:
#define  I_EXEC_UNREGISTER_POSTSAVE_CB   1002
  Un-registers a callback which is called after a File / Save operation has occured.
#define  I_EXEC_REGISTER_PRESAVE_CB   1003
  Registers a callback which is called before a File / Save operation has occured.
#define  I_EXEC_UNREGISTER_PRESAVE_CB   1004
  Un-registers a callback which is called before a File / Save operation has occured.
#define  SCENE_CALLBACK_PRIORITY_INTERFACE   Interface_ID(0xc5b791e, 0x66e58a4)
  Interface ID used with interface class ISceneCallbackPriority.
#define  VPT_TRANS_NONE   0
#define  VPT_TRANS_STIPPLE   1
#define  VPT_TRANS_BLEND   2
#define  VPT_TRANS_SORT_BLEND   3
#define  DISPLAY_WIRE_AS_MTL   1
#define  DISPLAY_SHADED_AS_MTL   (1<<1)
#define  DISPLAY_SELECTED_ONLY   (1<<2)
#define  PICKTRACK_FLAG_ANIMATED   (1<<0)
  turn on display of animated tracks only
#define  PICKTRACK_FLAG_VISTRACKS   (1<<1)
  turn off display of node Visibility track
#define  PICKTRACK_FLAG_SELOBJECTS   (1<<2)
  turn on display of only selected nodes
#define  PICKTRACK_FLAG_WORLDMODS   (1<<3)
  turn off display of World Space Modifiers
#define  PICKTRACK_FLAG_OBJECTMODS   (1<<4)
  turn off display of Object Space Modifiers
#define  PICKTRACK_FLAG_TRANSFORM   (1<<5)
  turn off display of node Transform track
#define  PICKTRACK_FLAG_BASEPARAMS   (1<<6)
  turn off display of node base object
#define  PICKTRACK_FLAG_CONTTYPES   (1<<7)
  turn off display of controller types
#define  PICKTRACK_FLAG_NOTETRACKS   (1<<8)
  turn off display of note tracks
#define  PICKTRACK_FLAG_SOUND   (1<<9)
  turn off display of the sound track
#define  PICKTRACK_FLAG_MATMAPS   (1<<10)
  turn off display of maps in materials
#define  PICKTRACK_FLAG_MATPARAMS   (1<<11)
  turn off display of material parameters
#define  PICKTRACK_FLAG_VISIBLE_OBJS   (1<<12)
  turn on display of hidden nodes
#define  PICKTRACK_FLAG_HIERARCHY   (1<<13)
  turn off display of hierarchy
#define  PICKTRACK_FLAG_KEYABLE   (1<<14)
  turn off display of non-keyable tracks
#define  PICKTRACK_FLAG_NODES   (1<<15)
  turn off display of nodes
#define  PICKTRACK_FLAG_GEOM   (1<<16)
  turn off display of geometry nodes
#define  PICKTRACK_FLAG_SHAPES   (1<<17)
  turn off display of shape nodes
#define  PICKTRACK_FLAG_LIGHTS   (1<<18)
  turn off display of light nodes
#define  PICKTRACK_FLAG_CAMERAS   (1<<19)
  turn off display of camera nodes
#define  PICKTRACK_FLAG_HELPERS   (1<<20)
  turn off display of helper nodes
#define  PICKTRACK_FLAG_WARPS   (1<<21)
  turn off display of warp nodes
#define  PICKTRACK_FLAG_POSITION   (1<<22)
  turn off display of position controllers
#define  PICKTRACK_FLAG_ROTATION   (1<<23)
  turn off display of rotation controllers
#define  PICKTRACK_FLAG_SCALE   (1<<24)
  turn off display of scale controllers
#define  PICKTRACK_FLAG_BONES   (1<<25)
  turn off display of bone nodes
#define  PICKTRACK_FLAG_FOCUS_SEL_NODES   (1<<26)
  set focus to first selected node found
#define  PICKTRACK_FLAG_ACTIVELAYER   (1<<27)
  Only show the active animation layer, instead of all.
#define  PICKTRACK_FLAG_LOCKED   (1<<28)
  Only show the unlocked tracks, instead of all.
#define  MAIN_MAX_INTERFACE   Interface_ID(0x64854123, 0x7b9e551c)
#define  DOWNLOADDLG_NOPLACE   1<<0

Typedefs

typedef bool(*  TRACKBAR_FILTER_PROC )(Animatable *anim, Animatable *parent, int subAnimIndex, Animatable *grandParent, INode *node)
  The TrackBar filter callback function.
typedef bool(*  TRACKBAR_ADDITION_PROC )(Tab< Animatable * > &anims, Tab< int > &subAnims, Tab< INode * > &nodes)
  The TrackBar filter addition callback function.

Enumerations

enum   RenderSettingID { RS_Production = 0, RS_Draft, RS_IReshade, RS_MEdit }
enum   CloneType { NODE_COPY, NODE_INSTANCE, NODE_REFERENCE, NODE_NONE }
  The Clone type when copying nodes. More...
enum   ShadeType {
  SMOOTH_HIGHLIGHT, SMOOTH, FACET_HIGHLITE, FACET,
  CONSTANT, HIDDENLINE, LITE_WIREFRAME, Z_WIREFRAME,
  WIREFRAME, BOX
}
enum   ViewType {
  VIEW_LEFT, VIEW_RIGHT, VIEW_TOP, VIEW_BOTTOM,
  VIEW_FRONT, VIEW_BACK, VIEW_ISO_USER, VIEW_PERSP_USER,
  VIEW_CAMERA, VIEW_GRID, VIEW_NONE, VIEW_TRACK,
  VIEW_SPOT, VIEW_SHAPE, VIEW_SCHEMATIC, VIEW_RENDER,
  VIEW_SCENEEXPLORER, VIEW_OTHER
}

Functions

CoreExport void  SetDontRepeatRefMsg (bool value, bool commitToInit)
  Methods that control an internal optimization related to reference message propagation.
CoreExport bool  DontRepeatRefMsg ()
  Call this method to find out if the optimization is active or not.
CoreExport void  PreRefNotifyDependents ()
  In order to apply the optimization to a notification session, the Pre/PostRefNotifyDependents methods have to bracket it.
CoreExport void  PostRefNotifyDependents ()
CoreExport void  SetInvalidateTMOpt (bool value, bool commitToInit)
  Methods that control optimization for evaluating the transforms of complex rigs, especially of those with the expose transform helper.
CoreExport bool  GetInvalidateTMOpt ()

Variables

static const int  FLOAT_TRACKVIEW = 0
static const int  DOCK_TRACKVIEW_TOP = 1
static const int  DOCK_TRACKVIEW_BOTTOM = 2
static const int  CAN_DOCK_TRACKVIEW_TOP = 3

Define Documentation

#define PIDSI_CONTENTSTATUS   0x00000020L
#define PIDSI_CONTENTTYPE   0x00000021L
#define PIDSI_CREATOR   0x00000022L
#define PIDSI_IDENTIFIER   0x00000023L
#define PIDSI_LANGUAGE   0x00000024L
#define PIDSI_VERSION   0x00000025L
#define I_EXEC_ACTIVATE_TEXTURE   1
#define I_EXEC_DEACTIVATE_TEXTURE   2
#define I_EXEC_RENDER_MTL_SAMPLE   3
#define I_EXEC_GET_VPDISPLAY_DIB   4
#define I_EXEC_SET_DIR   10
#define I_EXEC_NEW_OBJ_XREF_DLG   83
#define I_EXEC_MODIFYTASK_INVALIDATEPANEL   86
#define I_EXEC_INVALIDATE_VIEWEXP   87
#define I_EXEC_SET_NUDGE   88
#define I_EXEC_COUNT_MTL_SCENEREFS   0x2001
#define I_EXEC_RET_OFFSET_FAIL   4
#define TRACKBAR_FILTER_ALL   1
#define TRACKBAR_FILTER_TMONLY   2
#define TRACKBAR_FILTER_CURRENTTM   3
#define TRACKBAR_FILTER_OBJECT   4
#define TRACKBAR_FILTER_MATERIAL   5
#define TRACKBAR_FILTER_MANAGER_INTERFACE   Interface_ID(0xc85046, 0x2def7c7d)

The ITrackBarFilterManager interface is implemented by the TrackBar.

You can get an instance of this interface from the TrackBar using the following: ITrackBarFilterManager* filterManager = (ITrackBarFilterManager*)GetCOREInterface()->GetTrackBar()->GetInterface(TRACKBAR_FILTER_MANAGER_INTERFACE);

#define TRACKBAR_INTERFACE   Interface_ID(0x2aff3557, 0x16aa714b)
#define CREATE_CONTINUE   1
#define CREATE_STOP   0
#define CREATE_ABORT   -1
#define MOUSE_STOP   0
#define MOUSE_CONTINUE   1
#define MOUSE_CAPTURE_CONTINUE   2
#define VIEWPORT_BKG_START   0
#define VIEWPORT_BKG_END   1
#define VIEWPORT_BKG_BLANK   0
#define VIEWPORT_BKG_HOLD   1
#define VIEWPORT_BKG_LOOP   2
#define VIEWPORT_BKG_ASPECT_VIEW   0
#define VIEWPORT_BKG_ASPECT_BITMAP   1
#define VIEWPORT_BKG_ASPECT_OUTPUT   2
#define MOVE_BUTTON   1
#define ROTATE_BUTTON   2
#define NUSCALE_BUTTON   3
#define USCALE_BUTTON   4
#define SQUASH_BUTTON   5
#define SELECT_BUTTON   6
#define AXIS_XY   2
#define AXIS_ZX   1
#define AXIS_YZ   0
#define AXIS_X   3
#define AXIS_Y   4
#define AXIS_Z   5
#define XAXIS_TPA_PGIZMO   7

Constraints for the Three Points Align Gizmo.

#define XAXIS_TPA_NGIZMO   8
#define YAXIS_TPA_PGIZMO   9
#define YAXIS_TPA_NGIZMO   10
#define ZAXIS_TPA_PGIZMO   11
#define ZAXIS_TPA_NGIZMO   12
#define ORIGIN_LOCAL   0
#define ORIGIN_SELECTION   1
#define ORIGIN_SYSTEM   2
#define COORDS_HYBRID   0
#define COORDS_SCREEN   1
#define COORDS_WORLD   2
#define COORDS_PARENT   3
#define COORDS_LOCAL   4
#define COORDS_OBJECT   5
#define COORDS_GIMBAL   6
#define COORDS_WORKINGPIVOT   7
#define TASK_MODE_CREATE   1
#define TASK_MODE_MODIFY   2
#define TASK_MODE_HIERARCHY   3
#define TASK_MODE_MOTION   4
#define TASK_MODE_DISPLAY   5
#define TASK_MODE_UTILITY   6
#define SYSCUR_MOVE   1
#define SYSCUR_ROTATE   2
#define SYSCUR_USCALE   3
#define SYSCUR_NUSCALE   4
#define SYSCUR_SQUASH   5
#define SYSCUR_SELECT   6
#define SYSCUR_DEFARROW   7
#define SYSCUR_MOVE_SNAP   8
#define REDRAW_BEGIN   (1<<0)
#define REDRAW_INTERACTIVE   (1<<1)
#define REDRAW_END   (1<<2)
#define REDRAW_NORMAL   (1<<3)
#define NUMAXIS_ZERO   0
#define NUMAXIS_ALL   1
#define NUMAXIS_INDIVIDUAL   2
#define STATUS_UNIVERSE   1
#define STATUS_SCALE   2
#define STATUS_ANGLE   3
#define STATUS_OTHER   4
#define STATUS_UNIVERSE_RELATIVE   5
#define STATUS_POLAR   6
#define STATUS_POLAR_RELATIVE   7
#define REND_TIMESINGLE   0
#define REND_TIMESEGMENT   1
#define REND_TIMERANGE   2
#define REND_TIMEPICKUP   3
#define HIDE_OBJECTS   0x0001
#define HIDE_SHAPES   0x0002
#define HIDE_LIGHTS   0x0004
#define HIDE_CAMERAS   0x0008
#define HIDE_HELPERS   0x0010
#define HIDE_WSMS   0x0020
#define HIDE_SYSTEMS   0x0040
#define HIDE_PARTICLES   0x0080
#define HIDE_BONEOBJECTS   0x0100
#define HIDE_ALL   0xffff
#define HIDE_NONE   0
#define VP_LAYOUT_1C   0x00c1
#define VP_NUM_VIEWS_MASK   0x000f
#define SCENE_CALLBACK_PRIORITY_INTERFACE   Interface_ID(0xc5b791e, 0x66e58a4)
#define VPT_TRANS_NONE   0
#define VPT_TRANS_STIPPLE   1
#define VPT_TRANS_BLEND   2
#define VPT_TRANS_SORT_BLEND   3
#define DISPLAY_WIRE_AS_MTL   1
#define DISPLAY_SHADED_AS_MTL   (1<<1)
#define DISPLAY_SELECTED_ONLY   (1<<2)
#define MAIN_MAX_INTERFACE   Interface_ID(0x64854123, 0x7b9e551c)
#define DOWNLOADDLG_NOPLACE   1<<0

Typedef Documentation

typedef bool(* TRACKBAR_FILTER_PROC)(Animatable *anim, Animatable *parent, int subAnimIndex, Animatable *grandParent, INode *node)

The TrackBar filter callback function.

The anim argument is the node you are filtering. The parent argument is the owning animatable. It returns the anim with its corresponding subAnimIndex. anim == parent->SubAnim(subAnimIndex) The grandParent argument is provided as an additional layer that is needed in case the parent is a ParamBlock(2) or something similar. For instance you may need to know that the grandParent is a Bend modifier and the subAnimIndex is an index into the param block storage unit. The node argument is the originating scene node. Return true if the node should be included, otherwise return false.

typedef bool(* TRACKBAR_ADDITION_PROC)(Tab< Animatable * > &anims, Tab< int > &subAnims, Tab< INode * > &nodes)

The TrackBar filter addition callback function.

The anims argument is a Tab of the parent animatables to add The subAnims argument is a Tab of the SubAnim numbers. The actual animatable added will be anim = anims[i]->SubAnim(subAnims[i]) The node argument is the originating scene node.

The anims, subAnims, and nodes Tab should all have the same count. Return true if the addition should occur or false if is should not.


Enumeration Type Documentation


Function Documentation

CoreExport void SetDontRepeatRefMsg ( bool  value,
bool  commitToInit 
)

Methods that control an internal optimization related to reference message propagation.

The optimization consists of preventing the same ref message from being sent repeatedly to the same refmaker. This optimization improves the performance of interactive manipulation of complex IK rigs, but it is not completely reliable in the presence of some objects such as VIZWalls.

Call this method to turn the optimization On (value = true) or Off (value = false) at runtime. When 'commitToInit' is true, 'value' is saved to the current market default file as 'DontRepeatRefMsg=<value>'

CoreExport bool DontRepeatRefMsg ( )

Call this method to find out if the optimization is active or not.

CoreExport void PreRefNotifyDependents ( )

In order to apply the optimization to a notification session, the Pre/PostRefNotifyDependents methods have to bracket it.

IMPORTANT: The notification session should not contain GetValue calls.

CoreExport void PostRefNotifyDependents ( )
CoreExport void SetInvalidateTMOpt ( bool  value,
bool  commitToInit 
)

Methods that control optimization for evaluating the transforms of complex rigs, especially of those with the expose transform helper.

Note that this optimization may not work completely reliable with all objects and controllers

CoreExport bool GetInvalidateTMOpt ( )

Variable Documentation