6 #include <Framework/IShape.h> 
   39         Rect(
double X座標, 
double Y座標, 
double 横幅A, 
double 高さA, 
double 横幅B = 0, 
double 高さB = 0) :
 
   48         template <
class T1,
class T2,
class T3,
class T4>
 
   52         Rect(T1 X座標, T2 Y座標, T3 横幅A, T4 高さA, T3 横幅B = 0, T4 高さB = 0) :
 
   64             shape->zoomX = this->
zoomX;
 
   65             shape->zoomY = this->
zoomY;
 
   69         void SetPos(
double X座標, 
double Y座標)
 override 
   75         void Move(
double X移動量, 
double Y移動量)
 override 
   95         void Draw(
const Color &描画色) 
const override;
 
   97         inline double GetX()
 const override 
  102         inline double GetY()
 const override 
  107         inline double GetW()
 const override 
  112         inline double GetH()
 const override 
  143             return shape->
Hit(
this);
 
  148             for (
auto it : complex->
shapes)
 
  150                 if (it->Hit(
this)) 
return true;
 
  158                 point->
x < this->GetRight()
 
  160                 point->
x > this->GetLeft()
 
  162                 point->
y < this->GetBottom()
 
  164                 point->
y > this->GetTop()
 
  265         bool Hit(
const Circle *circle) 
const override;
 
  273         Point GetCenter()
 const 
  279         operator SDL_Rect()
 const 
double GetX() const override
X座標を取得. 
Definition: Rect.h:97
double GetThickHarf() const 
太さの半分を取得. 
Definition: Line.h:208
double y
起点座標 
Definition: Rect.h:26
Rect(T1 X座標, T2 Y座標, T3 横幅A, T4 高さA, T3 横幅B=0, T4 高さB=0)
座標と大きさを指定. 
Definition: Rect.h:52
double GetYB() const 
頂点BのY座標を取得. 
Definition: Line.h:176
矩形を表す図形クラス. 
Definition: Rect.h:22
double y
座標 
Definition: Point.h:26
太さのある線を表す図形クラス. 
Definition: Line.h:20
double GetBottom() const 
下端のY座標を取得. 
Definition: Rect.h:136
double widthRight
起点から右側の幅 
Definition: Rect.h:29
double GetTop() const 
上端のY座標を取得. 
Definition: Rect.h:124
double GetY() const override
Y座標を取得. 
Definition: Rect.h:102
double GetRight() const 
右端のX座標を取得. 
Definition: Rect.h:130
double GetMaxY() const 
頂点AとBのY座標の大きい値を取得. 
Definition: Line.h:238
void SetPos(double X座標, double Y座標) override
指定座標に移動. 
Definition: Rect.h:69
double GetLeft() const 
左端のX座標を取得. 
Definition: Rect.h:118
std::vector< IShape * > shapes
保持するShape 
Definition: Complex.h:23
Rect(double X座標, double Y座標, double 横幅A, double 高さA, double 横幅B=0, double 高さB=0)
座標と大きさを指定. 
Definition: Rect.h:39
点を表す図形クラス. 
Definition: Point.h:22
衝突判定可能な図形の抽象クラス. 
Definition: IShape.h:21
virtual bool Hit(const IShape *iShape) const =0
衝突判定. 
複合図形を表すクラス. 
Definition: Complex.h:20
bool Hit(const Point *point) const override
衝突判定. 
Definition: Rect.h:154
Point GetPoint() const 
Pointを取得. 
Definition: Rect.h:268
void Move(double X移動量, double Y移動量) override
相対座標で移動. 
Definition: Rect.h:75
bool Hit(const Rect *rect) const override
衝突判定. 
Definition: Rect.h:261
void Draw(const Color &描画色) const override
描画する. 
Definition: ShapeDraw.h:33
double x
起点座標 
Definition: Rect.h:25
bool Hit(const Line *line) const override
衝突判定. 
Definition: Rect.h:168
double GetMinX() const 
頂点AとBのX座標の小さい値を取得. 
Definition: Line.h:220
色を表すクラス. 
Definition: Color.h:11
double widthLeft
起点から左側の幅 
Definition: Rect.h:28
double GetMinY() const 
頂点AとBのY座標の小さい値を取得. 
Definition: Line.h:226
static bool LineLine(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
線分の交差判定. 
Definition: IShape.h:62
void Rotate(double 回転する角度) override
回転する. 
Definition: Rect.h:90
Rect operator+(Point &加算値) const 
座標に加算. 
Definition: Rect.h:285
void MultiZoom(double X倍率, double Y倍率) override
縦横別で拡大率を掛け算する. 
Definition: Rect.h:81
bool Hit(const IShape *shape) const override
衝突判定. 
Definition: Rect.h:141
double GetXB() const 
頂点BのX座標を取得. 
Definition: Line.h:170
double zoomX
図形の拡大率 
Definition: IPosition.h:14
double x
座標 
Definition: Point.h:25
virtual IShape * Clone(double X座標, double Y座標) const override
同じ形の図形を作る. 
Definition: Rect.h:61
bool Hit(const Complex *complex) const override
衝突判定. 
Definition: Rect.h:146
double heightUp
起点から上側の幅 
Definition: Rect.h:31
double GetYA() const 
頂点AのY座標を取得. 
Definition: Line.h:164
double GetXA() const 
頂点AのX座標を取得. 
Definition: Line.h:158
double GetMaxX() const 
頂点AとBのX座標の大きい値を取得. 
Definition: Line.h:232
円を表す図形クラス. 
Definition: Circle.h:20
double GetW() const override
幅を取得. 
Definition: Rect.h:107
double zoomY
図形の拡大率 
Definition: IPosition.h:15
double GetH() const override
高さを取得. 
Definition: Rect.h:112
double GetThickPow() const 
太さの二乗を取得. 
Definition: Line.h:214
double heightDown
起点から下側の幅 
Definition: Rect.h:32