#include "X3D_NurbsSurface.h" #include "X3D_X3DTextureCoordinateNode.h" #include using namespace std; namespace X3DTK { namespace X3D { NurbsSurface::NurbsSurface() : X3DParametricGeometryNode() { define(Recorder::getTypeName("NurbsSurface", "NURBS")); define(Recorder::getAttribute("controlPoint", &NurbsSurface::_controlPoint, MFVec3f())); define(Recorder::getAttribute("uTesselation", &NurbsSurface::_uTesselation, 0)); define(Recorder::getAttribute("vTesselation", &NurbsSurface::_vTesselation, 0)); define(Recorder::getAttribute("weight", &NurbsSurface::_weight, MFDouble())); define(Recorder::getAttribute("ccw;", &NurbsSurface::_ccw, true)); define(Recorder::getAttribute("solid", &NurbsSurface::_solid, true)); define(Recorder::getAttribute("uDimension", &NurbsSurface::_uDimension, 0)); define(Recorder::getAttribute("vDimension", &NurbsSurface::_vDimension, 0)); define(Recorder::getAttribute("uKnot", &NurbsSurface::_uKnot, MFDouble())); define(Recorder::getAttribute("vKnot", &NurbsSurface::_vKnot, MFDouble())); define(Recorder::getAttribute("uOrder", &NurbsSurface::_uOrder, 3)); define(Recorder::getAttribute("vOrder", &NurbsSurface::_vOrder, 3)); define(Recorder::getSFNode("texCoord", &NurbsSurface::_texCoord)); } NurbsSurface::~NurbsSurface() { removeChildren(); } void NurbsSurface::setControlPoint(const MFVec3f &controlPoint) { _controlPoint = controlPoint; } void NurbsSurface::setUTesselation(const SFInt32 &uTesselation) { _uTesselation = uTesselation; } void NurbsSurface::setVTesselation(const SFInt32 &vTesselation) { _vTesselation = vTesselation; } void NurbsSurface::setWeight(const MFDouble &weight) { _weight = weight; } void NurbsSurface::setCcw(const SFBool &ccw) { _ccw = ccw; } void NurbsSurface::setSolid(const SFBool &solid) { _solid = solid; } void NurbsSurface::setUDimension(const SFInt32 &uDimension) { _uDimension = uDimension; } void NurbsSurface::setVDimension(const SFInt32 &vDimension) { _vDimension = vDimension; } void NurbsSurface::setUKnot(const MFDouble &uKnot) { _uKnot = uKnot; } void NurbsSurface::setVKnot(const MFDouble &vKnot) { _vKnot = vKnot; } void NurbsSurface::setUOrder(const SFInt32 &uOrder) { _uOrder = uOrder; } void NurbsSurface::setVOrder(const SFInt32 &vOrder) { _vOrder = vOrder; } } }