ParticleSystem$JoinParticleGroupsCallback.smali
.class Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;
.super Ljava/lang/Object;
.source "ParticleSystem.java"
# interfaces
.implements Lorg/jbox2d/particle/VoronoiDiagram$VoronoiDiagramCallback;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/jbox2d/particle/ParticleSystem;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "JoinParticleGroupsCallback"
.end annotation
# instance fields
.field groupA:Lorg/jbox2d/particle/ParticleGroup;
.field groupB:Lorg/jbox2d/particle/ParticleGroup;
.field system:Lorg/jbox2d/particle/ParticleSystem;
# direct methods
.method constructor <init>()V
.registers 1
.prologue
.line 1899
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public callback(III)V
.registers 22
.prologue
.line 1902
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->groupB:Lorg/jbox2d/particle/ParticleGroup;
iget v1, v1, Lorg/jbox2d/particle/ParticleGroup;->m_firstIndex:I
move/from16 v0, p1
if-ge v0, v1, :cond_1ac
const/4 v1, 0x1
:goto_b
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->groupB:Lorg/jbox2d/particle/ParticleGroup;
iget v2, v2, Lorg/jbox2d/particle/ParticleGroup;->m_firstIndex:I
move/from16 v0, p2
if-ge v0, v2, :cond_1af
const/4 v2, 0x1
:goto_16
add-int/2addr v2, v1
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->groupB:Lorg/jbox2d/particle/ParticleGroup;
iget v1, v1, Lorg/jbox2d/particle/ParticleGroup;->m_firstIndex:I
move/from16 v0, p3
if-ge v0, v1, :cond_1b2
const/4 v1, 0x1
:goto_22
add-int/2addr v1, v2
.line 1905
if-lez v1, :cond_1ab
const/4 v2, 0x3
if-ge v1, v2, :cond_1ab
.line 1906
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_flagsBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;->data:[I
aget v3, v1, p1
.line 1907
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_flagsBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;->data:[I
aget v4, v1, p2
.line 1908
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_flagsBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;->data:[I
aget v5, v1, p3
.line 1909
and-int v1, v3, v4
and-int/2addr v1, v5
and-int/lit8 v1, v1, 0x10
if-eqz v1, :cond_1ab
.line 1910
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_positionBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;->data:[Ljava/lang/Object;
check-cast v1, [Lorg/jbox2d/common/Vec2;
aget-object v6, v1, p1
.line 1911
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_positionBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;->data:[Ljava/lang/Object;
check-cast v1, [Lorg/jbox2d/common/Vec2;
aget-object v7, v1, p2
.line 1912
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_positionBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem$ParticleBuffer;->data:[Ljava/lang/Object;
check-cast v1, [Lorg/jbox2d/common/Vec2;
aget-object v8, v1, p3
.line 1913
iget v1, v6, Lorg/jbox2d/common/Vec2;->x:F
iget v2, v7, Lorg/jbox2d/common/Vec2;->x:F
sub-float v9, v1, v2
.line 1914
iget v1, v6, Lorg/jbox2d/common/Vec2;->y:F
iget v2, v7, Lorg/jbox2d/common/Vec2;->y:F
sub-float v10, v1, v2
.line 1915
iget v1, v7, Lorg/jbox2d/common/Vec2;->x:F
iget v2, v8, Lorg/jbox2d/common/Vec2;->x:F
sub-float v11, v1, v2
.line 1916
iget v1, v7, Lorg/jbox2d/common/Vec2;->y:F
iget v2, v8, Lorg/jbox2d/common/Vec2;->y:F
sub-float v12, v1, v2
.line 1917
iget v1, v8, Lorg/jbox2d/common/Vec2;->x:F
iget v2, v6, Lorg/jbox2d/common/Vec2;->x:F
sub-float v13, v1, v2
.line 1918
iget v1, v8, Lorg/jbox2d/common/Vec2;->y:F
iget v2, v6, Lorg/jbox2d/common/Vec2;->y:F
sub-float v14, v1, v2
.line 1919
const/high16 v1, 0x40800000 # 4.0f
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_squaredDiameter:F
mul-float/2addr v1, v2
.line 1920
mul-float v2, v9, v9
mul-float v15, v10, v10
add-float/2addr v2, v15
cmpg-float v2, v2, v1
if-gez v2, :cond_1ab
mul-float v2, v11, v11
mul-float v15, v12, v12
add-float/2addr v2, v15
cmpg-float v2, v2, v1
if-gez v2, :cond_1ab
mul-float v2, v13, v13
mul-float v15, v14, v14
add-float/2addr v2, v15
cmpg-float v1, v2, v1
if-gez v1, :cond_1ab
.line 1923
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_triadCapacity:I
if-lt v1, v2, :cond_104
.line 1924
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v15, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCapacity:I
.line 1925
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
if-eqz v1, :cond_1b5
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
mul-int/lit8 v1, v1, 0x2
move v2, v1
.line 1929
:goto_de
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
move-object/from16 v16, v0
const-class v1, Lorg/jbox2d/particle/ParticleSystem$Triad;
move-object/from16 v0, p0
iget-object v0, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
move-object/from16 v17, v0
move-object/from16 v0, v17
iget-object v0, v0, Lorg/jbox2d/particle/ParticleSystem;->m_triadBuffer:[Lorg/jbox2d/particle/ParticleSystem$Triad;
move-object/from16 v17, v0
move-object/from16 v0, v17
invoke-static {v1, v0, v15, v2}, Lorg/jbox2d/common/BufferUtils;->reallocateBuffer(Ljava/lang/Class;[Ljava/lang/Object;II)[Ljava/lang/Object;
move-result-object v1
check-cast v1, [Lorg/jbox2d/particle/ParticleSystem$Triad;
move-object/from16 v0, v16
iput-object v1, v0, Lorg/jbox2d/particle/ParticleSystem;->m_triadBuffer:[Lorg/jbox2d/particle/ParticleSystem$Triad;
.line 1932
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCapacity:I
.line 1934
:cond_104
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadBuffer:[Lorg/jbox2d/particle/ParticleSystem$Triad;
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
aget-object v1, v1, v2
.line 1935
move/from16 v0, p1
iput v0, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->indexA:I
.line 1936
move/from16 v0, p2
iput v0, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->indexB:I
.line 1937
move/from16 v0, p3
iput v0, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->indexC:I
.line 1938
or-int v2, v3, v4
or-int/2addr v2, v5
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->flags:I
.line 1939
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->groupA:Lorg/jbox2d/particle/ParticleGroup;
iget v2, v2, Lorg/jbox2d/particle/ParticleGroup;->m_strength:F
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->groupB:Lorg/jbox2d/particle/ParticleGroup;
iget v3, v3, Lorg/jbox2d/particle/ParticleGroup;->m_strength:F
invoke-static {v2, v3}, Lorg/jbox2d/common/MathUtils;->min(FF)F
move-result v2
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->strength:F
.line 1940
const v2, 0x3eaaaaab
iget v3, v6, Lorg/jbox2d/common/Vec2;->x:F
iget v4, v7, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v3, v4
iget v4, v8, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v3, v4
mul-float/2addr v2, v3
.line 1941
const v3, 0x3eaaaaab
iget v4, v6, Lorg/jbox2d/common/Vec2;->y:F
iget v5, v7, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v4, v5
iget v5, v8, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v4, v5
mul-float/2addr v3, v4
.line 1942
iget-object v4, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pa:Lorg/jbox2d/common/Vec2;
iget v5, v6, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v5, v2
iput v5, v4, Lorg/jbox2d/common/Vec2;->x:F
.line 1943
iget-object v4, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pa:Lorg/jbox2d/common/Vec2;
iget v5, v6, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v5, v3
iput v5, v4, Lorg/jbox2d/common/Vec2;->y:F
.line 1944
iget-object v4, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pb:Lorg/jbox2d/common/Vec2;
iget v5, v7, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v5, v2
iput v5, v4, Lorg/jbox2d/common/Vec2;->x:F
.line 1945
iget-object v4, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pb:Lorg/jbox2d/common/Vec2;
iget v5, v7, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v5, v3
iput v5, v4, Lorg/jbox2d/common/Vec2;->y:F
.line 1946
iget-object v4, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pc:Lorg/jbox2d/common/Vec2;
iget v5, v8, Lorg/jbox2d/common/Vec2;->x:F
sub-float v2, v5, v2
iput v2, v4, Lorg/jbox2d/common/Vec2;->x:F
.line 1947
iget-object v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pc:Lorg/jbox2d/common/Vec2;
iget v4, v8, Lorg/jbox2d/common/Vec2;->y:F
sub-float v3, v4, v3
iput v3, v2, Lorg/jbox2d/common/Vec2;->y:F
.line 1948
mul-float v2, v13, v9
mul-float v3, v14, v10
add-float/2addr v2, v3
neg-float v2, v2
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->ka:F
.line 1949
mul-float v2, v9, v11
mul-float v3, v10, v12
add-float/2addr v2, v3
neg-float v2, v2
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->kb:F
.line 1950
mul-float v2, v11, v13
mul-float v3, v12, v14
add-float/2addr v2, v3
neg-float v2, v2
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->kc:F
.line 1951
invoke-static {v6, v7}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v2
invoke-static {v7, v8}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v3
add-float/2addr v2, v3
invoke-static {v8, v6}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v3
add-float/2addr v2, v3
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->s:F
.line 1952
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/particle/ParticleSystem$JoinParticleGroupsCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v2, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
add-int/lit8 v2, v2, 0x1
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
.line 1956
:cond_1ab
return-void
.line 1902
:cond_1ac
const/4 v1, 0x0
goto/16 :goto_b
:cond_1af
const/4 v2, 0x0
goto/16 :goto_16
:cond_1b2
const/4 v1, 0x0
goto/16 :goto_22
.line 1925
:cond_1b5
const/16 v1, 0x100
move v2, v1
goto/16 :goto_de
.end method