Public Member Functions

IPainterInterface_V7 Class Reference

This reference page is linked to from the following overview topics: Miscellaneous Samples and Plug-ins.


Search for all occurrences

Detailed Description

See also:
IPainterInterface_V5
Description:
This class is available in Max 7 and higher only

Any plugin that wants to be able to be painted on must sub class from this class or a later version of it.

#include <IPainterInterface.h>

Inheritance diagram for IPainterInterface_V7:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual BOOL  InitializeNodesByObjState (int flags, Tab< INode * > &nodeList, Tab< ObjectState > &objList)=0
  this loads of the nodes that you want to paint on
virtual BOOL  UpdateMeshesByObjState (BOOL updatePointGather, Tab< ObjectState > &objList)=0
  This forces the quadtree to rebuilt.
virtual void  GetPatchFaceData (PatchMesh &patch, Tab< FaceDataFromPatch > &faceData)=0
  This lets you take a patch and get a list or tri mesh faces wher each tri has an owning patch index and the UVW space of that face.
virtual BOOL  StartPaintSession (IPainterRightClickHandler *rightClicker)=0
  This overload of the method used to start a paint session allows you to submit a class which will handle right-click events in the paint mouse proc.
virtual BOOL  StartPaintSession ()=0
  This is called when the a canvas wants to start a paint session.
virtual float  GetStrDragLimitMin ()=0
  this get the str limit min for while dragging to chnage the str
virtual void  SetStrDragLimitMin (float l)=0
  this set the str limit min for while dragging to chnage the str
virtual float  GetStrDragLimitMax ()=0
  this get the str limit max for while dragging to chnage the str
virtual void  SetStrDragLimitMax (float l)=0
  this set the str limit max for while dragging to chnage the str

Member Function Documentation

virtual BOOL InitializeNodesByObjState ( int  flags,
Tab< INode * > &  nodeList,
Tab< ObjectState > &  objList 
) [pure virtual]

this loads of the nodes that you want to paint on

anytime you want to add delete a node this must be called. This use the object state passed to it instead of the one gotten from the node to get the hit mesh. NOTE I do not hang onto any of the data in the ObjectState. I just get the a copy of the mesh from it.

Parameters:
flags - not yet implemented does nothing but there to allow flags per node for special conditions
nodeList - a table of nodes that you want to paint on
objList - a table of objects states one per node to use as your hit node
virtual BOOL UpdateMeshesByObjState ( BOOL  updatePointGather,
Tab< ObjectState > &  objList 
) [pure virtual]

This forces the quadtree to rebuilt.

Any time you change a geometry or togopology of a node you passed to the InitializedNodes methode this must be called. Ideally I could listen to the notifyremessage changed and rebuild on that but the since rebuilding the quad tree is inetensive, I leave it up to the canvas as to when to rebuild so we can better control the amount of stack reevals NOTE I do not hang onto any of the data in the ObjectState. I just get the a copy of the mesh from it.

Parameters:
updatePointGather - determines whether the pointGather data gets updated also normally if your mesh does not change shape or topo you dont need to update the pointgather. For instance ifyou rotate a view your quad tree needs to get updated but not the point list
objList - a table of objects states one per node to use as your hit node
virtual void GetPatchFaceData ( PatchMesh patch,
Tab< FaceDataFromPatch > &  faceData 
) [pure virtual]

This lets you take a patch and get a list or tri mesh faces wher each tri has an owning patch index and the UVW space of that face.

This lets you get patch UVW space

virtual BOOL StartPaintSession ( IPainterRightClickHandler rightClicker ) [pure virtual]

This overload of the method used to start a paint session allows you to submit a class which will handle right-click events in the paint mouse proc.

This allows you to end the paint proc however you need to. If rightClicker is NULL, or if the no-argument version of StartPaintSession is used, nothing will happen on right-click.

Parameters:
rightClicker - The handler class to be notified on a right click, or NULL
virtual BOOL StartPaintSession ( ) [pure virtual]

This is called when the a canvas wants to start a paint session.

Implements IPainterInterface_V5.

virtual float GetStrDragLimitMin ( ) [pure virtual]

this get the str limit min for while dragging to chnage the str

virtual void SetStrDragLimitMin ( float  l ) [pure virtual]

this set the str limit min for while dragging to chnage the str

virtual float GetStrDragLimitMax ( ) [pure virtual]

this get the str limit max for while dragging to chnage the str

virtual void SetStrDragLimitMax ( float  l ) [pure virtual]

this set the str limit max for while dragging to chnage the str


IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7
IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7 IPainterInterface_V7