#include <vtol_face.h>
Public Types | |
enum | vsol_spatial_object_2d_type |
Public Member Functions | |
vtol_face () | |
Default constructor. | |
virtual | ~vtol_face () |
Destructor. | |
virtual vtol_one_chain_sptr | get_one_chain (int which=0) |
Returns the ith inferior vtol_one_chain of the vtol_face. | |
virtual vtol_one_chain_sptr | get_boundary_cycle () |
Returns the first inferior vtol_one_chain of the vtol_face (the boundary onechain). | |
virtual bool | add_hole_cycle (vtol_one_chain_sptr new_hole) |
Adds a new hole to the face. | |
virtual one_chain_list * | get_hole_cycles () |
virtual vtol_face * | copy_with_arrays (topology_list &verts, topology_list &edges) const =0 |
Inferior/Superior Accessor Methods. | |
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_face_2d * | cast_to_face_2d () const |
Return `this' if `this' is a 2D face, 0 otherwise. | |
virtual vtol_face_2d * | cast_to_face_2d () |
Return `this' if `this' is a 2D face, 0 otherwise. | |
virtual const vtol_intensity_face * | cast_to_intensity_face () const |
Return `this' if `this' is an intensity face, 0 otherwise. | |
virtual vtol_intensity_face * | cast_to_intensity_face () |
Return `this' if `this' is an intensity face, 0 otherwise. | |
void | link_inferior (vtol_one_chain_sptr inf) |
Link `this' with an inferior `inferior'. | |
void | unlink_inferior (vtol_one_chain_sptr inf) |
Unlink `this' from the inferior `inferior'. | |
virtual bool | valid_inferior_type (vtol_topology_object const *inferior) const |
Is `inferior' type valid for `this' ?. | |
bool | valid_inferior_type (vtol_one_chain_sptr const &) const |
bool | valid_superior_type (vtol_two_chain_sptr const &) const |
virtual vertex_list * | outside_boundary_vertices () |
accessors for boundary elements. | |
virtual zero_chain_list * | outside_boundary_zero_chains () |
Returns a list of the zero_chains on the outside boundary of the face. | |
virtual edge_list * | outside_boundary_edges () |
Get the outside boundary edges. | |
virtual one_chain_list * | outside_boundary_one_chains () |
Returns a list of one_chains that make up the outside boundary of the face. | |
virtual void | add_one_chain (vtol_one_chain_sptr const &) |
Links new_vtol_one_chain as an inferior of the vtol_face and returns True if successful. | |
virtual void | reverse_normal () |
Utility Functions and overloaded operators. | |
virtual int | get_num_edges () const |
Returns the number of edges on the vtol_face. | |
bool | IsHoleP () const |
This method determines if a vtol_face is a hole of another vtol_face. | |
virtual vtol_face * | shallow_copy_with_no_links () const =0 |
Copy with no links. Only copy the surface if it exists. | |
virtual bool | operator== (const vtol_face &other) const |
deep equality check on faces. uses fuzzy equal on vertices. | |
bool | operator!= (const vtol_face &other) const |
bool | operator== (const vsol_spatial_object_2d &obj) const |
Spatial object equality. | |
virtual void | compute_bounding_box () const |
determine bounding box from bounding boxes of underlying edges. | |
virtual void | print (vcl_ostream &strm=vcl_cout) const |
This method prints out a simple text representation for the vtol_face which includes its address in memory. | |
virtual void | describe (vcl_ostream &strm=vcl_cout, int blanking=0) const |
This method describes the data members of the vtol_face including the Inferiors. | |
virtual bool | shares_edge_with (vtol_face_sptr const &f) |
Does `this' share an edge with `f' ?. | |
virtual void | copy_geometry (const vtol_face &other)=0 |
have the inherited classes copy the geometry. | |
virtual bool | compare_geometry (const vtol_face &other) const =0 |
compare the geometry. | |
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_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_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 const vtol_one_chain * | cast_to_one_chain () const |
Return `this' if `this' is a one_chain, 0 otherwise. | |
virtual vtol_one_chain * | cast_to_one_chain () |
Return `this' if `this' is a one_chain, 0 otherwise. | |
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. | |
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 | 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. | |
void | describe_inferiors (vcl_ostream &strm=vcl_cout, int blanking=0) const |
void | describe_superiors (vcl_ostream &strm=vcl_cout, int blanking=0) const |
const char * | get_name () const |
void | un_protect () |
virtual vsol_spatial_object_2d * | clone () const =0 |
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 |
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 vcl_vector < vtol_vertex * > * | compute_vertices () |
Returns a vtol_vertex list of all the vertices on the face. | |
virtual vcl_vector< vtol_edge * > * | compute_edges () |
Returns a list of edges on the face. | |
virtual vcl_vector < vtol_zero_chain * > * | compute_zero_chains () |
Returns a list of zero_chains of the face. | |
virtual vcl_vector < vtol_one_chain * > * | compute_one_chains () |
Returns a list of all Onechains of the face. | |
virtual vcl_vector< vtol_face * > * | compute_faces () |
Returns a list of that has itself as the only element. | |
virtual vcl_vector < vtol_two_chain * > * | compute_two_chains () |
Returns a list of all the two_chains which contain the vtol_face. | |
virtual vcl_vector< vtol_block * > * | compute_blocks () |
Returns a list of all the blocks that contain the vtol_face. | |
virtual vcl_vector < vtol_vertex * > * | outside_boundary_compute_vertices () |
virtual vcl_vector < vtol_zero_chain * > * | outside_boundary_compute_zero_chains () |
Returns a list of the zero_chains on the outside boundary of the face. | |
virtual vcl_vector< vtol_edge * > * | outside_boundary_compute_edges () |
Returns a list of edges that make up the outside boundary of the face. | |
virtual vcl_vector < vtol_one_chain * > * | outside_boundary_compute_one_chains () |
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. | |
virtual void | add_one_chain (vtol_one_chain &) |
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 51 of file vtol_face.h.
enum vtol_topology_object::vtol_topology_object_type [protected, inherited] |
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.
vtol_face::vtol_face | ( | ) | [inline] |
Default constructor.
Definition at line 60 of file vtol_face.h.
vtol_face::~vtol_face | ( | ) | [virtual] |
Destructor.
Definition at line 27 of file vtol_face.cxx.
bool vtol_face::add_hole_cycle | ( | vtol_one_chain_sptr | new_hole | ) | [virtual] |
Adds a new hole to the face.
Definition at line 280 of file vtol_face.cxx.
void vtol_face::add_one_chain | ( | vtol_one_chain_sptr const & | new_vtol_one_chain | ) | [virtual] |
Links new_vtol_one_chain as an inferior of the vtol_face and returns True if successful.
This method will be replacing all calls to add_edge_loop().
Definition at line 203 of file vtol_face.cxx.
void vtol_face::add_one_chain | ( | vtol_one_chain & | new_vtol_one_chain | ) | [private, virtual] |
Definition at line 212 of file vtol_face.cxx.
void vtol_topology_object::blocks | ( | block_list & | list | ) | const [inherited] |
virtual const vtol_block* vtol_topology_object::cast_to_block | ( | ) | const [inline, virtual, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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_face::cast_to_face | ( | ) | const [inline, virtual] |
Return `this' if `this' is a face, 0 otherwise.
Reimplemented from vtol_topology_object.
Definition at line 89 of file vtol_face.h.
virtual vtol_face* vtol_face::cast_to_face | ( | ) | [inline, virtual] |
Return `this' if `this' is a face, 0 otherwise.
Reimplemented from vtol_topology_object.
Definition at line 93 of file vtol_face.h.
virtual const vtol_face_2d* vtol_face::cast_to_face_2d | ( | ) | const [inline, virtual] |
Return `this' if `this' is a 2D face, 0 otherwise.
Reimplemented in vtol_face_2d.
Definition at line 97 of file vtol_face.h.
virtual vtol_face_2d* vtol_face::cast_to_face_2d | ( | ) | [inline, virtual] |
Return `this' if `this' is a 2D face, 0 otherwise.
Reimplemented in vtol_face_2d.
Definition at line 101 of file vtol_face.h.
virtual const vtol_intensity_face* vtol_face::cast_to_intensity_face | ( | ) | const [inline, virtual] |
Return `this' if `this' is an intensity face, 0 otherwise.
Reimplemented in vtol_intensity_face.
Definition at line 105 of file vtol_face.h.
virtual vtol_intensity_face* vtol_face::cast_to_intensity_face | ( | ) | [inline, virtual] |
Return `this' if `this' is an intensity face, 0 otherwise.
Reimplemented in vtol_intensity_face.
Definition at line 109 of file vtol_face.h.
virtual const vtol_one_chain* vtol_topology_object::cast_to_one_chain | ( | ) | const [inline, virtual, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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.
virtual bool vtol_face::compare_geometry | ( | const vtol_face & | other | ) | const [pure virtual] |
compare the geometry.
Implemented in vtol_face_2d.
vcl_vector< vtol_block * > * vtol_face::compute_blocks | ( | void | ) | [protected, virtual] |
Returns a list of all the blocks that contain the vtol_face.
Reimplemented from vtol_topology_object.
Definition at line 181 of file vtol_face.cxx.
void vtol_face::compute_bounding_box | ( | void | ) | const [virtual] |
determine bounding box from bounding boxes of underlying edges.
Update the bounding box, a member of vsol_spatial_object_2d.
The algorithm uses the bounding boxes of the vtol_edge(s) forming the boundary of the face.
Reimplemented from vtol_topology_object.
Definition at line 372 of file vtol_face.cxx.
vcl_vector< vtol_edge * > * vtol_face::compute_edges | ( | void | ) | [protected, virtual] |
Returns a list of edges on the face.
Reimplemented from vtol_topology_object.
Definition at line 130 of file vtol_face.cxx.
vcl_vector< vtol_face * > * vtol_face::compute_faces | ( | void | ) | [protected, virtual] |
Returns a list of that has itself as the only element.
This method is needed for traversing the model hierarchy consistently.
Reimplemented from vtol_topology_object.
Definition at line 168 of file vtol_face.cxx.
vcl_vector< vtol_one_chain * > * vtol_face::compute_one_chains | ( | void | ) | [protected, virtual] |
Returns a list of all Onechains of the face.
Reimplemented from vtol_topology_object.
Definition at line 159 of file vtol_face.cxx.
vcl_vector< vtol_two_chain * > * vtol_face::compute_two_chains | ( | void | ) | [protected, virtual] |
Returns a list of all the two_chains which contain the vtol_face.
Reimplemented from vtol_topology_object.
Definition at line 174 of file vtol_face.cxx.
vcl_vector< vtol_vertex * > * vtol_face::compute_vertices | ( | void | ) | [protected, virtual] |
Returns a vtol_vertex list of all the vertices on the face.
If the face does not have any holes, this vertex list is ordered in the direction of a positive normal using the Right Hand rule.
Reimplemented from vtol_topology_object.
Definition at line 63 of file vtol_face.cxx.
vcl_vector< vtol_zero_chain * > * vtol_face::compute_zero_chains | ( | void | ) | [protected, virtual] |
Returns a list of zero_chains of the face.
Reimplemented from vtol_topology_object.
Definition at line 99 of file vtol_face.cxx.
virtual void vtol_face::copy_geometry | ( | const vtol_face & | other | ) | [pure virtual] |
have the inherited classes copy the geometry.
Implemented in vtol_face_2d.
virtual vtol_face* vtol_face::copy_with_arrays | ( | topology_list & | verts, |
topology_list & | edges | ||
) | const [pure virtual] |
Inferior/Superior Accessor Methods.
Implemented in vtol_face_2d.
void vtol_face::describe | ( | vcl_ostream & | strm = vcl_cout , |
int | blanking = 0 |
||
) | const [virtual] |
This method describes the data members of the vtol_face including the Inferiors.
The blanking argument is used to indent the output in a clear fashion.
Reimplemented from vtol_topology_object.
Reimplemented in vtol_face_2d.
Definition at line 339 of file vtol_face.cxx.
void vtol_topology_object::describe_inferiors | ( | vcl_ostream & | strm = vcl_cout , |
int | blanking = 0 |
||
) | const [inherited] |
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 [inherited] |
Definition at line 294 of file vtol_topology_object.cxx.
void vtol_topology_object::edges | ( | edge_list & | list | ) | const [inherited] |
void vtol_topology_object::faces | ( | face_list & | list | ) | const [inherited] |
vtol_one_chain_sptr vtol_face::get_boundary_cycle | ( | void | ) | [virtual] |
Returns the first inferior vtol_one_chain of the vtol_face (the boundary onechain).
Definition at line 270 of file vtol_face.cxx.
one_chain_list * vtol_face::get_hole_cycles | ( | void | ) | [virtual] |
Definition at line 295 of file vtol_face.cxx.
int vtol_face::get_num_edges | ( | void | ) | const [virtual] |
Returns the number of edges on the vtol_face.
Definition at line 315 of file vtol_face.cxx.
vtol_one_chain_sptr vtol_face::get_one_chain | ( | int | which = 0 | ) | [virtual] |
Returns the ith inferior vtol_one_chain of the vtol_face.
Definition at line 256 of file vtol_face.cxx.
topology_list* vtol_topology_object::inferiors | ( | ) | [inline, inherited] |
Return the inferiors list.
Definition at line 280 of file vtol_topology_object.h.
const topology_list* vtol_topology_object::inferiors | ( | ) | const [inline, inherited] |
Definition at line 281 of file vtol_topology_object.h.
virtual vcl_string vtol_face::is_a | ( | ) | const [inline, virtual] |
Return a platform independent string identifying the class.
Implements vsol_spatial_object_2d.
Reimplemented in vtol_face_2d, and vtol_intensity_face.
Definition at line 190 of file vtol_face.h.
virtual bool vtol_face::is_class | ( | const vcl_string & | cls | ) | const [inline, virtual] |
Return true if the argument matches the string identifying the class or any parent class.
Reimplemented in vtol_face_2d, and vtol_intensity_face.
Definition at line 193 of file vtol_face.h.
bool vtol_topology_object::is_inferior | ( | vtol_topology_object_sptr | inferior | ) | const [inherited] |
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 [inherited] |
Is `superior' already a superior of `this' ?.
Definition at line 64 of file vtol_topology_object.cxx.
bool vtol_face::IsHoleP | ( | ) | const |
This method determines if a vtol_face is a hole of another vtol_face.
Definition at line 381 of file vtol_face.cxx.
void vtol_face::link_inferior | ( | vtol_one_chain_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 from vtol_topology_object.
Definition at line 14 of file vtol_face.cxx.
int vtol_topology_object::numinf | ( | ) | const [inline, inherited] |
Number of inferiors.
Definition at line 265 of file vtol_topology_object.h.
int vtol_topology_object::numsup | ( | ) | const [inline, inherited] |
Number of superiors.
Definition at line 269 of file vtol_topology_object.h.
void vtol_topology_object::one_chains | ( | one_chain_list & | list | ) | const [inherited] |
Get list of one chains.
get list of one chains.
Definition at line 216 of file vtol_topology_object.cxx.
bool vtol_face::operator!= | ( | const vtol_face & | other | ) | const [inline] |
Definition at line 168 of file vtol_face.h.
bool vtol_face::operator== | ( | const vtol_face & | other | ) | const [virtual] |
deep equality check on faces. uses fuzzy equal on vertices.
Reimplemented in vtol_face_2d.
Definition at line 224 of file vtol_face.cxx.
bool vtol_face::operator== | ( | const vsol_spatial_object_2d & | obj | ) | const [virtual] |
Spatial object equality.
Reimplemented from vsol_spatial_object_2d.
Reimplemented in vtol_face_2d.
Definition at line 246 of file vtol_face.cxx.
vcl_vector< vtol_edge * > * vtol_face::outside_boundary_compute_edges | ( | void | ) | [protected, virtual] |
Returns a list of edges that make up the outside boundary of the face.
All edges on any hole boundaries are not included.
Definition at line 108 of file vtol_face.cxx.
vcl_vector< vtol_one_chain * > * vtol_face::outside_boundary_compute_one_chains | ( | void | ) | [protected, virtual] |
Definition at line 151 of file vtol_face.cxx.
vcl_vector< vtol_vertex * > * vtol_face::outside_boundary_compute_vertices | ( | void | ) | [protected, virtual] |
Definition at line 53 of file vtol_face.cxx.
vcl_vector< vtol_zero_chain * > * vtol_face::outside_boundary_compute_zero_chains | ( | void | ) | [protected, virtual] |
Returns a list of the zero_chains on the outside boundary of the face.
All zero_chains on any hole boundaries of the face are not included.
Definition at line 72 of file vtol_face.cxx.
edge_list * vtol_face::outside_boundary_edges | ( | void | ) | [virtual] |
Get the outside boundary edges.
Definition at line 115 of file vtol_face.cxx.
one_chain_list * vtol_face::outside_boundary_one_chains | ( | void | ) | [virtual] |
Returns a list of one_chains that make up the outside boundary of the face.
Definition at line 137 of file vtol_face.cxx.
vertex_list * vtol_face::outside_boundary_vertices | ( | void | ) | [virtual] |
accessors for boundary elements.
Returns an ordered list of vertices of the outside boundary of the face.
All vertices on any holes of the face are not included. This vertex list is ordered such that a positive normal is computing using the Right Hand rule in the direction of the vertex list.
Definition at line 39 of file vtol_face.cxx.
zero_chain_list * vtol_face::outside_boundary_zero_chains | ( | void | ) | [virtual] |
Returns a list of the zero_chains on the outside boundary of the face.
All zero_chains on any hole boundaries of the face are not included.
Definition at line 82 of file vtol_face.cxx.
void vtol_face::print | ( | vcl_ostream & | strm = vcl_cout | ) | const [virtual] |
This method prints out a simple text representation for the vtol_face which includes its address in memory.
Reimplemented from vtol_topology_object.
Reimplemented in vtol_face_2d.
Definition at line 356 of file vtol_face.cxx.
void vtol_face::reverse_normal | ( | void | ) | [virtual] |
Utility Functions and overloaded operators.
Reverse the direction of the face.
Definition at line 326 of file vtol_face.cxx.
virtual vtol_face* vtol_face::shallow_copy_with_no_links | ( | ) | const [pure virtual] |
Copy with no links. Only copy the surface if it exists.
Implemented in vtol_face_2d.
bool vtol_face::shares_edge_with | ( | vtol_face_sptr const & | f | ) | [virtual] |
Does `this' share an edge with `f' ?.
Comparison of edge pointers, not geometric values
Definition at line 189 of file vtol_face.cxx.
virtual vsol_spatial_object_2d_type vtol_topology_object::spatial_type | ( | void | ) | const [inline, virtual, inherited] |
Return the spatial type.
Implements vsol_spatial_object_2d.
Definition at line 285 of file vtol_topology_object.h.
const vcl_list<vtol_topology_object*>* vtol_topology_object::superiors_list | ( | ) | const [inline, inherited] |
Definition at line 276 of file vtol_topology_object.h.
virtual vtol_topology_object_type vtol_face::topology_type | ( | ) | const [inline, private, virtual] |
Return the topology type.
Reimplemented from vtol_topology_object.
Reimplemented in vtol_intensity_face.
Definition at line 70 of file vtol_face.h.
void vtol_topology_object::two_chains | ( | two_chain_list & | list | ) | const [inherited] |
Get list of two chains.
get list of two chains.
Definition at line 248 of file vtol_topology_object.cxx.
void vtol_topology_object::unlink | ( | void | ) | [inherited] |
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 | ) | [inherited] |
Unlink `this' from all its inferiors.
Definition at line 143 of file vtol_topology_object.cxx.
void vtol_face::unlink_inferior | ( | vtol_one_chain_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 from vtol_topology_object.
Definition at line 19 of file vtol_face.cxx.
virtual bool vtol_face::valid_inferior_type | ( | vtol_topology_object const * | inferior | ) | const [inline, virtual] |
Is `inferior' type valid for `this' ?.
Implements vtol_topology_object.
Definition at line 120 of file vtol_face.h.
bool vtol_face::valid_inferior_type | ( | vtol_one_chain_sptr const & | ) | const [inline] |
Definition at line 122 of file vtol_face.h.
bool vtol_face::valid_superior_type | ( | vtol_two_chain_sptr const & | ) | const [inline] |
Definition at line 123 of file vtol_face.h.
bool vtol_topology_object::valid_superior_type | ( | vtol_topology_object const * | sup | ) | const [inline, inherited] |
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 [inherited] |
Get list of vertices.
get list of vertices.
Definition at line 170 of file vtol_topology_object.cxx.
void vtol_topology_object::zero_chains | ( | zero_chain_list & | list | ) | const [inherited] |
Get list of zero chains.
get list of zero chains.
Definition at line 184 of file vtol_topology_object.cxx.
topology_list vtol_topology_object::inferiors_ [protected, inherited] |
Definition at line 130 of file vtol_topology_object.h.
vcl_list<vtol_topology_object*> vtol_topology_object::superiors_ [protected, inherited] |
Definition at line 125 of file vtol_topology_object.h.