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 () |
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.
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); }
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; }
{ return triObjectClassID; }
{ return 0; }
FPInterfaceDesc * GetDesc | ( | ) | [inline, virtual, inherited] |
Implements FPInterface.
{ return GetDescByID(PFRENDER_INTERFACE); }