#include <vtol_two_chain.h>
Inheritance diagram for vtol_two_chain:

Definition at line 42 of file vtol_two_chain.h.
Public Types | |
| enum | vsol_spatial_object_2d_type |
Public Member Functions | |
| void | link_chain_inferior (vtol_two_chain_sptr chain_inferior) |
| void | unlink_chain_inferior (vtol_two_chain_sptr chain_inferior) |
| vtol_two_chain () | |
| Default constructor. | |
| vtol_two_chain (int) | |
| Constructor. | |
| vtol_two_chain (face_list const &, bool new_is_cycle=false) | |
| Constructor. | |
| vtol_two_chain (face_list const &, vcl_vector< signed char > const &, bool new_is_cycle=false) | |
| Constructor. | |
| vtol_two_chain (vtol_two_chain_sptr const &other) | |
| Pseudo copy constructor. Deep copy. | |
| virtual | ~vtol_two_chain () |
| Destructor. | |
| virtual vsol_spatial_object_2d * | clone () const |
| Clone `this': creation of a new object and initialization. | |
| virtual vcl_string | is_a () const |
| Return a platform independent string identifying the class. | |
| virtual bool | is_class (const vcl_string &cls) const |
| Return true if the argument matches the string identifying the class or any parent class. | |
| virtual vtol_two_chain * | copy_with_arrays (topology_list &verts, topology_list &edges) const |
| signed char | direction (vtol_face const &f) const |
| get the direction of the face. | |
| virtual vtol_face_sptr | face (int i) |
| virtual vtol_topology_object * | shallow_copy_with_no_links () const |
| Shallow copy with no links. | |
| virtual void | add_superiors_from_parent (topology_list &) |
| add the superiors from the parent. | |
| virtual void | remove_superiors_of_parent (topology_list &) |
| virtual void | remove_superiors () |
| virtual void | update_superior_list_p_from_hierarchy_parent () |
| virtual void | add_face (vtol_face_sptr const &, signed char) |
| virtual void | remove_face (vtol_face_sptr const &) |
| virtual const vtol_two_chain * | cast_to_two_chain () const |
| Return `this' if `this' is a two_chain, 0 otherwise. | |
| virtual vtol_two_chain * | cast_to_two_chain () |
| Return `this' if `this' is a two_chain, 0 otherwise. | |
| void | link_inferior (vtol_face_sptr inf) |
| void | unlink_inferior (vtol_face_sptr inf) |
| virtual bool | valid_inferior_type (vtol_topology_object const *inferior) const |
| Is `inferior' type valid for `this' ?. | |
| bool | valid_inferior_type (vtol_face_sptr const &) const |
| bool | valid_inferior_type (vtol_face_2d_sptr const &) const |
| bool | valid_superior_type (vtol_block_sptr const &) const |
| virtual bool | valid_chain_type (vtol_chain_sptr chain_inf_sup) const |
| Is `chain_inf_sup' type valid for `this' ?. | |
| bool | valid_chain_type (vtol_two_chain_sptr const &) const |
| virtual vertex_list * | outside_boundary_vertices () |
| outside boundary vertices. | |
| virtual zero_chain_list * | outside_boundary_zero_chains () |
| outside boundary zero chains. | |
| virtual edge_list * | outside_boundary_edges () |
| outside boundary edges. | |
| virtual one_chain_list * | outside_boundary_one_chains () |
| outside one chains. | |
| virtual face_list * | outside_boundary_faces () |
| outside faces. | |
| virtual two_chain_list * | outside_boundary_two_chains () |
| virtual two_chain_list * | inferior_two_chains () |
| virtual two_chain_list * | superior_two_chains () |
| virtual vcl_vector< vtol_vertex * > * | outside_boundary_compute_vertices () |
| virtual vcl_vector< vtol_zero_chain * > * | outside_boundary_compute_zero_chains () |
| virtual vcl_vector< vtol_edge * > * | outside_boundary_compute_edges () |
| outside boundary edges. | |
| virtual vcl_vector< vtol_one_chain * > * | outside_boundary_compute_one_chains () |
| virtual vcl_vector< vtol_face * > * | outside_boundary_compute_faces () |
| virtual vcl_vector< vtol_two_chain * > * | outside_boundary_compute_two_chains () |
| int | num_faces () const |
| virtual void | correct_chain_directions () |
| correct the chain directions. | |
| virtual bool | operator== (vtol_two_chain const &other) const |
| equality operator. | |
| bool | operator!= (const vtol_two_chain &other) const |
| bool | operator== (vsol_spatial_object_2d const &obj) const |
| spatial object equality. | |
| virtual void | print (vcl_ostream &strm=vcl_cout) const |
| print and describe the objects. | |
| virtual void | describe_directions (vcl_ostream &strm=vcl_cout, int blanking=0) const |
| virtual void | describe (vcl_ostream &strm=vcl_cout, int blanking=0) const |
| virtual bool | break_into_connected_components (topology_list &components) |
| virtual const chain_list * | chain_inferiors () const |
| Return a pointer to the inferiors (no copy). | |
| virtual const chain_list * | chain_superiors () const |
| Return a copy of the chain_superiors list. | |
| virtual const vtol_chain * | cast_to_chain () const |
| Return `this' if `this' is a chain, 0 otherwise. | |
| virtual vtol_chain * | cast_to_chain () |
| Return `this' if `this' is a chain, 0 otherwise. | |
| virtual bool | is_chain_inferior (vtol_chain_sptr chain_inferior) const |
| Is `inferior' already an inferior of `this' ?. | |
| virtual bool | is_chain_superior (vtol_chain const *chain_superior) const |
| Is `superior' already a superior of `this' ?. | |
| int | num_chain_superiors () const |
| Return the number of superiors. | |
| int | num_chain_inferiors () const |
| Return the number of inferiors. | |
| bool | contains_sub_chains () const |
| Does `this' contain some sub chains ?. | |
| bool | is_sub_chain () const |
| Is `this' a sub chain ?. | |
| void | link_chain_inferior (vtol_chain_sptr chain_inferior) |
| Link `this' with an inferior `chain_inferior'. | |
| void | unlink_chain_inferior (vtol_chain_sptr chain_inferior) |
| Unlink `this' with the chain_inferior `chain_inferior'. | |
| void | unlink_all_chain_inferiors () |
| Unlink `this' with all its chain inferiors. | |
| void | unlink () |
| Unlink `this' of the network. | |
| bool | is_cycle () const |
| Is `this' a connected chain ?. | |
| const vcl_vector< signed char > * | directions () const |
| Return the directions. | |
| vcl_vector< signed char > * | directions () |
| Return the directions. | |
| int | dir (int i) const |
| Return the direction `i'. | |
| void | set_cycle (bool new_is_cycle) |
| Set if `this' is a connected chain. | |
| virtual void | clear () |
| Reset the chain. | |
| virtual vtol_topology_object * | cast_to_topology_object () |
| virtual const vtol_topology_object * | cast_to_topology_object () const |
| virtual const vtol_vertex * | cast_to_vertex () const |
| Return `this' if `this' is a vertex, 0 otherwise. | |
| virtual vtol_vertex * | cast_to_vertex () |
| Return `this' if `this' is a vertex, 0 otherwise. | |
| virtual const vtol_zero_chain * | cast_to_zero_chain () const |
| Return `this' if `this' is a zero_chain, 0 otherwise. | |
| virtual vtol_zero_chain * | cast_to_zero_chain () |
| Return `this' if `this' is a zero_chain, 0 otherwise. | |
| virtual const vtol_edge * | cast_to_edge () const |
| Return `this' if `this' is an edge, 0 otherwise. | |
| virtual vtol_edge * | cast_to_edge () |
| Return `this' if `this' is an edge, 0 otherwise. | |
| virtual const vtol_one_chain * | cast_to_one_chain () const |
| Return `this' if `this' is an one_chain, 0 otherwise. | |
| virtual vtol_one_chain * | cast_to_one_chain () |
| Return `this' if `this' is an one_chain, 0 otherwise. | |
| virtual const vtol_face * | cast_to_face () const |
| Return `this' if `this' is a face, 0 otherwise. | |
| virtual vtol_face * | cast_to_face () |
| Return `this' if `this' is a face, 0 otherwise. | |
| virtual const vtol_block * | cast_to_block () const |
| Return `this' if `this' is a block, 0 otherwise. | |
| virtual vtol_block * | cast_to_block () |
| Return `this' if `this' is a block, 0 otherwise. | |
| 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_list * | inferiors () |
| Return the inferiors list. | |
| const topology_list * | inferiors () 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 | 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. | |
| 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 | compute_bounding_box () const |
| compute the bounding box from the set of vertices. | |
| const char * | get_name () const |
| void | un_protect () |
| short | version () const |
| virtual void | b_write (vsl_b_ostream &os) const |
| virtual void | b_read (vsl_b_istream &is) |
| 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_2d * | cast_to_spatial_object () |
| virtual vsol_spatial_object_2d const * | cast_to_spatial_object () const |
| virtual vsol_spatial_object_2d * | cast_to_vsol_spatial_object () |
| virtual vsol_spatial_object_2d const * | cast_to_vsol_spatial_object () const |
| virtual vsol_point_2d * | cast_to_point () |
| virtual vsol_point_2d const * | cast_to_point () const |
| virtual vsol_curve_2d * | cast_to_curve () |
| virtual vsol_curve_2d const * | cast_to_curve () const |
| virtual vsol_region_2d * | cast_to_region () |
| virtual vsol_region_2d const * | cast_to_region () const |
| virtual vsol_group_2d * | cast_to_group () |
| virtual vsol_group_2d const * | cast_to_group () const |
| 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 |
| 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) |
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 vcl_vector< vtol_vertex * > * | compute_vertices () |
| list of vertices. | |
| virtual vcl_vector< vtol_edge * > * | compute_edges () |
| list of edges. | |
| virtual vcl_vector< vtol_zero_chain * > * | compute_zero_chains () |
| list of zero chains. | |
| virtual vcl_vector< vtol_one_chain * > * | compute_one_chains () |
| one chains. | |
| virtual vcl_vector< vtol_face * > * | compute_faces () |
| faces. | |
| virtual vcl_vector< vtol_two_chain * > * | compute_two_chains () |
| list of two chains. | |
| virtual vcl_vector< vtol_block * > * | compute_blocks () |
| list of blocks. | |
| 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 | |
| chain_list | chain_inferiors_ |
| vcl_list< vtol_chain * > | chain_superiors_ |
| bool | is_cycle_ |
| vcl_vector< signed char > | directions_ |
| vcl_list< vtol_topology_object * > | superiors_ |
| topology_list | inferiors_ |
| unsigned long | timestamp_ |
| unsigned int | tag_ |
| int | id_ |
Static Protected Attributes | |
| static int | tagcount_ |
Private Member Functions | |
| vtol_two_chain (vtol_two_chain const &other) | |
| Copy constructor. Deep copy. Deprecated. | |
| virtual vtol_topology_object_type | topology_type () const |
| Return the topology type. | |
| virtual void | add_face (vtol_face &, signed char) |
| virtual void | remove_face (vtol_face &) |
Friends | |
| friend vcl_ostream & | operator<< (vcl_ostream &, vsol_spatial_object_2d const &) |
| friend vcl_ostream & | operator<< (vcl_ostream &, vsol_spatial_object_2d const *) |
|
|
Definition at line 132 of file vtol_topology_object.h. |
|
|
Default constructor.
Definition at line 54 of file vtol_two_chain.h. |
|
|
Constructor.
Definition at line 58 of file vtol_two_chain.h. |
|
||||||||||||
|
Constructor.
Definition at line 47 of file vtol_two_chain.cxx. |
|
||||||||||||||||
|
Constructor.
Definition at line 61 of file vtol_two_chain.cxx. |
|
|
Pseudo copy constructor. Deep copy.
Definition at line 82 of file vtol_two_chain.cxx. |
|
|
Copy constructor. Deep copy. Deprecated.
|
|
|
Destructor.
Definition at line 170 of file vtol_two_chain.cxx. |
|
||||||||||||
|
Definition at line 359 of file vtol_two_chain.cxx. |
|
||||||||||||
|
Definition at line 351 of file vtol_two_chain.cxx. |
|
|
add the superiors from the parent.
Definition at line 204 of file vtol_two_chain.cxx. |
|
|
Get list of blocks.
Definition at line 264 of file vtol_topology_object.cxx. |
|
|
Definition at line 263 of file vtol_two_chain.cxx. |
|
|
Return `this' if `this' is a block, 0 otherwise.
Reimplemented in vtol_block. Definition at line 240 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is a block, 0 otherwise.
Reimplemented in vtol_block. Definition at line 236 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is a chain, 0 otherwise.
Reimplemented from vtol_topology_object. Definition at line 87 of file vtol_chain.h. |
|
|
Return `this' if `this' is a chain, 0 otherwise.
Reimplemented from vtol_topology_object. Definition at line 83 of file vtol_chain.h. |
|
|
Return `this' if `this' is an edge, 0 otherwise.
Reimplemented in vtol_edge. Definition at line 200 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is an edge, 0 otherwise.
Reimplemented in vtol_edge. Definition at line 196 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is a face, 0 otherwise.
Reimplemented in vtol_face. Definition at line 224 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is a face, 0 otherwise.
Reimplemented in vtol_face. Definition at line 220 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is an one_chain, 0 otherwise.
Reimplemented in vtol_one_chain. Definition at line 216 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is an one_chain, 0 otherwise.
Reimplemented in vtol_one_chain. Definition at line 212 of file vtol_topology_object.h. |
|
|
Reimplemented from vsol_spatial_object_2d. Definition at line 176 of file vtol_topology_object.h. |
|
|
Reimplemented from vsol_spatial_object_2d. Definition at line 175 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is a two_chain, 0 otherwise.
Reimplemented from vtol_topology_object. Definition at line 134 of file vtol_two_chain.h. |
|
|
Return `this' if `this' is a two_chain, 0 otherwise.
Reimplemented from vtol_topology_object. Definition at line 130 of file vtol_two_chain.h. |
|
|
Return `this' if `this' is a vertex, 0 otherwise.
Reimplemented in vtol_vertex. Definition at line 184 of file vtol_topology_object.h. |
|
|
Return `this' if `this' is a vertex, 0 otherwise.
Reimplemented in vtol_vertex. Definition at line 180 of file vtol_topology_object.h. |
|
|
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. |
|
|
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. |
|
|
Return a pointer to the inferiors (no copy).
Definition at line 33 of file vtol_chain.cxx. |
|
|
Return a copy of the chain_superiors list. The return value must be deleted by the caller Definition at line 44 of file vtol_chain.cxx. |
|
|
Reset the chain.
Definition at line 160 of file vtol_chain.cxx. |
|
|
Clone `this': creation of a new object and initialization. See Prototype pattern Implements vsol_spatial_object_2d. Definition at line 179 of file vtol_two_chain.cxx. |
|
|
list of blocks.
Reimplemented from vtol_topology_object. |