00001 00002 // TrimmedSurface.h // 00004 00005 #ifndef TRIMMEDSURFACE_H 00006 #define TRIMMEDSURFACE_H 00007 00008 #include "X3DTypes.h" 00009 #include "X3DParametricGeometryNode.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00014 class Contour2D; 00015 class NurbsSurface; 00016 00021 00022 class TrimmedSurface : public X3DParametricGeometryNode 00023 { 00024 public: 00026 TrimmedSurface(); 00028 TrimmedSurface(const NurbsSurface *surface); 00030 virtual SFNode clone() const; 00032 virtual ~TrimmedSurface(); 00033 00035 void setSurface(const NurbsSurface *surface); 00036 00038 inline MFNode getTrimmingContour() const {return _trimmingContour;}; 00040 inline SFNode getSurface() const {return _surface;}; 00041 00043 virtual bool addChild(const SFAbstractNode &N); 00045 virtual bool setChild(const SFAbstractNode &N); 00047 virtual bool removeChild(const SFAbstractNode &N); 00048 00049 protected: 00051 TrimmedSurface(const TrimmedSurface &N); 00052 00053 private: 00055 MFNode _trimmingContour; 00057 SFNode _surface; 00058 }; 00059 00060 } 00061 } 00062 00063 #endif