15 #ifndef EGGMESHEREDGE_H 16 #define EGGMESHEREDGE_H 18 #include "pandabase.h" 19 #include "eggVertexPool.h" 20 #include "eggVertex.h" 42 INLINE
bool matches(
const EggMesherEdge &other)
const;
46 INLINE
bool operator == (
const EggMesherEdge &other)
const;
47 INLINE
bool operator != (
const EggMesherEdge &other)
const;
48 INLINE
bool operator < (
const EggMesherEdge &other)
const;
53 void output(ostream &out)
const;
59 EggMesherEdge *_opposite;
68 #include "eggMesherEdge.I" EggMesherEdge(int vi_a, int vi_b)
Defines an edge as a pair of vertices.
LVecBase3d compute_box(const EggVertexPool *vertex_pool) const
Returns a 3-component vector that represents the lengths of the sides of the smalled axis-aligned box...
bool matches(const EggMesherEdge &other) const
Returns true if this edge represents the same line segment as the other edge, in either direction...
bool contains_vertex(int vi) const
Returns true if the edge contains the indicated vertex index, false otherwise.
bool operator<(const EggMesherEdge &other) const
Defines an arbitrary ordering for edges, used for putting edges in a sorted container.
void output(ostream &out) const
Formats the edge for output in some sensible way.
EggMesherEdge * common_ptr()
Returns an arbitrary pointer that is used to represent both this edge and its opposite.
This is the base class for all three-component vectors and points.
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.
double compute_length(const EggVertexPool *vertex_pool) const
Returns the length of the edge in model units.
void change_strip(EggMesherStrip *from, EggMesherStrip *to)
Reparents the edge from strip "from" to strip "to".
A collection of vertices.