53 #define BSPLINESURFACEOBJECT_C 77 splineSurfaceNode_(NULL),
117 std::cerr <<
"Destructor error : Spline surface already deleted" << std::endl;
137 std::cerr <<
"Cleanup error : Spline surface already deleted" << std::endl;
182 std::cerr <<
"Error when creating BSplineSurface Object! materialNode is NULL!" << std::endl;
191 QString shaderDir = OpenFlipper::Options::shaderDirStr() +
192 OpenFlipper::Options::dirSeparator();
194 std::string shaderDirectory = std::string( shaderDir.toUtf8() );
195 shaderNode_->setShaderDir( shaderDirectory );
208 std::string nodename = std::string(
"BSplineSurfaceNode for BSpline surface " + _name.toUtf8() );
211 nodename = std::string(
"TextureNode for BSpline surface " + _name.toUtf8() );
214 nodename = std::string(
"ShaderNode for BSpline surface " + _name.toUtf8() );
307 output +=
"========================================================================\n";
311 output +=
"Object Contains BSpline Surface : ";
313 output +=
"Error: Object Contains NO BSpline Surface!";
314 output +=
"========================================================================\n";
318 output += QString::number(
splineSurface()->n_control_points_m() ) +
" control points in m direction, ";
319 output += QString::number(
splineSurface()->n_control_points_n() ) +
" control points in n direction, ";
320 output += QString::number(
splineSurface()->n_knots_m() ) +=
" knots in m direction";
321 output += QString::number(
splineSurface()->n_knots_n() ) +=
" knots in n direction.\n";
323 output +=
"========================================================================\n";
virtual QString getObjectinfo()
Get all Info for the Object as a string.
void deleteData()
Delete all data attached to this object ( calls delete on each object )
virtual void setName(QString _name) override
path to the file from which the object is loaded ( defaults to "." )
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
virtual void update(UpdateType _type=UPDATE_ALL)
Update the whole Object (Selection,Topology,...)
ACG::SceneGraph::ShaderNode * shaderNode()
Return pointer to the shader node.
bool picked(uint _node_idx)
detect if the node has been picked
void request_edge_selections()
request edge selection property
std::string name() const
Returns: name of node (needs not be unique)
void setName(QString _name)
Set the name of the Object.
Knotvector * get_knotvector_m_ref()
Get a reference to the knotvector in m direction.
const UpdateType UPDATE_SELECTION(UpdateTypeSet(16))
Selection updated.
BSplineSurface * splineSurface()
return a pointer to the spline curve
BSplineSurface * splineSurface_
return a pointer to the spline curve
void request_controlpoint_selections()
request control point selection property
virtual void cleanup()
Reset current object, including all related nodes.
void enablePicking(bool _enable)
ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurface > * splineSurfaceNode()
Return pointer to the bspline surface node.
const UpdateType UPDATE_TEXTURE(UpdateTypeSet(2048))
Textures have changed.
Knotvector * get_knotvector_n_ref()
Get a reference to the knotvector in n direction.
const UpdateType UPDATE_GEOMETRY(UpdateTypeSet(4))
Geometry updated.
virtual void init(BSplineSurface *_surface=0)
Initialise current object, including all related nodes.
virtual void cleanup() override
#define DATA_BSPLINE_SURFACE
virtual ~BSplineSurfaceObject()
Destructor.
QString name() const
return the name of the object. The name defaults to NONAME if unset.
ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurface > * splineSurfaceNode_
Scenegraph BSplineSurface Node.
QString getObjectinfo()
Get all Info for the Object as a string.
ACG::SceneGraph::EnvMapNode * textureNode()
Get the TextureNode (actually its an environment map node) of the bspline surface.
BSplineSurfaceObject()
Constructor.
MaterialNode * materialNode()
get a pointer to the materialnode
bool contains(const UpdateType &_type) const
Check if this update contains the given UpdateType.
const UpdateType UPDATE_SELECTION_KNOTS(UpdateTypeSet(512))
Knot selection has changed.
ACG::SceneGraph::ShaderNode * shaderNode_
Scenegraph ShaderNode.
bool pickingEnabled()
Check if picking is enabled for this Object.
ACG::BSplineSurfaceT< ACG::Vec3d > BSplineSurface
Simple Name for BSpline surfaces.
void setDataType(DataType _type)
ACG::SceneGraph::EnvMapNode * textureNode_
Scenegraph TextureNode (whoch is actually an environment node)
ACG::SceneGraph::ShaderNode ShaderNode
Simple Name for ShaderNode.
void enablePicking(bool _enable)
Enable or disable picking for this Object.
DataType dataType() const
const UpdateType UPDATE_SELECTION_VERTICES(UpdateTypeSet(32))
Vertex selection has changed.