Skip to content

DiGi.Geometry.Planar.Interfaces

github-actions[bot] edited this page Jul 15, 2026 · 2 revisions

DiGi.Geometry.Planar.Interfaces Namespace

Interfaces

IBooleanOperationResult2D Interface

Defines a contract for a 2D boolean operation result.

public interface IBooleanOperationResult2D : DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Derived
BooleanOperationResult2D
DifferenceResult2D
UnionResult2D
IDifferenceResult2D
IUnionResult2D

Implements DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Properties

IBooleanOperationResult2D.BooleanOpertaionType Property

Gets the type of the boolean operation.

DiGi.Geometry.Core.Enums.BooleanOpertaionType BooleanOpertaionType { get; }

Property Value

BooleanOpertaionType

IBooleanOperationResult2D.Count Property

Gets the total number of 2D geometries in the result.

int Count { get; }

Property Value

System.Int32

IBooleanOperationResult2D.this[int] Property

Gets the 2D geometry at the specified index.

DiGi.Geometry.Planar.Interfaces.IGeometry2D? this[int index] { get; }

Parameters

index System.Int32

The zero-based index of the geometry to retrieve.

Property Value

DiGi.Geometry.Planar.Interfaces.IGeometry2D

Methods

IBooleanOperationResult2D.Any() Method

Determines whether any 2D geometries are present in the result.

bool Any();

Returns

System.Boolean
true if any geometries are present; otherwise, false.

IBooleanOperationResult2D.Contains<T>() Method

Determines whether the result contains any geometry of type T.

bool Contains<T>()
    where T : DiGi.Geometry.Planar.Interfaces.IGeometry2D;

Type parameters

T

The type of geometry to search for, which must implement the DiGi.Geometry.Planar.Interfaces.IGeometry2D interface.

Returns

System.Boolean
true if an object of type T is present; otherwise, false.

IBooleanOperationResult2D.GetGeometry2Ds<T>() Method

Retrieves a list of 2D geometries of the specified type T.

System.Collections.Generic.List<T>? GetGeometry2Ds<T>()
    where T : DiGi.Geometry.Planar.Interfaces.IGeometry2D;

Type parameters

T

The type of geometry to retrieve, which must implement the DiGi.Geometry.Planar.Interfaces.IGeometry2D interface.

Returns

System.Collections.Generic.List<T>
A list of geometries of type T, or null if no geometries are present.

IBoundable2D Interface

public interface IBoundable2D : DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<DiGi.Geometry.Planar.Classes.Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable

Derived
Circle2D
Ellipse2D
Mesh2D
Polygon2D
PolygonalFace2D
Rectangle2D
Segment2D
Segmentable2D
IClosedCurve2D
IEllipse2D
IFace2D
IPolygonal2D
IPolygonalFace2D
ISegmentable2D

Implements DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable

Methods

IBoundable2D.GetBoundingBox() Method

Gets the bounding box of the geometry.

DiGi.Geometry.Planar.Classes.BoundingBox2D? GetBoundingBox();

Returns

BoundingBox2D
The bounding box if available; otherwise, null.

IClosedCurve2D Interface

public interface IClosedCurve2D : DiGi.Geometry.Core.Interfaces.IClosedCurve, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<DiGi.Geometry.Planar.Classes.Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.ICurve2D, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, DiGi.Geometry.Planar.Interfaces.IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable

Derived
Circle2D
Ellipse2D
Polygon2D
Rectangle2D
IEllipse2D
IPolygonal2D

Implements DiGi.Geometry.Core.Interfaces.IClosedCurve, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.ICurve2D, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable

Methods

IClosedCurve2D.GetArea() Method

Calculates the area of the closed curve.

double GetArea();

Returns

System.Double
The area of the closed curve.

IClosedCurve2D.GetInternalPoint(double) Method

Gets an internal point of the closed curve.

DiGi.Geometry.Planar.Classes.Point2D? GetInternalPoint(double tolerance=1E-06);

Parameters

tolerance System.Double

The distance tolerance.

Returns

Point2D
An internal point if found; otherwise, null.

IClosedCurve2D.InRange(Point2D, double) Method

Determines whether the specified point is within range of the closed curve.

bool InRange(DiGi.Geometry.Planar.Classes.Point2D? point2D, double tolerance=1E-06);

Parameters

point2D Point2D

The point to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if the point is in range; otherwise, false.

IClosedCurve2D.Inside(Point2D, double) Method

Determines whether the specified point is inside the closed curve.

bool Inside(DiGi.Geometry.Planar.Classes.Point2D? point2D, double tolerance=1E-06);

Parameters

point2D Point2D

The point to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if the point is inside; otherwise, false.

IDifferenceResult2D Interface

Defines a contract for a 2D boolean difference operation result.

public interface IDifferenceResult2D : DiGi.Geometry.Planar.Interfaces.IBooleanOperationResult2D, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Derived
DifferenceResult2D

Implements IBooleanOperationResult2D, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

IEllipse2D Interface

public interface IEllipse2D : DiGi.Geometry.Planar.Interfaces.IClosedCurve2D, DiGi.Geometry.Core.Interfaces.IClosedCurve, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<DiGi.Geometry.Planar.Classes.Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.ICurve2D, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, DiGi.Geometry.Planar.Interfaces.IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable

Derived
Circle2D
Ellipse2D

Implements IClosedCurve2D, DiGi.Geometry.Core.Interfaces.IClosedCurve, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.ICurve2D, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable

Properties

IEllipse2D.Center Property

Gets the center point of the ellipse.

DiGi.Geometry.Planar.Classes.Point2D? Center { get; }

Property Value

Point2D

IFace2D Interface

public interface IFace2D : DiGi.Geometry.Core.Interfaces.IFace, DiGi.Geometry.Core.Interfaces.ISurface, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<DiGi.Geometry.Planar.Classes.Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, DiGi.Geometry.Planar.Interfaces.ISurface2D

Derived
PolygonalFace2D
IPolygonalFace2D

Implements DiGi.Geometry.Core.Interfaces.IFace, DiGi.Geometry.Core.Interfaces.ISurface, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, DiGi.Geometry.Planar.Interfaces.ISurface2D

Methods

IFace2D.ClosestPoint(Point2D, double) Method

Gets the closest point on the face to the specified point.

DiGi.Geometry.Planar.Classes.Point2D? ClosestPoint(DiGi.Geometry.Planar.Classes.Point2D? point2D, double tolerance=1E-06);

Parameters

point2D Point2D

The point to check.

tolerance System.Double

The distance tolerance.

Returns

Point2D
The closest point if found; otherwise, null.

IFace2D.GetInternalPoint(double) Method

Gets an internal point of the face.

DiGi.Geometry.Planar.Classes.Point2D? GetInternalPoint(double tolerance=1E-06);

Parameters

tolerance System.Double

The distance tolerance.

Returns

Point2D
An internal point if found; otherwise, null.

IFace2D.InRange(Point2D, double) Method

Determines whether the specified point is within range of the face.

bool InRange(DiGi.Geometry.Planar.Classes.Point2D? point2D, double tolerance=1E-06);

Parameters

point2D Point2D

The point to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if the point is in range; otherwise, false.

IFace2D.Inside(Point2D, double) Method

Determines whether the specified point is inside the face.

bool Inside(DiGi.Geometry.Planar.Classes.Point2D? point2D, double tolerance=1E-06);

Parameters

point2D Point2D

The point to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if the point is inside; otherwise, false.

IIntersectionResult2D Interface

Defines a contract for a 2D intersection operation result.

public interface IIntersectionResult2D : DiGi.Geometry.Core.Interfaces.IIntersectionResult, DiGi.Geometry.Core.Interfaces.IBooleanOperationResult, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Derived
IntersectionResult2D

Implements DiGi.Geometry.Core.Interfaces.IIntersectionResult, IBooleanOperationResult, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Methods

IIntersectionResult2D.GetGeometry2Ds<T>() Method

Retrieves a list of 2D geometries of the specified type T.

System.Collections.Generic.List<T>? GetGeometry2Ds<T>()
    where T : DiGi.Geometry.Planar.Interfaces.IGeometry2D;

Type parameters

T

The type of geometry to retrieve, which must implement the DiGi.Geometry.Planar.Interfaces.IGeometry2D interface.

Returns

System.Collections.Generic.List<T>
A list of geometries of type T, or null if no geometries are present.

ILinear2D Interface

public interface ILinear2D : DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<DiGi.Geometry.Planar.Classes.Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.IGeometry2D

Derived
Line2D
Ray2D
Segment2D

Implements DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.IGeometry2D

Properties

ILinear2D.Direction Property

Gets the direction vector of the linear geometry.

DiGi.Geometry.Planar.Classes.Vector2D? Direction { get; }

Property Value

Vector2D

Methods

ILinear2D.ClosestPoint(Point2D) Method

Gets the closest point on the linear geometry to the specified point.

DiGi.Geometry.Planar.Classes.Point2D? ClosestPoint(DiGi.Geometry.Planar.Classes.Point2D? point2D);

Parameters

point2D Point2D

The point to check.

Returns

Point2D
The closest point if found; otherwise, null.

ILinear2D.Collinear(ILinear2D, double) Method

Determines whether this linear geometry is collinear with another linear geometry.

bool Collinear(DiGi.Geometry.Planar.Interfaces.ILinear2D? linear2D, double tolerance=1E-06);

Parameters

linear2D ILinear2D

The other linear geometry to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if the geometries are collinear; otherwise, false.

ILinear2D.Distance(Point2D) Method

Calculates the distance from the specified point to the linear geometry.

double Distance(DiGi.Geometry.Planar.Classes.Point2D? point2D);

Parameters

point2D Point2D

The point to calculate the distance from.

Returns

System.Double
The shortest distance between the point and the linear geometry.

ILinear2D.On(Point2D, double) Method

Determines whether the specified point lies on the linear geometry.

bool On(DiGi.Geometry.Planar.Classes.Point2D? point2D, double tolerance=1E-06);

Parameters

point2D Point2D

The point to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if the point is on the linear geometry; otherwise, false.

ILinear2D.Project(Point2D) Method

Projects the specified point onto the linear geometry.

DiGi.Geometry.Planar.Classes.Point2D? Project(DiGi.Geometry.Planar.Classes.Point2D? point2D);

Parameters

point2D Point2D

The point to project.

Returns

Point2D
The projected point if found; otherwise, null.

IPolygonal2D Interface

public interface IPolygonal2D : DiGi.Geometry.Planar.Interfaces.IClosedCurve2D, DiGi.Geometry.Core.Interfaces.IClosedCurve, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<DiGi.Geometry.Planar.Classes.Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.ICurve2D, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, DiGi.Geometry.Planar.Interfaces.IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.ISegmentable2D, DiGi.Geometry.Core.Interfaces.ISegmentable<DiGi.Geometry.Planar.Classes.Point2D>, DiGi.Geometry.Core.Interfaces.ISegmentable, DiGi.Geometry.Core.Interfaces.IInvertible, DiGi.Geometry.Planar.Interfaces.IInvertible2D

Derived
Polygon2D
Rectangle2D

Implements IClosedCurve2D, DiGi.Geometry.Core.Interfaces.IClosedCurve, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.ICurve2D, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable, ISegmentable2D, DiGi.Geometry.Core.Interfaces.ISegmentable<Point2D>, DiGi.Geometry.Core.Interfaces.ISegmentable, DiGi.Geometry.Core.Interfaces.IInvertible, DiGi.Geometry.Planar.Interfaces.IInvertible2D

Methods

IPolygonal2D.GetCentroid() Method

Gets the centroid of the polygonal geometry.

DiGi.Geometry.Planar.Classes.Point2D? GetCentroid();

Returns

Point2D
The centroid point if found; otherwise, null.

IPolygonal2D.InRange(BoundingBox2D, double) Method

Determines whether the polygonal geometry is within range of the specified bounding box.

bool InRange(DiGi.Geometry.Planar.Classes.BoundingBox2D? boundingBox2D, double tolerance=1E-06);

Parameters

boundingBox2D BoundingBox2D

The bounding box to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if in range; otherwise, false.

IPolygonal2D.InRange(ISegmentable2D, double) Method

Determines whether the polygonal geometry is within range of the specified segmentable geometry.

bool InRange(DiGi.Geometry.Planar.Interfaces.ISegmentable2D? segmentable2D, double tolerance=1E-06);

Parameters

segmentable2D ISegmentable2D

The segmentable geometry to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if in range; otherwise, false.

IPolygonal2D.Inside(ISegmentable2D, double) Method

Determines whether the specified segmentable geometry is inside the polygonal geometry.

bool Inside(DiGi.Geometry.Planar.Interfaces.ISegmentable2D? segmentable2D, double tolerance=1E-06);

Parameters

segmentable2D ISegmentable2D

The segmentable geometry to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if inside; otherwise, false.

IPolygonal2D.Triangulate(double) Method

Triangulates the polygonal geometry into a list of triangles.

System.Collections.Generic.List<DiGi.Geometry.Planar.Classes.Triangle2D>? Triangulate(double tolerance=1E-09);

Parameters

tolerance System.Double

The distance tolerance.

Returns

System.Collections.Generic.List<Triangle2D>
A list of triangles representing the triangulation; otherwise, null.

IPolygonalFace2D Interface

public interface IPolygonalFace2D : DiGi.Geometry.Planar.Interfaces.IFace2D<DiGi.Geometry.Planar.Interfaces.IPolygonal2D>, DiGi.Geometry.Planar.Interfaces.IFace2D, DiGi.Geometry.Core.Interfaces.IFace, DiGi.Geometry.Core.Interfaces.ISurface, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<DiGi.Geometry.Planar.Classes.Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, DiGi.Geometry.Planar.Interfaces.ISurface2D, DiGi.Geometry.Core.Interfaces.IFace<DiGi.Geometry.Planar.Interfaces.IPolygonal2D>, DiGi.Geometry.Planar.Interfaces.IInvertible2D, DiGi.Geometry.Core.Interfaces.IInvertible

Derived
PolygonalFace2D

Implements DiGi.Geometry.Planar.Interfaces.IFace2D<IPolygonal2D>, IFace2D, DiGi.Geometry.Core.Interfaces.IFace, DiGi.Geometry.Core.Interfaces.ISurface, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<Vector2D>, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, DiGi.Geometry.Planar.Interfaces.ISurface2D, DiGi.Geometry.Core.Interfaces.IFace<IPolygonal2D>, DiGi.Geometry.Planar.Interfaces.IInvertible2D, DiGi.Geometry.Core.Interfaces.IInvertible

Properties

IPolygonalFace2D.Edges Property

Gets the list of polygonal edges that define the face.

System.Collections.Generic.List<DiGi.Geometry.Planar.Interfaces.IPolygonal2D>? Edges { get; }

Property Value

System.Collections.Generic.List<IPolygonal2D>

Methods

IPolygonalFace2D.OnEdge(Point2D, double) Method

Determines whether the specified point lies on an edge of the face.

bool OnEdge(DiGi.Geometry.Planar.Classes.Point2D? point2D, double tolerance=1E-06);

Parameters

point2D Point2D

The point to check.

tolerance System.Double

The distance tolerance.

Returns

System.Boolean
True if the point is on an edge; otherwise, false.

IPolygonalFace2D.Orient(Nullable<Orientation>, Nullable<Orientation>) Method

Orients the edges of the face based on the specified orientations for external and internal edges.

bool Orient(System.Nullable<DiGi.Geometry.Core.Enums.Orientation> externalEdgeOrientation, System.Nullable<DiGi.Geometry.Core.Enums.Orientation> internalEdgeOrientation);

Parameters

externalEdgeOrientation System.Nullable<Orientation>

The orientation for the external edge.

internalEdgeOrientation System.Nullable<Orientation>

The orientation for internal edges (holes).

Returns

System.Boolean
True if orientation was successful; otherwise, false.

IPolygonalFace2D.Triangulate(double) Method

Triangulates the polygonal face into a list of triangles.

System.Collections.Generic.List<DiGi.Geometry.Planar.Classes.Triangle2D>? Triangulate(double tolerance=1E-09);

Parameters

tolerance System.Double

The distance tolerance.

Returns

System.Collections.Generic.List<Triangle2D>
A list of triangles representing the triangulation; otherwise, null.

ISegmentable2D Interface

public interface ISegmentable2D : DiGi.Geometry.Core.Interfaces.ISegmentable<DiGi.Geometry.Planar.Classes.Point2D>, DiGi.Geometry.Core.Interfaces.ISegmentable, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Core.Interfaces.IInvertible, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<DiGi.Geometry.Planar.Classes.Vector2D>, DiGi.Geometry.Planar.Interfaces.ICurve2D, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, DiGi.Geometry.Planar.Interfaces.IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.IInvertible2D

Derived
Polygon2D
Rectangle2D
Segment2D
Segmentable2D
IPolygonal2D

Implements DiGi.Geometry.Core.Interfaces.ISegmentable<Point2D>, DiGi.Geometry.Core.Interfaces.ISegmentable, DiGi.Geometry.Core.Interfaces.IGeometry, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Geometry.Core.Interfaces.IInvertible, DiGi.Geometry.Core.Interfaces.ICurve, DiGi.Geometry.Core.Interfaces.IMovable, DiGi.Geometry.Planar.Interfaces.IMovable2D, DiGi.Geometry.Core.Interfaces.IMovable<Vector2D>, DiGi.Geometry.Planar.Interfaces.ICurve2D, DiGi.Geometry.Planar.Interfaces.IGeometry2D, DiGi.Geometry.Planar.Interfaces.ITransformable2D, DiGi.Geometry.Core.Interfaces.ITransformable<DiGi.Geometry.Planar.Interfaces.ITransform2D>, DiGi.Geometry.Core.Interfaces.ITransformable, DiGi.Geometry.Planar.Interfaces.ICollectable2D, DiGi.Geometry.Core.Interfaces.ICollectable, IBoundable2D, DiGi.Geometry.Core.Interfaces.IBoundable, DiGi.Geometry.Planar.Interfaces.IInvertible2D

Methods

ISegmentable2D.GetSegments() Method

Gets the segments that compose the segmentable geometry.

System.Collections.Generic.List<DiGi.Geometry.Planar.Classes.Segment2D>? GetSegments();

Returns

System.Collections.Generic.List<Segment2D>
A list of segments; otherwise, null.

IUnionResult2D Interface

Defines a contract for a 2D boolean union operation result.

public interface IUnionResult2D : DiGi.Geometry.Planar.Interfaces.IBooleanOperationResult2D, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Derived
UnionResult2D

Implements IBooleanOperationResult2D, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Clone this wiki locally