3ds Max C++ API Reference
|
In 3ds Max 2013, 3ds Max introduces the tabbed view panels. More...
#include <IViewPanelManager.h>
Public Types | |
enum class | ViewPanelFloatingID { NotFloating , ViewPanel_1 , ViewPanel_2 , ViewPanel_3 } |
Enum for our 3 floating view panels. More... | |
![]() | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
Public Member Functions | |
virtual bool | CanCreateMoreViewPanels () const =0 |
Check if we can create any more tabbed view panels. | |
virtual int | CreateViewPanel (const MCHAR *tabName, int layout, bool bActive)=0 |
Create a new tabbed view panel. | |
virtual int | CreateViewPanel (int layout, bool bActive)=0 |
Create a new tabbed view panel. | |
virtual bool | DestroyViewPanel (int index)=0 |
Destroy the specified tabbed view panel. | |
virtual IViewPanel * | GetActiveViewPanel () const =0 |
Get the IViewPanel interface of the active tabbed view panel. | |
virtual bool | SetActiveViewPanel (int index)=0 |
Set a tabbed view panel as the current active view panel. | |
virtual int | GetActiveViewPanelIndex () const =0 |
Get the index of the active view panel. | |
virtual int | GetViewPanelIndex (const IViewPanel *pViewPanel) const =0 |
Get the index of the view panel. | |
virtual int | GetViewPanelCount () const =0 |
Get the count of current existing view panels. | |
virtual IViewPanel * | GetViewPanel (int index) const =0 |
Get the IViewPanel interface of the specified tabbed view panel. | |
virtual const MCHAR * | GetViewPanelName (int index) const =0 |
Get the name of the specified view panel. | |
virtual bool | SetViewPanelName (int index, const MCHAR *newName)=0 |
Set the name of the specified view panel. | |
virtual bool | IsViewPanelLocked (int index) const =0 |
A locked view panel is one that cannot be deleted by the user, such as the default view panel or a floating view panel. | |
virtual bool | IsViewPanelVisible (int viewpanelIndex) const =0 |
This method gets if a view panel is currently visible by its index in the view panels array. | |
virtual bool | IsViewPanelFloating (int viewpanelIndex) const =0 |
This method gets if a view panel has the floating view panel property, whether or not it is currently visible. | |
virtual int | GetNumFloatingViewPanels (void) const =0 |
Get the number of floating view panels. | |
virtual void | HideAllFloatingViewPanels (void)=0 |
Hides all the floating view panels. | |
virtual ViewPanelFloatingID | GetViewPanelFloatingID (int viewpanelIndex) const =0 |
This method gets the view panel floating ID by its index in the array of view panels. | |
virtual int | GetViewPanelIndexFromFloatingID (int viewPanelFloatingID) const =0 |
This method gets the index of a view panel from its ViewPanelFloatingID. | |
virtual void | SetFloatingViewPanelVisibility (int viewPanelFloatingID, bool bVisible)=0 |
This method sets a floating view panel visible and active at the same time. | |
virtual int | GetNumViewportsFromAllVisibleViewPanels () const =0 |
This method sums the viewports from all visible view panels by calling getNumViews() on each of the view panel. | |
virtual int | GetNumVisibleViewPanels (void) const =0 |
Gets the number of view panels currently visible. | |
virtual int | GetHighlightViewPanelIndex () const =0 |
Returns the index of the currently highlighted ViewPanel. | |
virtual void | CycleHighlightedViewPanels ()=0 |
Cycle the highlight through available view panels. | |
virtual void | CycleHighlightedViewPanelsBack ()=0 |
Cycle back through the highlight through available view panels. | |
virtual bool | SelectHighlightedViewPanel ()=0 |
Select the currently highlighted view panel. | |
![]() | |
CoreExport | FPInterfaceDesc () |
CoreExport | FPInterfaceDesc (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, ULONG flag,...) |
CoreExport | ~FPInterfaceDesc () |
virtual void | Init () |
LifetimeType | LifetimeControl () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
CoreExport void | LoadDescriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *pCD, ULONG flag,...) |
CoreExport void | AppendFunction (int id,...) |
Add a new function to this interface descriptor. | |
CoreExport void | AppendProperty (int id,...) |
Add a new property to this interface descriptor. | |
CoreExport void | AppendEnum (int id,...) |
Add a new enum to this interface descriptor. | |
CoreExport void | SetClassDesc (ClassDesc *i_cd) |
CoreExport va_list | check_fn (va_list ap, int id) |
CoreExport va_list | scan_fn (va_list ap, int id, int index) |
CoreExport va_list | check_prop (va_list ap, int id) |
CoreExport va_list | scan_prop (va_list ap, int id, int index) |
CoreExport va_list | check_enum (va_list ap, EnumID id) |
CoreExport va_list | scan_enum (va_list ap, EnumID id, int index) |
FPInterfaceDesc * | GetDesc () |
Interface_ID | GetID () |
CoreExport FPFunctionDef * | GetFnDef (FunctionID fid) |
ActionTable * | GetActionTable () |
CoreExport void | EnableActions (BOOL onOff) |
virtual CoreExport HINSTANCE | HInstance () |
virtual CoreExport const MCHAR * | GetRsrcString (StringResID id) |
![]() | |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDesc ()=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 ActionTable * | GetActionTable () |
virtual void | EnableActions (BOOL onOff) |
![]() | |
virtual UtilExport | ~BaseInterface () |
Destructor. | |
UtilExport BaseInterface * | GetInterface (Interface_ID id) override |
virtual UtilExport Interface_ID | GetID () |
virtual LifetimeType | LifetimeControl () |
virtual bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=nullptr) |
![]() | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
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. | |
![]() | |
Interface_ID | ID |
MSTR | internal_name |
StringResID | description |
ClassDesc * | cd |
USHORT | flags |
Tab< FPFunctionDef * > | functions |
Tab< FPPropDef * > | props |
Tab< FPEnum * > | enumerations |
MSPluginClass * | pc |
Rollout * | rollout |
ActionTable * | action_table |
![]() | |
static CoreExport FPInterfaceDesc | nullInterface |
![]() | |
CoreExport void | load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap) |
![]() | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
In 3ds Max 2013, 3ds Max introduces the tabbed view panels.
Previously 3ds Max can have only one view panel(One view panel contains at most 4 viewports). Now 3ds Max users can create additional view panels other than the default view panel by using the tabbed view panel toolbar or MaxScript. Users can switch between those view panels. At one time, there can only be one view panel visible which we usually call it current view panel or active view panel. Each view panel can have one active viewport. Users can also destroy those additional view panels (NOTE: The default view panel can't be destroyed). Tabbed view panels will be saved & loaded during FileIO. When saving as previous, only the current active view panel will be saved. This interface is used to manage the multiple tabbed view panels. To acquire this interface, simply use the codes below.
In a future release of 3ds Max we will introduce the notion of visible and floating view panels. When this is done, more than one view panel at a time can be visible. There will always be the main view panel attached to 3ds Max main window but you will be able to set visible, floating view panels, which could be put on another monitor. To support these visible view panels, instead of using GetActiveViewPanel() and do things on its viewports, use the new methods IsViewPanelVisible and IsViewPanelFloating when iterating on all view panels.
|
strong |
Enum for our 3 floating view panels.
Enumerator | |
---|---|
NotFloating | |
ViewPanel_1 | |
ViewPanel_2 | |
ViewPanel_3 |
|
pure virtual |
Check if we can create any more tabbed view panels.
Create a new tabbed view panel.
[in] | tabName | the name of the new tabbed view panel. If NULL, a default name will be assigned to the new tabbed view panel automatically. |
[in] | layout | the initial layout of the new tabbed view panel. Use VP_LAYOUT_XXX macro in maxapi.h. |
[in] | bActive | if true, the new tabbed view panel will be set as active view panel after creation. |
Create a new tabbed view panel.
The panel is given a default name based on its layout.
[in] | layout | the initial layout of the new tabbed view panel. Use VP_LAYOUT_XXX macro in maxapi.h. |
[in] | bActive | if true, the new tabbed view panel will be set as active view panel after creation. |
|
pure virtual |
Destroy the specified tabbed view panel.
[in] | index | the index of the tabbed view panel to be destroyed. An valid index should be from 1(0 is the default view panel) to GetViewPanelCount() - 1. Also, the panel specified cannot be 'locked'. Locked panels cannot be destroyed. |
|
pure virtual |
Get the IViewPanel interface of the active tabbed view panel.
|
pure virtual |
Set a tabbed view panel as the current active view panel.
[in] | index | the index of the view panel to be activated. |
|
pure virtual |
Get the index of the active view panel.
|
pure virtual |
Get the index of the view panel.
[in] | pViewPanel | the view panel. |
|
pure virtual |
Get the count of current existing view panels.
|
pure virtual |
Get the IViewPanel interface of the specified tabbed view panel.
[in] | index | the index of the tabbed view panel |
Get the name of the specified view panel.
[in] | index | the index of the view panel whose name to be returned |
Set the name of the specified view panel.
[in] | index | the index of the view panel whose name to be set |
[in] | newName | the new name of the specified view panel |
|
pure virtual |
A locked view panel is one that cannot be deleted by the user, such as the default view panel or a floating view panel.
[in] | index | of the panel to check |
|
pure virtual |
This method gets if a view panel is currently visible by its index in the view panels array.
[in] | viewpanelIndex | the index in the view panel array |
|
pure virtual |
This method gets if a view panel has the floating view panel property, whether or not it is currently visible.
[in] | viewpanelIndex | the index in the view panel array |
Get the number of floating view panels.
|
pure virtual |
This method gets the view panel floating ID by its index in the array of view panels.
[in] | viewpanelIndex | the index in the view panel array |
This method gets the index of a view panel from its ViewPanelFloatingID.
[in] | viewPanelFloatingID | the ViewPanelFloatingID of the view panel to retrieve |
This method sets a floating view panel visible and active at the same time.
[in] | viewPanelFloatingID | the ViewPanelFloatingID of the view panel |
[in] | bVisible | is true if we want the floating view panel to be visible and active or false if we want to hide it |
|
pure virtual |
This method sums the viewports from all visible view panels by calling getNumViews() on each of the view panel.
Gets the number of view panels currently visible.
|
pure virtual |
Returns the index of the currently highlighted ViewPanel.
This is the index of the tabs as iterated through via Ctrl-Tab
|
pure virtual |
Cycle the highlight through available view panels.
This is the equivalent of the ctrl-tab functionality
|
pure virtual |
Cycle back through the highlight through available view panels.
This is the equivalent of the shift-ctrl-tab functionality
|
pure virtual |
Select the currently highlighted view panel.