15 virtual ~IPosition() =
default;
18 virtual void SetPos(
double X座標,
double Y座標) = 0;
21 virtual void MultiZoom(
double X倍率,
double Y倍率) = 0;
24 virtual void SetZoom(
double X拡大率,
double Y拡大率)
36 virtual void Move(
double X移動量,
double Y移動量) = 0;
39 void MoveA(
double 距離,
double 方向 )
41 Move(距離 * cos(方向), 距離 * sin(方向));
45 virtual void Rotate(
double 回転する角度) = 0;
62 return atan2(比較対象->GetY() - this->
GetY(), 比較対象->GetX() - this->
GetX());
68 const double xd = this->
GetX() - 比較対象->GetX();
69 const double yd = this->
GetY() - 比較対象->GetY();
71 return sqrt(xd * xd + yd * yd);
81 virtual double GetX()
const = 0;
84 virtual double GetY()
const = 0;
87 virtual double GetW()
const = 0;
90 virtual double GetH()
const = 0;
virtual double GetAngle() const
角度を取得する.
Definition: IPosition.h:48
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: IPosition.h:30
double GetDistance(IPosition *比較対象) const
対象との相対座標を取得.
Definition: IPosition.h:66
virtual double GetW() const =0
幅を取得.
virtual double GetH() const =0
高さを取得.
virtual void MultiZoom(double X倍率, double Y倍率)=0
縦横別で拡大率を掛け算する.
virtual void SetAngle(double 指定角度)
角度を指定する.
Definition: IPosition.h:54
virtual void Rotate(double 回転する角度)=0
回転する.
virtual double GetY() const =0
Y座標を取得.
virtual void Move(double X移動量, double Y移動量)=0
相対座標で移動.
virtual void SetZoom(double X拡大率, double Y拡大率)
拡大率を設定.
Definition: IPosition.h:24
double zoomX
図形の拡大率
Definition: IPosition.h:14
virtual void SetPos(double X座標, double Y座標)=0
指定座標に移動.
位置と方向を持つクラスのインターフェース.
Definition: IPosition.h:11
virtual double GetX() const =0
X座標を取得.
double CompareAngle(double 角度)
角度の差を計算する
Definition: IPosition.h:75
double zoomY
図形の拡大率
Definition: IPosition.h:15
double GetDirect(IPosition *比較対象) const
対象との角度を取得.
Definition: IPosition.h:60
void MoveA(double 距離, double 方向)
極座標で移動.
Definition: IPosition.h:39