public GetNearest ( System.Windows.Media.Media3D.Point3D p3 ) : System.Windows.Media.Media3D.Point3D | ||
p3 | System.Windows.Media.Media3D.Point3D | /// The point. /// |
return | System.Windows.Media.Media3D.Point3D |
/// <summary> /// Gets the nearest point on the translation axis. /// </summary> /// <param name="position"> /// The position (in screen coordinates). /// </param> /// <param name="hitPlaneOrigin"> /// The hit plane origin (world coordinate system). /// </param> /// <param name="hitPlaneNormal"> /// The hit plane normal (world coordinate system). /// </param> /// <returns> /// The nearest point (world coordinates) or null if no point could be found. /// </returns> private Point3D?GetNearestPoint(Point position, Point3D hitPlaneOrigin, Vector3D hitPlaneNormal) { var hpp = this.GetHitPlanePoint(position, hitPlaneOrigin, hitPlaneNormal); if (hpp == null) { return(null); } var ray = new Ray3D(this.ToWorld(this.Position), this.ToWorld(this.Direction)); return(ray.GetNearest(hpp.Value)); }
/// <summary> /// Gets the nearest point on the translation axis. /// </summary> /// <param name="position"> /// The position (in screen coordinates). /// </param> /// <param name="hitPlaneOrigin"> /// The hit plane origin (world coordinate system). /// </param> /// <param name="hitPlaneNormal"> /// The hit plane normal (world coordinate system). /// </param> /// <returns> /// The nearest point (world coordinates) or null if no point could be found. /// </returns> private Point3D? GetNearestPoint(Point position, Point3D hitPlaneOrigin, Vector3D hitPlaneNormal) { var hpp = this.GetHitPlanePoint(position, hitPlaneOrigin, hitPlaneNormal); if (hpp == null) { return null; } var ray = new Ray3D(this.ToWorld(this.Position), this.ToWorld(this.Direction)); return ray.GetNearest(hpp.Value); }