glVertex
5.5.2
|
scene graph node (base class) More...
#include <glvertex_nodes.h>
Public Types | |
enum | lgl_export_enum |
scene graph export modes | |
Public Member Functions | |
lgl_Node (const std::string &id="") | |
default ctor | |
lgl_Node (const lgl_Node &node) | |
copy ctor | |
lgl_Node (lgl_Node *node, const std::string &id="") | |
custom ctor | |
virtual | ~lgl_Node () |
dtor | |
virtual std::string | getClassId () const |
get the class id | |
std::string | getId () const |
get the node identifier | |
void | setId (const std::string &id="") |
set the node identifier | |
std::string | getAltId () const |
get the alternate node identifier | |
void | setAltId (const std::string &id="") |
set the alternate node identifier | |
unsigned int | children () const |
get the number of children of the node | |
bool | leaf () const |
is the node a leaf? | |
unsigned int | references () const |
get the number of references to the node | |
bool | shared () const |
is the node shared? | |
lgl_Node * | get (unsigned int i=0) const |
get a child node | |
template<class T > | |
T * | add (T *node) |
add a child node with a specific type | |
void | remove (unsigned int i=0) |
remove a child from the node | |
void | replace (lgl_Node *node, unsigned int i=0) |
replace a child of the node | |
lgl_Node * | take (unsigned int i=0) |
unlink a child and take ownership | |
void | link (lgl_Node *node) |
add the links of a node | |
void | unlink () |
remove the links of the node | |
virtual bool | checkForCycles () |
check for graph cycles | |
bool | enabled () const |
is the node enabled? | |
bool | disabled () const |
is the node disabled? | |
void | enable (bool yes=true) |
enable the node | |
void | disable (bool yes=true) |
disable the node | |
void | toggle () |
toggle the node | |
bool | shown () const |
is the node shown? | |
bool | hidden () const |
is the node hidden? | |
void | show (bool yes=true) |
show the node and its children | |
void | hide (bool yes=true) |
hide the node and its children | |
virtual lgl_Node * | find (const std::string &id) |
find a node with a specific identifier | |
template<class T > | |
T * | find () |
find a node with a specific type | |
template<class T > | |
T * | find (const std::string &id) |
find a node with a specific identifier and type | |
void | renderSceneGraph (double dt=0) |
render and update the entire scene subgraph | |
void | drawSceneGraph (vec4 color=vec4(1)) |
draw the entire scene subgraph without updating | |
void | drawSceneGraph (const mat4 &m) |
draw the entire scene subgraph without updating | |
void | preupdateSceneGraph (double dt) |
pre-update the entire scene subgraph | |
void | updateSceneGraph (double dt) |
update the entire scene subgraph | |
virtual void | getBoundingBox (vec3 &bboxmin, vec3 &bboxmax) |
get the bounding box of the entire subgraph More... | |
double | getBoundingSphere (vec3 ¢er) |
get the bounding sphere of the entire subgraph More... | |
vec3 | getCenter () |
get the bounding box center of the entire subgraph | |
vec3 | getExtent () |
get the bounding box extent of the entire subgraph | |
double | getRadius () |
get the bounding sphere radius of the entire subgraph More... | |
double | getNorm () |
get the bounding sphere norm of the entire subgraph More... | |
virtual std::vector< vec4 > | getVertexCoordinates (mat4 trans=mat4()) |
void | getExactBoundingBox (vec3 &bboxmin, vec3 &bboxmax) |
get the exact bounding box of the entire subgraph More... | |
lglVBO * | pickSceneGraph (vec3 origin, vec3 direction, double mindist=0) |
pick the entire scene subgraph | |
bool | hasTransparency () |
check the entire subgraph whether or not it contains semi-transparent geometry | |
virtual unsigned int | countAll () |
count all nodes (count multiply linked nodes) | |
virtual unsigned int | countAllOnce () |
count all nodes (count multiply linked nodes once) | |
virtual unsigned int | countAllPrimitives () |
count all primitives | |
unsigned int | countAllVertices () |
count all vertices | |
virtual bool | stateless () const |
is the node stateless? | |
virtual bool | ordered () const |
is the node ordered? | |
bool | convertable () const |
is the node convertable? | |
bool | cloneable () const |
is the node cloneable? | |
bool | optimizable () const |
is the node optimizable? | |
virtual void | optimizeAll () |
optimize all nodes | |
virtual void | restartAll (double animation=0) |
restart all animations | |
virtual void | pauseAll (bool yes=true) |
pause all animations | |
virtual void | speedupAll (double speedup=1) |
speedup all animations | |
virtual void | finishAll () |
finish all transitions | |
std::string | exportAll (lgl_export_enum mode=LGL_EXPORT_NODES, int indentation=0, int increment=3) |
export all nodes | |
void | exportNodes (std::string filename) |
export graph nodes | |
void | exportGraph (std::string filename) |
export link graph | |
void | exportCommands (std::string filename) |
export graphics commands | |
bool | saveObj (std::string filename) |
save into OBJ file | |
Static Public Member Functions | |
static GL * | getGL () |
get the scene graph GL singleton | |
Protected Member Functions | |
lgl_Node * | add_node (lgl_Node *node) |
add a child to the node | |
virtual void | render () |
reimplement this method to render a node | |
virtual void | update (double dt) |
reimplement this method to update a node | |
virtual void | pick () |
reimplement this method to pick a node | |
Friends | |
class | lgl_SubgraphNode |
scene graph node (base class)
a scene graph node provides virtual render() and update() methods to be reimplemented in derived classes
get the bounding box of the entire subgraph
Reimplemented in lgl_SubgraphNode.
|
inline |
get the bounding sphere of the entire subgraph
get the exact bounding box of the entire subgraph
|
inline |
get the bounding sphere norm of the entire subgraph
|
inline |
get the bounding sphere radius of the entire subgraph
Reimplemented in lgl_SubgraphNode.