Table of Contents

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 Plane3D

plane 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

double

Loops

public IReadOnlyList<Loop> Loops { get; }

Property Value

IReadOnlyList<Loop>

Plane

public Plane3D Plane { get; }

Property Value

Plane3D

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 double
other Face
mode Face.BooleanMode
debugDxf DxfDocument

Returns

IEnumerable<Face>

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 double

length tolerance

edge Edge

edge to test

evalOnlyOuter bool

if true and edge is contained into and inner the test returns false

mode LoopContainsEdgeMode

type of contains test

Returns

bool

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

Face

Overlap(double, Edge)

test if edge overlap any of loop edges of this face

public bool Overlap(double tol, Edge edge)

Parameters

tol double
edge Edge

Returns

bool

Project(double, Plane3D)

project this face edges to the given projection plane

public Face Project(double tol, Plane3D prjPlane)

Parameters

tol double
prjPlane Plane3D

Returns

Face

RotateAs(double, Vector3D, Vector3D)

rotate cs and edges like point from rotate toward to

public Face RotateAs(double tol, Vector3D from, Vector3D to)

Parameters

tol double
from Vector3D
to Vector3D

Returns

Face

ToHatch(double, HatchPattern, bool)

create hatch with outer and inner boundaries

public Hatch? ToHatch(double tol, HatchPattern pattern, bool associative = true)

Parameters

tol double
pattern HatchPattern
associative bool

Returns

Hatch

ToString()

public override string ToString()

Returns

string