ParticleSystem$SolveCollisionCallback.smali

.class Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;
.super Ljava/lang/Object;
.source "ParticleSystem.java"

# interfaces
.implements Lorg/jbox2d/callbacks/QueryCallback;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lorg/jbox2d/particle/ParticleSystem;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x8
    name = "SolveCollisionCallback"
.end annotation


# instance fields
.field private final input:Lorg/jbox2d/collision/RayCastInput;

.field private final output:Lorg/jbox2d/collision/RayCastOutput;

.field step:Lorg/jbox2d/dynamics/TimeStep;

.field system:Lorg/jbox2d/particle/ParticleSystem;

.field private final tempVec:Lorg/jbox2d/common/Vec2;

.field private final tempVec2:Lorg/jbox2d/common/Vec2;


# direct methods
.method constructor <init>()V
    .registers 2

    .prologue
    .line 2073
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 2077
    new-instance v0, Lorg/jbox2d/collision/RayCastInput;

    invoke-direct {v0}, Lorg/jbox2d/collision/RayCastInput;-><init>()V

    iput-object v0, p0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    .line 2078
    new-instance v0, Lorg/jbox2d/collision/RayCastOutput;

    invoke-direct {v0}, Lorg/jbox2d/collision/RayCastOutput;-><init>()V

    iput-object v0, p0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    .line 2079
    new-instance v0, Lorg/jbox2d/common/Vec2;

    invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V

    iput-object v0, p0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->tempVec:Lorg/jbox2d/common/Vec2;

    .line 2080
    new-instance v0, Lorg/jbox2d/common/Vec2;

    invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V

    iput-object v0, p0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->tempVec2:Lorg/jbox2d/common/Vec2;

    return-void
.end method


# virtual methods
.method public reportFixture(Lorg/jbox2d/dynamics/Fixture;)Z
    .registers 19

    .prologue
    .line 2084
    invoke-virtual/range {p1 .. p1}, Lorg/jbox2d/dynamics/Fixture;->isSensor()Z

    move-result v2

    if-eqz v2, :cond_8

    .line 2085
    const/4 v2, 0x1

    .line 2147
    :goto_7
    return v2

    .line 2087
    :cond_8
    invoke-virtual/range {p1 .. p1}, Lorg/jbox2d/dynamics/Fixture;->getShape()Lorg/jbox2d/collision/shapes/Shape;

    move-result-object v2

    .line 2088
    invoke-virtual/range {p1 .. p1}, Lorg/jbox2d/dynamics/Fixture;->getBody()Lorg/jbox2d/dynamics/Body;

    move-result-object v5

    .line 2089
    invoke-virtual {v2}, Lorg/jbox2d/collision/shapes/Shape;->getChildCount()I

    move-result v6

    .line 2090
    const/4 v2, 0x0

    move v4, v2

    :goto_16
    if-ge v4, v6, :cond_216

    .line 2091
    move-object/from16 v0, p1

    invoke-virtual {v0, v4}, Lorg/jbox2d/dynamics/Fixture;->getAABB(I)Lorg/jbox2d/collision/AABB;

    move-result-object v2

    .line 2092
    iget-object v3, v2, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;

    iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F

    move-object/from16 v0, p0

    iget-object v7, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v7, v7, Lorg/jbox2d/particle/ParticleSystem;->m_particleDiameter:F

    sub-float v7, v3, v7

    .line 2093
    iget-object v3, v2, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;

    iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F

    move-object/from16 v0, p0

    iget-object v8, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v8, v8, Lorg/jbox2d/particle/ParticleSystem;->m_particleDiameter:F

    sub-float v8, v3, v8

    .line 2094
    iget-object v3, v2, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;

    iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F

    move-object/from16 v0, p0

    iget-object v9, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v9, v9, Lorg/jbox2d/particle/ParticleSystem;->m_particleDiameter:F

    add-float/2addr v9, v3

    .line 2095
    iget-object v2, v2, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;

    iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F

    move-object/from16 v0, p0

    iget-object v3, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v3, v3, Lorg/jbox2d/particle/ParticleSystem;->m_particleDiameter:F

    add-float v10, v2, v3

    .line 2096
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget-object v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_proxyBuffer:[Lorg/jbox2d/particle/ParticleSystem$Proxy;

    move-object/from16 v0, p0

    iget-object v3, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v3, v3, Lorg/jbox2d/particle/ParticleSystem;->m_proxyCount:I

    move-object/from16 v0, p0

    iget-object v11, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v11, v11, Lorg/jbox2d/particle/ParticleSystem;->m_inverseDiameter:F

    mul-float/2addr v11, v7

    move-object/from16 v0, p0

    iget-object v12, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v12, v12, Lorg/jbox2d/particle/ParticleSystem;->m_inverseDiameter:F

    mul-float/2addr v12, v8

    invoke-static {v11, v12}, Lorg/jbox2d/particle/ParticleSystem;->computeTag(FF)J

    move-result-wide v12

    # invokes: Lorg/jbox2d/particle/ParticleSystem;->lowerBound([Lorg/jbox2d/particle/ParticleSystem$Proxy;IJ)I
    invoke-static {v2, v3, v12, v13}, Lorg/jbox2d/particle/ParticleSystem;->access$100([Lorg/jbox2d/particle/ParticleSystem$Proxy;IJ)I

    move-result v2

    .line 2102
    move-object/from16 v0, p0

    iget-object v3, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget-object v3, v3, Lorg/jbox2d/particle/ParticleSystem;->m_proxyBuffer:[Lorg/jbox2d/particle/ParticleSystem$Proxy;

    move-object/from16 v0, p0

    iget-object v11, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v11, v11, Lorg/jbox2d/particle/ParticleSystem;->m_proxyCount:I

    move-object/from16 v0, p0

    iget-object v12, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v12, v12, Lorg/jbox2d/particle/ParticleSystem;->m_inverseDiameter:F

    mul-float/2addr v12, v9

    move-object/from16 v0, p0

    iget-object v13, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget v13, v13, Lorg/jbox2d/particle/ParticleSystem;->m_inverseDiameter:F

    mul-float/2addr v13, v10

    invoke-static {v12, v13}, Lorg/jbox2d/particle/ParticleSystem;->computeTag(FF)J

    move-result-wide v12

    # invokes: Lorg/jbox2d/particle/ParticleSystem;->upperBound([Lorg/jbox2d/particle/ParticleSystem$Proxy;IJ)I
    invoke-static {v3, v11, v12, v13}, Lorg/jbox2d/particle/ParticleSystem;->access$200([Lorg/jbox2d/particle/ParticleSystem$Proxy;IJ)I

    move-result v11

    move v3, v2

    .line 2109
    :goto_92
    if-eq v3, v11, :cond_211

    .line 2110
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget-object v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_proxyBuffer:[Lorg/jbox2d/particle/ParticleSystem$Proxy;

    aget-object v2, v2, v3

    iget v12, v2, Lorg/jbox2d/particle/ParticleSystem$Proxy;->index:I

    .line 2111
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget-object v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_positionBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;

    iget-object v2, v2, Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;->data:[Ljava/lang/Object;

    check-cast v2, [Lorg/jbox2d/common/Vec2;

    aget-object v13, v2, v12

    .line 2112
    iget v2, v13, Lorg/jbox2d/common/Vec2;->x:F

    cmpg-float v2, v7, v2

    if-gtz v2, :cond_20c

    iget v2, v13, Lorg/jbox2d/common/Vec2;->x:F

    cmpg-float v2, v2, v9

    if-gtz v2, :cond_20c

    iget v2, v13, Lorg/jbox2d/common/Vec2;->y:F

    cmpg-float v2, v8, v2

    if-gtz v2, :cond_20c

    iget v2, v13, Lorg/jbox2d/common/Vec2;->y:F

    cmpg-float v2, v2, v10

    if-gtz v2, :cond_20c

    .line 2114
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    iget-object v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_velocityBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;

    iget-object v2, v2, Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;->data:[Ljava/lang/Object;

    check-cast v2, [Lorg/jbox2d/common/Vec2;

    aget-object v2, v2, v12

    .line 2115
    move-object/from16 v0, p0

    iget-object v12, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->tempVec:Lorg/jbox2d/common/Vec2;

    .line 2116
    iget-object v14, v5, Lorg/jbox2d/dynamics/Body;->m_xf0:Lorg/jbox2d/common/Transform;

    invoke-static {v14, v13, v12}, Lorg/jbox2d/common/Transform;->mulTransToOutUnsafe(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V

    .line 2117
    iget-object v14, v5, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    iget-object v15, v15, Lorg/jbox2d/collision/RayCastInput;->p1:Lorg/jbox2d/common/Vec2;

    invoke-static {v14, v12, v15}, Lorg/jbox2d/common/Transform;->mulToOutUnsafe(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V

    .line 2118
    move-object/from16 v0, p0

    iget-object v12, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    iget-object v12, v12, Lorg/jbox2d/collision/RayCastInput;->p2:Lorg/jbox2d/common/Vec2;

    iget v14, v13, Lorg/jbox2d/common/Vec2;->x:F

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->step:Lorg/jbox2d/dynamics/TimeStep;

    iget v15, v15, Lorg/jbox2d/dynamics/TimeStep;->dt:F

    iget v0, v2, Lorg/jbox2d/common/Vec2;->x:F

    move/from16 v16, v0

    mul-float v15, v15, v16

    add-float/2addr v14, v15

    iput v14, v12, Lorg/jbox2d/common/Vec2;->x:F

    .line 2119
    move-object/from16 v0, p0

    iget-object v12, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    iget-object v12, v12, Lorg/jbox2d/collision/RayCastInput;->p2:Lorg/jbox2d/common/Vec2;

    iget v14, v13, Lorg/jbox2d/common/Vec2;->y:F

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->step:Lorg/jbox2d/dynamics/TimeStep;

    iget v15, v15, Lorg/jbox2d/dynamics/TimeStep;->dt:F

    iget v0, v2, Lorg/jbox2d/common/Vec2;->y:F

    move/from16 v16, v0

    mul-float v15, v15, v16

    add-float/2addr v14, v15

    iput v14, v12, Lorg/jbox2d/common/Vec2;->y:F

    .line 2120
    move-object/from16 v0, p0

    iget-object v12, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    const/high16 v14, 0x3f800000    # 1.0f

    iput v14, v12, Lorg/jbox2d/collision/RayCastInput;->maxFraction:F

    .line 2121
    move-object/from16 v0, p0

    iget-object v12, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    move-object/from16 v0, p0

    iget-object v14, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    move-object/from16 v0, p1

    invoke-virtual {v0, v12, v14, v4}, Lorg/jbox2d/dynamics/Fixture;->raycast(Lorg/jbox2d/collision/RayCastOutput;Lorg/jbox2d/collision/RayCastInput;I)Z

    move-result v12

    if-eqz v12, :cond_20c

    .line 2122
    move-object/from16 v0, p0

    iget-object v12, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->tempVec:Lorg/jbox2d/common/Vec2;

    .line 2123
    const/high16 v14, 0x3f800000    # 1.0f

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    iget v15, v15, Lorg/jbox2d/collision/RayCastOutput;->fraction:F

    sub-float/2addr v14, v15

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    iget-object v15, v15, Lorg/jbox2d/collision/RayCastInput;->p1:Lorg/jbox2d/common/Vec2;

    iget v15, v15, Lorg/jbox2d/common/Vec2;->x:F

    mul-float/2addr v14, v15

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    iget v15, v15, Lorg/jbox2d/collision/RayCastOutput;->fraction:F

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    move-object/from16 v16, v0

    move-object/from16 v0, v16

    iget-object v0, v0, Lorg/jbox2d/collision/RayCastInput;->p2: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

    mul-float v15, v15, v16

    add-float/2addr v14, v15

    sget v15, Lorg/jbox2d/common/Settings;->linearSlop:F

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    move-object/from16 v16, v0

    move-object/from16 v0, v16

    iget-object v0, v0, Lorg/jbox2d/collision/RayCastOutput;->normal: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

    mul-float v15, v15, v16

    add-float/2addr v14, v15

    iput v14, v12, Lorg/jbox2d/common/Vec2;->x:F

    .line 2126
    const/high16 v14, 0x3f800000    # 1.0f

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    iget v15, v15, Lorg/jbox2d/collision/RayCastOutput;->fraction:F

    sub-float/2addr v14, v15

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    iget-object v15, v15, Lorg/jbox2d/collision/RayCastInput;->p1:Lorg/jbox2d/common/Vec2;

    iget v15, v15, Lorg/jbox2d/common/Vec2;->y:F

    mul-float/2addr v14, v15

    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    iget v15, v15, Lorg/jbox2d/collision/RayCastOutput;->fraction:F

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->input:Lorg/jbox2d/collision/RayCastInput;

    move-object/from16 v16, v0

    move-object/from16 v0, v16

    iget-object v0, v0, Lorg/jbox2d/collision/RayCastInput;->p2: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

    mul-float v15, v15, v16

    add-float/2addr v14, v15

    sget v15, Lorg/jbox2d/common/Settings;->linearSlop:F

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    move-object/from16 v16, v0

    move-object/from16 v0, v16

    iget-object v0, v0, Lorg/jbox2d/collision/RayCastOutput;->normal: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

    mul-float v15, v15, v16

    add-float/2addr v14, v15

    iput v14, v12, Lorg/jbox2d/common/Vec2;->y:F

    .line 2130
    move-object/from16 v0, p0

    iget-object v14, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->step:Lorg/jbox2d/dynamics/TimeStep;

    iget v14, v14, Lorg/jbox2d/dynamics/TimeStep;->inv_dt:F

    iget v15, v12, Lorg/jbox2d/common/Vec2;->x:F

    iget v0, v13, Lorg/jbox2d/common/Vec2;->x:F

    move/from16 v16, v0

    sub-float v15, v15, v16

    mul-float/2addr v14, v15

    .line 2131
    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->step:Lorg/jbox2d/dynamics/TimeStep;

    iget v15, v15, Lorg/jbox2d/dynamics/TimeStep;->inv_dt:F

    iget v0, v12, Lorg/jbox2d/common/Vec2;->y:F

    move/from16 v16, v0

    iget v13, v13, Lorg/jbox2d/common/Vec2;->y:F

    sub-float v13, v16, v13

    mul-float/2addr v13, v15

    .line 2132
    iput v14, v2, Lorg/jbox2d/common/Vec2;->x:F

    .line 2133
    iput v13, v2, Lorg/jbox2d/common/Vec2;->y:F

    .line 2134
    move-object/from16 v0, p0

    iget-object v15, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->system:Lorg/jbox2d/particle/ParticleSystem;

    invoke-virtual {v15}, Lorg/jbox2d/particle/ParticleSystem;->getParticleMass()F

    move-result v15

    .line 2135
    iget v0, v2, Lorg/jbox2d/common/Vec2;->x:F

    move/from16 v16, v0

    sub-float v14, v16, v14

    mul-float/2addr v14, v15

    .line 2136
    iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F

    sub-float/2addr v2, v13

    mul-float/2addr v2, v15

    .line 2137
    move-object/from16 v0, p0

    iget-object v13, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->output:Lorg/jbox2d/collision/RayCastOutput;

    iget-object v13, v13, Lorg/jbox2d/collision/RayCastOutput;->normal:Lorg/jbox2d/common/Vec2;

    .line 2138
    iget v15, v13, Lorg/jbox2d/common/Vec2;->x:F

    mul-float/2addr v14, v15

    iget v15, v13, Lorg/jbox2d/common/Vec2;->y:F

    mul-float/2addr v2, v15

    add-float/2addr v2, v14

    .line 2139
    move-object/from16 v0, p0

    iget-object v14, v0, Lorg/jbox2d/particle/ParticleSystem$SolveCollisionCallback;->tempVec2:Lorg/jbox2d/common/Vec2;

    .line 2140
    iget v15, v13, Lorg/jbox2d/common/Vec2;->x:F

    mul-float/2addr v15, v2

    iput v15, v14, Lorg/jbox2d/common/Vec2;->x:F

    .line 2141
    iget v13, v13, Lorg/jbox2d/common/Vec2;->y:F

    mul-float/2addr v2, v13

    iput v2, v14, Lorg/jbox2d/common/Vec2;->y:F

    .line 2142
    const/4 v2, 0x1

    invoke-virtual {v5, v14, v12, v2}, Lorg/jbox2d/dynamics/Body;->applyLinearImpulse(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;Z)V

    .line 2109
    :cond_20c
    add-int/lit8 v2, v3, 0x1

    move v3, v2

    goto/16 :goto_92

    .line 2090
    :cond_211
    add-int/lit8 v2, v4, 0x1

    move v4, v2

    goto/16 :goto_16

    .line 2147
    :cond_216
    const/4 v2, 0x1

    goto/16 :goto_7
.end method