1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #ifndef _H_LIBVECTOR
- #define _H_LIBVECTOR
- #include <iostream>
- #include <string>
- #include <vector>
- #include <functional>
- #include <algorithm>
- #include <cmath>
- template <class T> T sqr(T x) {return x*x;}
- class vector2d{
- public:
- double x,y;
- vector2d();
- vector2d(double,double);
- vector2d operator+(vector2d);
- vector2d operator-(vector2d);
- double operator*(vector2d);
- vector2d operator*(double);
- vector2d operator/(double);
- double abs();
- vector2d normale();
- float CyclicDistance(vector2d, vector2d); //assuming xrange=yrange=[0,1]
- void print();
- void fprintfcs(FILE* out);
- void set(double _x=0, double _y=0);
- void get(double& _x, double& _y);
- };
- /// Definiton der Klasse vertex
- class vertex {
- public:
- double x, y, z, u, v;
- bool remaped;
- vertex();
- vertex(double, double,double, double, double);
- void setvalue(double, double,double, double, double);
- void setuv(double,double);
- void print();
- void fprintfcs(FILE*);
- vertex operator+(vertex);
- vertex operator-(vertex);
- double operator*(vertex);
- vertex operator*(double);
- vertex operator/(double);
- vertex normal();
- void fastnormuv();
- void normuv();
- double abs();
- };
- #endif /*_H_LIBVECTOR */
|