DragHit

References
public sealed class DragHit
All the relevant data to do with a single ray-shape hit.

Properties

ActiveCurves

#
public Curve[] ActiveCurves { get; }
Gets the active curves to draw as dragging hints. These mark what the drag will directly affect and are drawn solid.

HintingCurves

#
public Curve[] HintingCurves { get; }
Gets the hinting curves to draw as dragging hints. These provide context (the shape being edited, guide lines) and are drawn thin and dashed.

LargePoints

#
public Point3d[] LargePoints { get; }
Gets the large handle points to draw as dragging hints. These mark the location(s) under the cursor which would be dragged.

Object

#
public IDragAware Object { get; }
Gets the object which was hit. This is _probably_ also an IParameter, but that is not really guaranteed.

ParameterOnRay

#
public double ParameterOnRay { get; }
Parameter on ray closest to shape.

PointOnRay

#
public Point3d PointOnRay { get; }
Gets the point on the ray at the given parameter.

PointOnShape

#
public Point3d PointOnShape { get; }
Point on shape closest to ray.

Separation

#
public double Separation { get; }
Gets the visual separation (in pixels) between the ray point and the shape point.

Site

#
public Site Site { get; }
Gets the site within the persistent data tree which was hit.

SmallPoints

#
public Point3d[] SmallPoints { get; }
Gets the small handle points to draw as dragging hints. These mark draggable locations that are not the current target.

Tag

#
public object Tag { get; set; }
Optional tag for additional hit information. This will need to be populated by some sort of value when sub-objects are dragged.

Tree

#
public ITree Tree { get; }
Gets the persistent data at the moment of ray hit.

Methods

AddCurves

#
public void AddCurves(PointKind kind, params Curve[] curves)
Add one or more curves at the given kind. PointKind.None adds nothing.
kind (PointKind)
curves (params Curve[])

AddCurves

#
public void AddCurves(PointKind kind, params Line[] lines)
Add one or more lines at the given kind. PointKind.None adds nothing.
kind (PointKind)
lines (params Line[])

AddPoints

#
public void AddPoints(PointKind kind, params Point3d[] points)
Add one or more handle points at the given kind. PointKind.None adds nothing.
kind (PointKind)
points (params Point3d[])