29 #include <wfmath/const.h>
30 #include <wfmath/point.h>
46 Line() : m_points() {}
50 explicit Line(
const AtlasInType& a);
70 bool isValid()
const {
return m_points.size() > 1;}
87 bool addCorner(
size_t i,
const Point<dim>& p,
CoordType = numeric_constants<CoordType>::epsilon())
88 {m_points.insert(m_points.begin() + i, p);
return true;}
91 void removeCorner(
size_t i) {m_points.erase(m_points.begin() + i);}
93 bool moveCorner(
size_t i,
95 CoordType = numeric_constants<CoordType>::epsilon())
96 {m_points[i] = p;
return true;}
101 Line&
shift(
const Vector<dim>& v);
136 Ball<dim> boundingSphere()
const {
return BoundingSphere(m_points);}
140 std::vector<Point<dim> > m_points;
141 typedef typename std::vector<Point<dim> >::iterator iterator;
142 typedef typename std::vector<Point<dim> >::const_iterator const_iterator;
143 typedef typename std::vector<Point<dim> >::size_type size_type;
147 inline Line<dim>& Line<dim>::operator=(
const Line& rhs)
149 m_points = rhs.m_points;
156 #endif // WFMATH_LINE_H