// // Vrml 97 library // Copyright (C) 1998 Chris Morley // // %W% %G% // VrmlNodeSound.h // contributed by Kumaran Santhanam #ifndef _VRMLNODESOUND_ #define _VRMLNODESOUND_ #include "VrmlNodeChild.h" #include "VrmlSFBool.h" #include "VrmlSFFloat.h" #include "VrmlSFNode.h" #include "VrmlSFVec3f.h" class VrmlScene; class VrmlNodeSound : public VrmlNodeChild { public: // Define the fields of Sound nodes static VrmlNodeType *defineType(VrmlNodeType *t = 0); virtual VrmlNodeType *nodeType() const; VrmlNodeSound( VrmlScene *scene = 0 ); virtual ~VrmlNodeSound(); virtual VrmlNode *cloneMe() const; virtual void cloneChildren(VrmlNamespace*); virtual void clearFlags(); virtual void addToScene(VrmlScene *s, const char *); virtual void copyRoutes(VrmlNamespace *ns) const; virtual void render(Viewer *); virtual VrmlNodeSound* toSound() const; virtual ostream& printFields(ostream& os, int indent); virtual void setField(const char *fieldName, const VrmlField &fieldValue); private: // Fields VrmlSFVec3f d_direction; VrmlSFFloat d_intensity; VrmlSFVec3f d_location; VrmlSFFloat d_maxBack; VrmlSFFloat d_maxFront; VrmlSFFloat d_minBack; VrmlSFFloat d_minFront; VrmlSFFloat d_priority; VrmlSFNode d_source; VrmlSFBool d_spatialize; }; #endif // _VRMLNODESOUND_