Developer Documentation
ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType > Class Template Reference
Inheritance diagram for ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >:
ACG::SceneGraph::BaseNode

Public Types

enum  BSplineDrawMode { NORMAL = 0 , FANCY = 1 }
 
enum  BSplineSelectionDrawMode { NONE = 0 , CONTROLPOINT = 1 , KNOTVECTOR = 2 }
 
typedef BSplineSurfaceType::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

 BSplineSurfaceNodeT (BSplineSurfaceType &_bss, BaseNode *_parent=0, std::string _name="<BSplineSurfaceNode>")
 Constructor. More...
 
 ~BSplineSurfaceNodeT ()
 Destructor. More...
 
BSplineSurfaceType & bsplineSurface ()
 
void set_pick_radius (double _pr)
 
 ACG_CLASSNAME (BSplineSurfaceNodeT)
 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 getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat) override
 create render objects More...
 
void pick (GLState &_state, PickTarget _target) override
 picking More...
 
void updateGeometry ()
 update vertex buffer for rendering More...
 
void set_rendering_resolution (int _res)
 
void render_control_net (bool _render)
 
bool render_control_net ()
 
void render_bspline_surface (bool _render)
 
bool render_bspline_surface ()
 
void set_bspline_draw_mode (BSplineDrawMode _mode)
 
void set_selection_draw_mode (BSplineSelectionDrawMode _mode)
 
BSplineSelectionDrawMode get_selection_draw_mode () const
 
void adaptive_sampling (bool _adaptive)
 
void cpSelectionTextureValid (bool _valid)
 
void knotSelectionTextureValid (bool _valid)
 
int & pick_texture_res ()
 Should be a power of 2. More...
 
void set_arb_texture (const QImage &_texture, bool _repeat=false, float _u_repeat=1.0f, float _v_repeat=1.0f)
 use arbitrary texture (in SOLID_TEXTURED mode) More...
 
void set_arb_texture (const GLuint _texture)
 
void set_repeat_arb_texture (bool _repeat=true, float _urep=5.0f, float _vrep=5.0f)
 
bool get_repeat_arb_texture ()
 
- 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)
 
void pick_surface (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)
 
 BSplineSurfaceNodeT (const BSplineSurfaceNodeT &_rhs)
 Copy constructor (not used)
 
BSplineSurfaceNodeToperator= (const BSplineSurfaceNodeT &_rhs)
 Assignment operator (not used)
 
void render (GLState &_state, bool _fill)
 
void drawSurface (GLState &_state, bool _fill=true)
 
void drawTexturedSurface (GLState &_state, GLuint _texture_idx)
 
void drawControlNet (GLState &_state)
 
void drawFancyControlNet (GLState &_state)
 
void updateControlPointSelectionTexture (GLState &_state)
 
void updateKnotVectorSelectionTexture (GLState &_state)
 
void pick_init_texturing ()
 generate index and setup texture parameters More...
 
void pick_create_texture (GLState &_state)
 create texture image More...
 
void pick_draw_textured_nurbs (GLState &_state)
 draw textured nurbs patch
 
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
 
ACG::Vec4f generateHighlightColor (ACG::Vec4f _color)
 
void updateSurfaceMesh (int _vertexCountU=50, int _vertexCountV=50)
 update vertex + index buffer of surface mesh More...
 
void updateControlNetMesh ()
 update vertex + index buffer of control net mesh More...
 
void updateControlNetMeshSel ()
 update index buffer of selected control points More...
 
void updateTexBuffers ()
 update texture resources for gpu-based spline evaluation More...
 

Private Attributes

BSplineSurfacebsplineSurface_
 
BSplineDrawMode bspline_draw_mode_
 
BSplineSelectionDrawMode bspline_selection_draw_mode_
 
double pick_radius_
 
int resolution_
 
Vec4f controlnet_color_
 
Vec4f controlnet_highlight_color_
 
Vec4f surface_color_
 
Vec4f surface_highlight_color_
 
bool render_control_net_
 
bool render_bspline_surface_
 
bool adaptive_sampling_
 
bool controlPointSelectionTexture_valid_
 
bool knotVectorSelectionTexture_valid_
 
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_
 
QImage arb_texture_image_
 
GLuint arb_texture_idx_
 
bool arb_texture_used_
 
bool arb_texture_repeat_
 
float arb_texture_repeat_u_
 
float arb_texture_repeat_v_
 
GLCylindercylinder_
 
GLSpheresphere_
 
GLSpherefancySphere_
 
GeometryBuffer surfaceVBO_
 
IndexBuffer surfaceIBO_
 
VertexDeclaration surfaceDecl_
 
int surfaceIndexCount_
 
bool invalidateSurfaceMesh_
 
GeometryBuffer controlNetVBO_
 
IndexBuffer controlNetSelIBO_
 
int controlNetSelIndices_
 
IndexBuffer controlNetLineIBO_
 
int controlNetLineIndices_
 
VertexDeclaration controlNetDecl_
 
bool invalidateControlNetMesh_
 
bool invalidateControlNetMeshSel_
 
TextureBuffer knotTexBufferU_
 
TextureBuffer knotTexBufferV_
 
Texture2D controlPointTex_
 

Detailed Description

template<class BSplineSurfaceType>
class ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >

Definition at line 86 of file BSplineSurfaceNodeT.hh.

Member Typedef Documentation

◆ Point

template<class BSplineSurfaceType >
typedef BSplineSurfaceType::Point ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::Point

Definition at line 91 of file BSplineSurfaceNodeT.hh.

Member Enumeration Documentation

◆ BSplineDrawMode

template<class BSplineSurfaceType >
enum ACG::SceneGraph::BSplineSurfaceNodeT::BSplineDrawMode

Definition at line 144 of file BSplineSurfaceNodeT.hh.

◆ BSplineSelectionDrawMode

template<class BSplineSurfaceType >
enum ACG::SceneGraph::BSplineSurfaceNodeT::BSplineSelectionDrawMode

Definition at line 149 of file BSplineSurfaceNodeT.hh.

Constructor & Destructor Documentation

◆ BSplineSurfaceNodeT()

template<class BSplineSurfaceType >
ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::BSplineSurfaceNodeT ( BSplineSurfaceType &  _bss,
BaseNode _parent = 0,
std::string  _name = "<BSplineSurfaceNode>" 
)
inline

Constructor.

Definition at line 94 of file BSplineSurfaceNodeT.hh.

◆ ~BSplineSurfaceNodeT()

template<class BSplineSurfaceType >
ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::~BSplineSurfaceNodeT ( )
inline

Destructor.

Definition at line 137 of file BSplineSurfaceNodeT.hh.

Member Function Documentation

◆ adaptive_sampling()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::adaptive_sampling ( bool  _adaptive)
inline

Definition at line 197 of file BSplineSurfaceNodeT.hh.

◆ availableDrawModes()

template<class BSplineSurfaceType >
DrawModes::DrawMode ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::availableDrawModes
overridevirtual

return available draw modes

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 93 of file BSplineSurfaceNodeT_impl.hh.

◆ boundingBox()

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

update bounding box

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 76 of file BSplineSurfaceNodeT_impl.hh.

◆ bsplineSurface()

template<class BSplineSurfaceType >
BSplineSurfaceType & ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::bsplineSurface ( )
inline

Definition at line 156 of file BSplineSurfaceNodeT.hh.

◆ cpSelectionTextureValid()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::cpSelectionTextureValid ( bool  _valid)
inline

Definition at line 199 of file BSplineSurfaceNodeT.hh.

◆ create_cp_selection_texture()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::create_cp_selection_texture ( GLState _state)
private

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

Definition at line 967 of file BSplineSurfaceNodeT_impl.hh.

◆ create_knot_selection_texture()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::create_knot_selection_texture ( GLState _state)
private

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

Definition at line 1071 of file BSplineSurfaceNodeT_impl.hh.

◆ draw()

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

draw lines and normals

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 273 of file BSplineSurfaceNodeT_impl.hh.

◆ draw_cylinder()

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

Definition at line 888 of file BSplineSurfaceNodeT_impl.hh.

◆ draw_sphere()

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

Definition at line 872 of file BSplineSurfaceNodeT_impl.hh.

◆ drawControlNet()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::drawControlNet ( GLState _state)
private

Definition at line 517 of file BSplineSurfaceNodeT_impl.hh.

◆ drawFancyControlNet()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::drawFancyControlNet ( GLState _state)
private

Definition at line 624 of file BSplineSurfaceNodeT_impl.hh.

◆ drawSurface()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::drawSurface ( GLState _state,
bool  _fill = true 
)
private

Definition at line 454 of file BSplineSurfaceNodeT_impl.hh.

◆ drawTexturedSurface()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::drawTexturedSurface ( GLState _state,
GLuint  _texture_idx 
)
private

Definition at line 477 of file BSplineSurfaceNodeT_impl.hh.

◆ generateHighlightColor()

template<class BSplineSurfaceType >
ACG::Vec4f ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::generateHighlightColor ( ACG::Vec4f  _color)
private

Definition at line 1337 of file BSplineSurfaceNodeT_impl.hh.

◆ get_repeat_arb_texture()

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::get_repeat_arb_texture ( )
inline

Definition at line 210 of file BSplineSurfaceNodeT.hh.

◆ get_selection_draw_mode()

template<class BSplineSurfaceType >
BSplineSelectionDrawMode ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::get_selection_draw_mode ( ) const
inline

Definition at line 195 of file BSplineSurfaceNodeT.hh.

◆ getRenderObjects()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::getRenderObjects ( IRenderer _renderer,
GLState _state,
const DrawModes::DrawMode _drawMode,
const Material _mat 
)
overridevirtual

create render objects

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 116 of file BSplineSurfaceNodeT_impl.hh.

◆ knotSelectionTextureValid()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::knotSelectionTextureValid ( bool  _valid)
inline

Definition at line 200 of file BSplineSurfaceNodeT.hh.

◆ pick()

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

picking

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 725 of file BSplineSurfaceNodeT_impl.hh.

◆ pick_create_texture()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_create_texture ( GLState _state)
private

create texture image

Definition at line 1236 of file BSplineSurfaceNodeT_impl.hh.

◆ pick_init_texturing()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_init_texturing
private

generate index and setup texture parameters

spline surface u,v-parameter picking

Definition at line 1208 of file BSplineSurfaceNodeT_impl.hh.

◆ pick_spline()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_spline ( GLState _state)
private

Definition at line 808 of file BSplineSurfaceNodeT_impl.hh.

◆ pick_surface()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_surface ( GLState _state,
unsigned int  _offset 
)
private

Definition at line 855 of file BSplineSurfaceNodeT_impl.hh.

◆ pick_texture_res()

template<class BSplineSurfaceType >
int & ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_texture_res ( )
inline

Should be a power of 2.

Definition at line 204 of file BSplineSurfaceNodeT.hh.

◆ pick_vertices()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_vertices ( GLState _state)
private

Definition at line 776 of file BSplineSurfaceNodeT_impl.hh.

◆ render()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::render ( GLState _state,
bool  _fill 
)
private

Definition at line 426 of file BSplineSurfaceNodeT_impl.hh.

◆ render_bspline_surface() [1/2]

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::render_bspline_surface ( )
inline

Definition at line 189 of file BSplineSurfaceNodeT.hh.

◆ render_bspline_surface() [2/2]

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::render_bspline_surface ( bool  _render)
inline

Definition at line 187 of file BSplineSurfaceNodeT.hh.

◆ render_control_net() [1/2]

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::render_control_net ( )
inline

Definition at line 185 of file BSplineSurfaceNodeT.hh.

◆ render_control_net() [2/2]

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::render_control_net ( bool  _render)
inline

Definition at line 183 of file BSplineSurfaceNodeT.hh.

◆ selection_init_texturing()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::selection_init_texturing ( GLuint &  _texture_idx)
private

generate index and setup texture parameters for selection visualization

Definition at line 944 of file BSplineSurfaceNodeT_impl.hh.

◆ set_arb_texture() [1/2]

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::set_arb_texture ( const GLuint  _texture)
inline

Definition at line 208 of file BSplineSurfaceNodeT.hh.

◆ set_arb_texture() [2/2]

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::set_arb_texture ( const QImage &  _texture,
bool  _repeat = false,
float  _u_repeat = 1.0f,
float  _v_repeat = 1.0f 
)

use arbitrary texture (in SOLID_TEXTURED mode)

Definition at line 1303 of file BSplineSurfaceNodeT_impl.hh.

◆ set_bspline_draw_mode()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::set_bspline_draw_mode ( BSplineDrawMode  _mode)
inline

Definition at line 191 of file BSplineSurfaceNodeT.hh.

◆ set_pick_radius()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::set_pick_radius ( double  _pr)
inline

Definition at line 158 of file BSplineSurfaceNodeT.hh.

◆ set_rendering_resolution()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::set_rendering_resolution ( int  _res)
inline

Definition at line 181 of file BSplineSurfaceNodeT.hh.

◆ set_repeat_arb_texture()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::set_repeat_arb_texture ( bool  _repeat = true,
float  _urep = 5.0f,
float  _vrep = 5.0f 
)
inline

Definition at line 209 of file BSplineSurfaceNodeT.hh.

◆ set_selection_draw_mode()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::set_selection_draw_mode ( BSplineSelectionDrawMode  _mode)
inline

Definition at line 193 of file BSplineSurfaceNodeT.hh.

◆ updateControlNetMesh()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::updateControlNetMesh
private

update vertex + index buffer of control net mesh

Definition at line 1501 of file BSplineSurfaceNodeT_impl.hh.

◆ updateControlNetMeshSel()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::updateControlNetMeshSel
private

update index buffer of selected control points

Definition at line 1583 of file BSplineSurfaceNodeT_impl.hh.

◆ updateControlPointSelectionTexture()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::updateControlPointSelectionTexture ( GLState _state)
private

Definition at line 919 of file BSplineSurfaceNodeT_impl.hh.

◆ updateGeometry()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::updateGeometry

update vertex buffer for rendering

Definition at line 714 of file BSplineSurfaceNodeT_impl.hh.

◆ updateKnotVectorSelectionTexture()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::updateKnotVectorSelectionTexture ( GLState _state)
private

Definition at line 933 of file BSplineSurfaceNodeT_impl.hh.

◆ updateSurfaceMesh()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::updateSurfaceMesh ( int  _vertexCountU = 50,
int  _vertexCountV = 50 
)
private

update vertex + index buffer of surface mesh

Definition at line 1356 of file BSplineSurfaceNodeT_impl.hh.

◆ updateTexBuffers()

template<class BSplineSurfaceType >
void ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::updateTexBuffers
private

update texture resources for gpu-based spline evaluation

Definition at line 1640 of file BSplineSurfaceNodeT_impl.hh.

Member Data Documentation

◆ adaptive_sampling_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::adaptive_sampling_
private

Definition at line 298 of file BSplineSurfaceNodeT.hh.

◆ arb_texture_idx_

template<class BSplineSurfaceType >
GLuint ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::arb_texture_idx_
private

Definition at line 321 of file BSplineSurfaceNodeT.hh.

◆ arb_texture_image_

template<class BSplineSurfaceType >
QImage ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::arb_texture_image_
private

Definition at line 320 of file BSplineSurfaceNodeT.hh.

◆ arb_texture_repeat_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::arb_texture_repeat_
private

Definition at line 323 of file BSplineSurfaceNodeT.hh.

◆ arb_texture_repeat_u_

template<class BSplineSurfaceType >
float ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::arb_texture_repeat_u_
private

Definition at line 324 of file BSplineSurfaceNodeT.hh.

◆ arb_texture_repeat_v_

template<class BSplineSurfaceType >
float ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::arb_texture_repeat_v_
private

Definition at line 325 of file BSplineSurfaceNodeT.hh.

◆ arb_texture_used_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::arb_texture_used_
private

Definition at line 322 of file BSplineSurfaceNodeT.hh.

◆ bspline_draw_mode_

template<class BSplineSurfaceType >
BSplineDrawMode ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::bspline_draw_mode_
private

Definition at line 281 of file BSplineSurfaceNodeT.hh.

◆ bspline_selection_draw_mode_

template<class BSplineSurfaceType >
BSplineSelectionDrawMode ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::bspline_selection_draw_mode_
private

Definition at line 283 of file BSplineSurfaceNodeT.hh.

◆ bsplineSurface_

template<class BSplineSurfaceType >
BSplineSurface& ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::bsplineSurface_
private

Definition at line 279 of file BSplineSurfaceNodeT.hh.

◆ controlnet_color_

template<class BSplineSurfaceType >
Vec4f ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlnet_color_
private

Definition at line 289 of file BSplineSurfaceNodeT.hh.

◆ controlnet_highlight_color_

template<class BSplineSurfaceType >
Vec4f ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlnet_highlight_color_
private

Definition at line 290 of file BSplineSurfaceNodeT.hh.

◆ controlNetDecl_

template<class BSplineSurfaceType >
VertexDeclaration ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlNetDecl_
private

Definition at line 345 of file BSplineSurfaceNodeT.hh.

◆ controlNetLineIBO_

template<class BSplineSurfaceType >
IndexBuffer ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlNetLineIBO_
private

Definition at line 343 of file BSplineSurfaceNodeT.hh.

◆ controlNetLineIndices_

template<class BSplineSurfaceType >
int ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlNetLineIndices_
private

Definition at line 344 of file BSplineSurfaceNodeT.hh.

◆ controlNetSelIBO_

template<class BSplineSurfaceType >
IndexBuffer ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlNetSelIBO_
private

Definition at line 341 of file BSplineSurfaceNodeT.hh.

◆ controlNetSelIndices_

template<class BSplineSurfaceType >
int ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlNetSelIndices_
private

Definition at line 342 of file BSplineSurfaceNodeT.hh.

◆ controlNetVBO_

template<class BSplineSurfaceType >
GeometryBuffer ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlNetVBO_
private

Definition at line 340 of file BSplineSurfaceNodeT.hh.

◆ controlPointSelectionTexture_valid_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlPointSelectionTexture_valid_
private

Definition at line 300 of file BSplineSurfaceNodeT.hh.

◆ controlPointTex_

template<class BSplineSurfaceType >
Texture2D ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::controlPointTex_
private

Definition at line 352 of file BSplineSurfaceNodeT.hh.

◆ cp_selection_texture_idx_

template<class BSplineSurfaceType >
GLuint ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::cp_selection_texture_idx_
private

Definition at line 311 of file BSplineSurfaceNodeT.hh.

◆ cp_selection_texture_image_

template<class BSplineSurfaceType >
QImage ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::cp_selection_texture_image_
private

Definition at line 310 of file BSplineSurfaceNodeT.hh.

◆ cp_selection_texture_res_

template<class BSplineSurfaceType >
int ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::cp_selection_texture_res_
private

Definition at line 312 of file BSplineSurfaceNodeT.hh.

◆ cylinder_

template<class BSplineSurfaceType >
GLCylinder* ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::cylinder_
private

Definition at line 327 of file BSplineSurfaceNodeT.hh.

◆ fancySphere_

template<class BSplineSurfaceType >
GLSphere* ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::fancySphere_
private

Definition at line 329 of file BSplineSurfaceNodeT.hh.

◆ invalidateControlNetMesh_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::invalidateControlNetMesh_
private

Definition at line 346 of file BSplineSurfaceNodeT.hh.

◆ invalidateControlNetMeshSel_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::invalidateControlNetMeshSel_
private

Definition at line 347 of file BSplineSurfaceNodeT.hh.

◆ invalidateSurfaceMesh_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::invalidateSurfaceMesh_
private

Definition at line 337 of file BSplineSurfaceNodeT.hh.

◆ knot_selection_texture_idx_

template<class BSplineSurfaceType >
GLuint ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::knot_selection_texture_idx_
private

Definition at line 316 of file BSplineSurfaceNodeT.hh.

◆ knot_selection_texture_image_

template<class BSplineSurfaceType >
QImage ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::knot_selection_texture_image_
private

Definition at line 315 of file BSplineSurfaceNodeT.hh.

◆ knot_selection_texture_res_

template<class BSplineSurfaceType >
int ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::knot_selection_texture_res_
private

Definition at line 317 of file BSplineSurfaceNodeT.hh.

◆ knotTexBufferU_

template<class BSplineSurfaceType >
TextureBuffer ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::knotTexBufferU_
private

Definition at line 350 of file BSplineSurfaceNodeT.hh.

◆ knotTexBufferV_

template<class BSplineSurfaceType >
TextureBuffer ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::knotTexBufferV_
private

Definition at line 351 of file BSplineSurfaceNodeT.hh.

◆ knotVectorSelectionTexture_valid_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::knotVectorSelectionTexture_valid_
private

Definition at line 301 of file BSplineSurfaceNodeT.hh.

◆ pick_radius_

template<class BSplineSurfaceType >
double ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_radius_
private

Definition at line 285 of file BSplineSurfaceNodeT.hh.

◆ pick_texture_baseidx_

template<class BSplineSurfaceType >
unsigned int ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_texture_baseidx_
private

Definition at line 307 of file BSplineSurfaceNodeT.hh.

◆ pick_texture_idx_

template<class BSplineSurfaceType >
GLuint ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_texture_idx_
private

Definition at line 304 of file BSplineSurfaceNodeT.hh.

◆ pick_texture_image_

template<class BSplineSurfaceType >
QImage ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_texture_image_
private

Definition at line 303 of file BSplineSurfaceNodeT.hh.

◆ pick_texture_res_

template<class BSplineSurfaceType >
int ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::pick_texture_res_
private

Definition at line 305 of file BSplineSurfaceNodeT.hh.

◆ render_bspline_surface_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::render_bspline_surface_
private

Definition at line 296 of file BSplineSurfaceNodeT.hh.

◆ render_control_net_

template<class BSplineSurfaceType >
bool ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::render_control_net_
private

Definition at line 295 of file BSplineSurfaceNodeT.hh.

◆ resolution_

template<class BSplineSurfaceType >
int ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::resolution_
private

Definition at line 287 of file BSplineSurfaceNodeT.hh.

◆ sphere_

template<class BSplineSurfaceType >
GLSphere* ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::sphere_
private

Definition at line 328 of file BSplineSurfaceNodeT.hh.

◆ surface_color_

template<class BSplineSurfaceType >
Vec4f ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::surface_color_
private

Definition at line 292 of file BSplineSurfaceNodeT.hh.

◆ surface_highlight_color_

template<class BSplineSurfaceType >
Vec4f ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::surface_highlight_color_
private

Definition at line 293 of file BSplineSurfaceNodeT.hh.

◆ surfaceDecl_

template<class BSplineSurfaceType >
VertexDeclaration ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::surfaceDecl_
private

Definition at line 335 of file BSplineSurfaceNodeT.hh.

◆ surfaceIBO_

template<class BSplineSurfaceType >
IndexBuffer ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::surfaceIBO_
private

Definition at line 334 of file BSplineSurfaceNodeT.hh.

◆ surfaceIndexCount_

template<class BSplineSurfaceType >
int ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::surfaceIndexCount_
private

Definition at line 336 of file BSplineSurfaceNodeT.hh.

◆ surfaceVBO_

template<class BSplineSurfaceType >
GeometryBuffer ACG::SceneGraph::BSplineSurfaceNodeT< BSplineSurfaceType >::surfaceVBO_
private

Definition at line 333 of file BSplineSurfaceNodeT.hh.


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