Developer Documentation
ACG::SceneGraph::CoordFrameNode Class Reference

#include <AC>

Inheritance diagram for ACG::SceneGraph::CoordFrameNode:
ACG::SceneGraph::MaterialNode ACG::SceneGraph::BaseNode

Public Member Functions

 CoordFrameNode (BaseNode *_parent=0, const std::string &_name="<CoordFrameNode>")
 Default constructor. More...
 
 ~CoordFrameNode ()
 Destructor. More...
 
 ACG_CLASSNAME (CoordFrameNode)
 implement className()
 
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
 drawing the primitive More...
 
void update_bounding_box ()
 update bounding box (compute in from BB of children) More...
 
void set_bounding_box (const Vec3f &_bb_min, const Vec3f &_bb_max)
 set bounding box More...
 
const Vec3dbb_min () const
 get bounding box More...
 
const Vec3dbb_max () const
 get bounding box More...
 
const std::vector< float > & x_planes () const
 get x-plane container More...
 
const std::vector< float > & y_planes () const
 get y-plane container More...
 
const std::vector< float > & z_planes () const
 get z-plane container More...
 
void set_x_planes (const std::vector< float > &_planes)
 set x-plane container More...
 
void set_y_planes (const std::vector< float > &_planes)
 set y-plane container More...
 
void set_z_planes (const std::vector< float > &_planes)
 set z-plane container More...
 
void add_x_plane (float _x)
 add (x == _x)-plane More...
 
void add_y_plane (float _y)
 add (y == _y)-plane More...
 
void add_z_plane (float _z)
 add (z == _z)-plane More...
 
void del_x_plane (float _x)
 del (x == _x)-plane More...
 
void del_y_plane (float _y)
 del (y == _y)-plane More...
 
void del_z_plane (float _z)
 del (z == _z)-plane More...
 
- Public Member Functions inherited from ACG::SceneGraph::MaterialNode
 MaterialNode (BaseNode *_parent=0, const std::string &_name="<MaterialNode>", unsigned int _applyProperties=(All &~BackFaceCulling))
 Default constructor. Applies all properties. More...
 
virtual ~MaterialNode ()
 Destructor. More...
 
void read (std::istream &_is)
 read MaterialFile More...
 
float alpha_value ()
 get current alpha value for alpha_test More...
 
bool blending ()
 
GLenum blending_param1 ()
 
GLenum blending_param2 ()
 
void enable_blending (GLenum _p1=GL_SRC_ALPHA, GLenum _p2=GL_ONE_MINUS_SRC_ALPHA)
 enable blending with Parameters (_p1, _p2) More...
 
void disable_blending ()
 disable blending More...
 
bool backface_culling ()
 
void enable_backface_culling ()
 enable backface culling (not active by default, see applyProperties) More...
 
void disable_backface_culling ()
 disable backface culling (not active by default, see applyProperties) More...
 
unsigned int applyProperties () const
 get properties that will be applied (OR'ed ApplyProperties) More...
 
void applyProperties (unsigned int _applyProperties)
 set properties that will be applied (OR'ed ApplyProperties) More...
 
ACG::SceneGraph::Materialmaterial ()
 Get material object reference. More...
 
void set_material (const ACG::SceneGraph::Material &_m)
 Set material object. More...
 
 ACG_CLASSNAME (MaterialNode)
 set current GL-color and GL-material
 
void enter (GLState &_state, const DrawModes::DrawMode &_drawmode) override
 set current GL-color and GL-material More...
 
void leave (GLState &_state, const DrawModes::DrawMode &_drawmode) override
 restores original GL-color and GL-material More...
 
void enterPick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode) override
 Do nothing in picking. More...
 
void leavePick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode) override
 Do nothing in picking. More...
 
void set_color (const Vec4f &_c)
 set color (base, ambient, diffuse, specular) based on _c More...
 
void set_random_color ()
 Generates a random color and sets it. More...
 
void set_base_color (const Vec4f &_c)
 set the base color ( Same as set_emission(const Vec4f& _c) ) More...
 
const Vec4fbase_color () const
 get the base color ( same as emission() ) More...
 
void set_emission (const Vec4f &_c)
 set emission ( same as set_base_color(const Vec4f& _c) ) More...
 
const Vec4femission () const
 get emission ( same as base_color() ) More...
 
void set_ambient_color (const Vec4f &_a)
 set the ambient color. More...
 
const Vec4fambient_color () const
 get the ambient color. More...
 
void set_diffuse_color (const Vec4f &_d)
 set the diffuse color. More...
 
const Vec4fdiffuse_color () const
 get the diffuse color. More...
 
void set_specular_color (const Vec4f &_s)
 set the specular color More...
 
const Vec4fspecular_color () const
 get the specular color More...
 
void set_overlay_color (const Vec4f &_s)
 set the overlay color More...
 
const Vec4foverlay_color () const
 get the overlay color More...
 
void colorMaterial (const bool _cm)
 Set colorMaterial. More...
 
void enable_color_material ()
 Enable Color Material. More...
 
void disable_color_material ()
 Disable Color Material. More...
 
bool colorMaterial ()
 get colorMaterial state More...
 
void set_shininess (float _s)
 set shininess More...
 
float shininess () const
 get shininess More...
 
void set_reflectance (double _m)
 set reflectance More...
 
double reflectance () const
 get reflectance More...
 
void set_indexOfRefraction (double _m)
 set index of refraction More...
 
double indexOfRefraction () const
 get index of refraction More...
 
void set_refractive (bool _r)
 set refractive flag More...
 
bool isRefractive () const
 get refractive flag More...
 
void set_point_size (float _sz)
 set point size (default: 1.0) More...
 
float point_size () const
 get point size More...
 
void set_line_width (float _sz)
 set line width (default: 1.0) More...
 
float line_width () const
 get line width More...
 
void set_round_points (bool _b)
 set round points enabled More...
 
bool round_points () const
 get round points enabled More...
 
void set_line_smooth (bool _b)
 set: smooth lines enabled More...
 
bool line_smooth () const
 get: rsmooth lines enabled More...
 
void enable_alpha_test (float _clip)
 enable alpha test (draw pixels if alpha >= _clip) More...
 
void disable_alpha_test ()
 disable alpha test More...
 
bool alpha_test ()
 Return state of Alpha test. More...
 
void enable_multisampling ()
 Enable Multisampling. More...
 
void disable_multisampling ()
 enable alpha test (draw pixels if alpha >= _clip) More...
 
bool multiSampling ()
 Get state of multisampling. More...
 
void set_multisampling (bool _state)
 Set state of multisampling. More...
 
- 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

 CoordFrameNode (const CoordFrameNode &_rhs)
 Copy constructor (not used)
 
CoordFrameNodeoperator= (const CoordFrameNode &_rhs)
 Assignment operator (not used)
 

Private Attributes

Vec3d bb_min_
 
Vec3d bb_max_
 
std::vector< float > x_planes_
 
std::vector< float > y_planes_
 
std::vector< float > z_planes_
 

Additional Inherited Members

- Public Types inherited from ACG::SceneGraph::MaterialNode
enum  ApplyProperties {
  None =0 , All =0xffff , BaseColor =1 , Material =2 ,
  PointSize =4 , LineWidth =8 , RoundPoints =16 , LineSmooth =32 ,
  AlphaTest =64 , Blending =128 , BackFaceCulling =256 , ColorMaterial =512 ,
  MultiSampling =1024
}
 Apply which properties? Others will be ignored. Values may be OR'ed. More...
 
- 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...
 

Detailed Description

/.../CoordFrameNode.hh>

Scenegraph Node.

A more elaborate description follows.

Definition at line 82 of file CoordFrameNode.hh.

Constructor & Destructor Documentation

◆ CoordFrameNode()

ACG::SceneGraph::CoordFrameNode::CoordFrameNode ( BaseNode _parent = 0,
const std::string &  _name = "<CoordFrameNode>" 
)

Default constructor.

Definition at line 73 of file CoordFrameNode.cc.

◆ ~CoordFrameNode()

ACG::SceneGraph::CoordFrameNode::~CoordFrameNode ( )
inline

Destructor.

Definition at line 91 of file CoordFrameNode.hh.

Member Function Documentation

◆ add_x_plane()

void ACG::SceneGraph::CoordFrameNode::add_x_plane ( float  _x)
inline

add (x == _x)-plane

Definition at line 131 of file CoordFrameNode.hh.

◆ add_y_plane()

void ACG::SceneGraph::CoordFrameNode::add_y_plane ( float  _y)
inline

add (y == _y)-plane

Definition at line 133 of file CoordFrameNode.hh.

◆ add_z_plane()

void ACG::SceneGraph::CoordFrameNode::add_z_plane ( float  _z)
inline

add (z == _z)-plane

Definition at line 135 of file CoordFrameNode.hh.

◆ availableDrawModes()

DrawModes::DrawMode ACG::SceneGraph::CoordFrameNode::availableDrawModes ( ) const
overridevirtual

return available draw modes

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 86 of file CoordFrameNode.cc.

◆ bb_max()

const Vec3d & ACG::SceneGraph::CoordFrameNode::bb_max ( ) const
inline

get bounding box

Definition at line 111 of file CoordFrameNode.hh.

◆ bb_min()

const Vec3d & ACG::SceneGraph::CoordFrameNode::bb_min ( ) const
inline

get bounding box

Definition at line 109 of file CoordFrameNode.hh.

◆ boundingBox()

void ACG::SceneGraph::CoordFrameNode::boundingBox ( Vec3d _bbMin,
Vec3d _bbMax 
)
overridevirtual

update bounding box

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 97 of file CoordFrameNode.cc.

◆ del_x_plane()

void ACG::SceneGraph::CoordFrameNode::del_x_plane ( float  _x)
inline

del (x == _x)-plane

Definition at line 139 of file CoordFrameNode.hh.

◆ del_y_plane()

void ACG::SceneGraph::CoordFrameNode::del_y_plane ( float  _y)
inline

del (y == _y)-plane

Definition at line 143 of file CoordFrameNode.hh.

◆ del_z_plane()

void ACG::SceneGraph::CoordFrameNode::del_z_plane ( float  _z)
inline

del (z == _z)-plane

Definition at line 147 of file CoordFrameNode.hh.

◆ draw()

void ACG::SceneGraph::CoordFrameNode::draw ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
overridevirtual

drawing the primitive

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 108 of file CoordFrameNode.cc.

◆ set_bounding_box()

void ACG::SceneGraph::CoordFrameNode::set_bounding_box ( const Vec3f _bb_min,
const Vec3f _bb_max 
)

set bounding box

Definition at line 247 of file CoordFrameNode.cc.

◆ set_x_planes()

void ACG::SceneGraph::CoordFrameNode::set_x_planes ( const std::vector< float > &  _planes)
inline

set x-plane container

Definition at line 123 of file CoordFrameNode.hh.

◆ set_y_planes()

void ACG::SceneGraph::CoordFrameNode::set_y_planes ( const std::vector< float > &  _planes)
inline

set y-plane container

Definition at line 125 of file CoordFrameNode.hh.

◆ set_z_planes()

void ACG::SceneGraph::CoordFrameNode::set_z_planes ( const std::vector< float > &  _planes)
inline

set z-plane container

Definition at line 127 of file CoordFrameNode.hh.

◆ update_bounding_box()

void ACG::SceneGraph::CoordFrameNode::update_bounding_box ( )

update bounding box (compute in from BB of children)

Definition at line 233 of file CoordFrameNode.cc.

◆ x_planes()

const std::vector< float > & ACG::SceneGraph::CoordFrameNode::x_planes ( ) const
inline

get x-plane container

Definition at line 115 of file CoordFrameNode.hh.

◆ y_planes()

const std::vector< float > & ACG::SceneGraph::CoordFrameNode::y_planes ( ) const
inline

get y-plane container

Definition at line 117 of file CoordFrameNode.hh.

◆ z_planes()

const std::vector< float > & ACG::SceneGraph::CoordFrameNode::z_planes ( ) const
inline

get z-plane container

Definition at line 119 of file CoordFrameNode.hh.

Member Data Documentation

◆ bb_max_

Vec3d ACG::SceneGraph::CoordFrameNode::bb_max_
private

Definition at line 164 of file CoordFrameNode.hh.

◆ bb_min_

Vec3d ACG::SceneGraph::CoordFrameNode::bb_min_
private

Definition at line 164 of file CoordFrameNode.hh.

◆ x_planes_

std::vector<float> ACG::SceneGraph::CoordFrameNode::x_planes_
private

Definition at line 167 of file CoordFrameNode.hh.

◆ y_planes_

std::vector<float> ACG::SceneGraph::CoordFrameNode::y_planes_
private

Definition at line 167 of file CoordFrameNode.hh.

◆ z_planes_

std::vector<float> ACG::SceneGraph::CoordFrameNode::z_planes_
private

Definition at line 167 of file CoordFrameNode.hh.


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