drand() needs <cstdlib>
[MicroTrace.git] / Vec3f.hxx
index 74f304b..eef3409 100644 (file)
--- a/Vec3f.hxx
+++ b/Vec3f.hxx
@@ -10,8 +10,6 @@
 #define MAX(a,b) ((a)>(b)?(a):(b))
 #endif
 
-#define max(a,b) MAX(a,b)
-#define min(a,b) MIN(a,b)
 
 #define Epsilon 1E-4
 #define Infinity HUGE_VAL
@@ -30,12 +28,12 @@ public:
   Vec3f& operator=(const Vec3f& o);
 
   //! dot product
-  float operator|(const Vec3f& o);
-  float dot(const Vec3f& o);
+  float operator|(const Vec3f& o) const;
+  float dot(const Vec3f& o) const;
   
   //! cross product
-  Vec3f operator%(const Vec3f& o);
-  Vec3f cross(const Vec3f& o);
+  Vec3f operator%(const Vec3f& o) const;
+  Vec3f cross(const Vec3f& o) const;
   
   //! normalize vector
   void normalize();
@@ -70,6 +68,8 @@ public:
   float operator[](unsigned int i) const;
   float& operator[](unsigned int i);
  
+  //! clamp each element to [0,1]
+  void clamp();
 private:
   float m_values[3];
 };
This page took 0.02519 seconds and 4 git commands to generate.