A pure virtual interface for implementing grips.
A Grip or Caddy is a collection of modeless, transparent, in canvas UI elements that lets a user perform actions or modify values. A user can create their own grip by inheriting from IBaseGrip, implementing IBaseGrip's pure virtual functions, and then enable it on via the IGripManager interface. Based upon the number of grip items the grip contains and the type each item is, the system will create a set of in canvas UI representations for each item, which then interact with the IBaseGrip item via various functions. Usually the implementation of the IBaseGrip acts as a bridge between some existing data and the in canvas UI. For example if a grip was created to modify different soft selection values in a modifier, the grip would get the values from that modifier and then set the values back onto it. The grip itself will get displayed via the IGripManager::EnableGrip function which basically calls various IBaseGrip functions to set up the in canvas UI and then ferry messages to and from the UI to the grip.
- See also
- IGripManager. There are a collection of implemented grips present in the sdk at maxsdk\samples\mesh\editablepoly\polygrips.h, polygrips.cpp
|
virtual | ~IBaseGrip () |
| Deconstructor. More...
|
|
virtual void | GetGripName (MSTR &string)=0 |
| Get the name of the grip. More...
|
|
virtual int | GetNumGripItems ()=0 |
| Get the number of grip items this grip contains. More...
|
|
virtual IBaseGrip::Type | GetType (int which)=0 |
| Get the type that the specified grip item will control. More...
|
|
virtual bool | GetText (int which, MSTR &string)=0 |
| Get the name of the specified grip item. More...
|
|
virtual bool | GetResolvedIconName (int which, MSTR &string)=0 |
| Get the file path of the icon that represents the specified grip item. More...
|
|
virtual DWORD | GetCustomization (int which)=0 |
| Get any special customization flags that this grip item needs to follow. More...
|
|
virtual bool | GetComboOptions (int which, Tab< ComboLabel * > &comboOptions)=0 |
| Get the option possibilities for this combo grip item. More...
|
|
virtual bool | GetCommandIcon (int which, MSTR &string)=0 |
| Get an icon for the IBaseGrip::eCommand grip item. More...
|
|
virtual bool | GetValue (int which, TimeValue t, IBaseGrip::GripValue &value)=0 |
| Get the value of the specified grip item. More...
|
|
virtual bool | ShowKeyBrackets (int which, TimeValue t)=0 |
| Whether or not key brackets, which will show in a spinner that a key is present, should be shown at the specified time. More...
|
|
virtual bool | GetRange (int which, IBaseGrip::GripValue &minRange, IBaseGrip::GripValue &maxRange)=0 |
| Get the range of this grip values. More...
|
|
virtual bool | GetResetValue (int which, IBaseGrip::GripValue &resetValue)=0 |
| Get the reset value of the grip. More...
|
|
virtual bool | ResetValue (TimeValue t, int which)=0 |
| Reset the specified grip. More...
|
|
|
The Okay, Cancel and Apply operations that a grip may implement.
|
virtual bool | SupportsOkayApplyCancel ()=0 |
| Whether or not, the Okay, Apply and Cancel grip buttons will get shown or not. More...
|
|
virtual void | Okay (TimeValue t)=0 |
| Accept any necessary changes and disable the grip to close the UI. More...
|
|
virtual void | Cancel ()=0 |
| Disregard and cancel any necessary changes and disable the grip to close the UI. More...
|
|
virtual void | Apply (TimeValue t)=0 |
| Accept any necessary changes and perform any pending action if needed. More...
|
|
|
Set of functions which are called when setting a value. Note that SetValue may be called multiple times within each StartSetValue \ EndSetValue pair.
|
virtual bool | SetValue (int which, TimeValue t, IBaseGrip::GripValue &value)=0 |
| Set the value of the specified. More...
|
|
virtual bool | StartSetValue (int which, TimeValue t)=0 |
| Get ready to set this value. More...
|
|
virtual bool | EndSetValue (int which, TimeValue t, bool accepted)=0 |
| The value is done setting values. More...
|
|
|
Set of functions which are called when the grip is scaled by either incrementing or decrementing it. This value is the value that will thus added or subtracted from it. Only supports those grip items which have spinners.
|
virtual bool | GetAutoScale (int which)=0 |
| Whether or nor we will use auto scaling when incrementing or decrementing this item. More...
|
|
virtual bool | GetScale (int which, IBaseGrip::GripValue &scaleValue)=0 |
| Get the scale value for this item when we increment or decrement it. More...
|
|
virtual bool | GetScaleInViewSpace (int which, float &depth)=0 |
| Get the scale value for this grip in view space, if one exists. More...
|
|
virtual UtilExport | ~BaseInterface () |
| Destructor. More...
|
|
UtilExport BaseInterface * | GetInterface (Interface_ID id) |
|
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=NULL) |
|
virtual UtilExport | ~InterfaceServer () |
| Destructor. More...
|
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate arrays of objects. More...
|
|
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. More...
|
|
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. More...
|
|
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. 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 void * | operator 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...
|
|