sph_qt_node Class Reference

#include <spherical_quadtree.hpp>

Inheritance diagram for sph_qt_node:

Inheritance graph
[legend]
Collaboration diagram for sph_qt_node:

Collaboration graph
[legend]

List of all members.


Detailed Description

Base class for quadtree nodes.

Definition at line 63 of file spherical_quadtree.hpp.


Public Member Functions

virtual void draw (gsgl::scenegraph::context *c)
bool is_a_leaf () const
 sph_qt_node (spherical_quadtree *parent_quadtree, sph_qt_node *parent)
virtual ~sph_qt_node ()

Protected Attributes

sph_qt_nodeadjacent_nodes [4]
 Pointers to the nodes at the quad's sides.
gsgl::platform::buffer_pool::object_record buffer_pool_rec
sph_qt_nodechildren [4]
bool dirty
unsigned long last_merge_frame
 The frame at which we last merged the node.
unsigned long last_radius_frame
 The frame for which we last calculated the radius of the node.
unsigned long last_split_frame
 The frame at which we last split the node.
int level
 The level of detail of this node.
int num_indices_in_quadrants [4]
 Counts how many indices are used by each subquadrant.
sph_qt_nodeparent_node
spherical_quadtreeparent_quadtree
gsgl::index_t pos_in_leaf_node_array
gsgl::index_t pos_in_merge_node_array
gsgl::real_t radius_in_screen_space
 The "thickness" of the node in screen space.
gsgl::real_t radius_in_world_space
 The "thickness" of the node in world space.
gsgl::data::simple_array
< gsgl::index_t
triangle_fan_indices
 Temporary for storing indices used by the quadrant.
gsgl::index_t vertex_indices [25]
 Stores the indices into the global buffers.

Private Member Functions

void update_fan_indices ()

Constructor & Destructor Documentation

sph_qt_node ( spherical_quadtree parent_quadtree,
sph_qt_node parent 
)

~sph_qt_node (  )  [virtual]


Member Function Documentation

void draw ( gsgl::scenegraph::context c  )  [virtual]

bool is_a_leaf (  )  const

void update_fan_indices (  )  [private]


Member Data Documentation

sph_qt_node* adjacent_nodes[4] [protected]

sph_qt_node* children[4] [protected]

bool dirty [protected]

unsigned long last_merge_frame [protected]

The frame at which we last merged the node.

Definition at line 85 of file spherical_quadtree.hpp.

Referenced by spherical_quadtree::merge_node(), and spherical_quadtree::update().

unsigned long last_radius_frame [protected]

The frame for which we last calculated the radius of the node.

Definition at line 84 of file spherical_quadtree.hpp.

Referenced by spherical_quadtree::node_radius().

unsigned long last_split_frame [protected]

The frame at which we last split the node.

Definition at line 86 of file spherical_quadtree.hpp.

Referenced by spherical_quadtree::merge_node(), spherical_quadtree::split_node(), and spherical_quadtree::update().

int level [protected]

int num_indices_in_quadrants[4] [protected]

Counts how many indices are used by each subquadrant.

Definition at line 80 of file spherical_quadtree.hpp.

Referenced by sph_qt_node::draw(), sph_qt_node::sph_qt_node(), and sph_qt_node::update_fan_indices().

sph_qt_node* parent_node [protected]

The "thickness" of the node in screen space.

Definition at line 83 of file spherical_quadtree.hpp.

Referenced by spherical_quadtree::node_radius().

The "thickness" of the node in world space.

Definition at line 82 of file spherical_quadtree.hpp.

Referenced by sph_qt_node::draw(), and spherical_quadtree::node_radius().

Temporary for storing indices used by the quadrant.

Definition at line 79 of file spherical_quadtree.hpp.

Referenced by sph_qt_node::update_fan_indices().

gsgl::index_t vertex_indices[25] [protected]


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

Generated on Sat Mar 1 13:50:09 2008 for Periapsis Project by  doxygen 1.5.5