Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SFPoint2f.h

Go to the documentation of this file.
00001 #ifndef X3DTK_SFPOINT2F_H
00002 #define X3DTK_SFPOINT2F_H
00003 
00004 #include "SFVec2f.h"
00005 
00006 #include <math.h>
00007 #include <iostream>
00008 
00009 namespace X3DTK {
00010 
00011 class SFString;
00012 
00021 class SFPoint2f
00022 {
00023 public:
00025   float x;
00027   float y;
00028 
00030   SFPoint2f();
00032   SFPoint2f(float x, float y);
00034   SFPoint2f(const SFPoint2f &p);
00036   SFPoint2f &operator= (const SFPoint2f &v);
00038   SFPoint2f &operator+= (const SFVec2f &v);
00040   SFPoint2f &operator+= (const SFPoint2f &v);
00042   SFPoint2f &operator-= (const SFVec2f &v);
00044   explicit SFPoint2f(const SFString &s);
00045   // Conversion from vector to point.
00046   explicit SFPoint2f(const SFVec2f &V);
00047 
00049   friend SFPoint2f operator+ (const SFPoint2f &v1, const SFVec2f &v2);
00051   friend SFPoint2f operator+ (const SFPoint2f &v1, const SFPoint2f &v2);
00053   friend SFPoint2f operator- (const SFPoint2f &v1, const SFVec2f &v2);
00055   friend SFVec2f operator- (const SFPoint2f &v1, const SFPoint2f &v2);
00057   friend SFPoint2f operator* (const float a, const SFPoint2f &v);
00059   friend float distance(const SFPoint2f &A, const SFPoint2f &B);
00061   inline float *f_data() {return &x;};
00063   inline const float *f_data() const {return &x;};
00065   inline operator float *() {return &x;};
00067   inline operator const float *() const {return &x;};
00069   static const SFPoint2f null;
00070 };
00071 
00072 }
00073 
00074 #endif

Generated on Thu Jun 3 10:12:09 2004 for X3DToolKit by doxygen 1.3.6