Zdeněk Borovec
ad0599f481
A sizeable commit, I know, but I wanted to try and write a few aspects before deciding to settle on a system. This one seems to be fine so far. But I would still not rely on it not changing.
57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
namespace GeometriCS
|
|
{
|
|
/// <summary>
|
|
/// Intersection between a plane and a line3, double precision.
|
|
/// </summary>
|
|
public class IntersectionPlaneToLine3d
|
|
{
|
|
/// <summary>
|
|
/// Possible statuses the intersection can be.
|
|
/// </summary>
|
|
public enum Statuses
|
|
{
|
|
/// <summary>
|
|
/// Intersection is valid.
|
|
/// </summary>
|
|
SUCCESS,
|
|
/// <summary>
|
|
/// The line is on a plane coplanar to the intersection plane.
|
|
/// </summary>
|
|
COPLANAR,
|
|
}
|
|
|
|
/// <summary>
|
|
/// The intersecting plane.
|
|
/// </summary>
|
|
public Planed Plane { get; }
|
|
|
|
/// <summary>
|
|
/// The intersecting line.
|
|
/// </summary>
|
|
public Line3d Line { get; }
|
|
|
|
/// <summary>
|
|
/// Status of the intersection.
|
|
/// </summary>
|
|
public Statuses Status { get; }
|
|
|
|
/// <summary>
|
|
/// Point on the intersection of the plane and the line.
|
|
/// </summary>
|
|
public Vector3d? Result { get; }
|
|
|
|
/// <summary>
|
|
/// Constructor for Planed to Line3d intersection.
|
|
/// </summary>
|
|
/// <param name="plane">The intersecting plane.</param>
|
|
/// <param name="line">The intersecting line.</param>
|
|
public IntersectionPlaneToLine3d(Planed plane, Line3d line)
|
|
{
|
|
Plane = plane;
|
|
Line = line;
|
|
|
|
// Process the intersection
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|