Donner 0.8.0-pre
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
donner::editor::RopeSimulationOptions Struct Reference

Tunable parameters for text-view reference rope simulation. More...

#include "donner/editor/RopeSimulation.h"

Public Attributes

int segmentCount = 18
 Number of simulated rope segments.
int constraintIterations = 7
 Distance-constraint solve iterations per frame.
double gravityPxPerSec2 = 55.0
 Downward acceleration in screen pixels per second.
double damping = 0.985
 Verlet velocity retained per 60 Hz simulation step.
double scrollResponse = 0.35
 Extra inertia impulse from source-pane scrolling.
double maxScrollImpulsePx = 4.0
 Maximum per-frame scroll impulse in screen pixels.
double idleSwayPxPerSec2 = 18.0
 Low-speed horizontal idle sway acceleration.
double idleSwayFrequencyHz = 0.45
 Idle sway frequency.
double idleSwayMaxSpeed = 6.0
 Average substep particle motion under which sway applies.
double maxDeltaTime = 1.0 / 60.0
 Largest fixed simulation substep.
double settleTimeSeconds = 5.0
 Target damping window after a disturbance.
double settleMotionThresholdPx = 0.01
 Average substep motion treated as still.
double settleStillnessSeconds = 0.25
 Stillness duration required before sleeping.
double settleRestDistanceThresholdPx = 0.5
 Max distance from rest shape before sleep.
double overdueDamping = 0.45
 Velocity retained after missed settle target.
double overdueDampingRampSeconds = 1.5
 Seconds to ramp into overdue damping.
double catenaryRestoringForcePerSec2 = 540.0
 Restoring force toward catenary rest shape.
double bezierTension = 1.0
 Quadratic Bézier smoothing tension in [0, 1].
double catenarySlackRatio = 0.10
 Extra catenary length as a ratio of endpoint distance.
double catenaryMinSlackPx = 18.0
 Minimum extra catenary length in screen pixels.
double catenaryMaxSlackPx = 70.0
 Maximum extra catenary length in screen pixels.
double initialImpulsePx = 0.2
 Subtle initial velocity displacement in screen pixels.
double endpointFollow = 0.82
 Fraction of endpoint movement carried into the body.
double endpointImpulse = 0.02
 Extra body velocity from endpoint movement.
double maxEndpointImpulsePx = 1.0
 Clamp for per-frame endpoint-movement impulse.
double endpointMotionVelocityRetention = 0.35
 Velocity retained after endpoints move.
double endpointCatenaryBlend = 0.10
 Body blend toward new catenary rest shape.

Detailed Description

Tunable parameters for text-view reference rope simulation.

Member Data Documentation

◆ bezierTension

double donner::editor::RopeSimulationOptions::bezierTension = 1.0

Quadratic Bézier smoothing tension in [0, 1].

◆ catenaryMaxSlackPx

double donner::editor::RopeSimulationOptions::catenaryMaxSlackPx = 70.0

Maximum extra catenary length in screen pixels.

◆ catenaryMinSlackPx

double donner::editor::RopeSimulationOptions::catenaryMinSlackPx = 18.0

Minimum extra catenary length in screen pixels.

◆ catenaryRestoringForcePerSec2

double donner::editor::RopeSimulationOptions::catenaryRestoringForcePerSec2 = 540.0

Restoring force toward catenary rest shape.

◆ catenarySlackRatio

double donner::editor::RopeSimulationOptions::catenarySlackRatio = 0.10

Extra catenary length as a ratio of endpoint distance.

◆ constraintIterations

int donner::editor::RopeSimulationOptions::constraintIterations = 7

Distance-constraint solve iterations per frame.

◆ damping

double donner::editor::RopeSimulationOptions::damping = 0.985

Verlet velocity retained per 60 Hz simulation step.

◆ endpointCatenaryBlend

double donner::editor::RopeSimulationOptions::endpointCatenaryBlend = 0.10

Body blend toward new catenary rest shape.

◆ endpointFollow

double donner::editor::RopeSimulationOptions::endpointFollow = 0.82

Fraction of endpoint movement carried into the body.

◆ endpointImpulse

double donner::editor::RopeSimulationOptions::endpointImpulse = 0.02

Extra body velocity from endpoint movement.

◆ endpointMotionVelocityRetention

double donner::editor::RopeSimulationOptions::endpointMotionVelocityRetention = 0.35

Velocity retained after endpoints move.

◆ gravityPxPerSec2

double donner::editor::RopeSimulationOptions::gravityPxPerSec2 = 55.0

Downward acceleration in screen pixels per second.

◆ idleSwayFrequencyHz

double donner::editor::RopeSimulationOptions::idleSwayFrequencyHz = 0.45

Idle sway frequency.

◆ idleSwayMaxSpeed

double donner::editor::RopeSimulationOptions::idleSwayMaxSpeed = 6.0

Average substep particle motion under which sway applies.

◆ idleSwayPxPerSec2

double donner::editor::RopeSimulationOptions::idleSwayPxPerSec2 = 18.0

Low-speed horizontal idle sway acceleration.

◆ initialImpulsePx

double donner::editor::RopeSimulationOptions::initialImpulsePx = 0.2

Subtle initial velocity displacement in screen pixels.

◆ maxDeltaTime

double donner::editor::RopeSimulationOptions::maxDeltaTime = 1.0 / 60.0

Largest fixed simulation substep.

◆ maxEndpointImpulsePx

double donner::editor::RopeSimulationOptions::maxEndpointImpulsePx = 1.0

Clamp for per-frame endpoint-movement impulse.

◆ maxScrollImpulsePx

double donner::editor::RopeSimulationOptions::maxScrollImpulsePx = 4.0

Maximum per-frame scroll impulse in screen pixels.

◆ overdueDamping

double donner::editor::RopeSimulationOptions::overdueDamping = 0.45

Velocity retained after missed settle target.

◆ overdueDampingRampSeconds

double donner::editor::RopeSimulationOptions::overdueDampingRampSeconds = 1.5

Seconds to ramp into overdue damping.

◆ scrollResponse

double donner::editor::RopeSimulationOptions::scrollResponse = 0.35

Extra inertia impulse from source-pane scrolling.

◆ segmentCount

int donner::editor::RopeSimulationOptions::segmentCount = 18

Number of simulated rope segments.

◆ settleMotionThresholdPx

double donner::editor::RopeSimulationOptions::settleMotionThresholdPx = 0.01

Average substep motion treated as still.

◆ settleRestDistanceThresholdPx

double donner::editor::RopeSimulationOptions::settleRestDistanceThresholdPx = 0.5

Max distance from rest shape before sleep.

◆ settleStillnessSeconds

double donner::editor::RopeSimulationOptions::settleStillnessSeconds = 0.25

Stillness duration required before sleeping.

◆ settleTimeSeconds

double donner::editor::RopeSimulationOptions::settleTimeSeconds = 5.0

Target damping window after a disturbance.


The documentation for this struct was generated from the following file: