Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Private Attributes | Friends
vtol_topology_object Class Reference

Base class for topology objects. More...

#include <vtol_topology_object.h>

Inheritance diagram for vtol_topology_object:
Inheritance graph
[legend]

List of all members.

Public Types

enum  vsol_spatial_object_2d_type

Public Member Functions

 vtol_topology_object ()
 Default constructor.
 vtol_topology_object (int num_inferiors, int num_superiors)
 Constructor with given sizes for arrays of inferiors and superiors.
virtual vtol_topology_objectcast_to_topology_object ()
virtual const
vtol_topology_object
cast_to_topology_object () const
virtual const vtol_vertexcast_to_vertex () const
 Return `this' if `this' is a vertex, 0 otherwise.
virtual vtol_vertexcast_to_vertex ()
 Return `this' if `this' is a vertex, 0 otherwise.
virtual const vtol_zero_chaincast_to_zero_chain () const
 Return `this' if `this' is a zero_chain, 0 otherwise.
virtual vtol_zero_chaincast_to_zero_chain ()
 Return `this' if `this' is a zero_chain, 0 otherwise.
virtual const vtol_edgecast_to_edge () const
 Return `this' if `this' is an edge, 0 otherwise.
virtual vtol_edgecast_to_edge ()
 Return `this' if `this' is an edge, 0 otherwise.
virtual const vtol_chaincast_to_chain () const
 Return `this' if `this' is a chain, 0 otherwise.
virtual vtol_chaincast_to_chain ()
 Return `this' if `this' is a chain, 0 otherwise.
virtual const vtol_one_chaincast_to_one_chain () const
 Return `this' if `this' is a one_chain, 0 otherwise.
virtual vtol_one_chaincast_to_one_chain ()
 Return `this' if `this' is a one_chain, 0 otherwise.
virtual const vtol_facecast_to_face () const
 Return `this' if `this' is a face, 0 otherwise.
virtual vtol_facecast_to_face ()
 Return `this' if `this' is a face, 0 otherwise.
virtual const vtol_two_chaincast_to_two_chain () const
 Return `this' if `this' is a two_chain, 0 otherwise.
virtual vtol_two_chaincast_to_two_chain ()
 Return `this' if `this' is a two_chain, 0 otherwise.
virtual const vtol_blockcast_to_block () const
 Return `this' if `this' is a block, 0 otherwise.
virtual vtol_blockcast_to_block ()
 Return `this' if `this' is a block, 0 otherwise.
virtual bool valid_inferior_type (vtol_topology_object const *inf) const =0
 Is `inferior' type valid for `this' ?.
bool valid_superior_type (vtol_topology_object const *sup) const
 Is `superior' type valid for `this' ?.
bool is_inferior (vtol_topology_object_sptr inferior) const
 Is `inferior' already an inferior of `this' ?.
bool is_superior (vtol_topology_object *const &superior) const
 Is `superior' already a superior of `this' ?.
int numinf () const
 Number of inferiors.
int numsup () const
 Number of superiors.
const vcl_list
< vtol_topology_object * > * 
superiors_list () const
topology_listinferiors ()
 Return the inferiors list.
const topology_listinferiors () const
virtual vsol_spatial_object_2d_type spatial_type () const
 Return the spatial type.
void link_inferior (vtol_topology_object_sptr inferior)
 Link `this' with an inferior `inferior'.
void unlink_inferior (vtol_topology_object_sptr inferior)
 Unlink `this' from the inferior `inferior'.
void unlink_all_inferiors ()
 Unlink `this' from all its inferiors.
void unlink ()
 Unlink `this' of the network.
void vertices (vertex_list &list) const
 Get list of vertices.
void zero_chains (zero_chain_list &list) const
 Get list of zero chains.
void edges (edge_list &list) const
 Get list of edges.
void one_chains (one_chain_list &list) const
 Get list of one chains.
void faces (face_list &list) const
 Get list of faces.
void two_chains (two_chain_list &list) const
 Get list of two chains.
void blocks (block_list &list) const
 Get list of blocks.
virtual void print (vcl_ostream &strm=vcl_cout) const
 print and describe the objects.
void describe_inferiors (vcl_ostream &strm=vcl_cout, int blanking=0) const
void describe_superiors (vcl_ostream &strm=vcl_cout, int blanking=0) const
virtual void describe (vcl_ostream &strm=vcl_cout, int blanking=0) const
virtual void compute_bounding_box () const
 compute the bounding box from the set of vertices.
virtual vcl_vector
< vtol_vertex * > * 
compute_vertices ()
 compute lists of vertices.
virtual vcl_vector
< vtol_zero_chain * > * 
compute_zero_chains ()
 compute lists of zero chains.
virtual vcl_vector< vtol_edge * > * compute_edges ()
 compute lists of edges.
virtual vcl_vector
< vtol_one_chain * > * 
compute_one_chains ()
 compute lists of one chains.
virtual vcl_vector< vtol_face * > * compute_faces ()
 compute lists of faces.
virtual vcl_vector
< vtol_two_chain * > * 
compute_two_chains ()
 compute lists of two chains.
virtual vcl_vector< vtol_block * > * compute_blocks ()
 compute lists of blocks.
const char * get_name () const
void un_protect ()
virtual vsol_spatial_object_2dclone () const =0
virtual vcl_string is_a () const =0
short version () const
virtual void b_write (vsl_b_ostream &os) const
virtual void b_read (vsl_b_istream &is)
virtual bool operator== (vsol_spatial_object_2d const &obj) const
bool operator!= (vsol_spatial_object_2d const &obj)
vsol_box_2d_sptr get_bounding_box () const
double get_min_x () const
double get_max_x () const
double get_min_y () const
double get_max_y () const
virtual vsol_spatial_object_2dcast_to_spatial_object ()
virtual vsol_spatial_object_2d
const * 
cast_to_spatial_object () const
virtual vsol_spatial_object_2dcast_to_vsol_spatial_object ()
virtual vsol_spatial_object_2d
const * 
cast_to_vsol_spatial_object () const
virtual vsol_point_2dcast_to_point ()
virtual vsol_point_2d const * cast_to_point () const
virtual vsol_curve_2dcast_to_curve ()
virtual vsol_curve_2d const * cast_to_curve () const
virtual vsol_region_2dcast_to_region ()
virtual vsol_region_2d const * cast_to_region () const
virtual vsol_group_2dcast_to_group ()
virtual vsol_group_2d const * cast_to_group () const
int get_id () const
void set_id (int i)
void set_user_flag (unsigned int flag)
bool get_user_flag (unsigned int flag)
void unset_user_flag (unsigned int flag)
void set_tagged_union_flag ()
bool get_tagged_union_flag ()
void unset_tagged_union_flag ()
int get_tag_id ()
void set_tag_id (int id)
void touch ()
unsigned long get_time_stamp () const
bool older (vul_timestamp const &t) const
bool older (vul_timestamp const *t) const
void ref ()
void unref ()
int get_references () const
bool is_referenced () const

Public Attributes

 SPATIAL_NO_TYPE
 TOPOLOGYOBJECT
 POINT
 CURVE
 REGION
 SPATIALGROUP
 VOLUME
 NUM_SPATIALOBJECT_TYPES

Static Public Attributes

static const char * SpatialTypes []
static const float eps

Protected Types

enum  vtol_topology_object_type {
  TOPOLOGY_NO_TYPE = 0, VERTEX, ZEROCHAIN, EDGE,
  ONECHAIN, FACE, TRIFACE, INTENSITYFACE,
  INTENSITYFACE3D, DDBINTENSITYFACE, TWOCHAIN, TRIMESHTWOCHAIN,
  BLOCK, NUM_TOPOLOGYOBJECT_TYPES
}

Protected Member Functions

virtual ~vtol_topology_object ()
 Destructor.
void not_applicable (vcl_string const &message) const
void empty_bounding_box () const
void set_bounding_box (vsol_box_2d_sptr const &box) const
void set_bounding_box (double x, double y) const
void add_to_bounding_box (double x, double y) const
void add_to_bounding_box (vsol_box_2d_sptr const &box) const
void grow_minmax_bounds (vsol_box_2d_sptr const &b) const
void check_update_bounding_box () const

Protected Attributes

vcl_list< vtol_topology_object * > superiors_
topology_list inferiors_
unsigned int tag_
int id_
unsigned long timestamp_

Static Protected Attributes

static int tagcount_

Private Member Functions

virtual vtol_topology_object_type topology_type () const
 Return the topology type.
const topology_listsuperiors () const
 Return the superiors list (must be deallocated after use).
vertex_listvertices () const
 Get list of vertices.
zero_chain_listzero_chains () const
 Get list of zero chains.
edge_listedges () const
 Get list of edges.
one_chain_listone_chains () const
 Get list of one chains.
face_listfaces () const
 Get list of faces.
two_chain_listtwo_chains () const
 Get list of two chains.
block_listblocks () const
 Get list of blocks.

Private Attributes

vtol_topology_cacheinf_sup_cache_

Friends

class vtol_topology_cache
friend vcl_ostream & operator<< (vcl_ostream &, vsol_spatial_object_2d const &)
friend vcl_ostream & operator<< (vcl_ostream &, vsol_spatial_object_2d const *)

Detailed Description

Base class for topology objects.

The vtol_topology_object class is the interface base class for all topological entities. There are only access methods in this class. vtol_topology_object inherits from vtol_spatial_object, which is the base class for all topology and geometry.

The topology class hierarchy:

                               vtol_topology_object
                                     |
               |        |       |       |       |       |        |
           vertex  zero_chain  edge  one_chain  face  two_chain  block
               |                |               |
          vertex_2d           edge_2d          face_2d
   

(Actually, one_chain and two_chain share a common parent class vtol_chain, but that's just a matter of convenience; conceptually, the scheme is this.)

   Incidence of:
         (vsol_point)      (vsol_curve)     (vsol_surface)    (vsol_volume)
   Directed
   Sequence of:       vertex           edge             face
  
   

The vertex, edge and face entities account for incidence between points, curves and surfaces, respectively. For example, two vtol_edge(s) are incident at exactly one vtol_vertex. That is, an edge does not intersect itself or another edge, except possibly at a vertex. The chain entities are directed sequences which define composite structures. Each element of the chain has a sign associated with with it denoting the "direction" of use in a boundary traversal. For example, a closed vtol_one_chain (a 1-cycle) forms the boundary of a surface region. Two adjacent surface regions (vtol_face(s)) use an edge in the opposite sense in their bounding 1-chains.

The data member "inferiors_" stores a list of all topology objects of the type "below" the current one, which form the boundary of this one. All these objects should have the current object listed in their "superiors_" list. It is the responsibility of the superior to break the link with its inferior, not vice versa, hence conceptually the "superiors_" entries are under control of the referred superior object. Otherwise said, an object cannot live without its inferiors (and will disappear when its inferiors disappear), while an object can live without its superiors (and is just notified of their appearance and disappearance by the entries listed in its superiors_ list).

As a consequence, the "inferior" does not obtain a new time stamp when its superiors change (hence its "superiors_" list is mutable). This also explains why the "superiors_" list consists of ordinary pointers, not smart pointers: the refcount toggling is done from superior to inferior (which requires its inferiors to be kept alive), not from inferior to superior (which need not bother about its superiors' existence).

Author:
Patricia A. Vrobel.
    Modifications
     ported to vxl by Luis E. Galup
     JLM November 2002 - added a local bounding box method
     dec.2002 -Peter Vanroose- added chain_list (typedef) and cast_to_chain()
     dec.2002 -Peter Vanroose- link_inferior() now takes smart pointer argument
     sep.2004 -Peter Vanroose- made methods returning the inf_sup cache "const"
   

Definition at line 109 of file vtol_topology_object.h.


Member Enumeration Documentation

Enumerator:
TOPOLOGY_NO_TYPE 
VERTEX 
ZEROCHAIN 
EDGE 
ONECHAIN 
FACE 
TRIFACE 
INTENSITYFACE 
INTENSITYFACE3D 
DDBINTENSITYFACE 
TWOCHAIN 
TRIMESHTWOCHAIN 
BLOCK 
NUM_TOPOLOGYOBJECT_TYPES 

Definition at line 132 of file vtol_topology_object.h.


Constructor & Destructor Documentation

vtol_topology_object::vtol_topology_object ( void  )

Default constructor.

Definition at line 17 of file vtol_topology_object.cxx.

vtol_topology_object::vtol_topology_object ( int  num_inferiors,
int  num_superiors 
)

Constructor with given sizes for arrays of inferiors and superiors.

Definition at line 27 of file vtol_topology_object.cxx.

vtol_topology_object::~vtol_topology_object ( ) [protected, virtual]

Destructor.

Definition at line 39 of file vtol_topology_object.cxx.


Member Function Documentation

void vtol_topology_object::blocks ( block_list list) const

Get list of blocks.

get list of blocks.

Definition at line 264 of file vtol_topology_object.cxx.

block_list * vtol_topology_object::blocks ( void  ) const [private]

Get list of blocks.

get list of blocks.

returned list must be deleted after use.

Deprecated:
  • use blocks(list) instead

Definition at line 255 of file vtol_topology_object.cxx.

virtual const vtol_block* vtol_topology_object::cast_to_block ( ) const [inline, virtual]

Return `this' if `this' is a block, 0 otherwise.

Reimplemented in vtol_block.

Definition at line 236 of file vtol_topology_object.h.

virtual vtol_block* vtol_topology_object::cast_to_block ( ) [inline, virtual]

Return `this' if `this' is a block, 0 otherwise.

Reimplemented in vtol_block.

Definition at line 240 of file vtol_topology_object.h.

virtual const vtol_chain* vtol_topology_object::cast_to_chain ( ) const [inline, virtual]

Return `this' if `this' is a chain, 0 otherwise.

Reimplemented in vtol_chain.

Definition at line 204 of file vtol_topology_object.h.

virtual vtol_chain* vtol_topology_object::cast_to_chain ( ) [inline, virtual]

Return `this' if `this' is a chain, 0 otherwise.

Reimplemented in vtol_chain.

Definition at line 208 of file vtol_topology_object.h.

virtual const vtol_edge* vtol_topology_object::cast_to_edge ( ) const [inline, virtual]

Return `this' if `this' is an edge, 0 otherwise.

Reimplemented in vtol_edge.

Definition at line 196 of file vtol_topology_object.h.

virtual vtol_edge* vtol_topology_object::cast_to_edge ( ) [inline, virtual]

Return `this' if `this' is an edge, 0 otherwise.

Reimplemented in vtol_edge.

Definition at line 200 of file vtol_topology_object.h.

virtual const vtol_face* vtol_topology_object::cast_to_face ( ) const [inline, virtual]

Return `this' if `this' is a face, 0 otherwise.

Reimplemented in vtol_face.

Definition at line 220 of file vtol_topology_object.h.

virtual vtol_face* vtol_topology_object::cast_to_face ( ) [inline, virtual]

Return `this' if `this' is a face, 0 otherwise.

Reimplemented in vtol_face.

Definition at line 224 of file vtol_topology_object.h.

virtual const vtol_one_chain* vtol_topology_object::cast_to_one_chain ( ) const [inline, virtual]

Return `this' if `this' is a one_chain, 0 otherwise.

Reimplemented in vtol_one_chain.

Definition at line 212 of file vtol_topology_object.h.

virtual vtol_one_chain* vtol_topology_object::cast_to_one_chain ( ) [inline, virtual]

Return `this' if `this' is a one_chain, 0 otherwise.

Reimplemented in vtol_one_chain.

Definition at line 216 of file vtol_topology_object.h.

virtual vtol_topology_object* vtol_topology_object::cast_to_topology_object ( ) [inline, virtual]

Reimplemented from vsol_spatial_object_2d.

Definition at line 175 of file vtol_topology_object.h.

virtual const vtol_topology_object* vtol_topology_object::cast_to_topology_object ( ) const [inline, virtual]

Reimplemented from vsol_spatial_object_2d.

Definition at line 176 of file vtol_topology_object.h.

virtual const vtol_two_chain* vtol_topology_object::cast_to_two_chain ( ) const [inline, virtual]

Return `this' if `this' is a two_chain, 0 otherwise.

Reimplemented in vtol_two_chain.

Definition at line 228 of file vtol_topology_object.h.

virtual vtol_two_chain* vtol_topology_object::cast_to_two_chain ( ) [inline, virtual]

Return `this' if `this' is a two_chain, 0 otherwise.

Reimplemented in vtol_two_chain.

Definition at line 232 of file vtol_topology_object.h.

virtual const vtol_vertex* vtol_topology_object::cast_to_vertex ( ) const [inline, virtual]

Return `this' if `this' is a vertex, 0 otherwise.

Reimplemented in vtol_vertex.

Definition at line 180 of file vtol_topology_object.h.

virtual vtol_vertex* vtol_topology_object::cast_to_vertex ( ) [inline, virtual]

Return `this' if `this' is a vertex, 0 otherwise.

Reimplemented in vtol_vertex.

Definition at line 184 of file vtol_topology_object.h.

virtual const vtol_zero_chain* vtol_topology_object::cast_to_zero_chain ( ) const [inline, virtual]

Return `this' if `this' is a zero_chain, 0 otherwise.

Reimplemented in vtol_zero_chain.

Definition at line 188 of file vtol_topology_object.h.

virtual vtol_zero_chain* vtol_topology_object::cast_to_zero_chain ( ) [inline, virtual]

Return `this' if `this' is a zero_chain, 0 otherwise.

Reimplemented in vtol_zero_chain.

Definition at line 192 of file vtol_topology_object.h.

vcl_vector< vtol_block * > * vtol_topology_object::compute_blocks ( void  ) [virtual]

compute lists of blocks.

Warning:
should not be used by clients

Reimplemented in vtol_one_chain, vtol_two_chain, vtol_edge, vtol_zero_chain, vtol_vertex, vtol_face, and vtol_block.

Definition at line 380 of file vtol_topology_object.cxx.

void vtol_topology_object::compute_bounding_box ( void  ) const [virtual]

compute the bounding box from the set of vertices.

A generic method that applies to all topology_object(s)

Reimplemented from vsol_spatial_object_2d.

Reimplemented in vtol_face, vtol_vertex_2d, vtol_one_chain, and vtol_edge_2d.

Definition at line 389 of file vtol_topology_object.cxx.

vcl_vector< vtol_edge * > * vtol_topology_object::compute_edges ( void  ) [virtual]

compute lists of edges.

Warning:
should not be used by clients

Reimplemented in vtol_one_chain, vtol_two_chain, vtol_edge, vtol_zero_chain, vtol_vertex, vtol_face, and vtol_block.

Definition at line 346 of file vtol_topology_object.cxx.

vcl_vector< vtol_face * > * vtol_topology_object::compute_faces ( void  ) [virtual]

compute lists of faces.

Warning:
should not be used by clients

Reimplemented in vtol_one_chain, vtol_two_chain, vtol_edge, vtol_zero_chain, vtol_vertex, vtol_face, and vtol_block.

Definition at line 363 of file vtol_topology_object.cxx.

vcl_vector< vtol_one_chain * > * vtol_topology_object::compute_one_chains ( void  ) [virtual]

compute lists of one chains.

Warning:
should not be used by clients

Reimplemented in vtol_one_chain, vtol_two_chain, vtol_edge, vtol_zero_chain, vtol_vertex, vtol_face, and vtol_block.

Definition at line 355 of file vtol_topology_object.cxx.

vcl_vector< vtol_two_chain * > * vtol_topology_object::compute_two_chains ( void  ) [virtual]

compute lists of two chains.

Warning:
should not be used by clients

Reimplemented in vtol_one_chain, vtol_two_chain, vtol_edge, vtol_zero_chain, vtol_vertex, vtol_face, and vtol_block.

Definition at line 372 of file vtol_topology_object.cxx.

vcl_vector< vtol_vertex * > * vtol_topology_object::compute_vertices ( void  ) [virtual]

compute lists of vertices.

Compute lists of vertices.

Warning:
should not be used by clients

Reimplemented in vtol_one_chain, vtol_two_chain, vtol_edge, vtol_zero_chain, vtol_vertex, vtol_face, and vtol_block.

Definition at line 327 of file vtol_topology_object.cxx.

vcl_vector< vtol_zero_chain * > * vtol_topology_object::compute_zero_chains ( void  ) [virtual]

compute lists of zero chains.

Compute lists of zero chains.

Warning:
should not be used by clients

Reimplemented in vtol_one_chain, vtol_two_chain, vtol_edge, vtol_zero_chain, vtol_vertex, vtol_face, and vtol_block.

Definition at line 337 of file vtol_topology_object.cxx.

void vtol_topology_object::describe ( vcl_ostream &  strm = vcl_cout,
int  blanking = 0 
) const [virtual]
void vtol_topology_object::describe_inferiors ( vcl_ostream &  strm = vcl_cout,
int  blanking = 0 
) const

Definition at line 277 of file vtol_topology_object.cxx.

void vtol_topology_object::describe_superiors ( vcl_ostream &  strm = vcl_cout,
int  blanking = 0 
) const

Definition at line 294 of file vtol_topology_object.cxx.

void vtol_topology_object::edges ( edge_list list) const

Get list of edges.

get list of edges.

Definition at line 200 of file vtol_topology_object.cxx.

edge_list * vtol_topology_object::edges ( void  ) const [private]

Get list of edges.

get list of edges.

returned list must be deleted after use.

Deprecated:
  • use edges(list) instead

Definition at line 191 of file vtol_topology_object.cxx.

void vtol_topology_object::faces ( face_list list) const

Get list of faces.

get list of faces.

Definition at line 232 of file vtol_topology_object.cxx.

face_list * vtol_topology_object::faces ( void  ) const [private]

Get list of faces.

get list of faces.

returned list must be deleted after use.

Deprecated:
  • use faces(list) instead

Definition at line 223 of file vtol_topology_object.cxx.

topology_list* vtol_topology_object::inferiors ( ) [inline]

Return the inferiors list.

Definition at line 280 of file vtol_topology_object.h.

const topology_list* vtol_topology_object::inferiors ( ) const [inline]

Definition at line 281 of file vtol_topology_object.h.

bool vtol_topology_object::is_inferior ( vtol_topology_object_sptr  inferior) const

Is `inferior' already an inferior of `this' ?.

Definition at line 51 of file vtol_topology_object.cxx.

bool vtol_topology_object::is_superior ( vtol_topology_object *const &  superior) const

Is `superior' already a superior of `this' ?.

Definition at line 64 of file vtol_topology_object.cxx.

void vtol_topology_object::link_inferior ( vtol_topology_object_sptr  inferior)

Link `this' with an inferior `inferior'.

REQUIRE: valid_inferior_type(inferior) and !is_inferior(inferior)

Require: valid_inferior_type(inferior) and !is_inferior(inferior)

Reimplemented in vtol_edge, vtol_two_chain, vtol_one_chain, vtol_face, and vtol_block.

Definition at line 98 of file vtol_topology_object.cxx.

int vtol_topology_object::numinf ( ) const [inline]

Number of inferiors.

Definition at line 265 of file vtol_topology_object.h.

int vtol_topology_object::numsup ( ) const [inline]

Number of superiors.

Definition at line 269 of file vtol_topology_object.h.

void vtol_topology_object::one_chains ( one_chain_list list) const

Get list of one chains.

get list of one chains.

Definition at line 216 of file vtol_topology_object.cxx.

one_chain_list * vtol_topology_object::one_chains ( void  ) const [private]

Get list of one chains.

get list of one chains.

returned list must be deleted after use.

Deprecated:
  • use one_chains(list) instead

Definition at line 207 of file vtol_topology_object.cxx.

void vtol_topology_object::print ( vcl_ostream &  strm = vcl_cout) const [virtual]

print and describe the objects.

print the object.

Reimplemented from vsol_spatial_object_2d.

Reimplemented in vtol_two_chain, vtol_edge, vtol_one_chain, vtol_face, vtol_block, vtol_vertex_2d, vtol_edge_2d, vtol_zero_chain, vtol_face_2d, and vtol_vertex.

Definition at line 270 of file vtol_topology_object.cxx.

virtual vsol_spatial_object_2d_type vtol_topology_object::spatial_type ( void  ) const [inline, virtual]

Return the spatial type.

Implements vsol_spatial_object_2d.

Definition at line 285 of file vtol_topology_object.h.

const topology_list* vtol_topology_object::superiors ( ) const [private]

Return the superiors list (must be deallocated after use).

const vcl_list<vtol_topology_object*>* vtol_topology_object::superiors_list ( ) const [inline]

Definition at line 276 of file vtol_topology_object.h.

virtual vtol_topology_object_type vtol_topology_object::topology_type ( ) const [inline, private, virtual]

Return the topology type.

To be overridden by all subclasses

Reimplemented in vtol_one_chain, vtol_two_chain, vtol_zero_chain, vtol_block, vtol_intensity_face, vtol_edge, vtol_face, and vtol_vertex.

Definition at line 151 of file vtol_topology_object.h.

void vtol_topology_object::two_chains ( two_chain_list list) const

Get list of two chains.

get list of two chains.

Definition at line 248 of file vtol_topology_object.cxx.

two_chain_list * vtol_topology_object::two_chains ( void  ) const [private]

Get list of two chains.

get list of two chains.

returned list must be deleted after use.

Deprecated:
  • use two_chains(list) instead

Definition at line 239 of file vtol_topology_object.cxx.

void vtol_topology_object::unlink ( void  )

Unlink `this' of the network.

Reimplemented in vtol_chain.

Definition at line 152 of file vtol_topology_object.cxx.

void vtol_topology_object::unlink_all_inferiors ( void  )

Unlink `this' from all its inferiors.

Definition at line 143 of file vtol_topology_object.cxx.

void vtol_topology_object::unlink_inferior ( vtol_topology_object_sptr  inferior)

Unlink `this' from the inferior `inferior'.

Unlink `this' with the inferior `inferior'.

REQUIRE: valid_inferior_type(inferior) and is_inferior(inferior)

Require: valid_inferior_type(inferior) and is_inferior(inferior)

Reimplemented in vtol_edge, vtol_two_chain, vtol_one_chain, vtol_face, and vtol_block.

Definition at line 118 of file vtol_topology_object.cxx.

virtual bool vtol_topology_object::valid_inferior_type ( vtol_topology_object const *  inf) const [pure virtual]

Is `inferior' type valid for `this' ?.

Implemented in vtol_edge, vtol_two_chain, vtol_one_chain, vtol_zero_chain, vtol_face, vtol_block, and vtol_vertex.

bool vtol_topology_object::valid_superior_type ( vtol_topology_object const *  sup) const [inline]

Is `superior' type valid for `this' ?.

Definition at line 252 of file vtol_topology_object.h.

void vtol_topology_object::vertices ( vertex_list list) const

Get list of vertices.

get list of vertices.

Definition at line 170 of file vtol_topology_object.cxx.

vertex_list * vtol_topology_object::vertices ( void  ) const [private]

Get list of vertices.

get list of vertices.

returned list must be deleted after use.

Deprecated:
  • use vertices(list) instead

Definition at line 161 of file vtol_topology_object.cxx.

void vtol_topology_object::zero_chains ( zero_chain_list list) const

Get list of zero chains.

get list of zero chains.

Definition at line 184 of file vtol_topology_object.cxx.

zero_chain_list * vtol_topology_object::zero_chains ( void  ) const [private]

Get list of zero chains.

get list of zero_chains.

returned list must be deleted after use.

Deprecated:
  • use zero_chains(list) instead

Definition at line 176 of file vtol_topology_object.cxx.


Friends And Related Function Documentation

friend class vtol_topology_cache [friend]

Definition at line 412 of file vtol_topology_object.h.


Member Data Documentation

Definition at line 118 of file vtol_topology_object.h.

Definition at line 130 of file vtol_topology_object.h.

Definition at line 125 of file vtol_topology_object.h.


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