00001
00002
00003 #ifndef __TRIANGLE_H
00004 #define __TRIANGLE_H
00005
00006 #include <esg/geometry/Polygon.h>
00007
00008 namespace esg {
00009
00014 class OGSCENE_EXPORT Triangle : public Polygon {
00015 public:
00019 Triangle () {}
00020
00028 Triangle (const Vector3 v[3],
00029 const Vector3 n[3],
00030 const Vector2 u[3])
00031 : Polygon(v, n, u, 3) {}
00032
00042 Triangle (const Vector3 v[3],
00043 const Vector3 n[3],
00044 const Vector2 u[3],
00045 const Vector3& no,
00046 bool f)
00047 : Polygon(v, n, u, 3, no, f) {}
00048
00049 Geometry* clone (const Matrix4* pTrMat) const;
00050
00051 virtual void randomSample (int mask, PointEnv& pe, double* pdf);
00052 };
00053
00054 };
00055
00056 #endif // __TRIANGLE_H