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
SGeomTo
GeomTo (Sense:true) or GeomFrom (Sense:false)
public Vector3D SGeomTo { get; }
Property Value
Sense
allow to store info about sense; when false SGeomFrom = GeomTo and SGeomTo = GeomFrom
public bool Sense { get; protected set; }
Property Value
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
Returns
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
Returns
EndpointMatches(double, Vector3D)
public bool EndpointMatches(double tol, Vector3D endpoint1)
Parameters
Returns
EndpointMatches(double, Vector3D, Vector3D)
public bool EndpointMatches(double tol, Vector3D endpoint1, Vector3D endpoint2)
Parameters
Returns
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
Returns
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
Returns
OtherEndpoint(double, Vector3D)
public Vector3D OtherEndpoint(double tol, Vector3D endpoint)
Parameters
Returns
ProgeCadScript(bool)
public abstract string ProgeCadScript(bool final = true)
Parameters
final
bool
Returns
Project(double, Plane3D)
project this edge to given plane
public abstract Edge Project(double tol, Plane3D prjPlane)
Parameters
Returns
Project(double, Vector3D, bool)
project given pt to this edge.
public abstract Vector3D? Project(double tol, Vector3D pt, bool segmentMode = true)
Parameters
Returns
QCadScript(bool)
qcad 2d script
public abstract string QCadScript(bool final = true)
Parameters
final
booladds QQ command
Returns
ToString(int)
public abstract string ToString(int digits)
Parameters
digits
int
Returns
ToggleSense()
Toggle Sense flag so that SGeomFrom, SGeomTo equals to GeomFrom, GeomTo (Sense:true) or GeomTo, GeomFrom (Sense:false)
public Geometry ToggleSense()