GeometriCS/intersections/IntersectionPlaneToLine3.cs
Zdeněk Borovec ad0599f481 Decided on architecture
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.
2024-04-18 01:29:47 +02:00

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();
}
}
}