Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
vtol_topology_cache Class Reference

This class keeps a cache of various topology object lists. More...

#include <vtol_topology_cache.h>

Inheritance diagram for vtol_topology_cache:
Inheritance graph
[legend]

List of all members.

Public Member Functions

void touch ()
unsigned long get_time_stamp () const
bool older (vul_timestamp const &t) const
bool older (vul_timestamp const *t) const

Protected Attributes

unsigned long timestamp_

Private Member Functions

 vtol_topology_cache ()
 private default constructor.
 vtol_topology_cache (vtol_topology_object *to_be_cached)
 private constructor.
 ~vtol_topology_cache ()
 private destructor.
void set_source (vtol_topology_object *to_be_cached)
 set the source.
void vertices (vertex_list &)
 get the vertices.
void zero_chains (zero_chain_list &)
 get the zero chains.
void edges (edge_list &)
 get the edges.
void one_chains (one_chain_list &)
 get the one chains.
void faces (face_list &)
 get the faces.
void two_chains (two_chain_list &)
 get the two chains.
void blocks (block_list &)
 get the blocks.
void validate_cache ()
 validate the cache.
void clear_cache ()
 clear the cache.

Private Attributes

vtol_topology_objectsource_
vcl_vector< vtol_vertex * > * vertices_
vcl_vector< vtol_zero_chain * > * zerochains_
vcl_vector< vtol_edge * > * edges_
vcl_vector< vtol_one_chain * > * onechains_
vcl_vector< vtol_face * > * faces_
vcl_vector< vtol_two_chain * > * twochains_
vcl_vector< vtol_block * > * blocks_

Friends

class vtol_vertex
class vtol_zero_chain
class vtol_edge
class vtol_one_chain
class vtol_face
class vtol_two_chain
class vtol_block
class vtol_topology_object

Detailed Description

This class keeps a cache of various topology object lists.

Definition at line 30 of file vtol_topology_cache.h.


Constructor & Destructor Documentation

vtol_topology_cache::vtol_topology_cache ( ) [private]

private default constructor.

Set up the cache.

Definition at line 7 of file vtol_topology_cache.cxx.

vtol_topology_cache::vtol_topology_cache ( vtol_topology_object to_be_cached) [private]

private constructor.

Set up the cache.

Definition at line 20 of file vtol_topology_cache.cxx.

vtol_topology_cache::~vtol_topology_cache ( ) [private]

private destructor.

Definition at line 33 of file vtol_topology_cache.cxx.


Member Function Documentation

void vtol_topology_cache::blocks ( block_list oblocks) [private]

get the blocks.

get the block lists.

Definition at line 170 of file vtol_topology_cache.cxx.

void vtol_topology_cache::clear_cache ( ) [private]

clear the cache.

reset the list pointers.

Definition at line 45 of file vtol_topology_cache.cxx.

void vtol_topology_cache::edges ( edge_list oedges) [private]

get the edges.

Get the edge lists.

Definition at line 111 of file vtol_topology_cache.cxx.

void vtol_topology_cache::faces ( face_list ofaces) [private]

get the faces.

get the face lists.

Definition at line 140 of file vtol_topology_cache.cxx.

void vtol_topology_cache::one_chains ( one_chain_list ochains) [private]

get the one chains.

get the one chain lists.

Definition at line 126 of file vtol_topology_cache.cxx.

void vtol_topology_cache::set_source ( vtol_topology_object to_be_cached) [private]

set the source.

set the source topology object.

Definition at line 39 of file vtol_topology_cache.cxx.

void vtol_topology_cache::two_chains ( two_chain_list otwo_chains) [private]

get the two chains.

get the two_chain lists.

Definition at line 155 of file vtol_topology_cache.cxx.

void vtol_topology_cache::validate_cache ( ) [private]

validate the cache.

If cache is out of date as compared to its source object, then clear the cache.

Definition at line 58 of file vtol_topology_cache.cxx.

void vtol_topology_cache::vertices ( vertex_list verts) [private]

get the vertices.

Get the vertex lists.

Definition at line 78 of file vtol_topology_cache.cxx.

void vtol_topology_cache::zero_chains ( zero_chain_list zchains) [private]

get the zero chains.

Get the zero chain lists.

Definition at line 94 of file vtol_topology_cache.cxx.


Friends And Related Function Documentation

friend class vtol_block [friend]

Definition at line 86 of file vtol_topology_cache.h.

friend class vtol_edge [friend]

Definition at line 82 of file vtol_topology_cache.h.

friend class vtol_face [friend]

Definition at line 84 of file vtol_topology_cache.h.

friend class vtol_one_chain [friend]

Definition at line 83 of file vtol_topology_cache.h.

friend class vtol_topology_object [friend]

Definition at line 87 of file vtol_topology_cache.h.

friend class vtol_two_chain [friend]

Definition at line 85 of file vtol_topology_cache.h.

friend class vtol_vertex [friend]

Definition at line 80 of file vtol_topology_cache.h.

friend class vtol_zero_chain [friend]

Definition at line 81 of file vtol_topology_cache.h.


Member Data Documentation

vcl_vector<vtol_block*>* vtol_topology_cache::blocks_ [private]

Definition at line 77 of file vtol_topology_cache.h.

vcl_vector<vtol_edge*>* vtol_topology_cache::edges_ [private]

Definition at line 73 of file vtol_topology_cache.h.

vcl_vector<vtol_face*>* vtol_topology_cache::faces_ [private]

Definition at line 75 of file vtol_topology_cache.h.

Definition at line 74 of file vtol_topology_cache.h.

Definition at line 69 of file vtol_topology_cache.h.

Definition at line 76 of file vtol_topology_cache.h.

Definition at line 71 of file vtol_topology_cache.h.

Definition at line 72 of file vtol_topology_cache.h.


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