Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

EggPolygon Class Reference

#include <eggPolygon.h>

Inheritance diagram for EggPolygon:

EggPrimitive EggNode EggAttributes EggRenderMode EggNamedObject EggObject Namable TypedReferenceCount TypedObject ReferenceCount List of all members.

Public Member Functions

INLINE EggPolygon (const string &name="")
INLINE EggPolygon (const EggPolygon &copy)
INLINE EggPolygon & operator= (const EggPolygon &copy)
virtual bool cleanup ()
bool calculate_normal (Normald &result, CoordinateSystem cs=CS_default) const
INLINE bool recompute_polygon_normal (CoordinateSystem cs=CS_default)
INLINE bool triangulate_into (EggGroupNode *container, bool convex_also) const
 PT (EggPolygon) triangulate_in_place(bool convex_also)
virtual void write (ostream &out, int indent_level) const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Private Member Functions

bool decomp_concave (EggGroupNode *container, int asum, int x, int y) const
bool triangulate_poly (EggGroupNode *container, bool convex_also)

Static Private Attributes

TypeHandle _type_handle

Constructor & Destructor Documentation

INLINE EggPolygon::EggPolygon const string &  name = ""  ) 
 

Referenced by decomp_concave(), and triangulate_poly().

INLINE EggPolygon::EggPolygon const EggPolygon &  copy  ) 
 


Member Function Documentation

bool EggPolygon::calculate_normal Normald result,
CoordinateSystem  cs = CS_default
const
 

Definition at line 60 of file eggPolygon.cxx.

References a, b, EggPrimitive::begin(), EggPrimitive::const_iterator, cs, CS_default, CS_yup_left, CS_zup_left, default_coordinate_system, EggPrimitive::end(), EggVertex::get_pos3(), v, and Vertexd.

Referenced by cleanup(), and EggGroupNode::r_collect_vertex_normals().

bool EggPolygon::cleanup  )  [virtual]
 

Reimplemented from EggPrimitive.

Definition at line 39 of file eggPolygon.cxx.

References calculate_normal(), Normald, and EggPrimitive::remove_doubled_verts().

Referenced by EggLoader::create_collision_plane(), and triangulate_poly().

bool EggPolygon::decomp_concave EggGroupNode container,
int  asum,
int  x,
int  y
const [private]
 

Definition at line 159 of file eggPolygon.cxx.

References a, b, c, EggPolygon(), EggVertex::get_pos3(), EggPrimitive::get_vertex(), index, PT(), s, EggPrimitive::size(), x, and y.

Referenced by triangulate_poly().

virtual TypeHandle EggPolygon::force_init_type void   )  [inline, virtual]
 

Reimplemented from EggPrimitive.

Definition at line 63 of file eggPolygon.h.

References EggPrimitive::get_class_type(), and EggPrimitive::init_type().

TypeHandle EggPolygon::get_class_type void   )  [inline, static]
 

Reimplemented from EggPrimitive.

Definition at line 52 of file eggPolygon.h.

Referenced by EggLoader::find_collision_geometry(), EggPolysetMaker::get_bin_number(), EggLoader::make_collision_plane(), EggLoader::make_collision_polygon(), EggLoader::make_collision_polyset(), EggGroupNode::r_collect_vertex_normals(), EggGroupNode::recompute_polygon_normals(), and EggGroupNode::triangulate_polygons().

virtual TypeHandle EggPolygon::get_type void   )  const [inline, virtual]
 

Reimplemented from EggPrimitive.

Definition at line 60 of file eggPolygon.h.

References EggPrimitive::get_class_type().

void EggPolygon::init_type void   )  [inline, static]
 

Reimplemented from EggPrimitive.

Definition at line 55 of file eggPolygon.h.

References EggPrimitive::get_class_type(), EggPrimitive::init_type(), and register_type().

Referenced by init_libegg().

INLINE EggPolygon& EggPolygon::operator= const EggPolygon &  copy  ) 
 

EggPolygon::PT EggPolygon   ) 
 

Referenced by decomp_concave(), and triangulate_poly().

INLINE bool EggPolygon::recompute_polygon_normal CoordinateSystem  cs = CS_default  ) 
 

Referenced by EggGroupNode::recompute_polygon_normals().

INLINE bool EggPolygon::triangulate_into EggGroupNode container,
bool  convex_also
const
 

Referenced by EggLoader::create_collision_polygons().

bool EggPolygon::triangulate_poly EggGroupNode container,
bool  convex_also
[private]
 

Definition at line 337 of file eggPolygon.cxx.

References cleanup(), decomp_concave(), EggPolygon(), EggVertex::get_pos3(), EggPrimitive::get_vertex(), index, PT(), EggPrimitive::size(), v, x, and y.

void EggPolygon::write ostream &  out,
int  indent_level
const [virtual]
 

Reimplemented from EggAttributes.

Definition at line 145 of file eggPolygon.cxx.

References indent(), EggPrimitive::write_body(), and EggNamedObject::write_header().


Member Data Documentation

TypeHandle EggPolygon::_type_handle [static, private]
 

Reimplemented from EggPrimitive.

Definition at line 26 of file eggPolygon.cxx.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:12:09 2003 for Panda by doxygen1.3