#include <HomgPoint2D.h>
Public Member Functions | |
HomgPoint2D () | |
HomgPoint2D (const HomgPoint2D &that) | |
HomgPoint2D (double px, double py, double pw=1.0) | |
HomgPoint2D (const vnl_double_3 &vector_ptr) | |
HomgPoint2D & | operator= (const HomgPoint2D &that) |
bool | ideal (double tol=1e-12) const |
Return true iff the point is the point at infinity. | |
bool | get_nonhomogeneous (double &px, double &py) const |
Return the non-homogeneous coordinates of the point. | |
vnl_double_2 | get_double2 () const |
returns a non-homogeneous vnl_vector of length 2. | |
vnl_double_2 | get_nonhomogeneous () const |
bool | rescale_w (double new_w=1.0) |
Rescale point (defaults to w = 1). | |
HomgPoint2D | get_unitized () const |
returns a unit-norm scaled copy of this. | |
vnl_double_3 | get_vector () const |
vnl_double_3 & | asVector () |
void | get (double *x_ptr, double *y_ptr, double *w_ptr) const |
Retrieve components. Do not attempt to write into null pointers. | |
double | x () const |
Return x. | |
double & | x () |
Return reference to x. | |
double | y () const |
Return y. | |
double & | y () |
Return reference to y. | |
double | w () const |
Return w. | |
double & | w () |
Return reference to w. | |
void | set (double px, double py, double pw) |
Set x,y,w. | |
void | set (const vnl_vector_fixed< double, 3 > &v) |
Set from vector. | |
void | set (const vnl_vector< double > &v) |
Set from vector. | |
void | set (unsigned int index, double v) |
Set element. | |
Static Public Member Functions | |
static HomgPoint2D | read (vcl_istream &, bool is_homogeneous=false) |
read from vcl_istream. Default is to assume that points are nonhomogeneous. | |
static void | set_infinitesimal_tol (double tol) |
Static method to set the default tolerance used for infinitesimal checks. | |
Static Public Attributes | |
static double | infinity = 1.7976931348623157E+308 |
Standard placeholder for methods that wish to return infinity. | |
static double | infinitesimal_tol = 1e-12 |
The tolerance used in "near zero" tests in the Homg subclasses. |
Definition at line 24 of file HomgPoint2D.h.
HomgPoint2D::HomgPoint2D | ( | ) | [inline] |
Definition at line 29 of file HomgPoint2D.h.
HomgPoint2D::HomgPoint2D | ( | const HomgPoint2D & | that | ) | [inline] |
Definition at line 30 of file HomgPoint2D.h.
HomgPoint2D::HomgPoint2D | ( | double | px, |
double | py, | ||
double | pw = 1.0 |
||
) | [inline] |
Definition at line 31 of file HomgPoint2D.h.
HomgPoint2D::HomgPoint2D | ( | const vnl_double_3 & | vector_ptr | ) | [inline] |
Definition at line 32 of file HomgPoint2D.h.
void Homg2D::get | ( | double * | x_ptr, |
double * | y_ptr, | ||
double * | w_ptr | ||
) | const [inline, inherited] |
vnl_double_2 HomgPoint2D::get_double2 | ( | ) | const |
returns a non-homogeneous vnl_vector of length 2.
Definition at line 38 of file HomgPoint2D.cxx.
bool HomgPoint2D::get_nonhomogeneous | ( | double & | ex, |
double & | ey | ||
) | const |
Return the non-homogeneous coordinates of the point.
If the point is at infinity, return false.
Definition at line 18 of file HomgPoint2D.cxx.
vnl_double_2 HomgPoint2D::get_nonhomogeneous | ( | ) | const [inline] |
Definition at line 54 of file HomgPoint2D.h.
HomgPoint2D HomgPoint2D::get_unitized | ( | ) | const |
returns a unit-norm scaled copy of this.
Definition at line 71 of file HomgPoint2D.cxx.
vnl_double_3 Homg2D::get_vector | ( | ) | const [inline, inherited] |
bool HomgPoint2D::ideal | ( | double | tol = 1e-12 | ) | const [inline] |
Return true iff the point is the point at infinity.
If tol == 0, w() must be exactly 0. Otherwise, tol is used as tolerance value (default: 1e-12), and is checked.
Definition at line 46 of file HomgPoint2D.h.
HomgPoint2D& HomgPoint2D::operator= | ( | const HomgPoint2D & | that | ) | [inline] |
Definition at line 34 of file HomgPoint2D.h.
HomgPoint2D HomgPoint2D::read | ( | vcl_istream & | is, |
bool | is_homogeneous = false |
||
) | [static] |
read from vcl_istream. Default is to assume that points are nonhomogeneous.
2D, set is_homogeneous to true if points are already in homogeneous form.
Definition at line 108 of file HomgPoint2D.cxx.
bool HomgPoint2D::rescale_w | ( | double | new_w = 1.0 | ) |
Rescale point (defaults to w = 1).
If the point is at infinity, return false
Definition at line 50 of file HomgPoint2D.cxx.
void Homg2D::set | ( | double | px, |
double | py, | ||
double | pw | ||
) | [inline, inherited] |
void Homg2D::set | ( | const vnl_vector_fixed< double, 3 > & | v | ) | [inline, inherited] |
void Homg2D::set | ( | const vnl_vector< double > & | v | ) | [inline, inherited] |
void Homg2D::set | ( | unsigned int | index, |
double | v | ||
) | [inline, inherited] |
static void Homg::set_infinitesimal_tol | ( | double | tol | ) | [static, inherited] |
Static method to set the default tolerance used for infinitesimal checks.
The default is 1e-12.
double& Homg2D::w | ( | ) | [inline, inherited] |
double& Homg2D::x | ( | ) | [inline, inherited] |
double& Homg2D::y | ( | ) | [inline, inherited] |
double Homg::infinitesimal_tol = 1e-12 [static, inherited] |
double Homg::infinity = 1.7976931348623157E+308 [static, inherited] |