Public Member Functions | |
const char * | Class () const |
Polygon (unsigned vertices, bool closed) | |
Polygon (int p0, int p1, bool closed) | |
Polygon (int p0, int p1, int p2, bool closed) | |
Polygon (int p0, int p1, int p2, int p3, bool closed) | |
Polygon (const Polygon &) | |
Polygon & | operator= (const Polygon &b) |
Primitive * | duplicate () const |
bool | closed () const |
void | closed (bool v) |
bool | IntersectsRay (const Ray &ray, int n, const PointList *pointList, CollisionResult *result) const |
void | validate (PrimitiveContext *) |
void | tessellate (Scene *, PrimitiveContext *) const |
unsigned | faces () const |
void | draw_wireframe (ViewerContext *, PrimitiveContext *, Primitive *prev_prim=0) const |
void | draw_solid (ViewerContext *, PrimitiveContext *, Primitive *prev_prim=0) const |
void | draw_solid_face (int n, ViewerContext *, PrimitiveContext *) const |
void | draw_primitive_num (ViewerContext *, PrimitiveContext *) const |
void | draw_primitive_normal (ViewerContext *, PrimitiveContext *) const |
void | print_info () const |
PrimitiveType | getPrimitiveType () const |
Protected Member Functions | |
void | copy (const Polygon *) |
Protected Attributes | |
bool | closed_ |
void Polygon::copy | ( | const Polygon * | b | ) | [protected] |
Destructive copy.
References closed_, and DD::Image::Primitive::normal_.
Primitive * Polygon::duplicate | ( | ) | const [virtual] |
Copy this Polygon into a new one, and return a pointer to it. Vertex data is duplicated, point indices are unchanged.
Implements DD::Image::Primitive.
bool DD::Image::Polygon::closed | ( | ) | const [inline] |
Indicated whether the polygon is open or closed. If closed, the edge between the first and last vertex is added.
bool DD::Image::Polygon::IntersectsRay | ( | const Ray & | ray, | |
int | n, | |||
const PointList * | pointList, | |||
CollisionResult * | result | |||
) | const [inline, virtual] |
Test for the intersection of this primitive with a given ray .
Reimplemented from DD::Image::Primitive.
References DD::Image::Primitive::PolyIntersectsRay().
void Polygon::tessellate | ( | Scene * | scene, | |
PrimitiveContext * | ptx | |||
) | const [virtual] |
Subdivide the polygon into triangles and add them to the rendering pipeline.
Implements DD::Image::Primitive.
References DD::Image::Scene::add_render_primitive(), DD::Image::PrimitiveContext::geoinfo(), DD::Image::GeoInfo::point_list(), DD::Image::rTriangle::v, and DD::Image::Primitive::vertex_shader().
void Polygon::draw_solid_face | ( | int | n, | |
ViewerContext * | ctx, | |||
PrimitiveContext * | ptx | |||
) | const [virtual] |
Draw the single face as a filled polygon.
Reimplemented from DD::Image::Primitive.
References DD::Image::PrimitiveContext::geoinfo(), DD::Image::GeoInfo::point_array(), and DD::Image::GeoInfo::point_list().
©2009 The Foundry Visionmongers, Ltd. All Rights Reserved. |