Versions in this module Expand all Collapse all v1 v1.0.0 Oct 16, 2023 Changes in this version + type Cone struct + func NewCone(bodyA, bodyB IBody, axisA, axisB *math32.Vector3, angle, maxForce float32) *Cone + func (ce *Cone) Angle() float32 + func (ce *Cone) AxisA() math32.Vector3 + func (ce *Cone) AxisB() math32.Vector3 + func (ce *Cone) ComputeB(h float32) float32 + func (ce *Cone) SetAngle(angle float32) + func (ce *Cone) SetAxisA(axisA *math32.Vector3) + func (ce *Cone) SetAxisB(axisB *math32.Vector3) + type Contact struct + func NewContact(bodyA, bodyB IBody, minForce, maxForce float32) *Contact + func (ce *Contact) ComputeB(h float32) float32 + func (ce *Contact) Normal() math32.Vector3 + func (ce *Contact) RA() math32.Vector3 + func (ce *Contact) RB() math32.Vector3 + func (ce *Contact) Restitution() float32 + func (ce *Contact) SetNormal(newNormal *math32.Vector3) + func (ce *Contact) SetRA(newRa *math32.Vector3) + func (ce *Contact) SetRB(newRb *math32.Vector3) + func (ce *Contact) SetRestitution(r float32) + type Equation struct + func NewEquation(bi, bj IBody, minForce, maxForce float32) *Equation + func (e *Equation) BodyA() IBody + func (e *Equation) BodyB() IBody + func (e *Equation) ComputeB(h float32) float32 + func (e *Equation) ComputeC() float32 + func (e *Equation) ComputeGW() float32 + func (e *Equation) ComputeGiMGt() float32 + func (e *Equation) ComputeGiMf() float32 + func (e *Equation) ComputeGq() float32 + func (e *Equation) Enabled() bool + func (e *Equation) Eps() float32 + func (e *Equation) JeA() JacobianElement + func (e *Equation) JeB() JacobianElement + func (e *Equation) MaxForce() float32 + func (e *Equation) MinForce() float32 + func (e *Equation) Multiplier() float32 + func (e *Equation) SetBodyA(ibody IBody) + func (e *Equation) SetBodyB(ibody IBody) + func (e *Equation) SetEnabled(state bool) + func (e *Equation) SetMaxForce(maxForce float32) + func (e *Equation) SetMinForce(minForce float32) + func (e *Equation) SetMultiplier(multiplier float32) + func (e *Equation) SetSpookParams(stiffness, relaxation float32, timeStep float32) + type Friction struct + func NewFriction(bodyA, bodyB IBody, slipForce float32) *Friction + func (fe *Friction) ComputeB(h float32) float32 + func (fe *Friction) RA() math32.Vector3 + func (fe *Friction) RB() math32.Vector3 + func (fe *Friction) SetRA(newRa *math32.Vector3) + func (fe *Friction) SetRB(newRb *math32.Vector3) + func (fe *Friction) SetTangent(newTangent *math32.Vector3) + func (fe *Friction) Tangent() math32.Vector3 + type IBody interface + AngularVelocity func() math32.Vector3 + Force func() math32.Vector3 + Index func() int + InvMassEff func() float32 + InvRotInertiaWorldEff func() *math32.Matrix3 + Position func() math32.Vector3 + Torque func() math32.Vector3 + Velocity func() math32.Vector3 + type IEquation interface + BodyA func() IBody + BodyB func() IBody + ComputeB func(h float32) float32 + ComputeC func() float32 + Enabled func() bool + Eps func() float32 + JeA func() JacobianElement + JeB func() JacobianElement + MaxForce func() float32 + MinForce func() float32 + SetBodyA func(IBody) + SetBodyB func(IBody) + SetEnabled func(state bool) + SetMultiplier func(multiplier float32) + type JacobianElement struct + func (je *JacobianElement) MultiplyElement(je2 *JacobianElement) float32 + func (je *JacobianElement) MultiplyVectors(spatial *math32.Vector3, rotational *math32.Vector3) float32 + func (je *JacobianElement) Rotational() math32.Vector3 + func (je *JacobianElement) SetRotational(rotational *math32.Vector3) + func (je *JacobianElement) SetSpatial(spatial *math32.Vector3) + func (je *JacobianElement) Spatial() math32.Vector3 + type Rotational struct + func NewRotational(bodyA, bodyB IBody, maxForce float32) *Rotational + func (re *Rotational) AxisA() math32.Vector3 + func (re *Rotational) AxisB() math32.Vector3 + func (re *Rotational) ComputeB(h float32) float32 + func (re *Rotational) MaxAngle() float32 + func (re *Rotational) SetAxisA(axisA *math32.Vector3) + func (re *Rotational) SetAxisB(axisB *math32.Vector3) + func (re *Rotational) SetMaxAngle(angle float32) + type RotationalMotor struct + func NewRotationalMotor(bodyA, bodyB IBody, maxForce float32) *RotationalMotor + func (ce *RotationalMotor) AxisA() math32.Vector3 + func (ce *RotationalMotor) AxisB() math32.Vector3 + func (ce *RotationalMotor) SetAxisA(axisA *math32.Vector3) + func (ce *RotationalMotor) SetAxisB(axisB *math32.Vector3) + func (ce *RotationalMotor) SetTargetSpeed(speed float32) + func (ce *RotationalMotor) TargetSpeed() float32 + func (re *RotationalMotor) ComputeB(h float32) float32