3ds Max C++ API Reference
|
#include <IProjectionMod.h>
Public Types | |
enum | { PM_SL_OBJECT , PM_SL_VERT , PM_SL_FACE , PM_SL_ELEM } |
![]() | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
Public Member Functions | |
virtual int | NumObjects ()=0 |
Number of Nodes in geometry selection. | |
virtual INode * | GetObjectNode (int iIndex)=0 |
Get Object Node by Index. | |
virtual const MCHAR * | GetObjectName (int iIndex)=0 |
Get Object Name by Index. | |
virtual int | GetObjectSelLevel (int iIndex)=0 |
Get Object Selection Level by Index. | |
virtual void | DeleteObjectNode (int iIndex)=0 |
Delete Object by Index. | |
virtual int | NumGeomSels ()=0 |
Number of Geometry Selection. | |
virtual const MCHAR * | GetGeomSelName (int iSelIndex)=0 |
Get Geometry Selection Name by Index. | |
virtual int | GetGeomSelSelLevel (int iSelIndex)=0 |
Get Geometry Selection Selection Level by Index. | |
virtual int | NumGeomSelNodes (int iSelIndex)=0 |
Get number of nodes in Geometry Selection by Index. | |
virtual INode * | GetGeomSelNode (int iSelIndex, int iNodeIndex)=0 |
Get Node in Geometry Selection by Index. | |
virtual void | SetGeomSelMapProportion (int iSelIndex, float fProportion)=0 |
Get Geometry Selection Map Proportions by Index. | |
virtual float | GetGeomSelMapProportion (int iSelIndex)=0 |
Delete node from Geometry Selection by Index. | |
virtual void | DeleteGeomSel (int iSelIndex)=0 |
Delete Geometry Selection by Index. | |
virtual void | DeleteGeomSelNode (int iSelIndex, int iNodeIndex)=0 |
Delete node from Geometry Selection by Index. | |
virtual IProjectionModData * | GetProjectionModData (INode *pNode)=0 |
Retrieve the IProjectionModData for the specified node. | |
virtual bool | IsValidObject (INode *pNode)=0 |
Is this a valid node for geometry selections. | |
virtual bool | AddObjectNode (INode *pNode)=0 |
Add Object Level Node. | |
virtual void | DeleteAll ()=0 |
Delete all geometry selections. | |
virtual void | SetGeomSelNodesVisibility (bool bVisible)=0 |
Enable/Disable the visibility of the geometry selection nodes. | |
virtual bool | GetGeomSelNodesVisibility ()=0 |
Get the visibility of the geometry selection nodes. | |
virtual void | UpdateProjectionTypeList ()=0 |
Refresh the projection type list. | |
virtual void | AutoWrapCage ()=0 |
Triggers an auto wrap cage. | |
virtual void | ResetCage ()=0 |
Resets the cage. | |
virtual void | PushCage (float fAmount)=0 |
Pushes the cage. | |
virtual int | fpGetObjectSelMtlIDs (INode *pNode, int iIndex, Tab< int > &mtlIDs)=0 |
Get list of material IDs by Object Index. | |
virtual int | fpGetGeomSelMtlIDs (INode *pNode, int iSelIndex, Tab< int > &mtlIDs)=0 |
Get list of material IDs by Object Index. | |
virtual float | fpGetGeomSelFaceArea (INode *pNode, int iSelIndex)=0 |
Get Selected Face surface area by Geometry Selection Index. | |
virtual int | fpCheckDuplicateMatIDs (INode *pNode, BitArray &bitFaceDups)=0 |
Check for duplicate Material IDs within Geometry Selections Duplicate material IDs can create unwanted results with certain Project Mapping settings in RTT. | |
virtual int | fpCheckDuplicateSels (INode *pNode, BitArray &bitFaceDups)=0 |
Check for duplicate face selections within Geometry Selections Duplicate face selections can create unwanted results with certain Project Mapping settings in RTT. | |
virtual void | fpSelectByMtlID (int iMtlID)=0 |
Select by Material ID. | |
virtual void | fpSelectBySG (int iSG)=0 |
Select by Smoothing Group. | |
virtual int | fpGetNumProjectionTypes ()=0 |
Get the number of Projection Types Projection Types are classes that load into the Projection Modifier. | |
virtual ReferenceTarget * | fpGetProjectionType (int iIndex)=0 |
Get Projection Type by Index. | |
virtual void | fpRemoveProjectionType (int iIndex)=0 |
Remove Projection Type by Index. | |
virtual void | fpProject (int iIndex)=0 |
Invoke Project command for Projection Type by Index This will invoke the project command for the specified projection type. | |
virtual void | fpProjectAll ()=0 |
Invoke Project command for all Projection Types. | |
virtual int | fpGetNumRegisteredProjectionTypes ()=0 |
Get the number of Registered Projection Types Registered Projection Types are classes that load into the Projection Modifier. | |
virtual void | fpAddRegisteredProjectionType (int iIndex)=0 |
Create an instance of a Registered Projection Type by Index. | |
virtual void | fpGetRegisteredProjectionTypeClassID (int iIndex, Tab< int > &classid)=0 |
Get the Class ID of a specified Registered Projection Type. | |
virtual void | fpShowAlignment ()=0 |
Enable Show Alignment feature. | |
virtual void | fpClearAlignment ()=0 |
Disable/Clear Show Alignment feature. | |
![]() | |
FPMixinInterface () | |
virtual LifetimeType | LifetimeControl () |
virtual CoreExport bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
CoreExport | ~FPMixinInterface () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDescByID (Interface_ID id) |
virtual Interface_ID | GetID () |
![]() | |
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. | |
![]() | |
static CoreExport FPInterfaceDesc | nullInterface |
![]() | |
FPMixinInterface (const FPMixinInterface &rhs) | |
FPMixinInterface & | operator= (const FPMixinInterface &rhs) |
![]() | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
![]() | |
Tab< InterfaceNotifyCallback * > * | interfaceNotifyCBs |
|
pure virtual |
Number of Nodes in geometry selection.
Get Object Node by Index.
iIndex | - zero based index into number of objects |
Get Object Selection Level by Index.
iIndex | - zero based index into number of objects |
Delete Object by Index.
iIndex | - zero based index into number of objects |
|
pure virtual |
Number of Geometry Selection.
Get Geometry Selection Name by Index.
iSelIndex | - zero based index into number of geometry selections |
Get Geometry Selection Selection Level by Index.
[in] | iSelIndex | zero based index into number of geometry selections |
Get number of nodes in Geometry Selection by Index.
[in] | iSelIndex | zero based index into number of geometry selections |
Get Node in Geometry Selection by Index.
[in] | iSelIndex | zero based index into number of geometry selections |
[in] | iNodeIndex | zero based index into number of nodes in geometry selections |
Get Geometry Selection Map Proportions by Index.
Used to offset the proportion this geometry selection will occupy in the generated bake element.
[in] | iSelIndex | Zero-based index into number of geometry selections. |
[in] | fProportion | The proportion adjustment. |
|
pure virtual |
Delete node from Geometry Selection by Index.
[in] | iSelIndex | zero based index into number of geometry selections |
Delete Geometry Selection by Index.
[in] | iSelIndex | zero based index into number of geometry selections |
Delete node from Geometry Selection by Index.
[in] | iSelIndex | zero based index into number of geometry selections |
[in] | iNodeIndex | zero based index into number of nodes in geometry selections |
|
pure virtual |
Retrieve the IProjectionModData for the specified node.
Access to ModData for selection set and cage information
|
pure virtual |
Is this a valid node for geometry selections.
[in] | pNode | INode* |
|
pure virtual |
|
pure virtual |
Delete all geometry selections.
|
pure virtual |
Enable/Disable the visibility of the geometry selection nodes.
[in] | bVisible | bool true/false |
|
pure virtual |
Get the visibility of the geometry selection nodes.
If their visibility state varies, the majority state will be returned.
|
pure virtual |
Refresh the projection type list.
|
pure virtual |
Triggers an auto wrap cage.
This will destroy the current cage and generate a new one based on the current geometry selections.
|
pure virtual |
Resets the cage.
This will destroy the current cage and return all verts back to their original/zero-offset location.
|
pure virtual |
Pushes the cage.
This will work on the selected verts. If no verts are selected, the entire cage will be affected.
[in] | fAmount | float pushes the cage by specified amount. |
Get Selected Face surface area by Geometry Selection Index.
[in] | pNode | INode* that contains the projection modifier |
[in] | iSelIndex | zero based index into number of geometry selections |
Check for duplicate Material IDs within Geometry Selections Duplicate material IDs can create unwanted results with certain Project Mapping settings in RTT.
[in] | pNode | INode* that contains the projection modifier |
[out] | bitFaceDups | - bitarray of face duplicates |
Check for duplicate face selections within Geometry Selections Duplicate face selections can create unwanted results with certain Project Mapping settings in RTT.
[in] | pNode | INode* that contains the projection modifier |
[out] | bitFaceDups | - bitarray of face duplicates |
Select by Smoothing Group.
[in] | iSG | Smoothing Group |
|
pure virtual |
Get the number of Projection Types Projection Types are classes that load into the Projection Modifier.
These plugins can use the geometry selection and cage information to perform projections of any type they wish. Examples would be projecting UVWs, vertex location, material IDs, etc.
|
pure virtual |
Get Projection Type by Index.
[in] | iIndex | zero based index into number of Projection Types |
Remove Projection Type by Index.
[in] | iIndex | zero based index into number of Projection Types |
Invoke Project command for Projection Type by Index This will invoke the project command for the specified projection type.
[in] | iIndex | zero based index into number of Projection Types |
|
pure virtual |
Invoke Project command for all Projection Types.
|
pure virtual |
Create an instance of a Registered Projection Type by Index.
[in] | iIndex | zero based index into number of Registered Projection Types |
Get the Class ID of a specified Registered Projection Type.
[in] | iIndex | zero based index into number of Registered Projection Types |
[out] | classid | - Tab< int> containing the two Class ID values |
|
pure virtual |
Enable Show Alignment feature.
|
pure virtual |
Disable/Clear Show Alignment feature.