Table of Contents

Class Edge

Namespace
SearchAThing.Sci
Assembly
netcore-sci.dll

interface implemented by some type of geometries used in Loop such as Line3D, Arc3D and Circle3D

public abstract class Edge : Geometry
Inheritance
Edge
Derived
Inherited Members

Constructors

Edge(GeometryType)

protected Edge(GeometryType type)

Parameters

type GeometryType

Properties

SGeomFrom

GeomFrom (Sense:true) or GeomTo (Sense:false)

public Vector3D SGeomFrom { get; }

Property Value

Vector3D

SGeomTo

GeomTo (Sense:true) or GeomFrom (Sense:false)

public Vector3D SGeomTo { get; }

Property Value

Vector3D

Sense

allow to store info about sense; when false SGeomFrom = GeomTo and SGeomTo = GeomFrom

public bool Sense { get; protected set; }

Property Value

bool

Methods

CheckSense(double, Edge)

states if this and/or next given edge need to be toggled in their sense to allow glueing. precedence is given to toggling sense of the next one. returns null if no solution.

public (bool needToggleSenseThis, bool needToggleSenseNext)? CheckSense(double tol, Edge nextEdge)

Parameters

tol double
nextEdge Edge

Returns

(bool needToggleSenseThis, bool needToggleSenseNext)?

CopyFrom(Edge)

protected void CopyFrom(Edge other)

Parameters

other Edge

EdgeContainsPoint(double, Vector3D)

States if edge contains given point on its perimeter

public abstract bool EdgeContainsPoint(double tol, Vector3D pt)

Parameters

tol double
pt Vector3D

Returns

bool

EndpointMatches(double, Vector3D)

public bool EndpointMatches(double tol, Vector3D endpoint1)

Parameters

tol double
endpoint1 Vector3D

Returns

bool

EndpointMatches(double, Vector3D, Vector3D)

public bool EndpointMatches(double tol, Vector3D endpoint1, Vector3D endpoint2)

Parameters

tol double
endpoint1 Vector3D
endpoint2 Vector3D

Returns

bool

MoveEnd(double, EdgeEnd, Vector3D)

extends edge endpoint toward new given one.
returns null if edge can't extends toward new given end.

public abstract Edge? MoveEnd(double tol, EdgeEnd end, Vector3D newEnd)

Parameters

tol double
end EdgeEnd
newEnd Vector3D

Returns

Edge

Offset(double, Vector3D, double)

build offseted version of this edge toward refPt given for the amount specified by offset.

public abstract Edge Offset(double tol, Vector3D refPt, double offset)

Parameters

tol double
refPt Vector3D
offset double

Returns

Edge

OtherEndpoint(double, Vector3D)

public Vector3D OtherEndpoint(double tol, Vector3D endpoint)

Parameters

tol double
endpoint Vector3D

Returns

Vector3D

ProgeCadScript(bool)

public abstract string ProgeCadScript(bool final = true)

Parameters

final bool

Returns

string

Project(double, Plane3D)

project this edge to given plane

public abstract Edge Project(double tol, Plane3D prjPlane)

Parameters

tol double
prjPlane Plane3D

Returns

Edge

Project(double, Vector3D, bool)

project given pt to this edge.

public abstract Vector3D? Project(double tol, Vector3D pt, bool segmentMode = true)

Parameters

tol double
pt Vector3D
segmentMode bool

Returns

Vector3D

QCadScript(bool)

qcad 2d script

public abstract string QCadScript(bool final = true)

Parameters

final bool

adds QQ command

Returns

string

ToString(int)

public abstract string ToString(int digits)

Parameters

digits int

Returns

string

ToggleSense()

Toggle Sense flag so that SGeomFrom, SGeomTo equals to GeomFrom, GeomTo (Sense:true) or GeomTo, GeomFrom (Sense:false)

public Geometry ToggleSense()

Returns

Geometry