|
Developer Documentation
|
Public Types | |
| enum | DrawStyle { DS_3D = 1 , DS_2D = 2 } |
| enum | ColorMode { CM_Axis = 1 , CM_Sign = 2 } |
| typedef PrincipalComponent | PrincipalComponentT |
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 | |
| 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. More... | |
| typedef unsigned int | MultipassBitMask |
| Multipass pass bit mask type. | |
Public Member Functions | |
| PrincipalAxisNode (BaseNode *_parent=0, const std::string &_name="<PrincipalAxis>") | |
| Default constructor. | |
| virtual | ~PrincipalAxisNode () |
| destructor | |
| void | show_options_dialog () |
| void | set_draw_style (DrawStyle _ds) |
| void | set_color_mode (ColorMode _cm) |
| void | show_tensor_component (unsigned int _i, unsigned char _show) |
| size_t | size () |
| void | resize (size_t _n) |
| void | clear () |
| void | enable (size_t _i) |
| void | disable (size_t _i) |
| void | disable_all () |
| template<class VectorT > | |
| void | set_vector (unsigned int _i, const Vec3d _p, const VectorT &_v) |
| template<class MatrixT > | |
| void | set_matrix (unsigned int _i, const Vec3d _p, const MatrixT &_m) |
| void | set (size_t _i, const PrincipalComponent &_pc) |
| void | get (size_t _i, PrincipalComponent &_pc) |
| void | add (const PrincipalComponent &_pc, bool _enable=true) |
| void | set_auto_range (bool _b) |
| void | set_min_abs_value (double _v) |
| void | set_max_abs_value (double _v) |
| void | set_min_draw_radius (double _v) |
| void | set_max_draw_radius (double _v) |
| double | get_min_draw_radius () const |
| double | get_max_draw_radius () const |
| double | get_min_spacing () const |
| bool | is_default_radius () const |
| Indicates whether the min/max draw radius has been changed from its default setting. | |
| void | auto_update_range () |
| void | update_bounding_box () |
| ACG_CLASSNAME (PrincipalAxisNode) | |
| 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 |
| drawing the primitive | |
| void | draw_principal_component (const PrincipalComponent &_pc) |
| void | draw_arrow (const Vec3d &_axis, double _r) |
| void | draw_line (const Vec3d &_axis, double _w) |
| void | pick (GLState &_state, PickTarget _target) override |
| picking | |
| void | set_draw_quality (double _q) |
| void | set_cylinder_radius_scale (double _s) |
| void | set_axes_colors (const Vec4f colors[3]) |
| void | get_axes_colors (Vec4f out_colors[3]) const |
| void | getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const ACG::SceneGraph::Material *_mat) override |
| Overriding BaseNode::getRenderObjects. | |
| GLMatrixd | axisTransform (const PrincipalComponent &_pc, int _axis, double *_outSize=0) const |
| world transform of an axis (orientation and translation) | |
| Vec3d | axisScaled (const PrincipalComponent &_pc, int _axis) const |
| scaled axis | |
| void | emitIndividualRenderobjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const ACG::SceneGraph::Material *_mat) |
| emit individual objects for each axis for each principal component (slow if tensor count high) | |
| void | updateVBO () |
Public Member Functions inherited from 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. | |
| 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 | 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 | 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. | |
| 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. | |
| void | setMultipassStatus (const MultipassBitMask _passStatus) |
| Set multipass settings for the nodes status functions. | |
| void | multipassStatusSetActive (const unsigned int _i, bool _active) |
| Set multipass status to traverse in a specific pass. | |
| bool | multipassStatusActive (const unsigned int _i) const |
| Get multipass status to traverse in a specific pass. | |
| MultipassBitMask | multipassNode () const |
| Get the current multipass settings for the node. | |
| void | setMultipassNode (const MultipassBitMask _passNode) |
| Set multipass settings for the node. | |
| void | multipassNodeSetActive (const unsigned int _i, bool _active) |
| Set Node status to traverse in a specific pass. | |
| bool | multipassNodeActive (const unsigned int _i) const |
| Get Node status to traverse in a specific pass. | |
| 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. | |
| 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. | |
| void | setRenderObjectUniformPool (const GLSL::UniformPool *_pool) |
| Set uniforms for shader based rendering. | |
| const GLSL::UniformPool * | getRenderObjectUniformPool () |
| Get uniforms for shader based rendering. | |
| void | setRenderObjectTexture (int _samplerSlot, GLuint _texId, GLenum _texType=GL_TEXTURE_2D) |
| Set textures for shader based rendering. | |
| void | setRenderObjectModifier (RenderObjectModifier *_modifier) |
| Set modifier for render objects. | |
| RenderObjectModifier * | getRenderObjectModifier () |
| Get render-object modifier. | |
| void | applyRenderObjectSettings (DrawModes::DrawModePrimitive _primitive, RenderObject *_obj) const |
| Set shaders, textures and uniforms as provided by user to a render-object. | |
Private Member Functions | |
| void | createVBO () |
| creates the vbo only if update was requested | |
| void | diagonalize (const double(&A)[3][3], double(&Q)[3][3], double(&D)[3][3]) |
Private Attributes | |
| std::vector< PrincipalComponent > | pc_ |
| std::vector< bool > | draw_pc_ |
| bool | auto_range_ |
| double | max_abs_value_ |
| double | min_abs_value_ |
| double | max_draw_radius_ |
| double | min_draw_radius_ |
| bool | default_radius_ |
| Indicates whether the min/max draw radius has been changed from its default setting. | |
| Vec3d | bbMin_ |
| Vec3d | bbMax_ |
| int | slices_ |
| double | cylinder_radius_scale_ |
| double | min_spacing_ |
| DrawStyle | draw_style_ |
| ColorMode | color_mode_ |
| unsigned char | show_tensor_component_ [3] |
| const float | cone_height_factor_ |
| GLCylinder | cylinder_ |
| GLCone | cone_ |
| GeometryBuffer | lineBuffer_ |
| VertexDeclaration | lineDecl_ |
| VertexDeclaration | lineDeclInstanced_ |
| GeometryBuffer | lineInstanceBuffer_ |
| bool | invalidateInstanceData_ |
| VertexDeclaration | cylinderDeclInstanced_ |
| int | supportsInstancing_ |
| GLfloat | axes_colors [3][4] |
| unsigned int | vbo_ |
| ACG::VertexDeclaration | vertexDecl_ |
| bool | updateVBO_ |
| std::string | nodeName_ |
Friends | |
| class | ACG::QtPrincipalAxisDialog |
Definition at line 141 of file PrincipalAxisNode.hh.
Definition at line 146 of file PrincipalAxisNode.hh.
| enum ACG::SceneGraph::PrincipalAxisNode::ColorMode |
Definition at line 150 of file PrincipalAxisNode.hh.
| enum ACG::SceneGraph::PrincipalAxisNode::DrawStyle |
Definition at line 149 of file PrincipalAxisNode.hh.
| ACG::SceneGraph::PrincipalAxisNode::PrincipalAxisNode | ( | BaseNode * | _parent = 0, |
| const std::string & | _name = "<PrincipalAxis>" |
||
| ) |
Default constructor.
Definition at line 82 of file PrincipalAxisNode.cc.
|
virtual |
destructor
Definition at line 123 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::add | ( | const PrincipalComponent & | _pc, |
| bool | _enable = true |
||
| ) |
Definition at line 286 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::auto_update_range | ( | ) |
Definition at line 376 of file PrincipalAxisNode.cc.
|
overridevirtual |
return available draw modes
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 450 of file PrincipalAxisNode.cc.
| Vec3d ACG::SceneGraph::PrincipalAxisNode::axisScaled | ( | const PrincipalComponent & | _pc, |
| int | _axis | ||
| ) | const |
scaled axis
Definition at line 1229 of file PrincipalAxisNode.cc.
| GLMatrixd ACG::SceneGraph::PrincipalAxisNode::axisTransform | ( | const PrincipalComponent & | _pc, |
| int | _axis, | ||
| double * | _outSize = 0 |
||
| ) | const |
world transform of an axis (orientation and translation)
Definition at line 1256 of file PrincipalAxisNode.cc.
|
overridevirtual |
update bounding box
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 435 of file PrincipalAxisNode.cc.
|
inline |
Definition at line 173 of file PrincipalAxisNode.hh.
|
private |
creates the vbo only if update was requested
Definition at line 1295 of file PrincipalAxisNode.cc.
|
private |
Definition at line 701 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::disable | ( | size_t | _i | ) |
Definition at line 213 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::disable_all | ( | ) |
Definition at line 232 of file PrincipalAxisNode.cc.
|
overridevirtual |
drawing the primitive
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 465 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::draw_arrow | ( | const Vec3d & | _axis, |
| double | _r | ||
| ) |
Definition at line 586 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::draw_line | ( | const Vec3d & | _axis, |
| double | _w | ||
| ) |
Definition at line 634 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::draw_principal_component | ( | const PrincipalComponent & | _pc | ) |
Definition at line 490 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::emitIndividualRenderobjects | ( | IRenderer * | _renderer, |
| GLState & | _state, | ||
| const DrawModes::DrawMode & | _drawMode, | ||
| const ACG::SceneGraph::Material * | _mat | ||
| ) |
emit individual objects for each axis for each principal component (slow if tensor count high)
Definition at line 1102 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::enable | ( | size_t | _i | ) |
Definition at line 194 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::get | ( | size_t | _i, |
| PrincipalComponent & | _pc | ||
| ) |
Definition at line 271 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::get_axes_colors | ( | Vec4f | out_colors[3] | ) | const |
Definition at line 686 of file PrincipalAxisNode.cc.
|
inline |
Definition at line 198 of file PrincipalAxisNode.hh.
|
inline |
Definition at line 197 of file PrincipalAxisNode.hh.
|
inline |
Definition at line 200 of file PrincipalAxisNode.hh.
|
overridevirtual |
Overriding BaseNode::getRenderObjects.
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 802 of file PrincipalAxisNode.cc.
|
inline |
Indicates whether the min/max draw radius has been changed from its default setting.
Definition at line 203 of file PrincipalAxisNode.hh.
|
overridevirtual |
picking
Reimplemented from ACG::SceneGraph::BaseNode.
Definition at line 649 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::resize | ( | size_t | _n | ) |
Definition at line 174 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::set | ( | size_t | _i, |
| const PrincipalComponent & | _pc | ||
| ) |
Definition at line 244 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::set_auto_range | ( | bool | _b | ) |
Definition at line 306 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::set_axes_colors | ( | const Vec4f | colors[3] | ) |
Definition at line 675 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::set_color_mode | ( | ColorMode | _cm | ) |
Definition at line 129 of file PrincipalAxisNode.cc.
|
inline |
Definition at line 233 of file PrincipalAxisNode.hh.
|
inline |
Definition at line 231 of file PrincipalAxisNode.hh.
|
inline |
Definition at line 164 of file PrincipalAxisNode.hh.
| void ACG::SceneGraph::PrincipalAxisNode::set_matrix | ( | unsigned int | _i, |
| const Vec3d | _p, | ||
| const MatrixT & | _m | ||
| ) |
Definition at line 89 of file PrincipalAxisNodeT_impl.hh.
| void ACG::SceneGraph::PrincipalAxisNode::set_max_abs_value | ( | double | _v | ) |
Definition at line 333 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::set_max_draw_radius | ( | double | _v | ) |
Definition at line 362 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::set_min_abs_value | ( | double | _v | ) |
Definition at line 317 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::set_min_draw_radius | ( | double | _v | ) |
Definition at line 348 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::set_vector | ( | unsigned int | _i, |
| const Vec3d | _p, | ||
| const VectorT & | _v | ||
| ) |
Definition at line 68 of file PrincipalAxisNodeT_impl.hh.
| void ACG::SceneGraph::PrincipalAxisNode::show_options_dialog | ( | ) |
Definition at line 141 of file PrincipalAxisNode.cc.
| void ACG::SceneGraph::PrincipalAxisNode::show_tensor_component | ( | unsigned int | _i, |
| unsigned char | _show | ||
| ) |
Definition at line 153 of file PrincipalAxisNode.cc.
|
inline |
Definition at line 169 of file PrincipalAxisNode.hh.
| void ACG::SceneGraph::PrincipalAxisNode::update_bounding_box | ( | ) |
Definition at line 399 of file PrincipalAxisNode.cc.
|
inline |
Definition at line 250 of file PrincipalAxisNode.hh.
|
friend |
Definition at line 296 of file PrincipalAxisNode.hh.
|
private |
Definition at line 266 of file PrincipalAxisNode.hh.
|
private |
Definition at line 318 of file PrincipalAxisNode.hh.
|
private |
Definition at line 281 of file PrincipalAxisNode.hh.
|
private |
Definition at line 280 of file PrincipalAxisNode.hh.
|
private |
Definition at line 291 of file PrincipalAxisNode.hh.
|
private |
Definition at line 301 of file PrincipalAxisNode.hh.
|
private |
Definition at line 298 of file PrincipalAxisNode.hh.
|
private |
Definition at line 299 of file PrincipalAxisNode.hh.
|
private |
Definition at line 285 of file PrincipalAxisNode.hh.
|
private |
Definition at line 314 of file PrincipalAxisNode.hh.
|
private |
Indicates whether the min/max draw radius has been changed from its default setting.
Definition at line 277 of file PrincipalAxisNode.hh.
|
private |
Definition at line 263 of file PrincipalAxisNode.hh.
|
private |
Definition at line 290 of file PrincipalAxisNode.hh.
|
private |
Definition at line 312 of file PrincipalAxisNode.hh.
|
private |
Definition at line 303 of file PrincipalAxisNode.hh.
|
private |
Definition at line 304 of file PrincipalAxisNode.hh.
|
private |
Definition at line 305 of file PrincipalAxisNode.hh.
|
private |
Definition at line 311 of file PrincipalAxisNode.hh.
|
private |
Definition at line 269 of file PrincipalAxisNode.hh.
|
private |
Definition at line 273 of file PrincipalAxisNode.hh.
|
private |
Definition at line 270 of file PrincipalAxisNode.hh.
|
private |
Definition at line 274 of file PrincipalAxisNode.hh.
|
private |
Definition at line 288 of file PrincipalAxisNode.hh.
|
private |
Definition at line 328 of file PrincipalAxisNode.hh.
|
private |
Definition at line 260 of file PrincipalAxisNode.hh.
|
private |
Definition at line 294 of file PrincipalAxisNode.hh.
|
private |
Definition at line 284 of file PrincipalAxisNode.hh.
|
private |
Definition at line 316 of file PrincipalAxisNode.hh.
|
private |
Definition at line 326 of file PrincipalAxisNode.hh.
|
private |
Definition at line 321 of file PrincipalAxisNode.hh.
|
private |
Definition at line 323 of file PrincipalAxisNode.hh.