class MAGES::MeshDeformations::DistanceJointSolver

Overview

A solver for DistanceJoint constraints. More…

class DistanceJointSolver: public MAGES::MeshDeformations::BaseConstraintSolver
{
public:
    // classes

    class BaseCommand;
    class DeregisterCommand;
    class RegisterCommand;

    // properties

    int SolverIterations;
    float RelaxationFactor;
    bool DebugGizmos;

    // methods

    static DistanceJointSolver GetOrCreateSolverOfWorld(PhysicsWorld physicsWorld);
    override void DeregisterSolver();
    override void RegisterSolver();
    void RegisterJoint(DistanceJoint distanceJoint);
    void DeregisterJoint(DistanceJoint distanceJoint);
    override JobHandle DispatchSolveJob(in float timeStep, JobHandle dependsOn);
};

Inherited Members

public:
    // properties

    PhysicsWorld PhysicsWorld;
    int ExecutionOrder;

    // methods

    virtual void RegisterSolver();
    virtual void DeregisterSolver();
    JobHandle DispatchSolveJob(in float timeStep, JobHandle dependsOn);

Detailed Documentation

A solver for DistanceJoint constraints.

Properties

int SolverIterations

Gets or sets the solver substeps.

float RelaxationFactor

Gets or sets the relaxation factor.

bool DebugGizmos

Gets or sets a value indicating whether to enable gizmos for debugging.

Methods

static DistanceJointSolver GetOrCreateSolverOfWorld(PhysicsWorld physicsWorld)

Gets or creates a DistanceJointSolver for the given PhysicsWorld.

Parameters:

physicsWorld

The physics world with which this solver will be registered.

Returns:

The created or existing DistanceJointSolver of the given physicsWorld.

void RegisterJoint(DistanceJoint distanceJoint)

Registers a joint to be solved with this solver.

Parameters:

distanceJoint

The joint.

void DeregisterJoint(DistanceJoint distanceJoint)

Deregisters a joint.

Parameters:

distanceJoint

The joint.