38 # include <vcl_msvc_warnings.h> 121 inline T
a()
const {
return a_; }
124 inline T
b()
const {
return b_; }
127 inline T
c()
const {
return c_; }
130 inline T
d()
const {
return d_; }
133 inline T
e()
const {
return e_; }
136 inline T
f()
const {
return f_; }
142 #if 0 // The compiler defaults for these are all right 211 std::list<vgl_homg_line_2d<T> >
components()
const;
255 double& minor_axis_length,
double& angle_in_radians)
const;
289 #define VGL_CONIC_INSTANTIATE(T) extern "please include vgl/vgl_conic.hxx first" 291 #endif // vgl_conic_h_ vgl_conic_type type() const
Represents a homogeneous 2D line.
double curvature_at(vgl_point_2d< T > const &p) const
Returns the curvature of the conic at point p, assuming p is on the conic.
void translate_by(T x, T y)
Modify this conic by translating it over distance x in the X direction and distance y in the Y direct...
vgl_conic tangential_form() const
Returns the dual or tangential representation of this conic.
bool contains(vgl_homg_point_2d< T > const &pt) const
Returns true if the point pt belongs to the conic.
T f() const
Returns the coefficient of .
vgl_homg_line_2d< T > tangent_at(vgl_homg_point_2d< T > const &p) const
Returns the tangent to the conic in the point p, if p is on the conic.
std::ostream & operator<<(std::ostream &s, vgl_orient_box_3d< Type > const &p)
Write box to stream.
line in projective 2D space
void set_type_from_equation()
set conic type from polynomial coefficients and store in member type_.
T a() const
Returns the coefficient of .
T c() const
Returns the coefficient of .
vgl_homg_point_2d< T > centre() const
Returns the centre of the conic, or its point at infinity if a parabola.
static std::string type_by_number(vgl_conic_type type)
Converts the conic type from enum (internal representation) to string.
std::string real_type() const
Returns the type of the conic as a string.
bool is_central() const
Returns true if a central conic, i.e., an ellipse, circle, or hyperbola.
T e() const
Returns the coefficient of .
vgl_conic dual_conic() const
Returns the dual or tangential representation of this conic.
point in projective 2D space
static vgl_conic_type type_by_name(std::string const &name)
Returns the internal enum value corresponding to the string argument.
T b() const
Returns the coefficient of .
bool ellipse_geometry(double &xc, double &yc, double &major_axis_length, double &minor_axis_length, double &angle_in_radians) const
Converts the coefficients to a geometric description of an ellipse.
vgl_homg_point_2d< T > polar_point(vgl_homg_line_2d< T > const &l) const
Returns the polar point of the given line, w.r.t. this conic.
std::istream & operator>>(std::istream &is, vgl_orient_box_3d< Type > &p)
Read box from stream.
T d() const
Returns the coefficient of .
vgl_homg_line_2d< T > polar_line(vgl_homg_point_2d< T > const &p) const
Returns the polar line of the given point, w.r.t. this conic.
void set(T a, T b, T c, T d, T e, T f)
set or reset the conic using polynomial coefficients.
std::list< vgl_homg_line_2d< T > > components() const
Returns the list of component lines, when degenerate and real components.
bool operator==(vgl_conic< T > const &c) const
comparison operator.
Represents a homogeneous 2D point.
bool is_degenerate() const
Returns true if this conic is degenerate, i.e., if it consists of 2 lines.