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 solid and wire arrowheads in world units. Must be finite and positive. Default is 0.2. Clamped to half the arrow length for short arrows.

public float ArrowHeadSize { get; init; }

Property Value

float

ArrowSegments

Number of sides around arrowheads and solid shafts, from 3 to 256. Default is 12. Higher values make arrows look rounder.

public int ArrowSegments { get; init; }

Property Value

int

ArrowShaftRadius

Radius of solid arrow shafts in world units. Must be finite and positive. Default is 0.025. Reduced for short arrows or small arrowheads. Does not affect wire arrows.

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

The default drawing settings. Individual properties describe their default values.

public static DebugDrawSettings Default { get; }

Property Value

DebugDrawSettings

FrameSize

Length of each coordinate-frame axis in world units. Must be finite and positive. Default is 1. Changing this does not resize arrowheads or shafts.

public float FrameSize { get; init; }

Property Value

float

GuideSize

Size of constraint guides in world units. Must be finite and positive. Default is 1.

public float GuideSize { get; init; }

Property Value

float

Remarks

Sets angular guide radii, plane half extents, constraint arrow lengths, and stop marker sizes. Physical distances and linear limits keep their actual sizes. Coordinate frames, arrowheads, shafts, and anchor markers have separate size properties.

LowerLimitColor

Color of lower limits. Default is red.

public uint LowerLimitColor { get; init; }

Property Value

uint

Origin

Optional position for angular guides, in world space. Default is null.

public JVector? Origin { get; init; }

Property Value

JVector?

Remarks

When null, angular constraints use body 1's position, or body 2's if body 1 is NullBody. Joints with a ball socket use its anchor. This does not move positional anchors or the frames drawn by FixedAngle.

PointRadius

Radius of spherical anchor markers in world units. 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