#include <OPC_IceHook.h>
Definition at line 24 of file OPC_IceHook.h.
inline_ IceMaths::IndexedTriangle::IndexedTriangle | ( | ) | [inline] |
Constructor.
Definition at line 28 of file OPC_IceHook.h.
inline_ IceMaths::IndexedTriangle::IndexedTriangle | ( | udword | r0, |
udword | r1, | ||
udword | r2 | ||
) | [inline] |
Constructor.
Definition at line 30 of file OPC_IceHook.h.
inline_ IceMaths::IndexedTriangle::IndexedTriangle | ( | const IndexedTriangle & | triangle | ) | [inline] |
Copy constructor.
Definition at line 32 of file OPC_IceHook.h.
inline_ IceMaths::IndexedTriangle::~IndexedTriangle | ( | ) | [inline] |
Destructor.
Definition at line 39 of file OPC_IceHook.h.
float IndexedTriangle::Angle | ( | const IndexedTriangle & | tri, |
const Point * | verts | ||
) | const |
Computes the angle between two triangles.
tri | [in] the other triangle |
verts | [in] the list of indexed vertices |
Definition at line 516 of file IceIndexedTriangle.cpp.
float IndexedTriangle::Area | ( | const Point * | verts | ) | const |
Computes the triangle area.
verts | [in] the list of indexed vertices |
Definition at line 44 of file IceIndexedTriangle.cpp.
bool IndexedTriangle::BackfaceCulling | ( | const Point * | verts, |
const Point & | source | ||
) | const |
Computes backface culling.
verts | [in] the list of indexed vertices |
source | [in] source point (in local space) from which culling must be computed |
Definition at line 217 of file IceIndexedTriangle.cpp.
void IndexedTriangle::Center | ( | const Point * | verts, |
Point & | center | ||
) | const |
Computes the triangle center.
verts | [in] the list of indexed vertices |
center | [out] the computed center |
Definition at line 127 of file IceIndexedTriangle.cpp.
void IndexedTriangle::CenteredNormal | ( | const Point * | verts, |
Point & | normal | ||
) | const |
Computes the centered normal
verts | [in] the list of indexed vertices |
normal | [out] the computed centered normal |
Definition at line 144 of file IceIndexedTriangle.cpp.
float IndexedTriangle::Compacity | ( | const Point * | verts | ) | const |
Computes the triangle compacity.
verts | [in] the list of indexed vertices |
Definition at line 78 of file IceIndexedTriangle.cpp.
CubeIndex IceMaths::IndexedTriangle::ComputeCubeIndex | ( | const Point * | verts | ) | const |
float IndexedTriangle::ComputeOcclusionPotential | ( | const Point * | verts, |
const Point & | view | ||
) | const |
Computes the occlusion potential of the triangle.
verts | [in] the list of indexed vertices |
source | [in] source point (in local space) from which occlusion potential must be computed |
Definition at line 249 of file IceIndexedTriangle.cpp.
void IndexedTriangle::ComputePoint | ( | const Point * | verts, |
float | u, | ||
float | v, | ||
Point & | pt, | ||
udword * | nearvtx = null |
||
) | const |
Computes a point on the triangle according to the stabbing information.
verts | [in] the list of indexed vertices |
u,v | [in] point's barycentric coordinates |
pt | [out] point on triangle |
nearvtx | [out] index of nearest vertex |
Definition at line 450 of file IceIndexedTriangle.cpp.
void IndexedTriangle::DenormalizedNormal | ( | const Point * | verts, |
Point & | normal | ||
) | const |
Computes the triangle denormalized normal.
verts | [in] the list of indexed vertices |
normal | [out] the computed normal |
Definition at line 110 of file IceIndexedTriangle.cpp.
bool IndexedTriangle::Equal | ( | const IndexedTriangle & | tri | ) | const |
Checks a triangle is the same as another one.
tri | [in] the other triangle |
Definition at line 542 of file IceIndexedTriangle.cpp.
ubyte IndexedTriangle::FindEdge | ( | udword | vref0, |
udword | vref1 | ||
) | const |
Finds an edge in a tri, given two vertex references.
vref0 | [in] the edge's first vertex reference |
vref1 | [in] the edge's second vertex reference |
Definition at line 334 of file IceIndexedTriangle.cpp.
Flips the winding order.
Definition at line 32 of file IceIndexedTriangle.cpp.
void IndexedTriangle::GetVRefs | ( | ubyte | edgenb, |
udword & | vref0, | ||
udword & | vref1, | ||
udword & | vref2 | ||
) | const |
Gets the three sorted vertex references according to an edge number. edgenb = 0 => edge 0-1, returns references 0, 1, 2 edgenb = 1 => edge 0-2, returns references 0, 2, 1 edgenb = 2 => edge 1-2, returns references 1, 2, 0
edgenb | [in] the edge number, 0, 1 or 2 |
vref0 | [out] the returned first vertex reference |
vref1 | [out] the returned second vertex reference |
vref2 | [out] the returned third vertex reference |
Definition at line 377 of file IceIndexedTriangle.cpp.
bool IndexedTriangle::HasVertex | ( | udword | ref | ) | const |
Checks whether the input vertex reference belongs to the triangle or not.
ref | [in] the vertex reference to look for |
Definition at line 302 of file IceIndexedTriangle.cpp.
bool IndexedTriangle::HasVertex | ( | udword | ref, |
udword * | index | ||
) | const |
Checks whether the input vertex reference belongs to the triangle or not.
ref | [in] the vertex reference to look for |
index | [out] the corresponding index in the triangle |
Definition at line 318 of file IceIndexedTriangle.cpp.
bool IndexedTriangle::IsDegenerate | ( | ) | const |
Checks whether the triangle is degenerate or not. A degenerate triangle has two common vertex references. This is a zero-area triangle.
Definition at line 287 of file IceIndexedTriangle.cpp.
bool IndexedTriangle::IsVisible | ( | const Point * | verts, |
const Point & | source | ||
) | const |
Computes backface culling.
verts | [in] the list of indexed vertices |
source | [in] source point (in local space) from which culling must be computed |
Definition at line 189 of file IceIndexedTriangle.cpp.
float IndexedTriangle::MaxEdgeLength | ( | const Point * | verts | ) | const |
Computes the triangle's largest edge length.
verts | [in] the list of indexed vertices |
Definition at line 427 of file IceIndexedTriangle.cpp.
float IndexedTriangle::MinEdgeLength | ( | const Point * | verts | ) | const |
Computes the triangle's smallest edge length.
verts | [in] the list of indexed vertices |
Definition at line 406 of file IceIndexedTriangle.cpp.
void IndexedTriangle::Normal | ( | const Point * | verts, |
Point & | normal | ||
) | const |
Computes the triangle normal.
verts | [in] the list of indexed vertices |
normal | [out] the computed normal |
Definition at line 93 of file IceIndexedTriangle.cpp.
udword IndexedTriangle::OppositeVertex | ( | udword | vref0, |
udword | vref1 | ||
) | const |
Gets the last reference given the first two.
vref0 | [in] the first vertex reference |
vref1 | [in] the second vertex reference |
Definition at line 353 of file IceIndexedTriangle.cpp.
inline_ udword IceMaths::IndexedTriangle::OppositeVertex | ( | ubyte | edgenb | ) | const [inline] |
Definition at line 62 of file OPC_IceHook.h.
float IndexedTriangle::Perimeter | ( | const Point * | verts | ) | const |
Computes the triangle perimeter.
verts | [in] the list of indexed vertices |
Definition at line 60 of file IceIndexedTriangle.cpp.
inline_ Plane IceMaths::IndexedTriangle::PlaneEquation | ( | const Point * | verts | ) | const [inline] |
Definition at line 68 of file OPC_IceHook.h.
void IndexedTriangle::RandomPoint | ( | const Point * | verts, |
Point & | random | ||
) | const |
Computes a random point within the triangle.
verts | [in] the list of indexed vertices |
normal | [out] the computed centered normal |
Definition at line 162 of file IceIndexedTriangle.cpp.
bool IndexedTriangle::ReplaceVertex | ( | udword | oldref, |
udword | newref | ||
) |
Replaces a vertex reference with another one.
oldref | [in] the vertex reference to replace |
newref | [in] the new vertex reference |
Definition at line 273 of file IceIndexedTriangle.cpp.
Vertex-references.
Definition at line 41 of file OPC_IceHook.h.