26 INLINE
explicit EggPolygon(
const std::string &name =
"");
30 virtual EggPolygon *make_copy()
const override;
32 virtual bool cleanup()
override;
34 bool calculate_normal(LNormald &result, CoordinateSystem cs = CS_default)
const;
35 bool is_planar()
const;
37 INLINE
bool recompute_polygon_normal(CoordinateSystem cs = CS_default);
39 INLINE
bool triangulate_into(
EggGroupNode *container,
bool convex_also)
const;
40 PT(
EggPolygon) triangulate_in_place(
bool convex_also);
42 virtual void write(std::ostream &out,
int indent_level)
const override;
45 bool decomp_concave(
EggGroupNode *container,
int asum,
int x,
int y)
const;
46 bool triangulate_poly(
EggGroupNode *container,
bool convex_also);
53 static void init_type() {
54 EggPrimitive::init_type();
56 EggPrimitive::get_class_type());
59 return get_class_type();
61 virtual TypeHandle force_init_type()
override {
63 return get_class_type();
A base class for any of a number of kinds of geometry primitives: polygons, point lights,...
virtual bool cleanup()
Cleans up modeling errors in whatever context this makes sense.
A base class for nodes in the hierarchy that are not leaf nodes.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.