Developer Documentation
ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve > Class Template Reference
Inheritance diagram for ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >:
ACG::SceneGraph::BaseNode

Public Types

enum  BSplineDrawMode { NORMAL = 0 , FANCY = 1 }
 
enum  BSplineSelectionDrawMode { NONE = 0 , CONTROLPOINT = 1 , KNOTVECTOR = 2 }
 
typedef BSplineCurve::Point Point
 
- Public Types inherited from ACG::SceneGraph::BaseNode
enum  StatusMode { Active = 0x1 , HideNode = 0x2 , HideChildren = 0x4 , HideSubtree = 0x8 }
 Status modi. More...
 
enum  TraverseMode { NodeFirst = 0x1 , ChildrenFirst = 0x2 , SecondPass = 0x4 }
 Node traverse types. More...
 
typedef std::vector< BaseNode * >::const_iterator ConstChildIter
 allows to iterate over children More...
 
typedef std::vector< BaseNode * >::iterator ChildIter
 allows to iterate over children More...
 
typedef std::vector< BaseNode * >::const_reverse_iterator ConstChildRIter
 allows to reverse iterate over children More...
 
typedef std::vector< BaseNode * >::reverse_iterator ChildRIter
 allows to reverse iterate over children More...
 
enum  PASSES {
  NOPASS = 0 , ALLPASSES = 1 << 0 , PASS_1 = 1 << 1 , PASS_2 = 1 << 2 ,
  PASS_3 = 1 << 3 , PASS_4 = 1 << 4 , PASS_5 = 1 << 5 , PASS_6 = 1 << 6 ,
  PASS_7 = 1 << 7 , PASS_8 = 1 << 8
}
 This enum should be used to enable rendering of a node in different. More...
 
typedef unsigned int MultipassBitMask
 Multipass pass bit mask type. More...
 

Public Member Functions

 BSplineCurveNodeT (BSplineCurve &_bsc, BaseNode *_parent=0, std::string _name="<BSplineCurveNode>")
 Constructor. More...
 
 ~BSplineCurveNodeT ()
 Destructor. More...
 
BSplineCurvebsplineCurve ()
 
void set_pick_radius (double _pr)
 
 ACG_CLASSNAME (BSplineCurveNodeT)
 static name of this class
 
DrawModes::DrawMode availableDrawModes () const override
 return available draw modes More...
 
void boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) override
 update bounding box More...
 
void draw (GLState &_state, const DrawModes::DrawMode &_drawMode) override
 draw lines and normals More...
 
void pick (GLState &_state, PickTarget _target) override
 picking More...
 
void set_rendering_resolution (int _res)
 
void render_control_polygon (bool _render)
 
bool render_control_polygon ()
 
void render_bspline_curve (bool _render)
 
bool render_bspline_curve ()
 
void set_selection_draw_mode (BSplineSelectionDrawMode _mode)
 
BSplineSelectionDrawMode get_selection_draw_mode () const
 
void set_bspline_draw_mode (BSplineDrawMode _mode)
 
void updateGeometry ()
 
int & pick_texture_res ()
 Should be a power of 2. More...
 
void cpSelectionTextureValid (bool _valid)
 
void knotSelectionTextureValid (bool _valid)
 
- Public Member Functions inherited from ACG::SceneGraph::BaseNode
 BaseNode (BaseNode *_parent=0, std::string _name="<unknown>")
 Default constructor. More...
 
 BaseNode (BaseNode *_parent, BaseNode *_child, std::string _name="<unknown>")
 Put this node between _parent and _child. More...
 
virtual ~BaseNode ()
 Destructor. More...
 
void delete_subtree ()
 Delete the whole subtree of this node. More...
 
virtual const std::string & className () const =0
 Return class name (implemented by the ACG_CLASSNAME macro)
 
virtual DrawModes::DrawMode availableDrawModes () const
 
virtual void boundingBox (Vec3d &, Vec3d &)
 
virtual void enter (GLState &, const DrawModes::DrawMode &)
 
virtual void enter (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode)
 
virtual void draw (GLState &, const DrawModes::DrawMode &)
 Draw this node using the draw modes _drawMode. More...
 
virtual void getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
 Deferred draw call with shader based renderer. More...
 
virtual void leave (GLState &, const DrawModes::DrawMode &)
 
virtual void leave (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode)
 
virtual void enterPick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode)
 
virtual void pick (GLState &, PickTarget)
 
virtual void leavePick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode)
 
void enablePicking (bool _enable)
 
bool pickingEnabled ()
 
virtual void mouseEvent (GLState &, QMouseEvent *)
 Handle mouse event (some interaction, e.g. modeling) More...
 
void setDirty (bool _dirty=true)
 mark node for redrawn More...
 
bool isDirty () const
 Check if node should be redrawn. More...
 
ChildIter childrenBegin ()
 Returns: begin-iterator of children. More...
 
ConstChildIter childrenBegin () const
 Same but cont. More...
 
ChildIter childrenEnd ()
 Returns: end-iterator of children. More...
 
ConstChildIter childrenEnd () const
 Same but const. More...
 
ChildRIter childrenRBegin ()
 Returns: reverse begin-iterator of children. More...
 
ConstChildRIter childrenRBegin () const
 Same but const. More...
 
ChildRIter childrenREnd ()
 Returns: reverse end-iterator of children. More...
 
ConstChildRIter childrenREnd () const
 Same but const. More...
 
void push_back (BaseNode *_node)
 Insert _node at the end of the list of children. More...
 
void remove (ChildIter _pos)
 
size_t nChildren () const
 number of children More...
 
ChildIter find (BaseNode *_node)
 
BaseNodefind (const std::string &_name)
 
BaseNodeparent ()
 Get the nodes parent node. More...
 
const BaseNodeparent () const
 Get the nodes parent node. More...
 
void set_parent (BaseNode *_parent)
 Set the parent of this node. More...
 
StatusMode status () const
 Get node's status. More...
 
void set_status (StatusMode _s)
 Set the status of this node. More...
 
void hide ()
 Hide Node: set status to HideNode. More...
 
void show ()
 Show node: set status to Active. More...
 
bool visible ()
 Is node visible (status == Active)? More...
 
bool hidden ()
 Is node not visible (status != Active)? More...
 
std::string name () const
 Returns: name of node (needs not be unique) More...
 
void name (const std::string &_name)
 rename a node More...
 
unsigned int id () const
 
DrawModes::DrawMode drawMode () const
 Return the own draw modes of this node. More...
 
void drawMode (DrawModes::DrawMode _drawMode)
 
unsigned int traverseMode () const
 Return how the node should be traversed. More...
 
void setTraverseMode (unsigned int _mode)
 Set traverse mode for node. More...
 
MultipassBitMask multipassStatus () const
 Get the current multipass settings for the nodes status functions. More...
 
void setMultipassStatus (const MultipassBitMask _passStatus)
 Set multipass settings for the nodes status functions. More...
 
void multipassStatusSetActive (const unsigned int _i, bool _active)
 Set multipass status to traverse in a specific pass. More...
 
bool multipassStatusActive (const unsigned int _i) const
 Get multipass status to traverse in a specific pass. More...
 
MultipassBitMask multipassNode () const
 Get the current multipass settings for the node. More...
 
void setMultipassNode (const MultipassBitMask _passNode)
 Set multipass settings for the node. More...
 
void multipassNodeSetActive (const unsigned int _i, bool _active)
 Set Node status to traverse in a specific pass. More...
 
bool multipassNodeActive (const unsigned int _i) const
 Get Node status to traverse in a specific pass. More...
 
void setRenderObjectShaders (const std::string &_vertexShaderFile, const std::string &_geometryShaderFile, const std::string &_fragmentShaderFile, bool _relativePaths=true, DrawModes::DrawModePrimitive _primitiveType=DrawModes::PRIMITIVE_POLYGON)
 Set custom shaders. More...
 
void setRenderObjectShaders (const std::string &_vertexShaderFile, const std::string &_tessControlShaderFile, const std::string &_tessEvalShaderFile, const std::string &_geometryShaderFile, const std::string &_fragmentShaderFile, bool _relativePaths=true, DrawModes::DrawModePrimitive _primitiveType=DrawModes::PRIMITIVE_POLYGON)
 Set custom shaders. More...
 
void setRenderObjectUniformPool (const GLSL::UniformPool *_pool)
 Set uniforms for shader based rendering. More...
 
const GLSL::UniformPoolgetRenderObjectUniformPool ()
 Get uniforms for shader based rendering. More...
 
void setRenderObjectTexture (int _samplerSlot, GLuint _texId, GLenum _texType=GL_TEXTURE_2D)
 Set textures for shader based rendering. More...
 
void setRenderObjectModifier (RenderObjectModifier *_modifier)
 Set modifier for render objects. More...
 
RenderObjectModifiergetRenderObjectModifier ()
 Get render-object modifier. More...
 
void applyRenderObjectSettings (DrawModes::DrawModePrimitive _primitive, RenderObject *_obj) const
 Set shaders, textures and uniforms as provided by user to a render-object. More...
 

Private Member Functions

void pick_vertices (GLState &_state)
 
void pick_spline (GLState &_state, unsigned int _offset)
 
void draw_cylinder (const Point &_p0, const Point &_axis, double _r, GLState &_state)
 
void draw_sphere (const Point &_p0, double _r, GLState &_state, GLSphere *_sphere)
 
 BSplineCurveNodeT (const BSplineCurveNodeT &_rhs)
 Copy constructor (not used)
 
BSplineCurveNodeToperator= (const BSplineCurveNodeT &_rhs)
 Assignment operator (not used)
 
void render (GLState &_state, bool _fill, DrawModes::DrawMode _drawMode)
 
void getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat) override
 Deferred draw call with shader based renderer. More...
 
void drawControlPolygon (DrawModes::DrawMode _drawMode, GLState &_state)
 Renders the control polygon. More...
 
void drawFancyControlPolygon (DrawModes::DrawMode _drawMode, GLState &_state)
 Renders the control polygon using cylinders and spheres to include shading effects. More...
 
void drawCurve (GLState &_state)
 Renders the spline curve using gluNurbsRenderer. More...
 
void drawFancyCurve (GLState &_state)
 Renders the spline curve by sampling the curve and rendering cylinders in between the samples. More...
 
void drawTexturedCurve (GLState &_state, GLuint _texture_idx)
 renders a textured cuve using the gluNurbsRenderer to vilualize either the control point ot the knot vector selection More...
 
void pick_init_texturing ()
 generate index and setup texture parameters More...
 
void pick_create_texture (GLState &_state)
 create texture image More...
 
void updateControlPointSelectionTexture (GLState &_state)
 
void updateKnotVectorSelectionTexture (GLState &_state)
 
void selection_init_texturing (GLuint &_texture_idx)
 generate index and setup texture parameters for selection visualization More...
 
void create_cp_selection_texture (GLState &_state)
 creates texture to put onto nurbs curve for visualization of control point selection More...
 
void create_knot_selection_texture (GLState &_state)
 creates texture to put onto nurbs curve for visualization of knotvector selection More...
 
void draw_textured_nurbs (GLState &_state)
 draw textured nurbs patch More...
 
ACG::Vec4f generateHighlightColor (ACG::Vec4f _color)
 generates a color to highlight the curve from the given color More...
 
void updateCurveBuffer (int _numVertices=50)
 update curve line buffer for drawing More...
 
void updateControlPointBuffer ()
 update control point buffer for visualization More...
 
void updateControlPointSelBuffer ()
 update control point selection buffer for visualization More...
 
void updateControlEdgeSelBuffer ()
 update control edge selection buffer for visualization More...
 

Private Attributes

BSplineCurvebsplineCurve_
 
double pick_radius_
 
int resolution_
 
Vec4f polygon_color_
 
Vec4f polygon_highlight_color_
 
Vec4f curve_color_
 
Vec4f curve_highlight_color_
 
bool render_control_polygon_
 
bool render_bspline_curve_
 
BSplineDrawMode bspline_draw_mode_
 
BSplineSelectionDrawMode bspline_selection_draw_mode_
 
std::vector< std::pair< Vec3d, Vec4f > > curve_samples_
 
QImage pick_texture_image_
 
GLuint pick_texture_idx_
 
int pick_texture_res_
 
unsigned int pick_texture_baseidx_
 
QImage cp_selection_texture_image_
 
GLuint cp_selection_texture_idx_
 
int cp_selection_texture_res_
 
QImage knot_selection_texture_image_
 
GLuint knot_selection_texture_idx_
 
int knot_selection_texture_res_
 
bool controlPointSelectionTexture_valid_
 
bool knotVectorSelectionTexture_valid_
 
GLCylindercylinder_
 
GLSpheresphere_
 
GLSpherefancySphere_
 
GeometryBuffer curveLineVBO_
 
VertexDeclaration curveLineDecl_
 
int curveLineVertices_
 
bool invalidateCurveLine_
 
GeometryBuffer controlPointVBO_
 
VertexDeclaration controlPointDecl_
 
IndexBuffer controlPointSelIBO_
 
int controlPointSelCount_
 
IndexBuffer controlEdgeSelIBO_
 
int controlEdgeSelCount_
 
bool invalidateControlPointVBO_
 
bool invalidateControlPointSelIBO_
 
bool invalidateControlEdgeSelIBO_
 

Detailed Description

template<class BSplineCurve>
class ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >

Definition at line 86 of file BSplineCurveNodeT.hh.

Member Typedef Documentation

◆ Point

template<class BSplineCurve >
typedef BSplineCurve::Point ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::Point

Definition at line 91 of file BSplineCurveNodeT.hh.

Member Enumeration Documentation

◆ BSplineDrawMode

template<class BSplineCurve >
enum ACG::SceneGraph::BSplineCurveNodeT::BSplineDrawMode

Definition at line 148 of file BSplineCurveNodeT.hh.

◆ BSplineSelectionDrawMode

template<class BSplineCurve >
enum ACG::SceneGraph::BSplineCurveNodeT::BSplineSelectionDrawMode

Definition at line 153 of file BSplineCurveNodeT.hh.

Constructor & Destructor Documentation

◆ BSplineCurveNodeT()

template<class BSplineCurve >
ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::BSplineCurveNodeT ( BSplineCurve _bsc,
BaseNode _parent = 0,
std::string  _name = "<BSplineCurveNode>" 
)
inline

Constructor.

Definition at line 94 of file BSplineCurveNodeT.hh.

◆ ~BSplineCurveNodeT()

Destructor.

Definition at line 135 of file BSplineCurveNodeT.hh.

Member Function Documentation

◆ availableDrawModes()

template<class BSplineCurve >
DrawModes::DrawMode ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::availableDrawModes
overridevirtual

return available draw modes

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 91 of file BSplineCurveNodeT_impl.hh.

◆ boundingBox()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::boundingBox ( Vec3d _bbMin,
Vec3d _bbMax 
)
overridevirtual

update bounding box

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 77 of file BSplineCurveNodeT_impl.hh.

◆ bsplineCurve()

template<class BSplineCurve >
BSplineCurve & ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::bsplineCurve ( )
inline

Definition at line 160 of file BSplineCurveNodeT.hh.

◆ cpSelectionTextureValid()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::cpSelectionTextureValid ( bool  _valid)
inline

Definition at line 198 of file BSplineCurveNodeT.hh.

◆ create_cp_selection_texture()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::create_cp_selection_texture ( GLState _state)
private

creates texture to put onto nurbs curve for visualization of control point selection

Definition at line 823 of file BSplineCurveNodeT_impl.hh.

◆ create_knot_selection_texture()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::create_knot_selection_texture ( GLState _state)
private

creates texture to put onto nurbs curve for visualization of knotvector selection

Definition at line 897 of file BSplineCurveNodeT_impl.hh.

◆ draw()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::draw ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
overridevirtual

draw lines and normals

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 116 of file BSplineCurveNodeT_impl.hh.

◆ draw_cylinder()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::draw_cylinder ( const Point &  _p0,
const Point &  _axis,
double  _r,
GLState _state 
)
private

Definition at line 743 of file BSplineCurveNodeT_impl.hh.

◆ draw_sphere()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::draw_sphere ( const Point &  _p0,
double  _r,
GLState _state,
GLSphere _sphere 
)
private

Definition at line 727 of file BSplineCurveNodeT_impl.hh.

◆ draw_textured_nurbs()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::draw_textured_nurbs ( GLState _state)
private

draw textured nurbs patch

Definition at line 1062 of file BSplineCurveNodeT_impl.hh.

◆ drawControlPolygon()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::drawControlPolygon ( DrawModes::DrawMode  _drawMode,
GLState _state 
)
private

Renders the control polygon.

Definition at line 368 of file BSplineCurveNodeT_impl.hh.

◆ drawCurve()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::drawCurve ( GLState _state)
private

Renders the spline curve using gluNurbsRenderer.

Definition at line 312 of file BSplineCurveNodeT_impl.hh.

◆ drawFancyControlPolygon()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::drawFancyControlPolygon ( DrawModes::DrawMode  _drawMode,
GLState _state 
)
private

Renders the control polygon using cylinders and spheres to include shading effects.

Definition at line 455 of file BSplineCurveNodeT_impl.hh.

◆ drawFancyCurve()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::drawFancyCurve ( GLState _state)
private

Renders the spline curve by sampling the curve and rendering cylinders in between the samples.

Definition at line 330 of file BSplineCurveNodeT_impl.hh.

◆ drawTexturedCurve()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::drawTexturedCurve ( GLState _state,
GLuint  _texture_idx 
)
private

renders a textured cuve using the gluNurbsRenderer to vilualize either the control point ot the knot vector selection

Definition at line 533 of file BSplineCurveNodeT_impl.hh.

◆ generateHighlightColor()

template<class BSplineCurve >
ACG::Vec4f ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::generateHighlightColor ( ACG::Vec4f  _color)
private

generates a color to highlight the curve from the given color

Definition at line 349 of file BSplineCurveNodeT_impl.hh.

◆ get_selection_draw_mode()

template<class BSplineCurve >
BSplineSelectionDrawMode ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::get_selection_draw_mode ( ) const
inline

Definition at line 189 of file BSplineCurveNodeT.hh.

◆ getRenderObjects()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::getRenderObjects ( IRenderer _renderer,
GLState _state,
const DrawModes::DrawMode _drawMode,
const Material _mat 
)
overrideprivatevirtual

Deferred draw call with shader based renderer.

The renderer calls this function to collect the geometry that should be rendered from the nodes.

Add any renderable geometry to the renderer via _renderer->addRenderObject()

The material is fetched from the last active material node and may be used to setup Renderobjects, but may as well be ignored.

Note
You should not draw anything yourself in this function.
Parameters
_rendererThe renderer which will be used. Add your geometry into this class
_stateThe current GL State when this object is called
_drawModeThe active draw mode
_matCurrent material

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 167 of file BSplineCurveNodeT_impl.hh.

◆ knotSelectionTextureValid()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::knotSelectionTextureValid ( bool  _valid)
inline

Definition at line 199 of file BSplineCurveNodeT.hh.

◆ pick()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick ( GLState _state,
PickTarget  _target 
)
overridevirtual

picking

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 610 of file BSplineCurveNodeT_impl.hh.

◆ pick_create_texture()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_create_texture ( GLState _state)
private

create texture image

Definition at line 1002 of file BSplineCurveNodeT_impl.hh.

◆ pick_init_texturing()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_init_texturing
private

generate index and setup texture parameters

spline curve picking

Definition at line 976 of file BSplineCurveNodeT_impl.hh.

◆ pick_spline()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_spline ( GLState _state,
unsigned int  _offset 
)
private

Definition at line 678 of file BSplineCurveNodeT_impl.hh.

◆ pick_texture_res()

template<class BSplineCurve >
int & ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_texture_res ( )
inline

Should be a power of 2.

Definition at line 196 of file BSplineCurveNodeT.hh.

◆ pick_vertices()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_vertices ( GLState _state)
private

Definition at line 649 of file BSplineCurveNodeT_impl.hh.

◆ render()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::render ( GLState _state,
bool  _fill,
DrawModes::DrawMode  _drawMode 
)
private

Definition at line 273 of file BSplineCurveNodeT_impl.hh.

◆ render_bspline_curve() [1/2]

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::render_bspline_curve ( )
inline

Definition at line 185 of file BSplineCurveNodeT.hh.

◆ render_bspline_curve() [2/2]

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::render_bspline_curve ( bool  _render)
inline

Definition at line 184 of file BSplineCurveNodeT.hh.

◆ render_control_polygon() [1/2]

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::render_control_polygon ( )
inline

Definition at line 182 of file BSplineCurveNodeT.hh.

◆ render_control_polygon() [2/2]

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::render_control_polygon ( bool  _render)
inline

Definition at line 181 of file BSplineCurveNodeT.hh.

◆ selection_init_texturing()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::selection_init_texturing ( GLuint &  _texture_idx)
private

generate index and setup texture parameters for selection visualization

Definition at line 800 of file BSplineCurveNodeT_impl.hh.

◆ set_bspline_draw_mode()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::set_bspline_draw_mode ( BSplineDrawMode  _mode)
inline

Definition at line 191 of file BSplineCurveNodeT.hh.

◆ set_pick_radius()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::set_pick_radius ( double  _pr)
inline

Definition at line 162 of file BSplineCurveNodeT.hh.

◆ set_rendering_resolution()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::set_rendering_resolution ( int  _res)
inline

Definition at line 179 of file BSplineCurveNodeT.hh.

◆ set_selection_draw_mode()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::set_selection_draw_mode ( BSplineSelectionDrawMode  _mode)
inline

Definition at line 187 of file BSplineCurveNodeT.hh.

◆ updateControlEdgeSelBuffer()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::updateControlEdgeSelBuffer
private

update control edge selection buffer for visualization

Definition at line 1212 of file BSplineCurveNodeT_impl.hh.

◆ updateControlPointBuffer()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::updateControlPointBuffer
private

update control point buffer for visualization

Definition at line 1132 of file BSplineCurveNodeT_impl.hh.

◆ updateControlPointSelBuffer()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::updateControlPointSelBuffer
private

update control point selection buffer for visualization

Definition at line 1166 of file BSplineCurveNodeT_impl.hh.

◆ updateControlPointSelectionTexture()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::updateControlPointSelectionTexture ( GLState _state)
private

Definition at line 775 of file BSplineCurveNodeT_impl.hh.

◆ updateCurveBuffer()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::updateCurveBuffer ( int  _numVertices = 50)
private

update curve line buffer for drawing

Definition at line 1080 of file BSplineCurveNodeT_impl.hh.

◆ updateGeometry()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::updateGeometry

Definition at line 567 of file BSplineCurveNodeT_impl.hh.

◆ updateKnotVectorSelectionTexture()

template<class BSplineCurve >
void ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::updateKnotVectorSelectionTexture ( GLState _state)
private

Definition at line 789 of file BSplineCurveNodeT_impl.hh.

Member Data Documentation

◆ bspline_draw_mode_

template<class BSplineCurve >
BSplineDrawMode ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::bspline_draw_mode_
private

Definition at line 289 of file BSplineCurveNodeT.hh.

◆ bspline_selection_draw_mode_

template<class BSplineCurve >
BSplineSelectionDrawMode ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::bspline_selection_draw_mode_
private

Definition at line 291 of file BSplineCurveNodeT.hh.

◆ bsplineCurve_

template<class BSplineCurve >
BSplineCurve& ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::bsplineCurve_
private

Definition at line 274 of file BSplineCurveNodeT.hh.

◆ controlEdgeSelCount_

template<class BSplineCurve >
int ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::controlEdgeSelCount_
private

Definition at line 334 of file BSplineCurveNodeT.hh.

◆ controlEdgeSelIBO_

template<class BSplineCurve >
IndexBuffer ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::controlEdgeSelIBO_
private

Definition at line 333 of file BSplineCurveNodeT.hh.

◆ controlPointDecl_

template<class BSplineCurve >
VertexDeclaration ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::controlPointDecl_
private

Definition at line 330 of file BSplineCurveNodeT.hh.

◆ controlPointSelCount_

template<class BSplineCurve >
int ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::controlPointSelCount_
private

Definition at line 332 of file BSplineCurveNodeT.hh.

◆ controlPointSelectionTexture_valid_

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::controlPointSelectionTexture_valid_
private

Definition at line 313 of file BSplineCurveNodeT.hh.

◆ controlPointSelIBO_

template<class BSplineCurve >
IndexBuffer ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::controlPointSelIBO_
private

Definition at line 331 of file BSplineCurveNodeT.hh.

◆ controlPointVBO_

template<class BSplineCurve >
GeometryBuffer ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::controlPointVBO_
private

Definition at line 329 of file BSplineCurveNodeT.hh.

◆ cp_selection_texture_idx_

template<class BSplineCurve >
GLuint ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::cp_selection_texture_idx_
private

Definition at line 305 of file BSplineCurveNodeT.hh.

◆ cp_selection_texture_image_

template<class BSplineCurve >
QImage ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::cp_selection_texture_image_
private

Definition at line 304 of file BSplineCurveNodeT.hh.

◆ cp_selection_texture_res_

template<class BSplineCurve >
int ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::cp_selection_texture_res_
private

Definition at line 306 of file BSplineCurveNodeT.hh.

◆ curve_color_

template<class BSplineCurve >
Vec4f ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::curve_color_
private

Definition at line 283 of file BSplineCurveNodeT.hh.

◆ curve_highlight_color_

template<class BSplineCurve >
Vec4f ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::curve_highlight_color_
private

Definition at line 284 of file BSplineCurveNodeT.hh.

◆ curve_samples_

template<class BSplineCurve >
std::vector< std::pair< Vec3d, Vec4f > > ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::curve_samples_
private

Definition at line 293 of file BSplineCurveNodeT.hh.

◆ curveLineDecl_

Definition at line 323 of file BSplineCurveNodeT.hh.

◆ curveLineVBO_

template<class BSplineCurve >
GeometryBuffer ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::curveLineVBO_
private

Definition at line 322 of file BSplineCurveNodeT.hh.

◆ curveLineVertices_

template<class BSplineCurve >
int ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::curveLineVertices_
private

Definition at line 324 of file BSplineCurveNodeT.hh.

◆ cylinder_

Definition at line 316 of file BSplineCurveNodeT.hh.

◆ fancySphere_

template<class BSplineCurve >
GLSphere* ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::fancySphere_
private

Definition at line 318 of file BSplineCurveNodeT.hh.

◆ invalidateControlEdgeSelIBO_

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::invalidateControlEdgeSelIBO_
private

Definition at line 337 of file BSplineCurveNodeT.hh.

◆ invalidateControlPointSelIBO_

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::invalidateControlPointSelIBO_
private

Definition at line 336 of file BSplineCurveNodeT.hh.

◆ invalidateControlPointVBO_

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::invalidateControlPointVBO_
private

Definition at line 335 of file BSplineCurveNodeT.hh.

◆ invalidateCurveLine_

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::invalidateCurveLine_
private

Definition at line 325 of file BSplineCurveNodeT.hh.

◆ knot_selection_texture_idx_

template<class BSplineCurve >
GLuint ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::knot_selection_texture_idx_
private

Definition at line 310 of file BSplineCurveNodeT.hh.

◆ knot_selection_texture_image_

template<class BSplineCurve >
QImage ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::knot_selection_texture_image_
private

Definition at line 309 of file BSplineCurveNodeT.hh.

◆ knot_selection_texture_res_

template<class BSplineCurve >
int ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::knot_selection_texture_res_
private

Definition at line 311 of file BSplineCurveNodeT.hh.

◆ knotVectorSelectionTexture_valid_

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::knotVectorSelectionTexture_valid_
private

Definition at line 314 of file BSplineCurveNodeT.hh.

◆ pick_radius_

template<class BSplineCurve >
double ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_radius_
private

Definition at line 276 of file BSplineCurveNodeT.hh.

◆ pick_texture_baseidx_

template<class BSplineCurve >
unsigned int ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_texture_baseidx_
private

Definition at line 300 of file BSplineCurveNodeT.hh.

◆ pick_texture_idx_

template<class BSplineCurve >
GLuint ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_texture_idx_
private

Definition at line 297 of file BSplineCurveNodeT.hh.

◆ pick_texture_image_

template<class BSplineCurve >
QImage ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_texture_image_
private

Definition at line 296 of file BSplineCurveNodeT.hh.

◆ pick_texture_res_

template<class BSplineCurve >
int ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::pick_texture_res_
private

Definition at line 298 of file BSplineCurveNodeT.hh.

◆ polygon_color_

template<class BSplineCurve >
Vec4f ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::polygon_color_
private

Definition at line 280 of file BSplineCurveNodeT.hh.

◆ polygon_highlight_color_

template<class BSplineCurve >
Vec4f ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::polygon_highlight_color_
private

Definition at line 281 of file BSplineCurveNodeT.hh.

◆ render_bspline_curve_

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::render_bspline_curve_
private

Definition at line 287 of file BSplineCurveNodeT.hh.

◆ render_control_polygon_

template<class BSplineCurve >
bool ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::render_control_polygon_
private

Definition at line 286 of file BSplineCurveNodeT.hh.

◆ resolution_

template<class BSplineCurve >
int ACG::SceneGraph::BSplineCurveNodeT< BSplineCurve >::resolution_
private

Definition at line 278 of file BSplineCurveNodeT.hh.

◆ sphere_

Definition at line 317 of file BSplineCurveNodeT.hh.


The documentation for this class was generated from the following files: