// // Vrml 97 library // Copyright (C) 1998 Chris Morley // // %W% %G% // VrmlNodeGeometry.h #ifndef _VRMLNODEGEOMETRY_ #define _VRMLNODEGEOMETRY_ #include "VrmlNode.h" #include "Viewer.h" class VrmlNodeColor; class VrmlNodeGeometry : public VrmlNode { public: // Define the fields of all built in geometry nodes static VrmlNodeType *defineType(VrmlNodeType *t); VrmlNodeGeometry(VrmlScene *); ~VrmlNodeGeometry(); virtual VrmlNodeGeometry* toGeometry() const; // Geometry nodes need only define insertGeometry(), not render(). virtual void render(Viewer *); virtual Viewer::Object insertGeometry(Viewer *) = 0; virtual VrmlNodeColor *color(); protected: Viewer::Object d_viewerObject; // move to VrmlNode? ... }; #endif // _VRMLNODEGEOMETRY_