diff options
author | dan miller | 2007-10-21 08:36:32 +0000 |
---|---|---|
committer | dan miller | 2007-10-21 08:36:32 +0000 |
commit | 2f8d7092bc2c9609fa98d6888106b96f38b22828 (patch) | |
tree | da6c37579258cc965b52a75aee6135fe44237698 /libraries/ode-0.9/OPCODE/Ice/IceIndexedTriangle.h | |
parent | * Committing new PolicyManager based on an ACL system. (diff) | |
download | opensim-SC-2f8d7092bc2c9609fa98d6888106b96f38b22828.zip opensim-SC-2f8d7092bc2c9609fa98d6888106b96f38b22828.tar.gz opensim-SC-2f8d7092bc2c9609fa98d6888106b96f38b22828.tar.bz2 opensim-SC-2f8d7092bc2c9609fa98d6888106b96f38b22828.tar.xz |
libraries moved to opensim-libs, a new repository
Diffstat (limited to '')
-rw-r--r-- | libraries/ode-0.9/OPCODE/Ice/IceIndexedTriangle.h | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/libraries/ode-0.9/OPCODE/Ice/IceIndexedTriangle.h b/libraries/ode-0.9/OPCODE/Ice/IceIndexedTriangle.h deleted file mode 100644 index b34c485..0000000 --- a/libraries/ode-0.9/OPCODE/Ice/IceIndexedTriangle.h +++ /dev/null | |||
@@ -1,72 +0,0 @@ | |||
1 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
2 | /** | ||
3 | * Contains a handy indexed triangle class. | ||
4 | * \file IceIndexedTriangle.h | ||
5 | * \author Pierre Terdiman | ||
6 | * \date January, 17, 2000 | ||
7 | */ | ||
8 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
9 | |||
10 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
11 | // Include Guard | ||
12 | #ifndef __ICEINDEXEDTRIANGLE_H__ | ||
13 | #define __ICEINDEXEDTRIANGLE_H__ | ||
14 | |||
15 | // Forward declarations | ||
16 | #ifdef _MSC_VER | ||
17 | enum CubeIndex; | ||
18 | #else | ||
19 | typedef int CubeIndex; | ||
20 | #endif | ||
21 | |||
22 | // An indexed triangle class. | ||
23 | class ICEMATHS_API IndexedTriangle | ||
24 | { | ||
25 | public: | ||
26 | //! Constructor | ||
27 | inline_ IndexedTriangle() {} | ||
28 | //! Constructor | ||
29 | inline_ IndexedTriangle(udword r0, udword r1, udword r2) { mVRef[0]=r0; mVRef[1]=r1; mVRef[2]=r2; } | ||
30 | //! Copy constructor | ||
31 | inline_ IndexedTriangle(const IndexedTriangle& triangle) | ||
32 | { | ||
33 | mVRef[0] = triangle.mVRef[0]; | ||
34 | mVRef[1] = triangle.mVRef[1]; | ||
35 | mVRef[2] = triangle.mVRef[2]; | ||
36 | } | ||
37 | //! Destructor | ||
38 | inline_ ~IndexedTriangle() {} | ||
39 | //! Vertex-references | ||
40 | udword mVRef[3]; | ||
41 | |||
42 | // Methods | ||
43 | void Flip(); | ||
44 | float Area(const Point* verts) const; | ||
45 | float Perimeter(const Point* verts) const; | ||
46 | float Compacity(const Point* verts) const; | ||
47 | void Normal(const Point* verts, Point& normal) const; | ||
48 | void DenormalizedNormal(const Point* verts, Point& normal) const; | ||
49 | void Center(const Point* verts, Point& center) const; | ||
50 | void CenteredNormal(const Point* verts, Point& normal) const; | ||
51 | void RandomPoint(const Point* verts, Point& random) const; | ||
52 | bool IsVisible(const Point* verts, const Point& source) const; | ||
53 | bool BackfaceCulling(const Point* verts, const Point& source) const; | ||
54 | float ComputeOcclusionPotential(const Point* verts, const Point& view) const; | ||
55 | bool ReplaceVertex(udword oldref, udword newref); | ||
56 | bool IsDegenerate() const; | ||
57 | bool HasVertex(udword ref) const; | ||
58 | bool HasVertex(udword ref, udword* index) const; | ||
59 | ubyte FindEdge(udword vref0, udword vref1) const; | ||
60 | udword OppositeVertex(udword vref0, udword vref1) const; | ||
61 | inline_ udword OppositeVertex(ubyte edgenb) const { return mVRef[2-edgenb]; } | ||
62 | void GetVRefs(ubyte edgenb, udword& vref0, udword& vref1, udword& vref2) const; | ||
63 | float MinEdgeLength(const Point* verts) const; | ||
64 | float MaxEdgeLength(const Point* verts) const; | ||
65 | void ComputePoint(const Point* verts, float u, float v, Point& pt, udword* nearvtx=null) const; | ||
66 | float Angle(const IndexedTriangle& tri, const Point* verts) const; | ||
67 | inline_ Plane PlaneEquation(const Point* verts) const { return Plane(verts[mVRef[0]], verts[mVRef[1]], verts[mVRef[2]]); } | ||
68 | bool Equal(const IndexedTriangle& tri) const; | ||
69 | CubeIndex ComputeCubeIndex(const Point* verts) const; | ||
70 | }; | ||
71 | |||
72 | #endif // __ICEINDEXEDTRIANGLE_H__ | ||