📄 position.h
字号:
#ifndef _POSITION_H_
#define _POSITION_H_
// 如果距离小于DISTANCE_ZERO,则认为该距离为0
#ifndef DISTANCE_ZERO
#define DISTANCE_ZERO 1.e-6
#endif
#define PI 3.14// acos(-1)
//定义包围盒
typedef struct
{
double min[2], max[2] ; // 定义最大和最小坐标值
} BOX2D;
//定义位置类
class Position {
public:
double x;
double y;
public:
Position();
Position(double ox, double oy);
Position(const double *pnt);
Position(const Position& positionSrc);
~Position();
void Init();
double& operator[](const int& i);
operator const double *() const;
operator double *();
const Position& operator=(const Position& positionSrc);
void Set(double x, double y);
void Set(const double *pnt);
friend Position operator+(const Position& position1,const Position& position2);
friend Position operator-(const Position& position1,const Position& position2);
friend Position operator*(const Position& position, const double& scale);
friend Position operator*(const double& scale, const Position& position);
const Position& operator+=(const Position& positionSrc);
const Position& operator-=(const Position& positionSrc);
const Position& operator*=(const double& scale);
double Distance(const Position& pnt);
BOOL IsSame(const Position& pointSrc);
BOOL IsInBox(const BOX2D& box);
Position Offset(const double & deltax,const double & deltay);
Position Offset(const Position& off);
Position Rotate(const Position& basePos, const double angle) ;
Position Mirror(const Position& pos1, const Position& pos2) ;
void Serialize(CArchive &ar) ;
};
double GetAngleToXAxis(const Position& pos1,const Position& pos2);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -