Class DCurve3BoxTree
tree of Oriented Boxes (OBB) for a DCurve3.
Construction is sequential, ie pairs of segments are merged into boxes, then pairs of boxes, and so on
[TODO] is this the best strategy? is there maybe some kind of sorting/sweepline algo?
[TODO] would it make more sense to have more than just 2 segments at lowest level?
Inheritance
DCurve3BoxTree
Namespace: g3
Assembly: cs.temp.dll.dll
Syntax
public class DCurve3BoxTree
Constructors
DCurve3BoxTree(DCurve3)
Declaration
public DCurve3BoxTree(DCurve3 curve)
Parameters
Type |
Name |
Description |
DCurve3 |
curve |
|
Fields
Curve
Declaration
Field Value
Methods
Distance(Vector3d)
Declaration
public double Distance(Vector3d pt)
Parameters
Returns
DistanceSquared(Vector3d)
Declaration
public double DistanceSquared(Vector3d pt)
Parameters
Returns
FindClosestRayIntersction(Ray3d, Double, out Int32, out Double)
Find min-distance between ray and curve. Pass max_dist if you only care about a certain distance
TODO: not 100% sure this is working properly... ?
Declaration
public bool FindClosestRayIntersction(Ray3d ray, double radius, out int hitSegment, out double fRayT)
Parameters
Returns
NearestPoint(Vector3d)
Declaration
public Vector3d NearestPoint(Vector3d pt)
Parameters
Returns
SquaredDistance(Ray3d, out Int32, out Double, out Double, Double)
Find min-distance between ray and curve. Pass max_dist if you only care about a certain distance
TODO: not 100% sure this is working properly... ?
Declaration
public double SquaredDistance(Ray3d ray, out int iNearSeg, out double fNearSegT, out double fRayT, double max_dist = 1.7976931348623157E+308)
Parameters
Returns
SquaredDistance(Vector3d, out Int32, out Double, Double)
Declaration
public double SquaredDistance(Vector3d pt, out int iNearSeg, out double fNearSegT, double max_dist = 1.7976931348623157E+308)
Parameters
Returns