YafaRay Core  v3.2.0-ALPHA-10-g60452c5
Public Member Functions | Friends | List of all members
triangle_t Class Reference

#include <triangle.h>

Inheritance diagram for triangle_t:
Inheritance graph
[legend]

Public Member Functions

 triangle_t ()
 
 triangle_t (int ia, int ib, int ic, triangleObject_t *m)
 
virtual bool intersect (const ray_t &ray, float *t, intersectData_t &data) const
 
virtual bound_t getBound () const
 
virtual bool intersectsBound (exBound_t &eb) const
 
virtual bool clippingSupport () const
 
virtual bool clipToBound (double bound[2][3], int axis, bound_t &clipped, void *d_old, void *d_new) const
 
virtual const material_tgetMaterial () const
 
virtual void getSurface (surfacePoint_t &sp, const point3d_t &hit, intersectData_t &data) const
 
virtual float surfaceArea () const
 
virtual void sample (float s1, float s2, point3d_t &p, vector3d_t &n) const
 
virtual vector3d_t getNormal () const
 
void setVertexIndices (int a, int b, int c)
 
void setMaterial (const material_t *m)
 
void setNormals (int a, int b, int c)
 
virtual void recNormal ()
 
size_t getIndex () const
 
bool operator== (triangle_t const &a) const
 
virtual const triangleObject_tgetMesh () const
 
virtual void updateIntersectionCachedValues ()
 

Friends

class scene_t
 
class triangleObject_t
 
class triangleInstance_t
 
std::ostream & operator<< (std::ostream &out, const triangle_t &t)
 

Detailed Description

non-inherited triangle, so no virtual functions to allow inlining othwise totally identically to vTriangle_t (when it actually ever makes it into release)

Definition at line 27 of file triangle.h.

Constructor & Destructor Documentation

triangle_t::triangle_t ( )
inline

Definition at line 34 of file triangle.h.

triangle_t::triangle_t ( int  ia,
int  ib,
int  ic,
triangleObject_t m 
)
inline

Definition at line 35 of file triangle.h.

Member Function Documentation

virtual bool triangle_t::clippingSupport ( ) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 39 of file triangle.h.

bool triangle_t::clipToBound ( double  bound[2][3],
int  axis,
bound_t clipped,
void *  d_old,
void *  d_new 
) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 118 of file triangle.cc.

bound_t triangle_t::getBound ( ) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 74 of file triangle_inline.h.

size_t triangle_t::getIndex ( ) const
inline

Definition at line 52 of file triangle.h.

virtual const material_t* triangle_t::getMaterial ( ) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 42 of file triangle.h.

virtual const triangleObject_t* triangle_t::getMesh ( ) const
inlinevirtual

Definition at line 62 of file triangle.h.

virtual vector3d_t triangle_t::getNormal ( ) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 47 of file triangle.h.

void triangle_t::getSurface ( surfacePoint_t sp,
const point3d_t hit,
intersectData_t data 
) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 13 of file triangle.cc.

bool triangle_t::intersect ( const ray_t ray,
float *  t,
intersectData_t data 
) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 36 of file triangle_inline.h.

bool triangle_t::intersectsBound ( exBound_t eb) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 90 of file triangle_inline.h.

bool triangle_t::operator== ( triangle_t const &  a) const
inline

Definition at line 53 of file triangle.h.

void triangle_t::recNormal ( )
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 108 of file triangle_inline.h.

void triangle_t::sample ( float  s1,
float  s2,
point3d_t p,
vector3d_t n 
) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 164 of file triangle.cc.

void triangle_t::setMaterial ( const material_t m)
inline

Definition at line 49 of file triangle.h.

void triangle_t::setNormals ( int  a,
int  b,
int  c 
)
inline

Definition at line 50 of file triangle.h.

void triangle_t::setVertexIndices ( int  a,
int  b,
int  c 
)
inline

Definition at line 48 of file triangle.h.

float triangle_t::surfaceArea ( ) const
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 152 of file triangle.cc.

void triangle_t::updateIntersectionCachedValues ( )
inlinevirtual

Reimplemented in triangleInstance_t.

Definition at line 10 of file triangle_inline.h.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const triangle_t t 
)
friend

Definition at line 57 of file triangle.h.

friend class scene_t
friend

Definition at line 29 of file triangle.h.

friend class triangleInstance_t
friend

Definition at line 31 of file triangle.h.

friend class triangleObject_t
friend

Definition at line 30 of file triangle.h.


The documentation for this class was generated from the following files: