Jypeli  5
The simple game programming library
BoundingRectangle.cs
Siirry tämän tiedoston dokumentaatioon.
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using Jypeli;
6 
7 namespace Jypeli
8 {
12  public struct BoundingRectangle
13  {
17  public double X;
21  public double Y;
25  public double Width;
29  public double Height;
30 
34  public double Left { get { return X - Width / 2; } }
38  public double Right { get { return X + Width / 2; } }
42  public double Bottom { get { return Y - Height / 2; } }
46  public double Top { get { return Y + Height / 2; } }
47 
51  public Vector Position
52  {
53  get { return new Vector( X, Y ); }
54  set { X = value.X; Y = value.Y; }
55  }
56 
57 
61  public Vector Size
62  {
63  get { return new Vector( Width, Height ); }
64  set { Width = value.X; Height = value.Y; }
65  }
66 
70  public Vector TopLeft
71  {
72  get { return new Vector( X - Width / 2, Y + Height / 2 ); }
73  }
74 
78  public Vector BottomRight
79  {
80  get { return new Vector( X + Width / 2, Y - Height / 2 ); }
81  }
82 
86  public Vector BottomLeft
87  {
88  get { return new Vector(X - Width / 2, Y - Height / 2); }
89  }
90 
94  public Vector TopRight
95  {
96  get { return new Vector(X + Width / 2, Y + Height / 2); }
97  }
98 
102  public double DiagonalLength
103  {
104  get { return Math.Sqrt( Width * Width + Height * Height ); }
105  }
106 
107 
115  public BoundingRectangle(double x, double y, double w, double h)
116  {
117  X = x;
118  Y = y;
119  Width = w;
120  Height = h;
121  }
122 
128  public BoundingRectangle( Vector topLeft, Vector bottomRight )
129  {
130  Width = bottomRight.X - topLeft.X;
131  Height = topLeft.Y - bottomRight.Y;
132  X = topLeft.X + Width / 2;
133  Y = bottomRight.Y + Height / 2;
134  }
135 
136 
142  public bool IsInside( Vector point )
143  {
144  return point.X >= Left && point.X <= Right && point.Y >= Bottom && point.Y <= Top;
145  }
146  }
147 }
Vector BottomRight
Suorakaiteen oikean alanurkan koordinaatti
Vector TopLeft
Suorakaiteen vasemman ylänurkan koordinaatti
double Bottom
Suorakaiteen alareunen Y
Vector TopRight
Suorakaiteen oikean ylönurkan koordinaatti
bool IsInside(Vector point)
Tutkitaan onko piste suorakaiteen sisällä
double Right
Suorakaiteen oikean reunan X
double Width
Suorakaiteen leveyse
double Y
Suorakaiteen keskipisteen Y
Vector BottomLeft
Suorakaiteen vasemman alanurkan koordinaatti
double Left
Suorakaiteen vasemman reunan X
double Y
Definition: Vector.cs:275
double Top
Suorakaiteen yläreunan Y
double Height
Suorakaiteen korkeus
BoundingRectangle(double x, double y, double w, double h)
Alustetaan suorakaide keskipisteen ja koon perusteella
double X
Definition: Vector.cs:274
double X
Suorakaiteen keskipisteen X
Vector Size
Suorakaiteen koko
Vector Position
Suorakaiteen keskipiste
2D-vektori.
Definition: Vector.cs:56
double DiagonalLength
Suorakaiteen lävistäjän pituus
BoundingRectangle(Vector topLeft, Vector bottomRight)
Alustetaan suorakaiden nurkkapisteiden avulla