When deriving from a SimpleObject2
, a plug-in only has to build the mesh in its override of the virtual function SimpleObject::BuildMesh()
. In other plug-ins that derives from BaseObject
, the plug-in must draw itself in the viewport in its implementation of BaseObject::Display()
function.
The following code snippet is an example implementation of BaseObject::Display()
.
int SimpleObject::Display(TimeValue t, INode* inode, ViewExp *vpt, int flags)
{
if (!OKtoDisplay(t)) return 0;
GraphicsWindow *gw = vpt->getGW();
Matrix3 mat = inode->GetObjectTM(t);
UpdateMesh(t);
gw->setTransform(mat);
mesh.render(gw, inode->Mtls(),
(flags&USE_DAMAGE_RECT) ? &vpt->GetDammageRect() : NULL, COMP_ALL, inode->NumMtls());
return(0);
}