Public Member Functions

IProjectionModType Class Reference

Search for all occurrences

Detailed Description

See also:
Class IProjectionMod
Description
provides an interface to the Projection Modifier Type Plugins. Projection Modifier Types are classes that load into the Projection Modifier. These classes 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.

These classes must specify a class category of: ProjectionModType

#include <IProjectionMod.h>

Inheritance diagram for IProjectionModType:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void  SetIProjectionMod (IProjectionMod *pPMod)
  Sets IProjectionMod pointer.
virtual bool  CanProject (Tab< INode * > &tabSourceNodes, int iSelIndex, int iNodeIndex)
  Determine if the Projection Mod Type can project the geometry selection.
virtual void  Project (Tab< INode * > &tabSourceNodes, int iSelIndex, int iNodeIndex)
  Specifies which geometry selections and/or nodes should be projected.
virtual void  SetInitialName (int iIndex)
  Tell the plugin to generate an initial name.
virtual const MCHAR *  GetName ()
  Get the plugin's display name.
virtual void  SetName (const MCHAR *name)
  Specifies the new name based on user input.
virtual void  SetName (MCHAR *name)
virtual void  Enable (bool enable)
  Allows the projection modifier to enable or disable a projection mod type plugin Class should assume they are enabled unless notified otherwise.
virtual bool  IsEditing ()
  Specifies if the projection mod type is currently in an editing mode.
virtual void  EndEditing ()
  Forces a projection mod type plugin to end editing.
virtual void  EnableEditing (bool enable)
  Allows the projection modifier to enable or disable the ability to edit within a projection mod type plugin Class should assume they are enabled for editing unless notified otherwise.
virtual RefResult  NotifyRefChanged (Interval changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message)
  NotifyRefChanged Method Pass Through Calls to NotifyRefChanged in the Projection Modifier are passed through this method to the projection mod types.
virtual IOResult  Load (ILoad *iload)
  Load Method Pass Through Calls to Load in the Projection Modifier are passed through this method to the projection mod types.
virtual IOResult  Save (ISave *isave)
  Save Method Pass Through Calls to Save in the Projection Modifier are passed through this method to the projection mod types.
virtual void  ModifyObject (TimeValue t, ModContext &mc, ObjectState *os, INode *inode, IProjectionModData *pPModData)
  ModifyObject Method Pass Through Calls to ModifyObject in the Projection Modifier are passed through this method to the projection mod types.
virtual void  BeginEditParams (IObjParam *ip, ULONG flags, Animatable *prev)
  BeginEditParams Method Pass Through Calls to BeginEditParams in the Projection Modifier are passed through this method to the projection mod types.
virtual void  EndEditParams (IObjParam *ip, ULONG flags, Animatable *next)
  EndEditParams Method Pass Through Calls to EndEditParams in the Projection Modifier are passed through this method to the projection mod types.
virtual void  NotifyInputChanged (Interval changeInt, PartID partID, RefMessage message, ModContext *mc, IProjectionModData *pPModData)
  NotifyInputChanged Method Pass Through Calls to NotifyInputChanged in the Projection Modifier are passed through this method to the projection mod types.
virtual void  GetWorldBoundBox (TimeValue t, INode *inode, ViewExp *vpt, Box3 &box, ModContext *mc)
  GetWorldBoundBox Method Pass Through Calls to GetWorldBoundBox in the Projection Modifier are passed through this method to the projection mod types.
virtual int  Display (TimeValue t, GraphicsWindow *gw, Matrix3 tm)
  Display Method Pass Through Calls to Display in the Projection Modifier are passed through this method to the projection mod types.
virtual int  HitTest (TimeValue t, INode *inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt, ModContext *mc, Matrix3 tm)
  HitTest Method Pass Through Calls to HitTest in the Projection Modifier are passed through this method to the projection mod types.
virtual void  SelectSubComponent (HitRecord *hitRec, BOOL selected, BOOL all, BOOL invert=FALSE)
  SelectSubComponent Method Pass Through Calls to SelectSubComponent in the Projection Modifier are passed through this method to the projection mod types.
virtual void  Move (TimeValue t, Matrix3 &partm, Matrix3 &tmAxis, Point3 &val, Matrix3 tm, BOOL localOrigin=FALSE)
  Move Method Pass Through Calls to Move in the Projection Modifier are passed through this method to the projection mod types.
virtual void  GetSubObjectCenters (SubObjAxisCallback *cb, TimeValue t, INode *node, Matrix3 tm)
  GetSubObjectCenters Method Pass Through Calls to GetSubObjectCenters in the Projection Modifier are passed through this method to the projection mod types.
virtual void  GetSubObjectTMs (SubObjAxisCallback *cb, TimeValue t, INode *node, Matrix3 tm)
  GetSubObjectTMs Method Pass Through Calls to GetSubObjectTMs in the Projection Modifier are passed through this method to the projection mod types.
virtual void  ClearSelection (int selLevel)
  ClearSelection Method Pass Through Calls to ClearSelection in the Projection Modifier are passed through this method to the projection mod types.
virtual void  SelectAll (int selLevel)
  SelectAll Method Pass Through Calls to SelectAll in the Projection Modifier are passed through this method to the projection mod types.
virtual void  InvertSelection (int selLevel)
  InvertSelection Method Pass Through Calls to InvertSelection in the Projection Modifier are passed through this method to the projection mod types.

Member Function Documentation

virtual void SetIProjectionMod ( IProjectionMod pPMod ) [inline, virtual]

Sets IProjectionMod pointer.

Give the Projection Mod Type a pointer back to the Projection Modifier

Parameters:
[in] IProjectionMod Pointer to projection modifier
{}
virtual bool CanProject ( Tab< INode * > &  tabSourceNodes,
int  iSelIndex,
int  iNodeIndex 
) [inline, virtual]

Determine if the Projection Mod Type can project the geometry selection.

Allows the projection modifier type to tell the projection modifiers if its projection algorithm supports the current geometry selection. If it doesn't, the projection modifier will disable the Project button for this type.

Parameters:
[in] tabSourceNodes Tab< INode*> an array of nodes that contain the projection modifier
[in] iSelIndex int index into geometry selection. -1 indicates all geometry selections.
[in] iNodeIndex int index into the geometry selection's nodes. -1 indicates all nodes within the geometry selection.
Returns:
bool return true if the projection is supported
{ return false; }
virtual void Project ( Tab< INode * > &  tabSourceNodes,
int  iSelIndex,
int  iNodeIndex 
) [inline, virtual]

Specifies which geometry selections and/or nodes should be projected.

This method triggers the projection mod types projection algorithm for the specified geometry selections.

Parameters:
[in] tabSourceNodes Tab< INode*> an array of node that contain the projection modifier
[in] iSelIndex int index into geometry selection. -1 indicates all geometry selections.
[in] iNodeIndex int index into the geometry selection's nodes. -1 indicates all nodes within the geometry selection.
{}
virtual void SetInitialName ( int  iIndex ) [inline, virtual]

Tell the plugin to generate an initial name.

Parameters:
[in] iIndex int An index value to help create a unique name. Unique names are not required.
{}
virtual const MCHAR* GetName ( ) [inline, virtual]

Get the plugin's display name.

Returns:
MCHAR* name
{return NULL;}
virtual void SetName ( const MCHAR *  name ) [inline, virtual]

Specifies the new name based on user input.

Parameters:
[in] name MCHAR* new name of plugin
{}
virtual void SetName ( MCHAR *  name ) [inline, virtual]
{ SetName(const_cast<const MCHAR*>(name)); }
virtual void Enable ( bool  enable ) [inline, virtual]

Allows the projection modifier to enable or disable a projection mod type plugin Class should assume they are enabled unless notified otherwise.

Parameters:
[in] enable bool true if enable
{}
virtual bool IsEditing ( ) [inline, virtual]

Specifies if the projection mod type is currently in an editing mode.

Returns:
bool return true if in editing mode.
{ return false; }
virtual void EndEditing ( ) [inline, virtual]

Forces a projection mod type plugin to end editing.

{}
virtual void EnableEditing ( bool  enable ) [inline, virtual]

Allows the projection modifier to enable or disable the ability to edit within a projection mod type plugin Class should assume they are enabled for editing unless notified otherwise.

Parameters:
[in] enable bool true if enable
{}
virtual RefResult NotifyRefChanged ( Interval  changeInt,
RefTargetHandle  hTarget,
PartID partID,
RefMessage  message 
) [inline, virtual]

NotifyRefChanged Method Pass Through Calls to NotifyRefChanged in the Projection Modifier are passed through this method to the projection mod types.

See also:
Class ReferenceMaker

Implements ReferenceMaker.

        { return REF_SUCCEED; }
virtual IOResult Load ( ILoad iload ) [inline, virtual]

Load Method Pass Through Calls to Load in the Projection Modifier are passed through this method to the projection mod types.

See also:
Class ReferenceMaker::Load

Reimplemented from ReferenceMaker.

{return IO_OK;}
virtual IOResult Save ( ISave isave ) [inline, virtual]

Save Method Pass Through Calls to Save in the Projection Modifier are passed through this method to the projection mod types.

See also:
ReferenceMaker::Save

Reimplemented from ReferenceMaker.

{return IO_OK;}
virtual void ModifyObject ( TimeValue  t,
ModContext mc,
ObjectState os,
INode inode,
IProjectionModData pPModData 
) [inline, virtual]

ModifyObject Method Pass Through Calls to ModifyObject in the Projection Modifier are passed through this method to the projection mod types.

The corresponding IProjectionModData is an additional parameter.

See also:
Modifier::ModifyObject
{}
virtual void BeginEditParams ( IObjParam ip,
ULONG  flags,
Animatable prev 
) [inline, virtual]

BeginEditParams Method Pass Through Calls to BeginEditParams in the Projection Modifier are passed through this method to the projection mod types.

See also:
Animatable::BeginEditParams

Reimplemented from Animatable.

{}
virtual void EndEditParams ( IObjParam ip,
ULONG  flags,
Animatable next 
) [inline, virtual]

EndEditParams Method Pass Through Calls to EndEditParams in the Projection Modifier are passed through this method to the projection mod types.

See also:
Animatable::EndEditParams

Reimplemented from Animatable.

{}         
virtual void NotifyInputChanged ( Interval  changeInt,
PartID  partID,
RefMessage  message,
ModContext mc,
IProjectionModData pPModData 
) [inline, virtual]

NotifyInputChanged Method Pass Through Calls to NotifyInputChanged in the Projection Modifier are passed through this method to the projection mod types.

The corresponding IProjectionModData is an addition parameter.

See also:
Modifier::NotifyInputChanged
{}
virtual void GetWorldBoundBox ( TimeValue  t,
INode inode,
ViewExp vpt,
Box3 box,
ModContext mc 
) [inline, virtual]

GetWorldBoundBox Method Pass Through Calls to GetWorldBoundBox in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::GetWorldBoundBox
{}
virtual int Display ( TimeValue  t,
GraphicsWindow gw,
Matrix3  tm 
) [inline, virtual]

Display Method Pass Through Calls to Display in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::Display
{ return 1;}
virtual int HitTest ( TimeValue  t,
INode inode,
int  type,
int  crossing,
int  flags,
IPoint2 p,
ViewExp vpt,
ModContext mc,
Matrix3  tm 
) [inline, virtual]

HitTest Method Pass Through Calls to HitTest in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::HitTest
{return 0;}
virtual void SelectSubComponent ( HitRecord hitRec,
BOOL  selected,
BOOL  all,
BOOL  invert = FALSE 
) [inline, virtual]

SelectSubComponent Method Pass Through Calls to SelectSubComponent in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::SelectSubComponent
{}
virtual void Move ( TimeValue  t,
Matrix3 partm,
Matrix3 tmAxis,
Point3 val,
Matrix3  tm,
BOOL  localOrigin = FALSE 
) [inline, virtual]

Move Method Pass Through Calls to Move in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::Move
{}
virtual void GetSubObjectCenters ( SubObjAxisCallback cb,
TimeValue  t,
INode node,
Matrix3  tm 
) [inline, virtual]

GetSubObjectCenters Method Pass Through Calls to GetSubObjectCenters in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::GetSubObjectCenters
{}
virtual void GetSubObjectTMs ( SubObjAxisCallback cb,
TimeValue  t,
INode node,
Matrix3  tm 
) [inline, virtual]

GetSubObjectTMs Method Pass Through Calls to GetSubObjectTMs in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::GetSubObjectTMs
{}
virtual void ClearSelection ( int  selLevel ) [inline, virtual]

ClearSelection Method Pass Through Calls to ClearSelection in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::ClearSelection
{}
virtual void SelectAll ( int  selLevel ) [inline, virtual]

SelectAll Method Pass Through Calls to SelectAll in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::SelectAll
{}
virtual void InvertSelection ( int  selLevel ) [inline, virtual]

InvertSelection Method Pass Through Calls to InvertSelection in the Projection Modifier are passed through this method to the projection mod types.

See also:
BaseObject::InvertSelection
{}

IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType
IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType IProjectionModType