public bool Equals(object obj) { if (obj is PBRVector2) { PBRPoint2 v = (PBRPoint2)obj; return(this._x == v.X && this._y == v.Y); } return(false); }
public PBRVector2 Offset(PBRPoint2 p) { PBRVector2 o = p - _pMin; if (_pMax.X > _pMin.X) { o.X /= _pMax.X - _pMin.X; } if (_pMax.Y > _pMin.Y) { o.Y /= _pMax.Y - _pMin.Y; } return(o); }
public PBRPoint2 Lerp(PBRPoint2 p) { return(new PBRPoint2(Mathf.Lerp(p.X, _pMin.X, _pMax.X), Mathf.Lerp(p.Y, _pMin.Y, _pMax.Y))); }
public BoundingBox2D(PBRPoint2 p1, PBRPoint2 p2) { _pMin = new PBRPoint2(p1); _pMax = new PBRPoint2(p2); }
public BoundingBox2D(PBRPoint2 p) { _pMin = _pMax = new PBRPoint2(p); }
public BoundingBox2D() { _pMax = new PBRPoint2(float.PositiveInfinity, float.PositiveInfinity); _pMin = new PBRPoint2(0, 0); }
public bool Inside(PBRPoint2 p, BoundingBox2D box) { return((p.X >= box.PMin.X && p.X <= box.PMax.X) && (p.Y >= box.PMin.Y && p.Y <= box.PMax.Y)); }
public void BoundingSphere(PBRPoint2 p, float rad) { p = (_pMin + _pMax) / 2; rad = Inside(p, this) ? p.Distance(p, _pMax) : 0; }
public float Distance(PBRPoint2 p1, PBRPoint2 p2) { return((p2 - p1).Length()); }
public PBRPoint2(PBRPoint2 v) : base(v) { }
public float DistanceSquare(PBRPoint2 p1, PBRPoint2 p2) { return((p2 - p1).LengthSquared()); }