2024-04-18 01:29:47 +02:00
|
|
|
|
namespace GeometriCS
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Intersection between two planes, double precision.
|
|
|
|
|
/// </summary>
|
2024-04-19 00:42:56 +02:00
|
|
|
|
public class IntersectionPlaneToPlaned
|
2024-04-18 01:29:47 +02:00
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Possible statuses the intersection can be.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public enum Statuses
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Intersection is valid.
|
|
|
|
|
/// </summary>
|
|
|
|
|
SUCCESS,
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The two intersecting planes are coplanar.
|
|
|
|
|
/// </summary>
|
|
|
|
|
COPLANAR,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// First of the intersecting planes.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Planed Plane1 { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The second intersecting plane.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Planed Plane2 { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Status of the intersection.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Statuses Status { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Resulting intersection line between the two planes.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Line3d? Result { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Constructor for Planed to Planed intersection.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="plane1">First of the intersecting planes.</param>
|
|
|
|
|
/// <param name="plane2">Second of the intersecting planes.</param>
|
|
|
|
|
public IntersectionPlaneToPlaned(Planed plane1, Planed plane2)
|
|
|
|
|
{
|
|
|
|
|
Plane1 = plane1;
|
|
|
|
|
Plane2 = plane2;
|
|
|
|
|
|
|
|
|
|
// Process the intersection.
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|