17 INLINE EggMesherStrip::
24 _status(copy._status),
25 _planar(copy._planar),
26 _plane_normal(copy._plane_normal),
27 _plane_offset(copy._plane_offset),
28 _row_id(copy._row_id),
29 _flat_shaded(copy._flat_shaded)
50 if (_planar && other._planar) {
51 return 1.0 - dot(_plane_normal, other._plane_normal);
84 _verts.push_back(_verts.front());
93 _verts.push_front(_verts.back());
105 Verts::const_iterator vi = _verts.begin();
118 Verts::const_reverse_iterator vi = _verts.rbegin();
130 return this == &other;
136 INLINE
bool EggMesherStrip::
void rotate_forward()
Rotates a triangle or quad by bringing its first vertex to the back.
bool is_coplanar_with(const EggMesherStrip &other, PN_stdfloat threshold) const
Returns true if the strip and the other strip are coplanar, within the indicated threshold.
PN_stdfloat coplanarity(const EggMesherStrip &other) const
Returns the degree to which the two strips are coplanar.
bool operator==(const EggMesherStrip &other) const
Defines equality for strips.
EggMesherEdge get_head_edge() const
Returns an EggMesherEdge which represents the leading edge in the quadstrip or tristrip.
void rotate_back()
Rotates a triangle or quad by bringing its last vertex to the front.
EggMesherEdge get_tail_edge() const
Returns an EggMesherEdge which represents the trailing edge in the quadstrip or tristrip.
Represents one edge of a triangle, as used by the EggMesher to discover connected triangles.
Represents a triangle strip or quad strip in progress, as assembled by the mesher.
int type_category() const
Returns an integer which gives a heuristic about the similarity of different strip types.