private void NewRay(Ray ray, int i) { ParamPoint closestIntersect = null; for (int j = 0; j < polygons[i].segments.Count; j++) { ParamPoint intersect = Intersection.GetIntersection(ray, polygons[i].segments[j]); if (intersect != null) { if (closestIntersect != null) { if (intersect.T1 < closestIntersect.T1) { closestIntersect = intersect; } } else { closestIntersect = intersect; } } } if (closestIntersect != null) { ray.Mouse = new PointF(closestIntersect.Intersection.X, closestIntersect.Intersection.Y); } }
public static ParamPoint GetMarkedPoint(string strMarkedPointName, CorridorState corridorState) { if (corridorState == null) { throw new ArgumentNullException("corridorState"); } ParamPointCollection paramsPoint = corridorState.ParamsPoint; ParamPoint GetMarkedPoint = null; if (paramsPoint != null) { GetMarkedPoint = paramsPoint.get_Item(Strings.UCase(strMarkedPointName)); } return(GetMarkedPoint); }