|
Developer Documentation
|
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::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 | |
| typedef std::vector< BaseNode * >::iterator | ChildIter |
| allows to iterate over children | |
| typedef std::vector< BaseNode * >::const_reverse_iterator | ConstChildRIter |
| allows to reverse iterate over children | |
| typedef std::vector< BaseNode * >::reverse_iterator | ChildRIter |
| allows to reverse iterate over children | |
| 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. | |
| typedef unsigned int | MultipassBitMask |
| Multipass pass bit mask type. | |
Public Member Functions | |
| BSplineSurfaceNodeT (BSplineSurfaceType &_bss, BaseNode *_parent=0, std::string _name="<BSplineSurfaceNode>") | |
| Constructor. | |
| ~BSplineSurfaceNodeT () | |
| Destructor. | |
| 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 | |
| void | boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) override |
| update bounding box | |
| void | draw (GLState &_state, const DrawModes::DrawMode &_drawMode) override |
| draw lines and normals | |
| void | getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat) override |
| create render objects | |
| void | pick (GLState &_state, PickTarget _target) override |
| picking | |
| void | updateGeometry () |
| update vertex buffer for rendering | |
| 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. | |
| 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) | |
| 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::ACG::SceneGraph::BaseNode | |
| BaseNode (BaseNode *_parent=0, std::string _name="<unknown>") | |
| Default constructor. | |
| BaseNode (BaseNode *_parent, BaseNode *_child, std::string _name="<unknown>") | |
| Put this node between _parent and _child. | |
| virtual | ~BaseNode () |
| Destructor. | |
| 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 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) | |
| void | setDirty (bool _dirty=true) |
| mark node for redrawn | |
| bool | isDirty () const |
| Check if node should be redrawn. | |
| ChildIter | childrenBegin () |
| Returns: begin-iterator of children. | |
| ConstChildIter | childrenBegin () const |
Same but cont. | |
| ChildIter | childrenEnd () |
| Returns: end-iterator of children. | |
| ConstChildIter | childrenEnd () const |
Same but const. | |
| ChildRIter | childrenRBegin () |
| Returns: reverse begin-iterator of children. | |
| ConstChildRIter | childrenRBegin () const |
| Same but const. | |
| ChildRIter | childrenREnd () |
| Returns: reverse end-iterator of children. | |
| ConstChildRIter | childrenREnd () const |
Same but const. | |
| void | push_back (BaseNode *_node) |
| Insert _node at the end of the list of children. | |
| void | remove (ChildIter _pos) |
| size_t | nChildren () const |
| number of children | |
| ChildIter | find (BaseNode *_node) |
| BaseNode * | find (const std::string &_name) |
| BaseNode * | parent () |
| Get the nodes parent node. | |
| const BaseNode * | parent () const |
| Get the nodes parent node. | |
| void | set_parent (BaseNode *_parent) |
| Set the parent of this node. More... | |
| StatusMode | status () const |
| Get node's status. | |
| void | set_status (StatusMode _s) |
| Set the status of this node. | |
| void | hide () |
| Hide Node: set status to HideNode. | |
| void | show () |
| Show node: set status to Active. | |
| bool | visible () |
| Is node visible (status == Active)? | |
| bool | hidden () |
| Is node not visible (status != Active)? | |
| std::string | name () const |
| Returns: name of node (needs not be unique) | |
| void | name (const std::string &_name) |
| rename a node | |
| unsigned int | id () const |
| DrawModes::DrawMode | drawMode () const |
| Return the own draw modes of this node. | |
| void | drawMode (DrawModes::DrawMode _drawMode) |
| unsigned int | traverseMode () const |
| Return how the node should be traversed. | |
| void | setTraverseMode (unsigned int _mode) |
| Set traverse mode for node. | |
| 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::UniformPool * | getRenderObjectUniformPool () |
| 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... | |
| RenderObjectModifier * | getRenderObjectModifier () |
| 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) | |
| BSplineSurfaceNodeT & | operator= (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 | |
| 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 | |
| void | create_cp_selection_texture (GLState &_state) |
| creates texture to put onto nurbs curve for visualization of control point selection | |
| void | create_knot_selection_texture (GLState &_state) |
| creates texture to put onto nurbs curve for visualization of knotvector selection | |
| 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 | |
| void | updateControlNetMesh () |
| update vertex + index buffer of control net mesh | |
| void | updateControlNetMeshSel () |
| update index buffer of selected control points | |
| void | updateTexBuffers () |
| update texture resources for gpu-based spline evaluation | |
Private Attributes | |
| BSplineSurface & | bsplineSurface_ |
| 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_ |
| GLCylinder * | cylinder_ |
| GLSphere * | sphere_ |
| GLSphere * | fancySphere_ |
| 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_ |
Definition at line 88 of file BSplineSurfaceNodeT.hh.
|
private |
generate index and setup texture parameters
spline surface u,v-parameter picking
Definition at line 1218 of file BSplineSurfaceNodeT_impl.hh.