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
loopLoop
Face(Plane3D, IEnumerable<Loop>)
planar face with outer and optional inner loops
public Face(Plane3D plane, IEnumerable<Loop> loops)
Parameters
planePlane3Dplane where loop lies
loopsIEnumerable<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
toldoubleotherFacemodeFace.BooleanModedebugDxfDxfDocument
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
toldoublelength tolerance
edgeEdgeedge to test
evalOnlyOuterboolif true and edge is contained into and inner the test returns false
modeLoopContainsEdgeModetype of contains test
Returns
DxfEntities(double)
public IEnumerable<Polyline2D> DxfEntities(double tol)
Parameters
toldouble
Returns
- IEnumerable<Polyline2D>
Move(Vector3D)
return new face translated of given delta
public Face Move(Vector3D delta)
Parameters
deltaVector3D
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()