Grasshopper2.Displaynamespace

Types

Grasshopper2.Display.ArgumentType
Grasshopper2.Display.ArrowStyle
Grasshopper2.Display.CurveKind
Enumerates the possible curve kinds
Grasshopper2.Display.Dash8
Represents a curve dash pattern to be used in rhino viewport display. Due to implementation details in DisplayPen this struct accepts at most 8 dash-gap-dash-gap values.
Grasshopper2.Display.Dashes
Grasshopper2.Display.Defaults
Grasshopper2.Display.DisplayBag

A growing collection of display shapes.

Bags are used to collect display geometry. Once full, a bag emits a DisplayCache object which contains the minimum amount of necessary data needed to draw shapes. Bags are mutable, caches are immutable.

Grasshopper2.Display.DisplayCache
An immutable collection of display shapes.
Grasshopper2.Display.DisplayCurve
A display curve with optional overrides.
Grasshopper2.Display.DisplayField
A display field.
Grasshopper2.Display.DisplayMesh
Per-mesh display recipe: the user-authored inputs needed to draw a single mesh.

Pipeline position: DisplayBag (mutable) collects these during a solve; DisplayCache (immutable) snapshots them when the solve commits; MeshDisplayCache resolves them per frame into CachedDrawItems for GPU submission.

DisplayMesh vs CachedDrawItem: DisplayMesh carries the inputs, raw user overrides (colour, glow, style, meta). CachedDrawItem carries the resolved per-frame output (ShadedDisplaySettings for C, RuntimeFaceGuise for B, plus GPU bookkeeping) and gets rebuilt when caches go stale.

They're separate because resolving depends on things that aren't intrinsic to the mesh: the active Guises preset, selection state, expiration fade factor, and the MeshDisplayCache.UseNewShader rollout gate. Those vary at different cadences than the recipe; keeping the stages separate lets us cache the cheap inputs (this struct plus ShaderMetaOverrides) while regenerating the resolved state only when the external inputs change.

Do NOT try to collapse DisplayMesh into CachedDrawItem (this has been attempted repeatedly). It is tempting once ApplyMeta leaves the hot loop, on the grounds that resolution becomes cheap — but cost was never the blocker. The two sit at opposite ends of the resolve step and have incompatible lifetimes: DisplayMesh is a resolution-FREE recipe, exactly one per source mesh, owned by the immutable per-object cache and stable across frames; CachedDrawItem is the resolution-BAKED output (guise/selection/fade/ shader-path applied), regenerated every static-list rebuild, possibly many per source mesh, owned by the shared static list and kept in sorted order. The same DisplayMesh feeds multiple viewports, frames and fade states, so it cannot carry per-frame resolved state. Merging them would force one struct to hold both a stable cross-frame recipe and volatile per-frame output — two lifetimes in one box. Keep them separate.

Grasshopper2.Display.DisplayPlane
A display plane with optional overrides.
Grasshopper2.Display.DisplayRule
A single display rule to override the existing display settings.
Grasshopper2.Display.DisplayRuleEditor
A window for editing the display rules part of a document.
Grasshopper2.Display.DisplayRules
A collection of DisplayRule where later rules override earlier ones.
Grasshopper2.Display.DisplayText
A display text with optional overrides.
Grasshopper2.Display.DisplayVector
A display vector with optional overrides.
Grasshopper2.Display.DisplayWidget
A scale invariant viewport widget made up of several curves.
Grasshopper2.Display.FaceKind
Enumerates the possible curve kinds
Grasshopper2.Display.GridPlane3d
Represents an orthogonal grid with custom domain and codomain intervals.
Grasshopper2.Display.Guise
A collection of properties used for displaying shapes in the Rhino viewports.
Grasshopper2.Display.GuiseCurve
Display properties for curve geometry.
Grasshopper2.Display.GuiseFacet
Display properties for face geometry.
Grasshopper2.Display.GuisePlane
Display properties for plane geometry.
Grasshopper2.Display.GuisePoint
Display properties for point symbols.
Grasshopper2.Display.Guises
A set of related Guise states for use in both standard and selected drawing.
Grasshopper2.Display.RuleArgument
Rule argument. Used for instructions like RuleCommand.Tint to specify *what* colour ought to be assigned. Arguments are sometimes optional and sometimes not even allowed (for example with RuleCommand.Show instructions). In rule notation, arguments are always written last, following a " -> " substring.
Grasshopper2.Display.RuleCommand
Enumerates all possible display rule commands.
Grasshopper2.Display.RuleFilter
A selector pattern for applying rules to specific values.
Grasshopper2.Display.Stripe
Shaded hatch styling.
Grasshopper2.Display.Symbol
A subset of PointStyle enum with native support on Grasshopper.
Grasshopper2.Display.TestDisplaySettings
Grasshopper2.Display.TestWireframe