ParticleSystem$CreateParticleGroupCallback.smali
.class Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;
.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 = "CreateParticleGroupCallback"
.end annotation
# instance fields
.field def:Lorg/jbox2d/particle/ParticleGroupDef;
.field firstIndex:I
.field system:Lorg/jbox2d/particle/ParticleSystem;
# direct methods
.method constructor <init>()V
.registers 1
.prologue
.line 1843
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public callback(III)V
.registers 19
.prologue
.line 1845
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->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 v3, v1, p1
.line 1846
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->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 v4, v1, p2
.line 1847
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->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 v5, v1, p3
.line 1848
iget v1, v3, Lorg/jbox2d/common/Vec2;->x:F
iget v2, v4, Lorg/jbox2d/common/Vec2;->x:F
sub-float v6, v1, v2
.line 1849
iget v1, v3, Lorg/jbox2d/common/Vec2;->y:F
iget v2, v4, Lorg/jbox2d/common/Vec2;->y:F
sub-float v7, v1, v2
.line 1850
iget v1, v4, Lorg/jbox2d/common/Vec2;->x:F
iget v2, v5, Lorg/jbox2d/common/Vec2;->x:F
sub-float v8, v1, v2
.line 1851
iget v1, v4, Lorg/jbox2d/common/Vec2;->y:F
iget v2, v5, Lorg/jbox2d/common/Vec2;->y:F
sub-float v9, v1, v2
.line 1852
iget v1, v5, Lorg/jbox2d/common/Vec2;->x:F
iget v2, v3, Lorg/jbox2d/common/Vec2;->x:F
sub-float v10, v1, v2
.line 1853
iget v1, v5, Lorg/jbox2d/common/Vec2;->y:F
iget v2, v3, Lorg/jbox2d/common/Vec2;->y:F
sub-float v11, v1, v2
.line 1854
const/high16 v1, 0x40800000 # 4.0f
iget-object v2, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_squaredDiameter:F
mul-float/2addr v1, v2
.line 1855
mul-float v2, v6, v6
mul-float v12, v7, v7
add-float/2addr v2, v12
cmpg-float v2, v2, v1
if-gez v2, :cond_13f
mul-float v2, v8, v8
mul-float v12, v9, v9
add-float/2addr v2, v12
cmpg-float v2, v2, v1
if-gez v2, :cond_13f
mul-float v2, v10, v10
mul-float v12, v11, v11
add-float/2addr v2, v12
cmpg-float v1, v2, v1
if-gez v1, :cond_13f
.line 1858
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
iget-object v2, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_triadCapacity:I
if-lt v1, v2, :cond_93
.line 1859
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v12, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCapacity:I
.line 1860
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
if-eqz v1, :cond_140
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->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 1864
:goto_7f
iget-object v13, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
const-class v1, Lorg/jbox2d/particle/ParticleSystem$Triad;
iget-object v14, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v14, v14, Lorg/jbox2d/particle/ParticleSystem;->m_triadBuffer:[Lorg/jbox2d/particle/ParticleSystem$Triad;
invoke-static {v1, v14, v12, 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;
iput-object v1, v13, Lorg/jbox2d/particle/ParticleSystem;->m_triadBuffer:[Lorg/jbox2d/particle/ParticleSystem$Triad;
.line 1867
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadCapacity:I
.line 1869
:cond_93
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v1, v1, Lorg/jbox2d/particle/ParticleSystem;->m_triadBuffer:[Lorg/jbox2d/particle/ParticleSystem$Triad;
iget-object v2, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_triadCount:I
aget-object v1, v1, v2
.line 1870
move/from16 v0, p1
iput v0, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->indexA:I
.line 1871
move/from16 v0, p2
iput v0, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->indexB:I
.line 1872
move/from16 v0, p3
iput v0, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->indexC:I
.line 1873
iget-object v2, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v2, v2, Lorg/jbox2d/particle/ParticleSystem;->m_flagsBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;
iget-object v2, v2, Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;->data:[I
aget v2, v2, p1
iget-object v12, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v12, v12, Lorg/jbox2d/particle/ParticleSystem;->m_flagsBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;
iget-object v12, v12, Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;->data:[I
aget v12, v12, p2
or-int/2addr v2, v12
iget-object v12, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->system:Lorg/jbox2d/particle/ParticleSystem;
iget-object v12, v12, Lorg/jbox2d/particle/ParticleSystem;->m_flagsBuffer:Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;
iget-object v12, v12, Lorg/jbox2d/particle/ParticleSystem$ParticleBufferInt;->data:[I
aget v12, v12, p3
or-int/2addr v2, v12
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->flags:I
.line 1876
iget-object v2, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->def:Lorg/jbox2d/particle/ParticleGroupDef;
iget v2, v2, Lorg/jbox2d/particle/ParticleGroupDef;->strength:F
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->strength:F
.line 1877
const v2, 0x3eaaaaab
iget v12, v3, Lorg/jbox2d/common/Vec2;->x:F
iget v13, v4, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v12, v13
iget v13, v5, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v12, v13
mul-float/2addr v2, v12
.line 1878
const v12, 0x3eaaaaab
iget v13, v3, Lorg/jbox2d/common/Vec2;->y:F
iget v14, v4, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v13, v14
iget v14, v5, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v13, v14
mul-float/2addr v12, v13
.line 1879
iget-object v13, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pa:Lorg/jbox2d/common/Vec2;
iget v14, v3, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v14, v2
iput v14, v13, Lorg/jbox2d/common/Vec2;->x:F
.line 1880
iget-object v13, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pa:Lorg/jbox2d/common/Vec2;
iget v14, v3, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v14, v12
iput v14, v13, Lorg/jbox2d/common/Vec2;->y:F
.line 1881
iget-object v13, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pb:Lorg/jbox2d/common/Vec2;
iget v14, v4, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v14, v2
iput v14, v13, Lorg/jbox2d/common/Vec2;->x:F
.line 1882
iget-object v13, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pb:Lorg/jbox2d/common/Vec2;
iget v14, v4, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v14, v12
iput v14, v13, Lorg/jbox2d/common/Vec2;->y:F
.line 1883
iget-object v13, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pc:Lorg/jbox2d/common/Vec2;
iget v14, v5, Lorg/jbox2d/common/Vec2;->x:F
sub-float v2, v14, v2
iput v2, v13, Lorg/jbox2d/common/Vec2;->x:F
.line 1884
iget-object v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->pc:Lorg/jbox2d/common/Vec2;
iget v13, v5, Lorg/jbox2d/common/Vec2;->y:F
sub-float v12, v13, v12
iput v12, v2, Lorg/jbox2d/common/Vec2;->y:F
.line 1885
mul-float v2, v10, v6
mul-float v12, v11, v7
add-float/2addr v2, v12
neg-float v2, v2
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->ka:F
.line 1886
mul-float v2, v6, v8
mul-float v6, v7, v9
add-float/2addr v2, v6
neg-float v2, v2
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->kb:F
.line 1887
mul-float v2, v8, v10
mul-float v6, v9, v11
add-float/2addr v2, v6
neg-float v2, v2
iput v2, v1, Lorg/jbox2d/particle/ParticleSystem$Triad;->kc:F
.line 1888
invoke-static {v3, v4}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v2
invoke-static {v4, v5}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v4
add-float/2addr v2, v4
invoke-static {v5, v3}, 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 1889
iget-object v1, p0, Lorg/jbox2d/particle/ParticleSystem$CreateParticleGroupCallback;->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 1891
:cond_13f
return-void
.line 1860
:cond_140
const/16 v1, 0x100
move v2, v1
goto/16 :goto_7f
.end method