|
void | Awake () |
|
void | Start () |
|
void | PerformUnitTests () |
|
void | PickRandomPositions (out Vector3 particlePositionOne, out Vector3 particlePositionTwo) |
|
void | Test_SolveStretchConstraint (int iterations, Vector3 particlePositionOne, Vector3 particlePositionTwo, BSM.Quaternion orientation, bool logDeltaResults=false) |
|
void | CheckStretchConstraintDeviation (Vector3 particlePositionOne, Vector3 particlePositionTwo, BSM.Quaternion orientation, BSM.Quaternion e_3, float rodElementLength) |
|
void | CheckRodElementLength (Vector3 particlePositionOne, Vector3 particlePositionTwo, float defaultRodElementLength) |
|
|
static void | LogDeltaResults (in Vector3 deltaPositionOne, in Vector3 deltaPositionTwo, in BSM.Quaternion deltaOrientation) |
|
◆ Awake()
void GuidewireSim.UnitTest_SolveStretchConstraint.Awake |
( |
| ) |
|
|
private |
◆ CheckRodElementLength()
void GuidewireSim.UnitTest_SolveStretchConstraint.CheckRodElementLength |
( |
Vector3 |
particlePositionOne, |
|
|
Vector3 |
particlePositionTwo, |
|
|
float |
defaultRodElementLength |
|
) |
| |
|
private |
◆ CheckStretchConstraintDeviation()
void GuidewireSim.UnitTest_SolveStretchConstraint.CheckStretchConstraintDeviation |
( |
Vector3 |
particlePositionOne, |
|
|
Vector3 |
particlePositionTwo, |
|
|
BSM.Quaternion |
orientation, |
|
|
BSM.Quaternion |
e_3, |
|
|
float |
rodElementLength |
|
) |
| |
|
private |
◆ LogDeltaResults()
static void GuidewireSim.UnitTest_SolveStretchConstraint.LogDeltaResults |
( |
in Vector3 |
deltaPositionOne, |
|
|
in Vector3 |
deltaPositionTwo, |
|
|
in BSM.Quaternion |
deltaOrientation |
|
) |
| |
|
staticprivate |
◆ PerformUnitTests()
void GuidewireSim.UnitTest_SolveStretchConstraint.PerformUnitTests |
( |
| ) |
|
|
private |
◆ PickRandomPositions()
void GuidewireSim.UnitTest_SolveStretchConstraint.PickRandomPositions |
( |
out Vector3 |
particlePositionOne, |
|
|
out Vector3 |
particlePositionTwo |
|
) |
| |
|
private |
Picks the first particle position uniformly distributed with \( x,y,z \in [-5, 5] \) and the second uniformly distributed around the first position with a uniformly distributed distance in \( [rodElementLength - maximalDistanceOffset, rodElementLength + maximalDistanceOffset] \).
- Note
- The method for picking the second position is inspired by https://math.stackexchange.com/q/50482
- Requirements:
Picks the first particle position uniformly distributed so that \( x,y,z \in [-5, 5] \).
Picks a distance between the two particles that is uniformly distributed in the interval \( [rodElementLength - maximalDistanceOffset, rodElementLength + maximalDistanceOffset] \).
Picks the second particle position uniformly distributed on the surface of the sphere with center particlePositionOne
and radius startDistance
.
◆ Start()
void GuidewireSim.UnitTest_SolveStretchConstraint.Start |
( |
| ) |
|
|
private |
◆ Test_SolveStretchConstraint()
void GuidewireSim.UnitTest_SolveStretchConstraint.Test_SolveStretchConstraint |
( |
int |
iterations, |
|
|
Vector3 |
particlePositionOne, |
|
|
Vector3 |
particlePositionTwo, |
|
|
BSM.Quaternion |
orientation, |
|
|
bool |
logDeltaResults = false |
|
) |
| |
|
private |
◆ constraintSolvingStep
The component ConstraintSolvingStep that is responsible for correcting the predictions with the collision and model constraints.
◆ executeUnitTest
bool GuidewireSim.UnitTest_SolveStretchConstraint.executeUnitTest = false |
|
private |
Whether or not to perform all unit tests of this script.
◆ mathHelper
MathHelper GuidewireSim.UnitTest_SolveStretchConstraint.mathHelper |
|
private |
The component MathHelper that provides math related helper functions.
◆ rodElementLength
float GuidewireSim.UnitTest_SolveStretchConstraint.rodElementLength = 10f |
|
private |
◆ sampleSize
int GuidewireSim.UnitTest_SolveStretchConstraint.sampleSize = 10 |
|
private |
The number of value-pairs the test is executed with. E.g. if sampleSize is 10, then the unit test is executed with 10 randomly drawn value-pairs. A higher number needs more time to execute.
The documentation for this class was generated from the following file: