14#ifndef EGGMESHERFANMAKER_H
15#define EGGMESHERFANMAKER_H
34class EXPCL_PANDA_EGG EggMesherFanMaker {
41 EggMesherFanMaker(
const EggMesherFanMaker ©);
42 void operator = (
const EggMesherFanMaker ©);
44 INLINE
bool operator < (
const EggMesherFanMaker &other)
const;
45 INLINE
bool operator != (
const EggMesherFanMaker &other)
const;
46 INLINE
bool operator == (
const EggMesherFanMaker &other)
const;
52 bool join(EggMesherFanMaker &other);
56 int unroll(Strips::iterator strip_begin, Strips::iterator strip_end,
57 Edges::iterator edge_begin, Edges::iterator edge_end,
60 void output(std::ostream &out)
const;
A base class for nodes in the hierarchy that are not leaf nodes.
This class is used by EggMesher::find_fans() to attempt to make an EggTriangleFan out of the polygons...
double compute_angle() const
Returns the overall angle subtended by the fan, from the leading edge to the trailing edge,...
bool join(EggMesherFanMaker &other)
Attempts to connect two fans end-to-end.
int unroll(Strips::iterator strip_begin, Strips::iterator strip_end, Edges::iterator edge_begin, Edges::iterator edge_end, EggGroupNode *unrolled_tris)
Unrolls a planar subset of the current working fan, defined by the given iterators,...
int build(EggGroupNode *unrolled_tris)
Begins the fanning process.
bool is_coplanar_with(const EggMesherFanMaker &other) const
Returns true if the strip and the other strip are coplanar.
bool is_empty() const
Returns true if the fan maker has no edges, false otherwise.
bool is_valid() const
Returns true if the fan maker has enough edges to define at least one fan, false otherwise.
Represents a triangle strip or quad strip in progress, as assembled by the mesher.
Collects together unrelated EggPrimitives, determines their edge connectivity, and generates a set of...
This is our own Panda specialization on the default STL list.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.