// // Vrml 97 library // Copyright (C) 1998 Chris Morley // // %W% %G% // VrmlNodeAnchor.h #ifndef _VRMLNODEANCHOR_ #define _VRMLNODEANCHOR_ #include "VrmlNodeGroup.h" #include "VrmlMFString.h" #include "VrmlSFString.h" class VrmlNodeType; class VrmlScene; class VrmlNodeAnchor : public VrmlNodeGroup { public: // Define the built in VrmlNodeType:: "Anchor" static VrmlNodeType *defineType(VrmlNodeType *t = 0); virtual VrmlNodeType *nodeType() const; VrmlNodeAnchor(VrmlScene*); VrmlNodeAnchor(const VrmlNodeAnchor&); virtual ~VrmlNodeAnchor(); // Copy the node. virtual VrmlNode *cloneMe() const; virtual VrmlNodeAnchor *toAnchor() const; virtual ostream& printFields(ostream& os, int indent); virtual void render(Viewer *); void activate(); virtual void setField(const char *fieldName, const VrmlField &fieldValue); const char *description() { return d_description.get(); } const char *url() { return d_url.size() > 0 ? d_url[0] : 0; } protected: VrmlSFString d_description; VrmlMFString d_parameter; VrmlMFString d_url; }; #endif // _VRMLNODEANCHOR_