16 #ifndef _SHAPE_QUADRIC_H_
17 #define _SHAPE_QUADRIC_H_
23 #include <vnl/vnl_double_3.h>
24 #include <vnl/vnl_double_3x3.h>
25 #include <vnl/algo/vnl_symmetric_eigensystem.h>
32 virtual const std::string
classname()
const {
return "a_shape_quadric";}
33 static const std::string
help();
34 virtual void p9pts(
const a_point *
pt);
35 void p9pts(
const a_point & p1,
const a_point & p2,
const a_point & p3,
36 const a_point & p4,
const a_point & p5,
const a_point & p6,
37 const a_point & p7,
const a_point & p8,
const a_point & p9);
46 void fit_cloud(std::vector<a_point>& pts,
short nl = 1);
48 void export_points(
const unsigned int nseg,
const std::vector<a_point>& pts)
const;
49 void export_triangles(
const unsigned int nseg,
const std::vector<a_point>& pts)
const;
51 vnl_double_3x3
A()
const;
53 vnl_double_3
b()
const;
63 vnl_matrix<double>
R_;
a_point principals() const
void export_triangles(const unsigned int nseg, const std::vector< a_point > &pts) const
void fit_cloud(std::vector< a_point > &pts, short nl=1)
void random_hint(const std::vector< a_point > &pts)
static const std::string help()
virtual double dist_point(a_point p) const
virtual const std::string classname() const
virtual a_point closest_point(const a_point p) const
virtual void export_matrices() const
void export_points(const unsigned int nseg, const std::vector< a_point > &pts) const
virtual void p9pts(const a_point *pt)