MotorJoint.smali
.class public Lorg/jbox2d/dynamics/joints/MotorJoint;
.super Lorg/jbox2d/dynamics/joints/Joint;
.source "MotorJoint.java"
# static fields
.field static final synthetic $assertionsDisabled:Z
# instance fields
.field private m_angularError:F
.field private m_angularImpulse:F
.field private m_angularMass:F
.field private m_angularOffset:F
.field private m_correctionFactor:F
.field private m_indexA:I
.field private m_indexB:I
.field private m_invIA:F
.field private m_invIB:F
.field private m_invMassA:F
.field private m_invMassB:F
.field private final m_linearError:Lorg/jbox2d/common/Vec2;
.field private final m_linearImpulse:Lorg/jbox2d/common/Vec2;
.field private final m_linearMass:Lorg/jbox2d/common/Mat22;
.field private final m_linearOffset:Lorg/jbox2d/common/Vec2;
.field private final m_localCenterA:Lorg/jbox2d/common/Vec2;
.field private final m_localCenterB:Lorg/jbox2d/common/Vec2;
.field private m_maxForce:F
.field private m_maxTorque:F
.field private final m_rA:Lorg/jbox2d/common/Vec2;
.field private final m_rB:Lorg/jbox2d/common/Vec2;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 28
const-class v0, Lorg/jbox2d/dynamics/joints/MotorJoint;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
if-nez v0, :cond_c
const/4 v0, 0x1
:goto_9
sput-boolean v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->$assertionsDisabled:Z
return-void
:cond_c
const/4 v0, 0x0
goto :goto_9
.end method
.method public constructor <init>(Lorg/jbox2d/pooling/IWorldPool;Lorg/jbox2d/dynamics/joints/MotorJointDef;)V
.registers 5
.prologue
.line 56
invoke-direct {p0, p1, p2}, Lorg/jbox2d/dynamics/joints/Joint;-><init>(Lorg/jbox2d/pooling/IWorldPool;Lorg/jbox2d/dynamics/joints/JointDef;)V
.line 31
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearOffset:Lorg/jbox2d/common/Vec2;
.line 33
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
.line 42
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
.line 43
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
.line 44
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
.line 45
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
.line 46
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearError:Lorg/jbox2d/common/Vec2;
.line 52
new-instance v0, Lorg/jbox2d/common/Mat22;
invoke-direct {v0}, Lorg/jbox2d/common/Mat22;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearMass:Lorg/jbox2d/common/Mat22;
.line 57
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearOffset:Lorg/jbox2d/common/Vec2;
iget-object v1, p2, Lorg/jbox2d/dynamics/joints/MotorJointDef;->linearOffset:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 58
iget v0, p2, Lorg/jbox2d/dynamics/joints/MotorJointDef;->angularOffset:F
iput v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularOffset:F
.line 60
const/4 v0, 0x0
iput v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
.line 62
iget v0, p2, Lorg/jbox2d/dynamics/joints/MotorJointDef;->maxForce:F
iput v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_maxForce:F
.line 63
iget v0, p2, Lorg/jbox2d/dynamics/joints/MotorJointDef;->maxTorque:F
iput v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_maxTorque:F
.line 64
iget v0, p2, Lorg/jbox2d/dynamics/joints/MotorJointDef;->correctionFactor:F
iput v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_correctionFactor:F
.line 65
return-void
.end method
# virtual methods
.method public getAnchorA(Lorg/jbox2d/common/Vec2;)V
.registers 3
.prologue
.line 69
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/Body;->getPosition()Lorg/jbox2d/common/Vec2;
move-result-object v0
invoke-virtual {p1, v0}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 70
return-void
.end method
.method public getAnchorB(Lorg/jbox2d/common/Vec2;)V
.registers 3
.prologue
.line 74
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/Body;->getPosition()Lorg/jbox2d/common/Vec2;
move-result-object v0
invoke-virtual {p1, v0}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 75
return-void
.end method
.method public getAngularOffset()F
.registers 2
.prologue
.line 132
iget v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularOffset:F
return v0
.end method
.method public getCorrectionFactor()F
.registers 2
.prologue
.line 86
iget v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_correctionFactor:F
return v0
.end method
.method public getLinearOffset()Lorg/jbox2d/common/Vec2;
.registers 2
.prologue
.line 115
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearOffset:Lorg/jbox2d/common/Vec2;
return-object v0
.end method
.method public getLinearOffset(Lorg/jbox2d/common/Vec2;)V
.registers 3
.prologue
.line 108
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearOffset:Lorg/jbox2d/common/Vec2;
invoke-virtual {p1, v0}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 109
return-void
.end method
.method public getMaxForce()F
.registers 2
.prologue
.line 149
iget v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_maxForce:F
return v0
.end method
.method public getMaxTorque()F
.registers 2
.prologue
.line 164
iget v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_maxTorque:F
return v0
.end method
.method public getReactionForce(FLorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 78
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
invoke-virtual {p2, v0}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v0
invoke-virtual {v0, p1}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 79
return-void
.end method
.method public getReactionTorque(F)F
.registers 3
.prologue
.line 82
iget v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
mul-float/2addr v0, p1
return v0
.end method
.method public initVelocityConstraints(Lorg/jbox2d/dynamics/SolverData;)V
.registers 23
.prologue
.line 169
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget v2, v2, Lorg/jbox2d/dynamics/Body;->m_islandIndex:I
move-object/from16 v0, p0
iput v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
.line 170
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget v2, v2, Lorg/jbox2d/dynamics/Body;->m_islandIndex:I
move-object/from16 v0, p0
iput v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
.line 171
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget-object v3, v3, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
invoke-virtual {v2, v3}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 172
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget-object v3, v3, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
invoke-virtual {v2, v3}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 173
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget v2, v2, Lorg/jbox2d/dynamics/Body;->m_invMass:F
move-object/from16 v0, p0
iput v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invMassA:F
.line 174
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget v2, v2, Lorg/jbox2d/dynamics/Body;->m_invMass:F
move-object/from16 v0, p0
iput v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invMassB:F
.line 175
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget v2, v2, Lorg/jbox2d/dynamics/Body;->m_invI:F
move-object/from16 v0, p0
iput v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invIA:F
.line 176
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget v2, v2, Lorg/jbox2d/dynamics/Body;->m_invI:F
move-object/from16 v0, p0
iput v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invIB:F
.line 178
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
aget-object v2, v2, v3
iget-object v4, v2, Lorg/jbox2d/dynamics/contacts/Position;->c:Lorg/jbox2d/common/Vec2;
.line 179
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
aget-object v2, v2, v3
iget v5, v2, Lorg/jbox2d/dynamics/contacts/Position;->a:F
.line 180
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
aget-object v2, v2, v3
iget-object v6, v2, Lorg/jbox2d/dynamics/contacts/Velocity;->v:Lorg/jbox2d/common/Vec2;
.line 181
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
aget-object v2, v2, v3
iget v3, v2, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 183
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
aget-object v2, v2, v7
iget-object v7, v2, Lorg/jbox2d/dynamics/contacts/Position;->c:Lorg/jbox2d/common/Vec2;
.line 184
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
move-object/from16 v0, p0
iget v8, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
aget-object v2, v2, v8
iget v8, v2, Lorg/jbox2d/dynamics/contacts/Position;->a:F
.line 185
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v9, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
aget-object v2, v2, v9
iget-object v9, v2, Lorg/jbox2d/dynamics/contacts/Velocity;->v:Lorg/jbox2d/common/Vec2;
.line 186
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v10, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
aget-object v2, v2, v10
iget v2, v2, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 188
move-object/from16 v0, p0
iget-object v10, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v10}, Lorg/jbox2d/pooling/IWorldPool;->popRot()Lorg/jbox2d/common/Rot;
move-result-object v10
.line 189
move-object/from16 v0, p0
iget-object v11, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v11}, Lorg/jbox2d/pooling/IWorldPool;->popRot()Lorg/jbox2d/common/Rot;
move-result-object v11
.line 190
move-object/from16 v0, p0
iget-object v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v12}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v12
.line 191
move-object/from16 v0, p0
iget-object v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v13}, Lorg/jbox2d/pooling/IWorldPool;->popMat22()Lorg/jbox2d/common/Mat22;
move-result-object v13
.line 193
invoke-virtual {v10, v5}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 194
invoke-virtual {v11, v8}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 199
move-object/from16 v0, p0
iget-object v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v15, v10, Lorg/jbox2d/common/Rot;->c:F
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v16, v0
move/from16 v0, v16
neg-float v0, v0
move/from16 v16, v0
mul-float v15, v15, v16
iget v0, v10, Lorg/jbox2d/common/Rot;->s:F
move/from16 v16, v0
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
move-object/from16 v0, v17
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v17, v0
move/from16 v0, v17
neg-float v0, v0
move/from16 v17, v0
mul-float v16, v16, v17
sub-float v15, v15, v16
iput v15, v14, Lorg/jbox2d/common/Vec2;->x:F
.line 200
move-object/from16 v0, p0
iget-object v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v15, v10, Lorg/jbox2d/common/Rot;->s:F
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v16, v0
move/from16 v0, v16
neg-float v0, v0
move/from16 v16, v0
mul-float v15, v15, v16
iget v0, v10, Lorg/jbox2d/common/Rot;->c:F
move/from16 v16, v0
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
move-object/from16 v0, v17
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v17, v0
move/from16 v0, v17
neg-float v0, v0
move/from16 v17, v0
mul-float v16, v16, v17
add-float v15, v15, v16
iput v15, v14, Lorg/jbox2d/common/Vec2;->y:F
.line 201
move-object/from16 v0, p0
iget-object v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v15, v11, Lorg/jbox2d/common/Rot;->c:F
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v16, v0
move/from16 v0, v16
neg-float v0, v0
move/from16 v16, v0
mul-float v15, v15, v16
iget v0, v11, Lorg/jbox2d/common/Rot;->s:F
move/from16 v16, v0
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
move-object/from16 v0, v17
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v17, v0
move/from16 v0, v17
neg-float v0, v0
move/from16 v17, v0
mul-float v16, v16, v17
sub-float v15, v15, v16
iput v15, v14, Lorg/jbox2d/common/Vec2;->x:F
.line 202
move-object/from16 v0, p0
iget-object v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v15, v11, Lorg/jbox2d/common/Rot;->s:F
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v16, v0
move/from16 v0, v16
neg-float v0, v0
move/from16 v16, v0
mul-float v15, v15, v16
iget v11, v11, Lorg/jbox2d/common/Rot;->c:F
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v16, v0
move/from16 v0, v16
neg-float v0, v0
move/from16 v16, v0
mul-float v11, v11, v16
add-float/2addr v11, v15
iput v11, v14, Lorg/jbox2d/common/Vec2;->y:F
.line 212
move-object/from16 v0, p0
iget v11, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invMassA:F
move-object/from16 v0, p0
iget v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invMassB:F
.line 213
move-object/from16 v0, p0
iget v15, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invIA:F
move-object/from16 v0, p0
iget v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invIB:F
move/from16 v16, v0
.line 215
iget-object v0, v13, Lorg/jbox2d/common/Mat22;->ex:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
add-float v18, v11, v14
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
move-object/from16 v19, v0
move-object/from16 v0, v19
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v19, v0
mul-float v19, v19, v15
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
move-object/from16 v20, v0
move-object/from16 v0, v20
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v20, v0
mul-float v19, v19, v20
add-float v18, v18, v19
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v19, v0
move-object/from16 v0, v19
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v19, v0
mul-float v19, v19, v16
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v20, v0
move-object/from16 v0, v20
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v20, v0
mul-float v19, v19, v20
add-float v18, v18, v19
move/from16 v0, v18
move-object/from16 v1, v17
iput v0, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 216
iget-object v0, v13, Lorg/jbox2d/common/Mat22;->ex:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
neg-float v0, v15
move/from16 v18, v0
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
move-object/from16 v19, v0
move-object/from16 v0, v19
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v19, v0
mul-float v18, v18, v19
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
move-object/from16 v19, v0
move-object/from16 v0, v19
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v19, v0
mul-float v18, v18, v19
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v19, v0
move-object/from16 v0, v19
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v19, v0
mul-float v19, v19, v16
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v20, v0
move-object/from16 v0, v20
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v20, v0
mul-float v19, v19, v20
sub-float v18, v18, v19
move/from16 v0, v18
move-object/from16 v1, v17
iput v0, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 217
iget-object v0, v13, Lorg/jbox2d/common/Mat22;->ey:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
iget-object v0, v13, Lorg/jbox2d/common/Mat22;->ex:Lorg/jbox2d/common/Vec2;
move-object/from16 v18, v0
move-object/from16 v0, v18
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
move/from16 v18, v0
move/from16 v0, v18
move-object/from16 v1, v17
iput v0, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 218
iget-object v0, v13, Lorg/jbox2d/common/Mat22;->ey:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
add-float v18, v11, v14
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
move-object/from16 v19, v0
move-object/from16 v0, v19
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v19, v0
mul-float v19, v19, v15
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
move-object/from16 v20, v0
move-object/from16 v0, v20
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v20, v0
mul-float v19, v19, v20
add-float v18, v18, v19
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v19, v0
move-object/from16 v0, v19
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v19, v0
mul-float v19, v19, v16
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v20, v0
move-object/from16 v0, v20
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v20, v0
mul-float v19, v19, v20
add-float v18, v18, v19
move/from16 v0, v18
move-object/from16 v1, v17
iput v0, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 220
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearMass:Lorg/jbox2d/common/Mat22;
move-object/from16 v17, v0
move-object/from16 v0, v17
invoke-virtual {v13, v0}, Lorg/jbox2d/common/Mat22;->invertToOut(Lorg/jbox2d/common/Mat22;)V
.line 222
add-float v13, v15, v16
move-object/from16 v0, p0
iput v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularMass:F
.line 223
move-object/from16 v0, p0
iget v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularMass:F
const/16 v17, 0x0
cmpl-float v13, v13, v17
if-lez v13, :cond_2d3
.line 224
const/high16 v13, 0x3f800000 # 1.0f
move-object/from16 v0, p0
iget v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularMass:F
move/from16 v17, v0
div-float v13, v13, v17
move-object/from16 v0, p0
iput v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularMass:F
.line 228
:cond_2d3
move-object/from16 v0, p0
iget-object v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearOffset:Lorg/jbox2d/common/Vec2;
invoke-static {v10, v13, v12}, Lorg/jbox2d/common/Rot;->mulToOutUnsafe(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 229
move-object/from16 v0, p0
iget-object v10, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearError:Lorg/jbox2d/common/Vec2;
iget v13, v7, Lorg/jbox2d/common/Vec2;->x:F
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
move-object/from16 v0, v17
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v17, v0
add-float v13, v13, v17
iget v0, v4, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v17, v0
sub-float v13, v13, v17
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
move-object/from16 v17, v0
move-object/from16 v0, v17
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v17, v0
sub-float v13, v13, v17
iget v0, v12, Lorg/jbox2d/common/Vec2;->x:F
move/from16 v17, v0
sub-float v13, v13, v17
iput v13, v10, Lorg/jbox2d/common/Vec2;->x:F
.line 230
move-object/from16 v0, p0
iget-object v10, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearError:Lorg/jbox2d/common/Vec2;
iget v7, v7, Lorg/jbox2d/common/Vec2;->y:F
move-object/from16 v0, p0
iget-object v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v13, v13, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v7, v13
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
sub-float v4, v7, v4
move-object/from16 v0, p0
iget-object v7, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v7, v7, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v4, v7
iget v7, v12, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v4, v7
iput v4, v10, Lorg/jbox2d/common/Vec2;->y:F
.line 231
sub-float v4, v8, v5
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularOffset:F
sub-float/2addr v4, v5
move-object/from16 v0, p0
iput v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularError:F
.line 233
move-object/from16 v0, p1
iget-object v4, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget-boolean v4, v4, Lorg/jbox2d/dynamics/TimeStep;->warmStarting:Z
if-eqz v4, :cond_3f2
.line 235
move-object/from16 v0, p0
iget-object v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
iget v5, v4, Lorg/jbox2d/common/Vec2;->x:F
move-object/from16 v0, p1
iget-object v7, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v7, v7, Lorg/jbox2d/dynamics/TimeStep;->dtRatio:F
mul-float/2addr v5, v7
iput v5, v4, Lorg/jbox2d/common/Vec2;->x:F
.line 236
move-object/from16 v0, p0
iget-object v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
iget v5, v4, Lorg/jbox2d/common/Vec2;->y:F
move-object/from16 v0, p1
iget-object v7, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v7, v7, Lorg/jbox2d/dynamics/TimeStep;->dtRatio:F
mul-float/2addr v5, v7
iput v5, v4, Lorg/jbox2d/common/Vec2;->y:F
.line 237
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
move-object/from16 v0, p1
iget-object v5, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v5, v5, Lorg/jbox2d/dynamics/TimeStep;->dtRatio:F
mul-float/2addr v4, v5
move-object/from16 v0, p0
iput v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
.line 239
move-object/from16 v0, p0
iget-object v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
.line 240
iget v5, v6, Lorg/jbox2d/common/Vec2;->x:F
iget v7, v4, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v7, v11
sub-float/2addr v5, v7
iput v5, v6, Lorg/jbox2d/common/Vec2;->x:F
.line 241
iget v5, v6, Lorg/jbox2d/common/Vec2;->y:F
iget v7, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v7, v11
sub-float/2addr v5, v7
iput v5, v6, Lorg/jbox2d/common/Vec2;->y:F
.line 242
move-object/from16 v0, p0
iget-object v5, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->x:F
iget v6, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v5, v6
move-object/from16 v0, p0
iget-object v6, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v6, v6, Lorg/jbox2d/common/Vec2;->y:F
iget v7, v4, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v6, v7
sub-float/2addr v5, v6
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
add-float/2addr v5, v6
mul-float/2addr v5, v15
sub-float/2addr v3, v5
.line 243
iget v5, v9, Lorg/jbox2d/common/Vec2;->x:F
iget v6, v4, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v6, v14
add-float/2addr v5, v6
iput v5, v9, Lorg/jbox2d/common/Vec2;->x:F
.line 244
iget v5, v9, Lorg/jbox2d/common/Vec2;->y:F
iget v6, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v6, v14
add-float/2addr v5, v6
iput v5, v9, Lorg/jbox2d/common/Vec2;->y:F
.line 245
move-object/from16 v0, p0
iget-object v5, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->x:F
iget v6, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v5, v6
move-object/from16 v0, p0
iget-object v6, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v6, v6, Lorg/jbox2d/common/Vec2;->y:F
iget v4, v4, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v4, v6
sub-float v4, v5, v4
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
add-float/2addr v4, v5
mul-float v4, v4, v16
add-float/2addr v2, v4
.line 251
:goto_3c1
move-object/from16 v0, p0
iget-object v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v5, 0x1
invoke-interface {v4, v5}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 252
move-object/from16 v0, p0
iget-object v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v5, 0x1
invoke-interface {v4, v5}, Lorg/jbox2d/pooling/IWorldPool;->pushMat22(I)V
.line 253
move-object/from16 v0, p0
iget-object v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v5, 0x2
invoke-interface {v4, v5}, Lorg/jbox2d/pooling/IWorldPool;->pushRot(I)V
.line 256
move-object/from16 v0, p1
iget-object v4, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
aget-object v4, v4, v5
iput v3, v4, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 258
move-object/from16 v0, p1
iget-object v3, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
aget-object v3, v3, v4
iput v2, v3, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 259
return-void
.line 247
:cond_3f2
move-object/from16 v0, p0
iget-object v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
invoke-virtual {v4}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 248
const/4 v4, 0x0
move-object/from16 v0, p0
iput v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
goto :goto_3c1
.end method
.method public setAngularOffset(F)V
.registers 4
.prologue
const/4 v1, 0x1
.line 124
iget v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularOffset:F
cmpl-float v0, p1, v0
if-eqz v0, :cond_13
.line 125
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 126
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 127
iput p1, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularOffset:F
.line 129
:cond_13
return-void
.end method
.method public setCorrectionFactor(F)V
.registers 2
.prologue
.line 90
iput p1, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_correctionFactor:F
.line 91
return-void
.end method
.method public setLinearOffset(Lorg/jbox2d/common/Vec2;)V
.registers 5
.prologue
const/4 v2, 0x1
.line 97
iget v0, p1, Lorg/jbox2d/common/Vec2;->x:F
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearOffset:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
cmpl-float v0, v0, v1
if-nez v0, :cond_15
iget v0, p1, Lorg/jbox2d/common/Vec2;->y:F
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearOffset:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_24
.line 98
:cond_15
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v2}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 99
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v2}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 100
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearOffset:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, p1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 102
:cond_24
return-void
.end method
.method public setMaxForce(F)V
.registers 3
.prologue
.line 141
sget-boolean v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->$assertionsDisabled:Z
if-nez v0, :cond_f
const/4 v0, 0x0
cmpl-float v0, p1, v0
if-gez v0, :cond_f
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 142
:cond_f
iput p1, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_maxForce:F
.line 143
return-void
.end method
.method public setMaxTorque(F)V
.registers 3
.prologue
.line 156
sget-boolean v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->$assertionsDisabled:Z
if-nez v0, :cond_f
const/4 v0, 0x0
cmpl-float v0, p1, v0
if-gez v0, :cond_f
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 157
:cond_f
iput p1, p0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_maxTorque:F
.line 158
return-void
.end method
.method public solvePositionConstraints(Lorg/jbox2d/dynamics/SolverData;)Z
.registers 3
.prologue
.line 337
const/4 v0, 0x1
return v0
.end method
.method public solveVelocityConstraints(Lorg/jbox2d/dynamics/SolverData;)V
.registers 18
.prologue
.line 263
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
aget-object v1, v1, v2
iget-object v1, v1, Lorg/jbox2d/dynamics/contacts/Velocity;->v:Lorg/jbox2d/common/Vec2;
.line 264
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
aget-object v2, v2, v3
iget v2, v2, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 265
move-object/from16 v0, p1
iget-object v3, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
aget-object v3, v3, v4
iget-object v3, v3, Lorg/jbox2d/dynamics/contacts/Velocity;->v:Lorg/jbox2d/common/Vec2;
.line 266
move-object/from16 v0, p1
iget-object v4, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
aget-object v4, v4, v5
iget v4, v4, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 268
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invMassA:F
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invMassB:F
.line 269
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invIA:F
move-object/from16 v0, p0
iget v8, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_invIB:F
.line 271
move-object/from16 v0, p1
iget-object v9, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v9, v9, Lorg/jbox2d/dynamics/TimeStep;->dt:F
.line 272
move-object/from16 v0, p1
iget-object v10, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v10, v10, Lorg/jbox2d/dynamics/TimeStep;->inv_dt:F
.line 274
move-object/from16 v0, p0
iget-object v11, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v11}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v11
.line 278
sub-float v12, v4, v2
move-object/from16 v0, p0
iget v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_correctionFactor:F
mul-float/2addr v13, v10
move-object/from16 v0, p0
iget v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularError:F
mul-float/2addr v13, v14
add-float/2addr v12, v13
.line 279
move-object/from16 v0, p0
iget v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularMass:F
neg-float v13, v13
mul-float/2addr v12, v13
.line 281
move-object/from16 v0, p0
iget v13, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
.line 282
move-object/from16 v0, p0
iget v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_maxTorque:F
mul-float/2addr v14, v9
.line 283
move-object/from16 v0, p0
iget v15, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
add-float/2addr v12, v15
neg-float v15, v14
invoke-static {v12, v15, v14}, Lorg/jbox2d/common/MathUtils;->clamp(FFF)F
move-result v12
move-object/from16 v0, p0
iput v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
.line 284
move-object/from16 v0, p0
iget v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_angularImpulse:F
sub-float/2addr v12, v13
.line 286
mul-float v13, v7, v12
sub-float/2addr v2, v13
.line 287
mul-float/2addr v12, v8
add-float/2addr v4, v12
.line 290
move-object/from16 v0, p0
iget-object v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v12}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v12
.line 296
iget v13, v3, Lorg/jbox2d/common/Vec2;->x:F
neg-float v14, v4
move-object/from16 v0, p0
iget-object v15, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v15, v15, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v14, v15
add-float/2addr v13, v14
iget v14, v1, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v13, v14
neg-float v14, v2
move-object/from16 v0, p0
iget-object v15, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v15, v15, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v14, v15
sub-float/2addr v13, v14
move-object/from16 v0, p0
iget v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_correctionFactor:F
mul-float/2addr v14, v10
move-object/from16 v0, p0
iget-object v15, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearError:Lorg/jbox2d/common/Vec2;
iget v15, v15, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v14, v15
add-float/2addr v13, v14
iput v13, v12, Lorg/jbox2d/common/Vec2;->x:F
.line 298
iget v13, v3, Lorg/jbox2d/common/Vec2;->y:F
move-object/from16 v0, p0
iget-object v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v14, v14, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v14, v4
add-float/2addr v13, v14
iget v14, v1, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v13, v14
move-object/from16 v0, p0
iget-object v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v14, v14, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v14, v2
sub-float/2addr v13, v14
move-object/from16 v0, p0
iget v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_correctionFactor:F
mul-float/2addr v10, v14
move-object/from16 v0, p0
iget-object v14, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearError:Lorg/jbox2d/common/Vec2;
iget v14, v14, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v10, v14
add-float/2addr v10, v13
iput v10, v12, Lorg/jbox2d/common/Vec2;->y:F
.line 302
move-object/from16 v0, p0
iget-object v10, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearMass:Lorg/jbox2d/common/Mat22;
invoke-static {v10, v12, v11}, Lorg/jbox2d/common/Mat22;->mulToOutUnsafe(Lorg/jbox2d/common/Mat22;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 303
invoke-virtual {v11}, Lorg/jbox2d/common/Vec2;->negateLocal()Lorg/jbox2d/common/Vec2;
.line 304
move-object/from16 v0, p0
iget-object v10, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v10}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v10
.line 305
move-object/from16 v0, p0
iget-object v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
invoke-virtual {v10, v12}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 306
move-object/from16 v0, p0
iget-object v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
invoke-virtual {v12, v11}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 308
move-object/from16 v0, p0
iget v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_maxForce:F
mul-float/2addr v9, v12
.line 310
move-object/from16 v0, p0
iget-object v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
invoke-virtual {v12}, Lorg/jbox2d/common/Vec2;->lengthSquared()F
move-result v12
mul-float v13, v9, v9
cmpl-float v12, v12, v13
if-lez v12, :cond_11b
.line 311
move-object/from16 v0, p0
iget-object v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
invoke-virtual {v12}, Lorg/jbox2d/common/Vec2;->normalize()F
.line 312
move-object/from16 v0, p0
iget-object v12, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
invoke-virtual {v12, v9}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 315
:cond_11b
move-object/from16 v0, p0
iget-object v9, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
iget v9, v9, Lorg/jbox2d/common/Vec2;->x:F
iget v12, v10, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v9, v12
iput v9, v11, Lorg/jbox2d/common/Vec2;->x:F
.line 316
move-object/from16 v0, p0
iget-object v9, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_linearImpulse:Lorg/jbox2d/common/Vec2;
iget v9, v9, Lorg/jbox2d/common/Vec2;->y:F
iget v10, v10, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v9, v10
iput v9, v11, Lorg/jbox2d/common/Vec2;->y:F
.line 318
iget v9, v1, Lorg/jbox2d/common/Vec2;->x:F
iget v10, v11, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v10, v5
sub-float/2addr v9, v10
iput v9, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 319
iget v9, v1, Lorg/jbox2d/common/Vec2;->y:F
iget v10, v11, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v5, v10
sub-float v5, v9, v5
iput v5, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 320
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
iget v5, v11, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v1, v5
move-object/from16 v0, p0
iget-object v5, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rA:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->y:F
iget v9, v11, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v5, v9
sub-float/2addr v1, v5
mul-float/2addr v1, v7
sub-float v1, v2, v1
.line 322
iget v2, v3, Lorg/jbox2d/common/Vec2;->x:F
iget v5, v11, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v5, v6
add-float/2addr v2, v5
iput v2, v3, Lorg/jbox2d/common/Vec2;->x:F
.line 323
iget v2, v3, Lorg/jbox2d/common/Vec2;->y:F
iget v5, v11, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v5, v6
add-float/2addr v2, v5
iput v2, v3, Lorg/jbox2d/common/Vec2;->y:F
.line 324
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
iget v3, v11, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v2, v3
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_rB:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
iget v5, v11, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v3, v5
sub-float/2addr v2, v3
mul-float/2addr v2, v8
add-float/2addr v2, v4
.line 327
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v4, 0x3
invoke-interface {v3, v4}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 330
move-object/from16 v0, p1
iget-object v3, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexA:I
aget-object v3, v3, v4
iput v1, v3, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 332
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/MotorJoint;->m_indexB:I
aget-object v1, v1, v3
iput v2, v1, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 333
return-void
.end method