179 lines
2.6 KiB
C++
179 lines
2.6 KiB
C++
#ifndef _PROTO_ANGLES_HPP_
|
|
#define _PROTO_ANGLES_HPP_
|
|
|
|
class Angles
|
|
{
|
|
public:
|
|
Angles(void);
|
|
virtual ~Angles();
|
|
int angle360(void)const;
|
|
int angle180(void)const;
|
|
int angle120(void)const;
|
|
int angle090(void)const;
|
|
int angle060(void)const;
|
|
int angle045(void)const;
|
|
int angle030(void)const;
|
|
int angle020(void)const;
|
|
int angle015(void)const;
|
|
int angle010(void)const;
|
|
int angle005(void)const;
|
|
int angle002(void)const;
|
|
int angle001(void)const;
|
|
int angle000(void)const;
|
|
int angleHalfFOV(void)const;
|
|
int screenWidth(void)const;
|
|
void screenWidth(int screenWidth);
|
|
private:
|
|
void setAngles(void);
|
|
int mAngle360;
|
|
int mAngle180;
|
|
int mAngle120;
|
|
int mAngle090;
|
|
int mAngle060;
|
|
int mAngle045;
|
|
int mAngle030;
|
|
int mAngle020;
|
|
int mAngle015;
|
|
int mAngle010;
|
|
int mAngle005;
|
|
int mAngle002;
|
|
int mAngle001;
|
|
int mAngle000;
|
|
int mScreenWidth;
|
|
};
|
|
|
|
inline
|
|
Angles::Angles(void)
|
|
: mAngle360(0), mAngle180(0), mAngle120(0), mAngle090(0), mAngle060(0), mAngle045(0),
|
|
mAngle030(0), mAngle020(0), mAngle015(0), mAngle010(0), mAngle005(0), mAngle002(0),
|
|
mAngle001(0), mAngle000(0), mScreenWidth(0)
|
|
{
|
|
}
|
|
|
|
inline
|
|
Angles::~Angles()
|
|
{
|
|
}
|
|
|
|
inline
|
|
int Angles::screenWidth(void)const
|
|
{
|
|
return mScreenWidth;
|
|
}
|
|
|
|
inline
|
|
void Angles::screenWidth(int screenWidth)
|
|
{
|
|
mScreenWidth=screenWidth;
|
|
setAngles();
|
|
}
|
|
|
|
inline
|
|
void Angles::setAngles(void)
|
|
{
|
|
mAngle360=screenWidth()*360/60;
|
|
mAngle180=angle360()/2;
|
|
mAngle120=angle360()/3;
|
|
mAngle090=angle360()/4;
|
|
mAngle060=angle360()/6;
|
|
mAngle045=angle360()/8;
|
|
mAngle030=angle360()/12;
|
|
mAngle020=angle360()/18;
|
|
mAngle015=angle360()/24;
|
|
mAngle010=angle360()/36;
|
|
mAngle005=angle360()/72;
|
|
mAngle002=angle360()/180;
|
|
mAngle001=angle360()/360;
|
|
mAngle000=0;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle360(void)const
|
|
{
|
|
return mAngle360;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle180(void)const
|
|
{
|
|
return mAngle180;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle120(void)const
|
|
{
|
|
return mAngle120;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle090(void)const
|
|
{
|
|
return mAngle090;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle060(void)const
|
|
{
|
|
return mAngle060;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle045(void)const
|
|
{
|
|
return mAngle045;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle030(void)const
|
|
{
|
|
return mAngle030;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle020(void)const
|
|
{
|
|
return mAngle020;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle015(void)const
|
|
{
|
|
return mAngle015;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle010(void)const
|
|
{
|
|
return mAngle010;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle005(void)const
|
|
{
|
|
return mAngle005;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle002(void)const
|
|
{
|
|
return mAngle002;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle001(void)const
|
|
{
|
|
return mAngle001;
|
|
}
|
|
|
|
inline
|
|
int Angles::angle000(void)const
|
|
{
|
|
return mAngle000;
|
|
}
|
|
|
|
inline
|
|
int Angles::angleHalfFOV(void)const
|
|
{
|
|
return angle030();
|
|
}
|
|
#endif |