public bool Contain(Point2D point, CoordPlane plane) { Point2D c0 = new Point2D(), c1 = new Point2D(), c2 = new Point2D(), c3 = new Point2D(); switch (plane) { case CoordPlane.XY: c0 = new Point2D(Corners[0].X, Corners[0].Y); c1 = new Point2D(Corners[1].X, Corners[1].Y); c2 = new Point2D(Corners[2].X, Corners[2].Y); c3 = new Point2D(Corners[3].X, Corners[3].Y); break; case CoordPlane.XZ: c0 = new Point2D(Corners[0].X, Corners[0].Z); c1 = new Point2D(Corners[1].X, Corners[1].Z); c2 = new Point2D(Corners[2].X, Corners[2].Z); c3 = new Point2D(Corners[3].X, Corners[3].Z); break; case CoordPlane.YZ: c0 = new Point2D(Corners[0].Y, Corners[0].Z); c1 = new Point2D(Corners[1].Y, Corners[1].Z); c2 = new Point2D(Corners[2].Y, Corners[2].Z); c3 = new Point2D(Corners[3].Y, Corners[3].Z); break; } return(InsideQuadrangle(c0, c1, c2, c3, point)); }
public CellFace Face(CoordPlane plane, FaceDistance distance) { switch (plane) { case CoordPlane.XY: switch (distance) { case FaceDistance.Near: return(TopFace()); case FaceDistance.Middle: return(MiddleTopFace()); default: /*FaceDistance.Far:*/ return(BottomFace()); } case CoordPlane.XZ: switch (distance) { case FaceDistance.Near: return(LeftFace()); case FaceDistance.Middle: return(MiddleLeftFace()); default: /*FaceDistance.Far:*/ return(RightFace()); } default: // CoordPlane.YZ: switch (distance) { case FaceDistance.Near: return(NearFace()); case FaceDistance.Middle: return(MiddleFrontFace()); default: /*FaceDistance.Far:*/ return(FarFace()); } } }
public Point2D Point2D(CoordPlane plane) { switch (plane) { case CoordPlane.XY: return(new Point2D(X, Y)); case CoordPlane.XZ: return(new Point2D(X, Z)); default: //CoordPlane.XY: return(new Point2D(Y, Z)); } }
public PointF ToPointF(CoordPlane plane) { switch (plane) { case CoordPlane.XY: return(new PointF((float)X, (float)Y)); case CoordPlane.XZ: return(new PointF((float)X, (float)Z)); default: //CoordPlane.XY: return(new PointF((float)Y, (float)Z)); } }