Noise.smali
.class public Lcom/censivn/C3DEngine/effects/modifiers/Noise;
.super Lcom/censivn/C3DEngine/effects/core/Modifier;
.source "Noise.java"
# interfaces
.implements Lcom/censivn/C3DEngine/effects/IEffects;
# instance fields
.field private axc:I
.field private end:F
.field private frc:F
.field private start:F
# direct methods
.method public constructor <init>(F)V
.registers 4
.prologue
const/4 v1, 0x0
.line 18
invoke-direct {p0}, Lcom/censivn/C3DEngine/effects/core/Modifier;-><init>()V
.line 13
const/4 v0, 0x0
iput v0, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->axc:I
.line 15
iput v1, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->start:F
.line 16
iput v1, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->end:F
.line 19
iput p1, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->frc:F
.line 20
return-void
.end method
# virtual methods
.method public apply()V
.registers 11
.prologue
const/4 v1, 0x0
.line 45
iget-object v0, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->mod:Lcom/censivn/C3DEngine/effects/core/MeshProxy;
invoke-virtual {v0}, Lcom/censivn/C3DEngine/effects/core/MeshProxy;->getVertices()Ljava/util/ArrayList;
move-result-object v3
.line 46
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result v4
.line 48
const/4 v0, 0x0
move v2, v0
:goto_d
if-ge v2, v4, :cond_66
.line 49
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/censivn/C3DEngine/effects/core/VertexProxy;
.line 50
invoke-static {}, Ljava/lang/Math;->random()D
move-result-wide v6
invoke-virtual {p0}, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->getForce()F
move-result v5
float-to-double v8, v5
mul-double/2addr v6, v8
invoke-virtual {p0}, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->getForce()F
move-result v5
const/high16 v8, 0x40000000 # 2.0f
div-float/2addr v5, v8
float-to-double v8, v5
sub-double/2addr v6, v8
double-to-float v5, v6
.line 52
iget-object v5, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->mod:Lcom/censivn/C3DEngine/effects/core/MeshProxy;
invoke-virtual {v5}, Lcom/censivn/C3DEngine/effects/core/MeshProxy;->getMaxAxis()I
move-result v5
invoke-virtual {v0, v5}, Lcom/censivn/C3DEngine/effects/core/VertexProxy;->getRatio(I)F
move-result v0
.line 53
iget v5, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->start:F
iget v6, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->end:F
cmpg-float v5, v5, v6
if-gez v5, :cond_4c
.line 54
iget v5, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->start:F
cmpg-float v5, v0, v5
if-gez v5, :cond_42
move v0, v1
.line 55
:cond_42
iget v5, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->end:F
cmpl-float v0, v0, v5
if-lez v0, :cond_48
.line 48
:cond_48
:goto_48
add-int/lit8 v0, v2, 0x1
move v2, v0
goto :goto_d
.line 56
:cond_4c
iget v5, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->start:F
iget v6, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->end:F
cmpl-float v5, v5, v6
if-lez v5, :cond_48
.line 57
const/high16 v5, 0x3f800000 # 1.0f
sub-float v0, v5, v0
.line 58
iget v5, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->start:F
cmpl-float v5, v0, v5
if-lez v5, :cond_5f
move v0, v1
.line 59
:cond_5f
iget v5, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->end:F
cmpg-float v0, v0, v5
if-gez v0, :cond_48
goto :goto_48
.line 72
:cond_66
return-void
.end method
.method public constraintAxes(I)V
.registers 2
.prologue
.line 31
iput p1, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->axc:I
.line 32
return-void
.end method
.method public getForce()F
.registers 2
.prologue
.line 27
iget v0, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->frc:F
return v0
.end method
.method public setFalloff()V
.registers 3
.prologue
.line 41
const/4 v0, 0x0
const/high16 v1, 0x3f800000 # 1.0f
invoke-virtual {p0, v0, v1}, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->setFalloff(FF)V
.line 42
return-void
.end method
.method public setFalloff(FF)V
.registers 3
.prologue
.line 36
iput p1, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->start:F
.line 37
iput p2, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->end:F
.line 38
return-void
.end method
.method public setForce(F)V
.registers 2
.prologue
.line 23
iput p1, p0, Lcom/censivn/C3DEngine/effects/modifiers/Noise;->frc:F
.line 24
return-void
.end method