00001 #ifndef XDKWRL_SCRIPT_H
00002 #define XDKWRL_SCRIPT_H
00003
00004 #include <xdkwrl/config.h>
00005 #include <xdkwrl/node.h>
00006 #include <xdkwrl/fieldtypes/mfstring.h>
00007 #include <xdkwrl/fieldtypes/sfbool.h>
00008 #include <map>
00009
00010 namespace wrl
00011 {
00012
00013
00014
00015 class XDKWRL_EXPORT Script : public DeclaredNode
00016 {
00017 public:
00018 Script(const char* name="");
00019 virtual ~Script() {};
00020 virtual FieldHandle field(const std::string& n);
00021 virtual unsigned int nbFields() const;
00022 virtual FieldHandle field(unsigned int i);
00023 virtual bool isSetToDefaultValue(unsigned int i) const;
00024 inline const char* typeName() const;
00025 virtual Node* duplicate() const;
00026 virtual Node* duplicate(std::map<const Node*,Node*>&) const;
00027
00028 MFString url;
00029 SFBool directOutput;
00030 SFBool mustEvaluate;
00031
00032 virtual bool isDeclaredField(const std::string& n) const;
00033 virtual bool isDeclaredField(unsigned int i) const;
00034 };
00035
00036
00037
00038 inline const char*
00039 Script::typeName() const
00040 {
00041 return "Script";
00042 }
00043 };
00044 #endif // XDKWRL_SCRIPT_H
00045
00046
00047
00048
00049
00050