00001 #ifndef __VECMATH_TEXCOORD3F_HPP 00002 #define __VECMATH_TEXCOORD3F_HPP 00003 00004 #ifndef __VECMATH_TUPLE3D_HPP 00005 #include <vecmath/Tuple3d.h> 00006 #endif 00007 00008 #ifndef __VECMATH_TUPLE3F_HPP 00009 #include <vecmath/Tuple3f.h> 00010 #endif 00011 00012 //#define DEBUGTEXCOORD3(d) d 00013 #define DEBUGTEXCOORD3(d) 00014 00015 class VECMATH_EXPORT TexCoord3f : public Tuple3f { 00016 public: 00017 TexCoord3f() {} 00018 00019 explicit TexCoord3f(float x, float y = 0, float z = 0) : Tuple3f(x, y, z) { 00020 DEBUGTEXCOORD3(cout << "TexCoord3f explicit constructor x,y,z" << endl); 00021 } 00022 00023 TexCoord3f(const TexCoord3f& t) { 00024 set(t.x, t.y, t.z); 00025 DEBUGTEXCOORD3(cout << "TexCoord3f constructor &TexCoord3f" << endl); 00026 } 00027 00028 // prevent unwanted constructions!!! 00029 TexCoord3f(const Tuple3d& t) : Tuple3f(t) { 00030 DEBUGTEXCOORD3(cout << "TexCoord3f constructor &double" << endl); 00031 } 00032 00033 TexCoord3f(const Tuple3f& t) : Tuple3f(t) { 00034 DEBUGTEXCOORD3(cout << "TexCoord3f constructor &float" << endl); 00035 } 00036 00037 TexCoord3f(const float t[3]) : Tuple3f(t) { 00038 DEBUGTEXCOORD3(cout << "TexCoord3f constructor v[3]" << endl); 00039 } 00040 }; 00041 00042 #endif