#include <vsol_point_2d.h>

Public Types | |
| enum | vsol_spatial_object_2d_type { SPATIAL_NO_TYPE = 0, TOPOLOGYOBJECT, POINT, CURVE, REGION, SPATIALGROUP, VOLUME, NUM_SPATIALOBJECT_TYPES } |
Public Member Functions | |
| vsol_point_2d () | |
| Default Constructor. | |
| vsol_point_2d (vgl_point_2d< double > const &p) | |
| Constructor from vgl_point_2d (automatic cast). | |
| vsol_point_2d (double x, double y) | |
| Constructor from cartesian coordinates `x' and `y'. | |
| vsol_point_2d (vsol_point_2d const &pt) | |
| Copy constructor. | |
| virtual | ~vsol_point_2d () |
| Destructor. | |
| virtual vsol_spatial_object_2d * | clone (void) const |
| Clone `this': creation of a new object and initialization. | |
| virtual vsol_point_2d * | cast_to_point (void) |
| Safe casting. | |
| virtual vsol_point_2d const * | cast_to_point (void) const |
| double | x (void) const |
| Return the abscissa. | |
| double | y (void) const |
| Return the ordinate. | |
| virtual bool | operator== (vsol_point_2d const &other) const |
| Has `this' the same coordinates than `other' ?. | |
| virtual bool | operator== (vsol_spatial_object_2d const &obj) const |
| spatial object equality. | |
| bool | operator!= (vsol_point_2d const &o) const |
| Has `this' not the same coordinates than `other' ?. | |
| vsol_spatial_object_2d_type | spatial_type (void) const |
| Return the real type of a point. It is a POINT. | |
| virtual void | compute_bounding_box (void) const |
| Compute the bounding box of `this'. | |
| virtual void | set_x (const double new_x) |
| Set the abscissa. | |
| virtual void | set_y (const double new_y) |
| Set the ordinate. | |
| vgl_point_2d< double > | get_p () const |
| return the point. | |
| virtual double | distance (vsol_point_2d const &other) const |
| Return the distance (N2) between `this' and `other'. | |
| virtual double | distance (vsol_point_2d_sptr other) const |
| virtual vsol_point_2d_sptr | middle (vsol_point_2d const &other) const |
| Return the middle point between `this' and `other'. | |
| virtual void | add_vector (vgl_vector_2d< double > const &v) |
| Add `v' to `this'. | |
| virtual vsol_point_2d_sptr | plus_vector (vgl_vector_2d< double > const &v) const |
| Add `v' and `this'. | |
| virtual vgl_vector_2d< double > | to_vector (vsol_point_2d const &other) const |
| Return the vector `this',`other'. | |
| void | b_write (vsl_b_ostream &os) const |
| Binary save self to stream. | |
| void | b_read (vsl_b_istream &is) |
| Binary load self from stream. | |
| short | version () const |
| Return IO version number;. | |
| void | print_summary (vcl_ostream &os) const |
| Print an ascii summary to the stream. | |
| 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. | |
| void | describe (vcl_ostream &strm, int blanking=0) const |
| output description to stream. | |
| const char * | get_name () const |
| void | un_protect () |
| unprotect the object. | |
| virtual void | print (vcl_ostream &strm=vcl_cout) 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_2d * | cast_to_spatial_object () |
| The same behavior than dynamic_cast<>. | |
| virtual vsol_spatial_object_2d const * | cast_to_spatial_object () const |
| virtual vtol_topology_object * | cast_to_topology_object () |
| virtual vtol_topology_object const * | cast_to_topology_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_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 |
| get id of object. | |
| void | set_id (int i) |
| set id of object. | |
| void | set_user_flag (unsigned int flag) |
| set a flag for a spatial object; flag can be VSOL_FLAG[1-6]. | |
| bool | get_user_flag (unsigned int flag) |
| check if a flag is set for a spatial object; flag can be VSOL_FLAG[1-6]. | |
| void | unset_user_flag (unsigned int flag) |
| un-set a flag for a spatial object; flag can be VSOL_FLAG[1-6]. | |
| void | set_tagged_union_flag () |
| set the flag used by TAGGED_UNION. | |
| bool | get_tagged_union_flag () |
| check if the flag used by TAGGED_UNION is set. | |
| void | unset_tagged_union_flag () |
| un-set the flag used by TAGGED_UNION. | |
| int | get_tag_id () |
| void | set_tag_id (int id) |
Static Public Attributes | |
| static const char * | SpatialTypes [] |
| static const float | eps = 1.0e-3f |
Protected Member Functions | |
| void | not_applicable (vcl_string const &message) const |
| void | empty_bounding_box () const |
| make the bounding box empty; often first step in bounding box calculation. | |
| void | set_bounding_box (vsol_box_2d_sptr const &box) const |
| set the bounding box; to be used in bounding box calculation. | |
| void | set_bounding_box (double x, double y) const |
| set the bounding box to a single point, discarding the old bounding box. | |
| void | add_to_bounding_box (double x, double y) const |
| add a point to the bounding box and take the convex union. | |
| void | add_to_bounding_box (vsol_box_2d_sptr const &box) const |
| set the existing bounding box to the convex union of it with the given box. | |
| void | grow_minmax_bounds (vsol_box_2d_sptr const &b) const |
| grow to the largest dim. of this and box, i.e., take the convex union. | |
| void | check_update_bounding_box () const |
| Test consistency of bound. | |
Protected Attributes | |
| unsigned long | timestamp_ |
| unsigned int | tag_ |
| int | id_ |
Static Protected Attributes | |
| static int | tagcount_ = 0 |
Private Attributes | |
| vgl_point_2d< double > | p_ |
| Coordinates of the point. | |
Friends | |
| vcl_ostream & | operator<< (vcl_ostream &, vsol_spatial_object_2d const &) |
| vcl_ostream & | operator<< (vcl_ostream &, vsol_spatial_object_2d const *) |
Definition at line 37 of file vsol_point_2d.h.
enum vsol_spatial_object_2d::vsol_spatial_object_2d_type [inherited] |
| SPATIAL_NO_TYPE | |
| TOPOLOGYOBJECT | |
| POINT | |
| CURVE | |
| REGION | |
| SPATIALGROUP | |
| VOLUME | |
| NUM_SPATIALOBJECT_TYPES |
Definition at line 66 of file vsol_spatial_object_2d.h.
| vsol_point_2d::vsol_point_2d | ( | ) | [inline] |
Default Constructor.
Definition at line 54 of file vsol_point_2d.h.
| vsol_point_2d::vsol_point_2d | ( | vgl_point_2d< double > const & | p | ) | [inline] |
Constructor from vgl_point_2d (automatic cast).
Definition at line 58 of file vsol_point_2d.h.
| vsol_point_2d::vsol_point_2d | ( | double | x, |
| double | y | ||
| ) | [inline] |
Constructor from cartesian coordinates `x' and `y'.
Definition at line 62 of file vsol_point_2d.h.
| vsol_point_2d::vsol_point_2d | ( | vsol_point_2d const & | pt | ) | [inline] |
Copy constructor.
Definition at line 66 of file vsol_point_2d.h.
| vsol_point_2d::~vsol_point_2d | ( | ) | [virtual] |
Destructor.
Definition at line 14 of file vsol_point_2d.cxx.
| void vsol_spatial_object_2d::add_to_bounding_box | ( | double | x, |
| double | y | ||
| ) | const [protected, inherited] |
add a point to the bounding box and take the convex union.
This is a "const" method since the bounding box is a "mutable" data member: calculating the bounding box does not change the object.
Definition at line 79 of file vsol_spatial_object_2d.cxx.
| void vsol_spatial_object_2d::add_to_bounding_box | ( | vsol_box_2d_sptr const & | box | ) | const [protected, inherited] |
set the existing bounding box to the convex union of it with the given box.
Definition at line 84 of file vsol_spatial_object_2d.cxx.
| void vsol_point_2d::add_vector | ( | vgl_vector_2d< double > const & | v | ) | [virtual] |
Add `v' to `this'.
Definition at line 106 of file vsol_point_2d.cxx.
| void vsol_point_2d::b_read | ( | vsl_b_istream & | is | ) | [virtual] |
Binary load self from stream.
Binary load self from stream (not typically used).
Reimplemented from vsol_spatial_object_2d.
Definition at line 141 of file vsol_point_2d.cxx.
| void vsol_point_2d::b_write | ( | vsl_b_ostream & | os | ) | const [virtual] |
Binary save self to stream.
Reimplemented from vsol_spatial_object_2d.
Definition at line 132 of file vsol_point_2d.cxx.
| virtual vsol_curve_2d* vsol_spatial_object_2d::cast_to_curve | ( | ) | [inline, virtual, inherited] |
Reimplemented in vsol_curve_2d.
Definition at line 180 of file vsol_spatial_object_2d.h.
| virtual vsol_curve_2d const* vsol_spatial_object_2d::cast_to_curve | ( | ) | const [inline, virtual, inherited] |
Reimplemented in vsol_curve_2d.
Definition at line 181 of file vsol_spatial_object_2d.h.
| virtual vsol_group_2d* vsol_spatial_object_2d::cast_to_group | ( | void | ) | [inline, virtual, inherited] |
Reimplemented in vsol_group_2d, and vsol_group_2d.
Definition at line 184 of file vsol_spatial_object_2d.h.
| virtual vsol_group_2d const* vsol_spatial_object_2d::cast_to_group | ( | void | ) | const [inline, virtual, inherited] |
Reimplemented in vsol_group_2d.
Definition at line 185 of file vsol_spatial_object_2d.h.
| virtual vsol_point_2d* vsol_point_2d::cast_to_point | ( | void | ) | [inline, virtual] |
Safe casting.
Reimplemented from vsol_spatial_object_2d.
Definition at line 80 of file vsol_point_2d.h.
| virtual vsol_point_2d const* vsol_point_2d::cast_to_point | ( | void | ) | const [inline, virtual] |
Reimplemented from vsol_spatial_object_2d.
Definition at line 81 of file vsol_point_2d.h.
| virtual vsol_region_2d* vsol_spatial_object_2d::cast_to_region | ( | void | ) | [inline, virtual, inherited] |
Reimplemented in vsol_region_2d.
Definition at line 182 of file vsol_spatial_object_2d.h.
| virtual vsol_region_2d const* vsol_spatial_object_2d::cast_to_region | ( | void | ) | const [inline, virtual, inherited] |
Reimplemented in vsol_region_2d, and vsol_region_2d.
Definition at line 183 of file vsol_spatial_object_2d.h.
| virtual vsol_spatial_object_2d* vsol_spatial_object_2d::cast_to_spatial_object | ( | ) | [inline, virtual, inherited] |
The same behavior than dynamic_cast<>.
Needed because VXL is not necessarily compiled with -frtti
Definition at line 170 of file vsol_spatial_object_2d.h.
| virtual vsol_spatial_object_2d const* vsol_spatial_object_2d::cast_to_spatial_object | ( | ) | const [inline, virtual, inherited] |
Definition at line 171 of file vsol_spatial_object_2d.h.
| virtual vtol_topology_object* vsol_spatial_object_2d::cast_to_topology_object | ( | ) | [inline, virtual, inherited] |
Definition at line 173 of file vsol_spatial_object_2d.h.
| virtual vtol_topology_object const* vsol_spatial_object_2d::cast_to_topology_object | ( | ) | const [inline, virtual, inherited] |
Definition at line 174 of file vsol_spatial_object_2d.h.
| virtual vsol_spatial_object_2d* vsol_spatial_object_2d::cast_to_vsol_spatial_object | ( | ) | [inline, virtual, inherited] |
Definition at line 176 of file vsol_spatial_object_2d.h.
| virtual vsol_spatial_object_2d const* vsol_spatial_object_2d::cast_to_vsol_spatial_object | ( | ) | const [inline, virtual, inherited] |
Definition at line 177 of file vsol_spatial_object_2d.h.
| void vsol_spatial_object_2d::check_update_bounding_box | ( | ) | const [protected, inherited] |
Test consistency of bound.
Bounds Accessors:.
min_ and max_ are provided as methods on vsol_spatial_object_2d to be consistent with the previous interface Additional bounds accessors are available directly on vsol_box_2d. - JLM
Definition at line 97 of file vsol_spatial_object_2d.cxx.
| vsol_spatial_object_2d * vsol_point_2d::clone | ( | void | ) | const [virtual] |
Clone `this': creation of a new object and initialization.
See Prototype pattern
Implements vsol_spatial_object_2d.
Definition at line 21 of file vsol_point_2d.cxx.
| void vsol_point_2d::compute_bounding_box | ( | void | ) | const [virtual] |
Compute the bounding box of `this'.
Reimplemented from vsol_spatial_object_2d.
Definition at line 58 of file vsol_point_2d.cxx.
| void vsol_point_2d::describe | ( | vcl_ostream & | strm, |
| int | blanking = 0 |
||
| ) | const [inline, virtual] |
output description to stream.
Reimplemented from vsol_spatial_object_2d.
Definition at line 183 of file vsol_point_2d.h.
| double vsol_point_2d::distance | ( | vsol_point_2d const & | other | ) | const [virtual] |
Return the distance (N2) between `this' and `other'.
Definition at line 87 of file vsol_point_2d.cxx.
| double vsol_point_2d::distance | ( | vsol_point_2d_sptr | other | ) | const [virtual] |
Definition at line 92 of file vsol_point_2d.cxx.
| void vsol_spatial_object_2d::empty_bounding_box | ( | ) | const [protected, inherited] |
make the bounding box empty; often first step in bounding box calculation.
Definition at line 64 of file vsol_spatial_object_2d.cxx.
| vsol_box_2d_sptr vsol_spatial_object_2d::get_bounding_box | ( | ) | const [inline, inherited] |
Definition at line 137 of file vsol_spatial_object_2d.h.
| int vsol_flags_id::get_id | ( | ) | const [inline, inherited] |
get id of object.
Definition at line 52 of file vsol_flags_id.h.
| double vsol_spatial_object_2d::get_max_x | ( | ) | const [inherited] |
Definition at line 118 of file vsol_spatial_object_2d.cxx.
| double vsol_spatial_object_2d::get_max_y | ( | ) | const [inherited] |
Definition at line 128 of file vsol_spatial_object_2d.cxx.
| double vsol_spatial_object_2d::get_min_x | ( | ) | const [inherited] |
Definition at line 113 of file vsol_spatial_object_2d.cxx.
| double vsol_spatial_object_2d::get_min_y | ( | ) | const [inherited] |
Definition at line 123 of file vsol_spatial_object_2d.cxx.
| const char * vsol_spatial_object_2d::get_name | ( | ) | const [inherited] |
Definition at line 40 of file vsol_spatial_object_2d.cxx.
| vgl_point_2d<double> vsol_point_2d::get_p | ( | ) | const [inline] |
return the point.
Definition at line 138 of file vsol_point_2d.h.
| int vsol_flags_id::get_tag_id | ( | ) | [inline, inherited] |
Definition at line 106 of file vsol_flags_id.h.
| bool vsol_flags_id::get_tagged_union_flag | ( | ) | [inline, inherited] |
check if the flag used by TAGGED_UNION is set.
Definition at line 95 of file vsol_flags_id.h.
| bool vsol_flags_id::get_user_flag | ( | unsigned int | flag | ) | [inline, inherited] |
check if a flag is set for a spatial object; flag can be VSOL_FLAG[1-6].
Definition at line 77 of file vsol_flags_id.h.
| void vsol_spatial_object_2d::grow_minmax_bounds | ( | vsol_box_2d_sptr const & | b | ) | const [inline, protected, inherited] |
grow to the largest dim. of this and box, i.e., take the convex union.
Definition at line 160 of file vsol_spatial_object_2d.h.
| virtual vcl_string vsol_point_2d::is_a | ( | ) | const [inline, virtual] |
Return a platform independent string identifying the class.
Implements vsol_spatial_object_2d.
Definition at line 176 of file vsol_point_2d.h.
| virtual bool vsol_point_2d::is_class | ( | const vcl_string & | cls | ) | const [inline, virtual] |
Return true if the argument matches the string identifying the class or any parent class.
Definition at line 179 of file vsol_point_2d.h.
| vsol_point_2d_sptr vsol_point_2d::middle | ( | vsol_point_2d const & | other | ) | const [virtual] |
Return the middle point between `this' and `other'.
Definition at line 99 of file vsol_point_2d.cxx.
| void vsol_spatial_object_2d::not_applicable | ( | vcl_string const & | message | ) | const [inline, protected, inherited] |
Definition at line 89 of file vsol_spatial_object_2d.h.
| bool vsol_point_2d::operator!= | ( | vsol_point_2d const & | o | ) | const [inline] |
Has `this' not the same coordinates than `other' ?.
Definition at line 106 of file vsol_point_2d.h.
| bool vsol_spatial_object_2d::operator!= | ( | vsol_spatial_object_2d const & | obj | ) | [inline, inherited] |
Definition at line 133 of file vsol_spatial_object_2d.h.
| bool vsol_point_2d::operator== | ( | vsol_point_2d const & | other | ) | const [virtual] |
Has `this' the same coordinates than `other' ?.
Definition at line 32 of file vsol_point_2d.cxx.
| bool vsol_point_2d::operator== | ( | vsol_spatial_object_2d const & | obj | ) | const [virtual] |
spatial object equality.
Reimplemented from vsol_spatial_object_2d.
Definition at line 39 of file vsol_point_2d.cxx.
| vsol_point_2d_sptr vsol_point_2d::plus_vector | ( | vgl_vector_2d< double > const & | v | ) | const [virtual] |
Add `v' and `this'.
Definition at line 114 of file vsol_point_2d.cxx.
| virtual void vsol_spatial_object_2d::print | ( | vcl_ostream & | strm = vcl_cout | ) | const [inline, virtual, inherited] |
Definition at line 125 of file vsol_spatial_object_2d.h.
| void vsol_point_2d::print_summary | ( | vcl_ostream & | os | ) | const |
Print an ascii summary to the stream.
Definition at line 173 of file vsol_point_2d.cxx.
| void vsol_spatial_object_2d::set_bounding_box | ( | vsol_box_2d_sptr const & | box | ) | const [protected, inherited] |
set the bounding box; to be used in bounding box calculation.
Definition at line 74 of file vsol_spatial_object_2d.cxx.
| void vsol_spatial_object_2d::set_bounding_box | ( | double | x, |
| double | y | ||
| ) | const [protected, inherited] |
set the bounding box to a single point, discarding the old bounding box.
This is a "const" method since the bounding box is a "mutable" data member: calculating the bounding box does not change the object.
Definition at line 69 of file vsol_spatial_object_2d.cxx.
| void vsol_flags_id::set_id | ( | int | i | ) | [inline, inherited] |
set id of object.
Definition at line 54 of file vsol_flags_id.h.
| void vsol_flags_id::set_tag_id | ( | int | id | ) | [inline, inherited] |
Definition at line 111 of file vsol_flags_id.h.
| void vsol_flags_id::set_tagged_union_flag | ( | ) | [inline, inherited] |
set the flag used by TAGGED_UNION.
Definition at line 89 of file vsol_flags_id.h.
| void vsol_flags_id::set_user_flag | ( | unsigned int | flag | ) | [inline, inherited] |
set a flag for a spatial object; flag can be VSOL_FLAG[1-6].
Definition at line 71 of file vsol_flags_id.h.
| void vsol_point_2d::set_x | ( | const double | new_x | ) | [virtual] |
Set the abscissa.
Definition at line 69 of file vsol_point_2d.cxx.
| void vsol_point_2d::set_y | ( | const double | new_y | ) | [virtual] |
Set the ordinate.
Definition at line 76 of file vsol_point_2d.cxx.
| vsol_spatial_object_2d::vsol_spatial_object_2d_type vsol_point_2d::spatial_type | ( | void | ) | const [virtual] |
Return the real type of a point. It is a POINT.
Implements vsol_spatial_object_2d.
Definition at line 51 of file vsol_point_2d.cxx.
| vgl_vector_2d< double > vsol_point_2d::to_vector | ( | vsol_point_2d const & | other | ) | const [virtual] |
Return the vector `this',`other'.
Definition at line 122 of file vsol_point_2d.cxx.
| void vsol_spatial_object_2d::un_protect | ( | ) | [inline, inherited] |
unprotect the object.
Definition at line 104 of file vsol_spatial_object_2d.h.
| void vsol_flags_id::unset_tagged_union_flag | ( | ) | [inline, inherited] |
un-set the flag used by TAGGED_UNION.
Definition at line 101 of file vsol_flags_id.h.
| void vsol_flags_id::unset_user_flag | ( | unsigned int | flag | ) | [inline, inherited] |
un-set a flag for a spatial object; flag can be VSOL_FLAG[1-6].
Definition at line 83 of file vsol_flags_id.h.
| short vsol_point_2d::version | ( | ) | const |
Return IO version number;.
Reimplemented from vsol_spatial_object_2d.
Definition at line 167 of file vsol_point_2d.cxx.
| double vsol_point_2d::x | ( | void | ) | const [inline] |
Return the abscissa.
Definition at line 89 of file vsol_point_2d.h.
| double vsol_point_2d::y | ( | void | ) | const [inline] |
Return the ordinate.
Definition at line 93 of file vsol_point_2d.h.
| vcl_ostream& operator<< | ( | vcl_ostream & | strm, |
| vsol_spatial_object_2d const & | so | ||
| ) | [friend, inherited] |
Definition at line 190 of file vsol_spatial_object_2d.h.
| vcl_ostream& operator<< | ( | vcl_ostream & | strm, |
| vsol_spatial_object_2d const * | so | ||
| ) | [friend, inherited] |
Definition at line 196 of file vsol_spatial_object_2d.h.
const float vsol_spatial_object_2d::eps = 1.0e-3f [static, inherited] |
Definition at line 79 of file vsol_spatial_object_2d.h.
int vsol_flags_id::id_ [protected, inherited] |
Definition at line 39 of file vsol_flags_id.h.
vgl_point_2d<double> vsol_point_2d::p_ [private] |
Coordinates of the point.
Definition at line 45 of file vsol_point_2d.h.
const char * vsol_spatial_object_2d::SpatialTypes [static, inherited] |
{
"NO_TYPE ",
"TOPOLOGYOBJECT ",
"POINT ",
"CURVE ",
"REGION ",
"SPATIALGROUP ",
"NUM_SPATIALOBJECT_TYPES"
}
Definition at line 78 of file vsol_spatial_object_2d.h.
unsigned int vsol_flags_id::tag_ [protected, inherited] |
Definition at line 38 of file vsol_flags_id.h.
int vsol_flags_id::tagcount_ = 0 [static, protected, inherited] |
Definition at line 40 of file vsol_flags_id.h.
1.7.5.1