IPFRender.h

IPFRender.h

Module description

Functions

virtual int HasRenderableGeometry ()
 The following methods are redirected from the particle object level to a particular ActionList. More...
 
virtual int IsInstanceDependent (IObject *pCont, Object *pSystem)
 If an object creates different meshes depending on the particular instance (view-dependent) it should return 1. More...
 
virtual MeshGetRenderMesh (IObject *pCont, TimeValue t, Object *pSystem, INode *inode, View &view, BOOL &needDelete)=0
 GetRenderMesh should be implemented by all renderable GeomObjects. More...
 
virtual int NumberOfRenderMeshes (IObject *pCont, TimeValue t, Object *pSystem)
 Objects may now supply multiple render meshes. More...
 
virtual MeshGetMultipleRenderMesh (IObject *pCont, TimeValue t, Object *pSystem, INode *inode, View &view, BOOL &needDelete, int meshNumber)
 For multiple render meshes, this method must be implemented. More...
 
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. More...
 
virtual PatchMeshGetRenderPatchMesh (IObject *pCont, TimeValue t, Object *pSystem, INode *inode, View &view, BOOL &needDelete)
 If this returns NULL, then GetRenderMesh will be called. More...
 
virtual Class_ID PreferredCollapseType (IObject *pCont, Object *pSystem)
 
virtual BOOL CanDoDisplacementMapping (IObject *pCont, Object *pSystem)
 
FPInterfaceDescGetDesc ()
 

Function Documentation

int HasRenderableGeometry ( )
inlinevirtual

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
pContparticle container to render particles from
timecurrent frame to render particles at. It's supposed that the container has been already updated to satisfy this moment
pSystemmaster particle system shell
inodeINode of the particle group
viewView as of the GeomObject::GetRenderMesh(...) method
needDeleteboolean as of the GeomObject::GetRenderMesh(...) method
46 { return(1); }
int IsInstanceDependent ( IObject pCont,
Object pSystem 
)
inlinevirtual

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

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

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 
)
inlinevirtual

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.

66 { 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 
)
inlinevirtual

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.

73 { return NULL; }
#define NULL
Definition: autoptr.h:20
void GetMultipleRenderMeshTM ( IObject pCont,
TimeValue  t,
Object pSystem,
INode inode,
View view,
int  meshNumber,
Matrix3 meshTM,
Interval meshTMValid 
)
inlinevirtual

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

82  { return; }
PatchMesh * GetRenderPatchMesh ( IObject pCont,
TimeValue  t,
Object pSystem,
INode inode,
View view,
BOOL &  needDelete 
)
inlinevirtual

If this returns NULL, then GetRenderMesh will be called.

87 { return NULL; }
#define NULL
Definition: autoptr.h:20
Class_ID PreferredCollapseType ( IObject pCont,
Object pSystem 
)
inlinevirtual
92 { return triObjectClassID; }
CoreExport Class_ID triObjectClassID
BOOL CanDoDisplacementMapping ( IObject pCont,
Object pSystem 
)
inlinevirtual
97 { return 0; }
FPInterfaceDesc * GetDesc ( )
inlinevirtual
Remarks
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

103 { return GetDescByID(PFRENDER_INTERFACE); }
#define PFRENDER_INTERFACE
Definition: IPFRender.h:24
virtual FPInterfaceDesc * GetDescByID(Interface_ID id)
Definition: ifnpub.h:611