Functions

IPFRender.h

Functions

virtual int  HasRenderableGeometry ()
  The following methods are redirected from the particle object level to a particular ActionList.
virtual int  IsInstanceDependent (IObject *pCont, Object *pSystem)
  If an object creates different meshes depending on the particular instance (view-dependent) it should return 1.
virtual Mesh GetRenderMesh (IObject *pCont, TimeValue t, Object *pSystem, INode *inode, View &view, BOOL &needDelete)=0
  GetRenderMesh should be implemented by all renderable GeomObjects.
virtual int  NumberOfRenderMeshes (IObject *pCont, TimeValue t, Object *pSystem)
  Objects may now supply multiple render meshes.
virtual Mesh GetMultipleRenderMesh (IObject *pCont, TimeValue t, Object *pSystem, INode *inode, View &view, BOOL &needDelete, int meshNumber)
  For multiple render meshes, this method must be implemented.
virtual void  GetMultipleRenderMeshTM (IObject *pCont, TimeValue t, Object *pSystem, INode *inode, View &view, int meshNumber, Matrix3 &meshTM, Interval &meshTMValid)
  For multiple render meshes, this method must be implemented.
virtual PatchMesh GetRenderPatchMesh (IObject *pCont, TimeValue t, Object *pSystem, INode *inode, View &view, BOOL &needDelete)
  If this returns NULL, then GetRenderMesh will be called.
virtual Class_ID  PreferredCollapseType (IObject *pCont, Object *pSystem)
virtual BOOL  CanDoDisplacementMapping (IObject *pCont, Object *pSystem)
FPInterfaceDesc GetDesc ()

Function Documentation

int HasRenderableGeometry ( ) [inline, virtual, inherited]

The following methods are redirected from the particle object level to a particular ActionList.

The first parameter is a particle container of the ActionList. Returns 0 if the action doesn't render in all frames for any reason, for example a non-animated parameter prevents render.

Parameters:
pCont,: particle container to render particles from
time,: current frame to render particles at. It's supposed that the container has been already updated to satisfy this moment
pSystem,: master particle system shell
inode,: INode of the particle group
view,: View as of the GeomObject::GetRenderMesh(...) method
needDelete,: boolean as of the GeomObject::GetRenderMesh(...) method
{ return(1); }
int IsInstanceDependent ( IObject pCont,
Object pSystem 
) [inline, virtual, inherited]

If an object creates different meshes depending on the particular instance (view-dependent) it should return 1.

{ return 0; }
Mesh * GetRenderMesh ( IObject pCont,
TimeValue  t,
Object pSystem,
INode inode,
View view,
BOOL &  needDelete 
) [pure virtual, inherited]

GetRenderMesh should be implemented by all renderable GeomObjects.

Set needDelete to TRUE if the render should delete the mesh, FALSE otherwise. Primitives that already have a mesh cached can just return a pointer to it (and set needDelete = FALSE).

int NumberOfRenderMeshes ( IObject pCont,
TimeValue  t,
Object pSystem 
) [inline, virtual, inherited]

Objects may now supply multiple render meshes.

If this function returns a positive number, then GetMultipleRenderMesh and GetMultipleRenderMeshTM will be called for each mesh, instead of calling GetRenderMesh.

{ return 0; } // 0 indicates multiple meshes not supported.
virtual Mesh * GetMultipleRenderMesh ( IObject pCont,
TimeValue  t,
Object pSystem,
INode inode,
View view,
BOOL &  needDelete,
int  meshNumber 
) [inline, virtual, inherited]

For multiple render meshes, this method must be implemented.

Set needDelete to TRUE if the render should delete the mesh, FALSE otherwise. meshNumber specifies which of the multiplie meshes is being asked for.

{ return NULL; }
void GetMultipleRenderMeshTM ( IObject pCont,
TimeValue  t,
Object pSystem,
INode inode,
View view,
int  meshNumber,
Matrix3 meshTM,
Interval meshTMValid 
) [inline, virtual, inherited]

For multiple render meshes, this method must be implemented.

meshTM should be returned with the transform defining the offset of the particular mesh in object space. meshTMValid should contain the validity interval of meshTM

                                                            { return;  }
PatchMesh * GetRenderPatchMesh ( IObject pCont,
TimeValue  t,
Object pSystem,
INode inode,
View view,
BOOL &  needDelete 
) [inline, virtual, inherited]

If this returns NULL, then GetRenderMesh will be called.

{ return NULL; }
Class_ID PreferredCollapseType ( IObject pCont,
Object pSystem 
) [inline, virtual, inherited]
{ return triObjectClassID; }
BOOL CanDoDisplacementMapping ( IObject pCont,
Object pSystem 
) [inline, virtual, inherited]
FPInterfaceDesc * GetDesc ( ) [inline, virtual, inherited]
Remarks:
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

{ return GetDescByID(PFRENDER_INTERFACE); }