class MAGES::MeshDeformations::PinJointSolver

Overview

A solver for Pin Joint Constraints. More…

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

    class BaseCommand;
    class DeregisterCommand;
    class RegisterCommand;

    // properties

    int SolverIterations;
    float RelaxationFactor;
    bool DebugGizmos;

    // methods

    static PinJointSolver GetOrCreateSolverOfWorld(PhysicsWorld physicsWorld);
    override void DeregisterSolver();
    override void RegisterSolver();
    void RegisterJoint(PinJoint pinJoint);
    void DeregisterJoint(PinJoint pinJoint);
    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 Pin Joint 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 PinJointSolver GetOrCreateSolverOfWorld(PhysicsWorld physicsWorld)

Gets or creates a PinJointSolver for the given PhysicsWorld.

Parameters:

physicsWorld

The physics world with which this solver will be registered.

Returns:

The created or existing PinJointSolver of the given physicsWorld.

void RegisterJoint(PinJoint pinJoint)

Registers a joint to be solved with this solver.

Parameters:

pinJoint

The joint.

void DeregisterJoint(PinJoint pinJoint)

Deregisters a joint.

Parameters:

pinJoint

The joint.