Class Face
- Namespace
- SearchAThing.Sci
- Assembly
- netcore-sci.dll
Planar face with one (outer) or more loops (inners)
public class Face
- Inheritance
-
Face
- Inherited Members
Constructors
Face(Loop)
build a face with given outer loop
public Face(Loop loop)
Parameters
loop
Loop
Face(Plane3D, IEnumerable<Loop>)
planar face with outer and optional inner loops
public Face(Plane3D plane, IEnumerable<Loop> loops)
Parameters
plane
Plane3Dplane where loop lies
loops
IEnumerable<Loop>loops ( first is the outer )
Properties
Area
(cached) area of face ( outer loop area - inner loops area )
public double Area { get; }
Property Value
Loops
public IReadOnlyList<Loop> Loops { get; }
Property Value
Plane
public Plane3D Plane { get; }
Property Value
Methods
Boolean(double, Face, BooleanMode, DxfDocument?)
boolean operation with this and other loops. precondition: must coplanar
public IEnumerable<Face> Boolean(double tol, Face other, Face.BooleanMode mode = BooleanMode.Intersect, DxfDocument? debugDxf = null)
Parameters
tol
doubleother
Facemode
Face.BooleanModedebugDxf
DxfDocument
Returns
Contains(double, Edge, bool, LoopContainsEdgeMode)
states if given edge is contained into this face
public bool Contains(double tol, Edge edge, bool evalOnlyOuter, LoopContainsEdgeMode mode = LoopContainsEdgeMode.InsideExcludedPerimeter)
Parameters
tol
doublelength tolerance
edge
Edgeedge to test
evalOnlyOuter
boolif true and edge is contained into and inner the test returns false
mode
LoopContainsEdgeModetype of contains test
Returns
DxfEntities(double)
public IEnumerable<Polyline2D> DxfEntities(double tol)
Parameters
tol
double
Returns
- IEnumerable<Polyline2D>
Move(Vector3D)
return new face translated of given delta
public Face Move(Vector3D delta)
Parameters
delta
Vector3D
Returns
Overlap(double, Edge)
test if edge overlap any of loop edges of this face
public bool Overlap(double tol, Edge edge)
Parameters
Returns
Project(double, Plane3D)
project this face edges to the given projection plane
public Face Project(double tol, Plane3D prjPlane)
Parameters
Returns
RotateAs(double, Vector3D, Vector3D)
rotate cs and edges like point from rotate toward to
public Face RotateAs(double tol, Vector3D from, Vector3D to)
Parameters
Returns
ToHatch(double, HatchPattern, bool)
create hatch with outer and inner boundaries
public Hatch? ToHatch(double tol, HatchPattern pattern, bool associative = true)
Parameters
Returns
- Hatch
ToString()
public override string ToString()