1 #ifndef MISC_H_INCLUDED
\r
2 #define MISC_H_INCLUDED
\r
4 inline float clamp(float val, float minVal, float maxVal)
\r
6 return min(max(val,minVal),maxVal);
\r
11 float x1, y1, x2, y2;
\r
12 frect(){x1=y1=x2=y1=0;}
\r
13 frect(float ux1, float uy1, float ux2, float uy2){x1=ux1; y1=uy1; x2=ux2; y2=uy2; Normalize();}
\r
14 void Normalize(){if(x1>x2)std::swap(x1,x2); if(y1>y2)std::swap(y1,y2);}
\r
15 frect &operator =(frect &rc){x1=rc.x1; y1=rc.y1; x2=rc.x2; y2=rc.y2; return *this;}
\r
18 float inline pow(float base, int power)
\r
20 if(power==1)return base;
\r
21 if(power==0)return 1;
\r
22 return base*pow(base, power-1);
\r
25 float inline frand(int precis=4)
\r
27 int val=(int)pow(10.0f,precis);
\r
28 return (rand()%val)/(float)val;
\r
31 void inline InitRandomNumbers()
\r
33 srand((unsigned int)time(0));
\r
46 rgba(){r=g=b=a=0.0f;}
\r
47 rgba &operator =(rgba &c){r=c.r; g=c.g; b=c.b; a=c.a; return *this;}
\r