Table of Contents

Struct DebugDrawSettings

Namespace
Jitter2
Assembly
Jitter2.dll

Controls the size, detail, and colors of debug visualizations. A default-initialized value uses the same settings as Default.

public readonly struct DebugDrawSettings
Inherited Members

Properties

ArrowHeadSize

Length of arrowheads in world units, independently of arrow length, GuideSize, FrameSize, and shaft thickness. Default is 0.2. Used by both solid and wire arrows. Heads are clamped to half the arrow length; their base radius is 40% of their length. Must be finite and greater than zero.

public float ArrowHeadSize { get; init; }

Property Value

float

ArrowSegments

Number of segments around each arrowhead base and solid shaft, from 3 to 256. Default is 12. A value of 4 draws a square base; higher values approximate a circle. Wire arrows connect every base vertex to the tip.

public int ArrowSegments { get; init; }

Property Value

int

ArrowShaftRadius

Radius of solid arrow shafts in world units, independently of arrow length, GuideSize, and FrameSize. Default is 0.025. Must be finite and greater than zero. The radius is clamped to 5% of the arrow length and half the arrowhead's base radius. Wire arrows are unaffected.

public float ArrowShaftRadius { get; init; }

Property Value

float

AxisXColor

Color of a frame's local X axis. Default is light red.

public uint AxisXColor { get; init; }

Property Value

uint

AxisYColor

Color of a frame's local Y axis. Default is light green.

public uint AxisYColor { get; init; }

Property Value

uint

AxisZColor

Color of a frame's local Z axis. Default is light blue.

public uint AxisZColor { get; init; }

Property Value

uint

CurrentColor

Color of current anchors, directions, and shape geometry. Default is white.

public uint CurrentColor { get; init; }

Property Value

uint

Default

Default settings: guide size 1, frame size 1, point radius 0.06, 48 curve segments, 12 arrow segments, shape detail 3, solid arrows, green guides, red lower limits, white current pose, and RGB orientation frames.

public static DebugDrawSettings Default { get; }

Property Value

DebugDrawSettings

FrameSize

Length of each coordinate-frame axis, in world units, independently of GuideSize. Arrowhead size and shaft radius are independent. Must be finite and greater than zero. Default is 1.

public float FrameSize { get; init; }

Property Value

float

GuideSize

Radius of angular guides and half extent of plane patches, in world units. Also sets constraint arrow lengths and stop marker sizes. Coordinate frames use FrameSize instead. Arrowheads, shafts, and anchor spheres use ArrowHeadSize, ArrowShaftRadius, and PointRadius independently. Physical distances and linear limits are never scaled. Must be finite and greater than zero. Default is 1.

public float GuideSize { get; init; }

Property Value

float

LowerLimitColor

Color of lower limits. Default is red.

public uint LowerLimitColor { get; init; }

Property Value

uint

Origin

Optional world-space origin for angular guides. By default they use body 1's position, or body 2's position when body 1 is World.NullBody. Joints with a ball socket use its anchor. FixedAngle's frames always use the bodies' positions. Positional constraints always use their real anchors.

public JVector? Origin { get; init; }

Property Value

JVector?

PointRadius

Radius of spherical anchor markers in world units, independently of GuideSize. Default is 0.06. Must be finite and nonnegative. Zero hides the markers.

public float PointRadius { get; init; }

Property Value

float

ReferenceColor

Color of reference guides. Default is green.

public uint ReferenceColor { get; init; }

Property Value

uint

Segments

Number of segments per circle, cone boundary, or built-in round shape, from 8 to 256. Default is 48. Arrowheads use ArrowSegments.

public int Segments { get; init; }

Property Value

int

ShapeSubdivisions

Drawing detail for point clouds and custom shapes that use an approximate surface. Must be at least 1. Default is 3. Each additional level increases the drawing cost roughly fourfold. Built-in round shapes use Segments instead.

public int ShapeSubdivisions { get; init; }

Property Value

int

SolidArrows

Draws arrows and orientation frames as solid shafts with cone heads. Default is true. Set to false for wire arrows.

public bool SolidArrows { get; init; }

Property Value

bool

UpperLimitColor

Color of upper and fixed limits. Default is green.

public uint UpperLimitColor { get; init; }

Property Value

uint