Home | Hierarchy | Members | Alphabetical | Related Pages |
00001 #ifndef XDKWRL_TRIMMEDSURFACE_H 00002 #define XDKWRL_TRIMMEDSURFACE_H 00003 00004 #include <xdkwrl/node.h> 00005 #include <xdkwrl/fieldtypes/mfnode.h> 00006 #include <xdkwrl/fieldtypes/sfnode.h> 00007 00008 namespace wrl 00009 { 00010 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00011 // Interface of TrimmedSurface 00012 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00013 class TrimmedSurface : public Node 00014 { 00015 public: 00016 TrimmedSurface(const char* name=""); 00017 virtual ~TrimmedSurface(); 00018 virtual inline unsigned int nbFields() const; 00019 virtual FieldHandle field(const std::string& n); 00020 virtual FieldHandle field(unsigned int i); 00021 virtual bool isSetToDefaultValue(unsigned int i) const; 00022 virtual inline unsigned int nbEventsIn() const; 00023 virtual EventInHandle eventIn(const std::string& n); 00024 virtual EventInHandle eventIn(unsigned int i); 00025 virtual inline unsigned int nbEventsOut() const; 00026 virtual EventOutHandle eventOut(const std::string& n); 00027 virtual EventOutHandle eventOut(unsigned int i); 00028 inline const char* typeName() const; 00029 virtual Node* duplicate() const; 00030 virtual Node* duplicate(std::map<const Node*,Node*>&) const; 00031 /*!@name Exposed Fields 00032 * A field that is capable of receiving events via an eventIn to 00033 * change its value(s), and generating events via an eventOut 00034 * when its value(s) change. 00035 */ 00036 //!@{ 00037 /*! 00038 * See <a href="#_details" class="md">Detailed Description</a> 00039 * for meaning of this field. 00040 * Default value is set to MFNode default value 00041 */ 00042 MFNode trimmingContour; 00043 /*! 00044 * See <a href="#_details" class="md">Detailed Description</a> 00045 * for meaning of this field. 00046 * Default value is set to SFNode default value 00047 */ 00048 SFNode surface; 00049 //!@} 00050 /*!@name Fields 00051 * A property or attribute of a node. Each node type has a fixed set 00052 * of fields. Fields may contain various kinds of data and one or many 00053 * values. Each field has a default value. 00054 */ 00055 //!@{ 00056 //!@} 00057 /*!@name Events In 00058 * 00059 */ 00060 //!@{ 00061 /*! 00062 * See <a href="#_details" class="md">Detailed Description</a> 00063 * for meaning of this event. 00064 */ 00065 EventIn<MFNode> addTrimmingContour; 00066 /*! 00067 * See <a href="#_details" class="md">Detailed Description</a> 00068 * for meaning of this event. 00069 */ 00070 EventIn<MFNode> removeTrimmingContour; 00071 /*! 00072 * Set event associated to exposedField trimmingContour 00073 */ 00074 EventIn<MFNode> set_trimmingContour; 00075 /*! 00076 * Set event associated to exposedField surface 00077 */ 00078 EventIn<SFNode> set_surface; 00079 //!@} 00080 /*!@name Events Out 00081 * 00082 */ 00083 //!@{ 00084 /*! 00085 * Changed event associated to exposedField trimmingContour 00086 */ 00087 EventOut<MFNode> trimmingContour_changed; 00088 /*! 00089 * Changed event associated to exposedField surface 00090 */ 00091 EventOut<SFNode> surface_changed; 00092 //!@} 00093 }; 00094 }; 00095 //************************************************************ 00096 // Implementation of TrimmedSurface 00097 //************************************************************ 00098 /*! 00099 * Returns <code>"TrimmedSurface"</code>. Useful for printing. 00100 */ 00101 inline const char* 00102 wrl::TrimmedSurface::typeName() const 00103 { 00104 return "TrimmedSurface"; 00105 } 00106 /*! 00107 * Returns the number of fields (exposed or not) for this node type. 00108 */ 00109 inline unsigned int 00110 wrl::TrimmedSurface::nbFields() const 00111 { 00112 return 2; 00113 } 00114 /*! 00115 * Returns the number of events in for this node type. 00116 */ 00117 inline unsigned int 00118 wrl::TrimmedSurface::nbEventsIn() const 00119 { 00120 return 2; 00121 } 00122 /*! 00123 * Returns the number of events out for this node type. 00124 */ 00125 inline unsigned int 00126 wrl::TrimmedSurface::nbEventsOut() const 00127 { 00128 return 0; 00129 } 00130 #endif // XDKWRL_TRIMMEDSURFACE_H 00131 00132 // Local variables section. 00133 // This is only used by emacs! 00134 // Local Variables: 00135 // ff-search-directories: ("../../" "../../../src/xdkwrl/nodes") 00136 // End:
Generated on 28 Jun 2006 with
![]() |
|