Inherits DD::Image::Primitive.
Inherited by DD::Image::Mesh, DD::Image::Polygon, DD::Image::PolyMesh, and DD::Image::Triangle.
Public Member Functions | |
PolygonPrimitive (unsigned vertices=0) | |
virtual void | tessellate (Scene *, PrimitiveContext *) const |
virtual void | tessellateFace (int faceIndex, Scene *scene, PrimitiveContext *ptx, VertexContext *vtx) const |
Public Member Functions inherited from DD::Image::Primitive | |
virtual void | vertex_shader (int v, Scene *, PrimitiveContext *, VArray &out, const Vector3 *normal=nullptr) const |
virtual void | vertex_shader (int v, Scene *, PrimitiveContext *, VertexContext &, VArray &out, const Vector3 *normal=nullptr) const |
Primitive (unsigned vertices=0) | |
Primitive (const Primitive &) | |
virtual | ~Primitive () |
virtual const char * | Class () const =0 |
virtual Primitive * | duplicate () const =0 |
void | getDataArray (int n, ViewerContext *ctx, PrimitiveContext *ptx, std::vector< Vector3 > &pntArray, std::vector< Vector3 > &normalArray, std::vector< Vector4 > &uvOrColArray, bool &validUV) const |
const unsigned & | vertex (unsigned v) const |
unsigned & | vertex (unsigned v) |
unsigned | vertices () const |
void | offset_point_indices (int offset) |
unsigned | vertex_offset () const |
void | build_index_array (unsigned *indices, unsigned primitive, unsigned vertex) const |
unsigned | add_vertex (unsigned point_index) |
unsigned | add_vertices (unsigned num) |
virtual Vector3 | average_center (const PointList *) const |
Returns the xyz center average of the primitive. More... | |
virtual Vector3 | average_center_and_bounds (int f, const PointList *points, Vector3 &min, Vector3 &max) const |
virtual unsigned | faces () const =0 |
virtual Vector3 | face_average_center (int n, const PointList *points) const |
virtual unsigned | face_vertices (int n) const |
virtual void | get_face_vertices (int n, unsigned *array) const |
virtual Box3 | get_bbox (const GeoInfo *info) const |
virtual Vector3 | get_face_normal (int n, const PointList *points) const |
virtual Vector3 | get_geometric_normal (int v, const PointList *points) const |
virtual int | get_vertex_faces (int v, std::vector< int > &faces) const |
virtual bool | IntersectsRay (const Ray &ray, int n, const PointList *pointList, CollisionResult *result) const |
virtual void | validate (PrimitiveContext *) |
virtual bool | faceUsesVertex (unsigned int faceIdx, unsigned int vertIdx) const |
Iop * | material () const |
Iop * | renderingShader (const GeoInfo *info) const |
const Vector3 & | normal () const |
virtual Vector3 | vertex_normal (unsigned v, const PointList *) const |
virtual void | draw_wireframe (ViewerContext *, PrimitiveContext *, Primitive *prev_prim=nullptr) const =0 |
virtual void | draw_solid (ViewerContext *, PrimitiveContext *, Primitive *prev_prim=nullptr) const =0 |
virtual void | draw_solid_face (int n, ViewerContext *, PrimitiveContext *) const |
virtual void | draw_primitive_normal (ViewerContext *, PrimitiveContext *) const |
virtual void | draw_primitive_num (ViewerContext *, PrimitiveContext *) const |
virtual void | draw_vertex_num (ViewerContext *, PrimitiveContext *) const |
virtual void | draw_vertex_normals (ViewerContext *, PrimitiveContext *) const |
virtual void | draw_vertex_uvs (ViewerContext *, PrimitiveContext *) const |
virtual void | print_info () const |
virtual PrimitiveType | getPrimitiveType () const |
void * | operator new (size_t size) |
void | operator delete (void *mem) |
void * | operator new[] (size_t size) |
void | operator delete[] (void *mem) |
Additional Inherited Members | |
Static Public Member Functions inherited from DD::Image::Primitive | |
static void | draw_normal (const Vector3 &p, const Vector3 &n, ViewerContext *, PrimitiveContext *) |
Protected Member Functions inherited from DD::Image::Primitive | |
void | draw_wireframe_vertex (int v, ViewerContext *, PrimitiveContext *) const |
void | draw_solid_vertex (int v, ViewerContext *, PrimitiveContext *) const |
void | copy (const Primitive *) |
bool | PolyIntersectsRay (const Ray &ray, int n, const PointList *pointList, CollisionResult *result) const |
Protected Attributes inherited from DD::Image::Primitive | |
std::vector< unsigned, STL3DAllocator< unsigned > > | vertex_ |
Point indices. | |
unsigned | vertex_offset_ |
Vertex attribute starting index. | |
Vector3 | normal_ |
Normal determined from vertex positions. | |
Iop * | material_ |
Material assignment. | |
Base class for a polygon-based primitive with generic tessellation functions to turn the primitive into renderable primitives. All polygon-based primitives tessellate to DD::Image::rTriangles.
©2021 The Foundry Visionmongers, Ltd. All Rights Reserved. |