FDH6.h

Go to the documentation of this file.
00001 /* $Id: FDH6.h,v 1.3 2002/11/05 14:31:15 anonymous Exp $ */
00002 
00003 #ifndef __FDH_6_H
00004 #define __FDH_6_H
00005 
00006 #include <esg/SGAttribute.h>
00007 #include <esg/List.h>
00008 #include <esg/geometry/FDH.h>
00009 
00010 namespace esg {
00011 
00016 class OGSCENE_EXPORT FDH6 : public FDH {
00017 public:
00018         static const unsigned DIRS;         
00019         static const unsigned SIZE;         
00020         static const float    FDHMat[6][3]; 
00021 
00022 protected:
00023         virtual Mesh*     _mesh       (int /* not used */) const;
00024         virtual Vector3d* _get_corners(unsigned&,
00025                                        unsigned(*)[100],
00026                                        unsigned[]) const;
00027         FDH6 () : FDH(DIRS, FDHMat) {}
00028 
00029 public:
00035         FDH6 (List<SceneGraphObject>& list)
00036             : FDH(DIRS, FDHMat, list) {}
00037 
00044         FDH6 (const Geometry& geom1, const Geometry& geom2)
00045             : FDH(DIRS, FDHMat, geom1, geom2) {}
00046 
00052         FDH6 (const Geometry& geom)
00053             : FDH(DIRS, FDHMat, geom) {}
00054 
00060         FDH6 (const float values[6])
00061             : FDH(DIRS, FDHMat, values) {}
00062 
00063         virtual void rayIntersection (PointEnv*      pPE,
00064                                       int            mask,
00065                                       const Vector3& origin,
00066                                       const Vector3& direction,
00067                                       float          maxDist = MAXFLOAT);
00068 
00069         virtual bool mapToUV (const Vector3& v, Vector2& uv);
00070     
00071         virtual Geometry* clone (const Matrix4* pTrMat) const;
00072 
00079         virtual void setExtentX(double min, double max) {
00080             _values[0] = max;
00081             _values[3] = -min;
00082         }
00083 
00090         virtual void setExtentY(double min, double max) {
00091             _values[1] = max;
00092             _values[4] = -min;
00093         }
00094 
00101         virtual void setExtentZ(double min, double max) {
00102             _values[2] = max;
00103             _values[5] = -min;
00104         }
00105 
00106 };
00107 
00108 }; // namespace
00109 
00110 #endif // __FDH_6_H

Generated on Wed Jun 28 12:24:28 2006 for esg by  doxygen 1.4.6