C# Class SolidworksAddinFramework.Geometry.CurveExtension

ファイルを表示 Open project: Weingartner/SolidworksAddinFramework

Public Methods

Method Description
ApplyTransform ( this body, Matrix4x4 t ) : void
ClosestDistanceBetweenTwoCurves ( IMathUtility m, ICurve curve0, ICurve curve1 ) : EdgeDistance
ClosestPointOn ( this curve, System.Vector3 v ) : PointParam
ClosestPointOn ( this curve, double x, double y, double z ) : PointParam
ClosestPointTangentOn ( this curve, System.Vector3 v ) : PointDirection3
ClosestPointToRay ( this curve, PointDirection3 ray, double tol = 1e-9 ) : PointParamWithRayProjection
CreateTrimmedCurve ( this curve, double t0, double t1 ) : ICurve
CurveBoundsDoubleArray ( this curve ) : double[]
DisplayUndoable ( this curve, IModelDoc2 doc, Color color, double thickness, double chordTol = 1e-6, double lengthTol, int layer ) : IDisposable
DisplayUndoable ( this line, IModelDoc2 doc, Color color, double thickness = 1, int layer ) : IDisposable
Domain ( this curve ) : double[]

Return the domain of the curve. ie the [startParam, endParam]

EndPoint ( this curve, int derivatives ) : List
EndPoint ( this curve ) : System.Vector3
FindMinimumRadius ( this curve ) : MinimumRadiusResult
GetCurveTs ( this edge ) : ICurve
GetPlanePoints ( this curve, double position, System.Vector3 &pNormal, System.Vector3 &pCurve, System.Vector3 &pAxis ) : void
GetPointsByLength ( this curve, double pointDistance, DoubleRange flankHelixDomain = null ) : List

Approximation. Be carefull

GetTessPoints ( this curve, double chordTol, double lengthTol, RangeDouble domain = null ) : System.Vector3[]
Length ( this curve ) : double

Return the length of the curve between the start and end parameters.

PointAt ( this curve, double t, int derivatives ) : List

Return the point at parameter value t on the curve.

PointAt ( this curve, double t ) : System.Vector3
PointAtDistanceFrom ( this c, System.Vector3 p0, double distance ) : double
PointAtDistanceFrom ( this c, double t0, double distance ) : double

Should solve

PointParamAt ( this curve, double t ) : PointParam
PointTangentAt ( this c, double t ) : PointDirection3
ReverseEvaluate ( this curve, System.Vector3 p ) : double
StartPoint ( this curve, int derivatives ) : List
StartPoint ( this curve ) : System.Vector3

Private Methods

Method Description
GetTessPotsAsVector3 ( ICurve curve, double chordTol, double lengthTol, double startPt, double midPt ) : IEnumerable
MakeEdge ( IList edge ) : Edge3

Method Details

ApplyTransform() public static method

public static ApplyTransform ( this body, Matrix4x4 t ) : void
body this
t Matrix4x4
return void

ClosestDistanceBetweenTwoCurves() public static method

public static ClosestDistanceBetweenTwoCurves ( IMathUtility m, ICurve curve0, ICurve curve1 ) : EdgeDistance
m IMathUtility
curve0 ICurve
curve1 ICurve
return EdgeDistance

ClosestPointOn() public static method

public static ClosestPointOn ( this curve, System.Vector3 v ) : PointParam
curve this
v System.Vector3
return PointParam

ClosestPointOn() public static method

public static ClosestPointOn ( this curve, double x, double y, double z ) : PointParam
curve this
x double
y double
z double
return PointParam

ClosestPointTangentOn() public static method

public static ClosestPointTangentOn ( this curve, System.Vector3 v ) : PointDirection3
curve this
v System.Vector3
return PointDirection3

ClosestPointToRay() public static method

public static ClosestPointToRay ( this curve, PointDirection3 ray, double tol = 1e-9 ) : PointParamWithRayProjection
curve this
ray PointDirection3
tol double
return PointParamWithRayProjection

CreateTrimmedCurve() public static method

public static CreateTrimmedCurve ( this curve, double t0, double t1 ) : ICurve
curve this
t0 double
t1 double
return ICurve

CurveBoundsDoubleArray() public static method

public static CurveBoundsDoubleArray ( this curve ) : double[]
curve this
return double[]

DisplayUndoable() public static method

public static DisplayUndoable ( this curve, IModelDoc2 doc, Color color, double thickness, double chordTol = 1e-6, double lengthTol, int layer ) : IDisposable
curve this
doc IModelDoc2
color Color
thickness double
chordTol double
lengthTol double
layer int
return IDisposable

DisplayUndoable() public static method

public static DisplayUndoable ( this line, IModelDoc2 doc, Color color, double thickness = 1, int layer ) : IDisposable
line this
doc IModelDoc2
color Color
thickness double
layer int
return IDisposable

Domain() public static method

Return the domain of the curve. ie the [startParam, endParam]
public static Domain ( this curve ) : double[]
curve this
return double[]

EndPoint() public static method

public static EndPoint ( this curve, int derivatives ) : List
curve this
derivatives int
return List

EndPoint() public static method

public static EndPoint ( this curve ) : System.Vector3
curve this
return System.Vector3

FindMinimumRadius() public static method

public static FindMinimumRadius ( this curve ) : MinimumRadiusResult
curve this
return MinimumRadiusResult

GetCurveTs() public static method

public static GetCurveTs ( this edge ) : ICurve
edge this
return ICurve

GetPlanePoints() public static method

public static GetPlanePoints ( this curve, double position, System.Vector3 &pNormal, System.Vector3 &pCurve, System.Vector3 &pAxis ) : void
curve this
position double
pNormal System.Vector3
pCurve System.Vector3
pAxis System.Vector3
return void

GetPointsByLength() public static method

Approximation. Be carefull
public static GetPointsByLength ( this curve, double pointDistance, DoubleRange flankHelixDomain = null ) : List
curve this
pointDistance double
flankHelixDomain AForge.DoubleRange
return List

GetTessPoints() public static method

public static GetTessPoints ( this curve, double chordTol, double lengthTol, RangeDouble domain = null ) : System.Vector3[]
curve this
chordTol double
lengthTol double
domain RangeDouble
return System.Vector3[]

Length() public static method

Return the length of the curve between the start and end parameters.
public static Length ( this curve ) : double
curve this
return double

PointAt() public static method

Return the point at parameter value t on the curve.
public static PointAt ( this curve, double t, int derivatives ) : List
curve this
t double
derivatives int
return List

PointAt() public static method

public static PointAt ( this curve, double t ) : System.Vector3
curve this
t double
return System.Vector3

PointAtDistanceFrom() public static method

public static PointAtDistanceFrom ( this c, System.Vector3 p0, double distance ) : double
c this
p0 System.Vector3
distance double
return double

PointAtDistanceFrom() public static method

Should solve
public static PointAtDistanceFrom ( this c, double t0, double distance ) : double
c this
t0 double
distance double
return double

PointParamAt() public static method

public static PointParamAt ( this curve, double t ) : PointParam
curve this
t double
return PointParam

PointTangentAt() public static method

public static PointTangentAt ( this c, double t ) : PointDirection3
c this
t double
return PointDirection3

ReverseEvaluate() public static method

public static ReverseEvaluate ( this curve, System.Vector3 p ) : double
curve this
p System.Vector3
return double

StartPoint() public static method

public static StartPoint ( this curve, int derivatives ) : List
curve this
derivatives int
return List

StartPoint() public static method

public static StartPoint ( this curve ) : System.Vector3
curve this
return System.Vector3