Class PinDrawing
A named, scale-less anchor. Displaying it draws nothing; the engine reports where the anchor landed in each frame, its depth and whether scene geometry hides it, through FrameReady as a PinRecord of the same name. Use it to place external UI (an HTML element, say) over a 3D point of the canvas.
public sealed class PinDrawing : IDisplayee, IExpandToBox3d, IDisposable
- Inheritance
-
PinDrawing
- Implements
- Inherited Members
- Extension Methods
Remarks
The wrapper owns no GL object and has no thread affinity: it may be created, displayed and disposed from any thread. Names must be unique within a frame (prefix them by owner); they are UTF-8 and truncated to 63 bytes. Pins displayed while a picking id is set on the Bind carry that id in their record.
Constructors
PinDrawing(string)
Constructor.
public PinDrawing(string name)
Parameters
namestringpin name; unique within a frame
Properties
IsAlwaysOnTop
Display the anchor as never occluded by geometry: the record is on-canvas or not, no depth probe. Set it for a pin paired with an always-on-top StringDrawing at the same point, otherwise the label's own rectangle hides the pin.
public bool IsAlwaysOnTop { get; set; }
Property Value
Name
The pin name as given to the constructor (the record carries at most 63 UTF-8 bytes of it).
public string Name { get; }
Property Value
ProbeBiasPx
Occlusion bias in pixel units of depth: geometry closer to the viewer than the anchor by less than this does not count as hiding it, so an anchor placed on a surface stays visible. The engine also applies a floor of a few depth-buffer LSB.
public double ProbeBiasPx { get; set; }
Property Value
Methods
Display(Bind)
Display function called in DispEngine rendering loop.
public void Display(Bind bind)
Parameters
bindBindBind with DispEngine. See Bind.
Display(Bind, Vec3d)
Display the anchor at p under the current model matrix.
public void Display(Bind bind, Vec3d p)
Parameters
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
ExpandToBox3d(Box3d)
Expands the destination box. This function is usually used to compute the bounding box of elements.
public void ExpandToBox3d(Box3d dst)
Parameters
dstBox3dDestination box
~PinDrawing()
protected ~PinDrawing()