Public Types | Public Member Functions

IProjectionMod Class Reference

Search for all occurrences

Detailed Description

See also:
Class IProjectionModData, Class IProjectionModType
Description:
provides an interface to the Projection Modifier. This interface gives access to the geometry selections, cage settings, validity checks, and projection types.

#include <IProjectionMod.h>

Inheritance diagram for IProjectionMod:
Inheritance graph
[legend]

List of all members.

Public Types

enum   { PM_SL_OBJECT, PM_SL_VERT, PM_SL_FACE, PM_SL_ELEM }

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.

Member Enumeration Documentation

anonymous enum

Member Function Documentation

virtual int NumObjects ( ) [pure virtual]

Number of Nodes in geometry selection.

Returns:
int number of objects.
virtual INode* GetObjectNode ( int  iIndex ) [pure virtual]

Get Object Node by Index.

Parameters:
iIndex - zero based index into number of objects
virtual const MCHAR* GetObjectName ( int  iIndex ) [pure virtual]

Get Object Name by Index.

Parameters:
iIndex - zero based index into number of objects
virtual int GetObjectSelLevel ( int  iIndex ) [pure virtual]

Get Object Selection Level by Index.

Parameters:
iIndex - zero based index into number of objects
Returns:
enum PM_SL_OBJECT, PM_SL_FACE, or PM_SL_ELEM
virtual void DeleteObjectNode ( int  iIndex ) [pure virtual]

Delete Object by Index.

Parameters:
iIndex - zero based index into number of objects
virtual int NumGeomSels ( ) [pure virtual]

Number of Geometry Selection.

Returns:
int number of geometry selections.
virtual const MCHAR* GetGeomSelName ( int  iSelIndex ) [pure virtual]

Get Geometry Selection Name by Index.

Parameters:
iSelIndex - zero based index into number of geometry selections
virtual int GetGeomSelSelLevel ( int  iSelIndex ) [pure virtual]

Get Geometry Selection Selection Level by Index.

Parameters:
[in] iSelIndex zero based index into number of geometry selections
Returns:
enum PM_SL_OBJECT, PM_SL_FACE, or PM_SL_ELEM
virtual int NumGeomSelNodes ( int  iSelIndex ) [pure virtual]

Get number of nodes in Geometry Selection by Index.

Parameters:
[in] iSelIndex zero based index into number of geometry selections
Returns:
int number of nodes
virtual INode* GetGeomSelNode ( int  iSelIndex,
int  iNodeIndex 
) [pure virtual]

Get Node in Geometry Selection by Index.

Parameters:
[in] iSelIndex zero based index into number of geometry selections
[in] iNodeIndex zero based index into number of nodes in geometry selections
virtual void SetGeomSelMapProportion ( int  iSelIndex,
float  fProportion 
) [pure virtual]

Get Geometry Selection Map Proportions by Index.

Used to offset the proportion this geometry selection will occupy in the generated bake element

Parameters:
[in] iSelIndex zero based index into number of geometry selections
Returns:
float proportion adjustment
virtual float GetGeomSelMapProportion ( int  iSelIndex ) [pure virtual]

Delete node from Geometry Selection by Index.

Parameters:
[in] iSelIndex zero based index into number of geometry selections
[in] iNodeIndex zero based index into number of nodes in geometry selections
virtual void DeleteGeomSel ( int  iSelIndex ) [pure virtual]

Delete Geometry Selection by Index.

Parameters:
[in] iSelIndex zero based index into number of geometry selections
virtual void DeleteGeomSelNode ( int  iSelIndex,
int  iNodeIndex 
) [pure virtual]

Delete node from Geometry Selection by Index.

Parameters:
[in] iSelIndex zero based index into number of geometry selections
[in] iNodeIndex zero based index into number of nodes in geometry selections
virtual IProjectionModData* GetProjectionModData ( INode pNode ) [pure virtual]

Retrieve the IProjectionModData for the specified node.

Access to ModData for selection set and cage information

Parameters:
[in] pNode INode that contains Projection Modifier
virtual bool IsValidObject ( INode pNode ) [pure virtual]

Is this a valid node for geometry selections.

Parameters:
[in] pNode INode*
Returns:
bool true if this is a valid geometry selection object
virtual bool AddObjectNode ( INode pNode ) [pure virtual]

Add Object Level Node.

Parameters:
[in] pNode INode*
Returns:
bool true if node was successfully added
virtual void DeleteAll ( ) [pure virtual]

Delete all geometry selections.

virtual void SetGeomSelNodesVisibility ( bool  bVisible ) [pure virtual]

Enable/Disable the visibility of the geometry selection nodes.

Parameters:
[in] bVisible bool true/false
virtual bool GetGeomSelNodesVisibility ( ) [pure virtual]

Get the visibility of the geometry selection nodes.

If their visibility state varies, the majority state will be returned.

Returns:
bool true if the nodes are visible
virtual void UpdateProjectionTypeList ( ) [pure virtual]

Refresh the projection type list.

virtual void AutoWrapCage ( ) [pure virtual]

Triggers an auto wrap cage.

This will destroy the current cage and generate a new one based on the current geometry selections.

virtual void ResetCage ( ) [pure virtual]

Resets the cage.

This will destroy the current cage and return all verts back to their original/zero-offset location.

virtual void PushCage ( float  fAmount ) [pure virtual]

Pushes the cage.

This will work on the selected verts. If no verts are selected, the entire cage will be affected.

Parameters:
[in] fAmount float pushes the cage by specified amount.
virtual int fpGetObjectSelMtlIDs ( INode pNode,
int  iIndex,
Tab< int > &  mtlIDs 
) [pure virtual]

Get list of material IDs by Object Index.

Parameters:
[in] pNode INode* that contains the projection modifier
[in] iIndex zero based index into number of objects
[out] mtlIDs - Tab< int> array of material IDs
Returns:
int number of material IDs
virtual int fpGetGeomSelMtlIDs ( INode pNode,
int  iSelIndex,
Tab< int > &  mtlIDs 
) [pure virtual]

Get list of material IDs by Object Index.

Parameters:
[in] pNode INode* that contains the projection modifier
[in] iIndex zero based index into number of objects
[out] mtlIDs - Tab< int> array of material IDs
Returns:
int number of material IDs
virtual float fpGetGeomSelFaceArea ( INode pNode,
int  iSelIndex 
) [pure virtual]

Get Selected Face surface area by Geometry Selection Index.

Parameters:
[in] pNode INode* that contains the projection modifier
[in] iSelIndex zero based index into number of geometry selections
Returns:
float surface areas of faces
virtual int fpCheckDuplicateMatIDs ( INode pNode,
BitArray bitFaceDups 
) [pure virtual]

Check for duplicate Material IDs within Geometry Selections Duplicate material IDs can create unwanted results with certain Project Mapping settings in RTT.

Parameters:
[in] pNode INode* that contains the projection modifier
[out] bitFaceDups - bitarray of face duplicates
Returns:
int Number of faces with duplicates
virtual int fpCheckDuplicateSels ( INode pNode,
BitArray bitFaceDups 
) [pure virtual]

Check for duplicate face selections within Geometry Selections Duplicate face selections can create unwanted results with certain Project Mapping settings in RTT.

Parameters:
[in] pNode INode* that contains the projection modifier
[out] bitFaceDups - bitarray of face duplicates
Returns:
int Number of faces with duplicates
virtual void fpSelectByMtlID ( int  iMtlID ) [pure virtual]

Select by Material ID.

Parameters:
[in] iMtlID Material ID
virtual void fpSelectBySG ( int  iSG ) [pure virtual]

Select by Smoothing Group.

Parameters:
[in] iSG Smoothing Group
virtual int fpGetNumProjectionTypes ( ) [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.

Returns:
int Number of Projection Types created by user
virtual ReferenceTarget* fpGetProjectionType ( int  iIndex ) [pure virtual]

Get Projection Type by Index.

Parameters:
[in] iIndex zero based index into number of Projection Types
Returns:
ReferenceTarget* ReferenceTarget pointer of created Projection Type
virtual void fpRemoveProjectionType ( int  iIndex ) [pure virtual]

Remove Projection Type by Index.

Parameters:
[in] iIndex zero based index into number of Projection Types
virtual void fpProject ( int  iIndex ) [pure virtual]

Invoke Project command for Projection Type by Index This will invoke the project command for the specified projection type.

Parameters:
[in] iIndex zero based index into number of Projection Types
virtual void fpProjectAll ( ) [pure virtual]

Invoke Project command for all Projection Types.

virtual int fpGetNumRegisteredProjectionTypes ( ) [pure virtual]

Get the number of Registered Projection Types Registered Projection Types are classes that load into the Projection Modifier.

Instances of these Registered Projection Types are called Projection Types.

Returns:
int Number of Registered Projection Types in the system.
virtual void fpAddRegisteredProjectionType ( int  iIndex ) [pure virtual]

Create an instance of a Registered Projection Type by Index.

Parameters:
[in] iIndex zero based index into number of Registered Projection Types
virtual void fpGetRegisteredProjectionTypeClassID ( int  iIndex,
Tab< int > &  classid 
) [pure virtual]

Get the Class ID of a specified Registered Projection Type.

Parameters:
[in] iIndex zero based index into number of Registered Projection Types
[out] classid - Tab< int> containing the two Class ID values
virtual void fpShowAlignment ( ) [pure virtual]

Enable Show Alignment feature.

virtual void fpClearAlignment ( ) [pure virtual]

Disable/Clear Show Alignment feature.


IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod
IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod IProjectionMod