67 for (
unsigned i=0;i<3;++i)
68 vertices_[i] = pts[i];
93 const Vertex&
operator()(
const unsigned& vindex)
const {
return *vertices_[vindex%3]; }
95 bool operator==(
const Triangle& T)
const {
return (T[0]==vertices_[0])&(T[1]==vertices_[1])&(T[2]==vertices_[2]); }
97 Vertex&
vertex(
const unsigned& vindex) {
return operator()(vindex); }
98 const Vertex&
vertex(
const unsigned& vindex)
const {
return operator()(vindex); }
120 double&
area() {
return area_; }
121 const double&
area()
const {
return area_; }
124 const unsigned&
index()
const {
return ind; }
129 if ( &V == vertices_[0]) {
130 return *vertices_[2];
131 }
else if ( &V == vertices_[1] ) {
132 return *vertices_[0];
133 }
else if ( &V == vertices_[2] ) {
134 return *vertices_[1];
141 if ( &V == vertices_[0]) {
142 return *vertices_[1];
143 }
else if ( &V == vertices_[1] ) {
144 return *vertices_[2];
145 }
else if ( &V == vertices_[2] ) {
146 return *vertices_[0];
154 return (*vertices_[0]+*vertices_[1]+*vertices_[2])/3;
158 for (
unsigned i=0;i<3;++i)
166 void flip() { std::swap(vertices_[0],vertices_[1]); }
const Vertex & vertex(const unsigned &vindex) const
std::vector< Triangle > Triangles
Triangle(Vertex *pts[3], const unsigned index=-1)
Create a new triangle from a set of vertices.
const Vertex * operator[](const unsigned &vindex) const
const Vertex & prev(const Vertex &V) const
void flip()
flip two of the three vertex address
bool contains(const Vertex &p) const
const Vertex ** const_iterator
const Vertex & s2() const
const_iterator begin() const
Iterators.
const_iterator end() const
unsigned ind
Index of the triangle.
const unsigned & index() const
const Vertex & operator()(const unsigned &vindex) const
Vertex & vertex(const unsigned &vindex)
Triangle(Vertex &p1, Vertex &p2, Vertex &p3, const unsigned index=-1)
Create a new triangle from a 3 vertices.
Vertex * operator[](const unsigned &vindex)
Operators.
const double & area() const
Triangle(Vertex *p1, Vertex *p2, Vertex *p3, const unsigned index=-1)
Create a new triangle from a 3 vertex adresses.
Vertex & operator()(const unsigned &vindex)
const Vertex & s1() const
const Vertex & s3() const
const Vertex & next(const Vertex &V) const
bool operator==(const Triangle &T) const
const Normal & normal() const