Point.smali

.class public Lim/tpelyyftgw/ui/components/paint/Point;
.super Ljava/lang/Object;
.source "Point.java"


# instance fields
.field public edge:Z

.field public x:D

.field public y:D

.field public z:D


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(DDD)V
    .registers 7
    .param p1, "x"    # D
    .param p3, "y"    # D
    .param p5, "z"    # D

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

    .line 14
    iput-wide p1, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    .line 15
    iput-wide p3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    .line 16
    iput-wide p5, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    .line 17
    return-void
.end method

.method public constructor <init>(Lim/tpelyyftgw/ui/components/paint/Point;)V
    .registers 4
    .param p1, "point"    # Lim/tpelyyftgw/ui/components/paint/Point;

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

    .line 20
    iget-wide v0, p1, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    iput-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    .line 21
    iget-wide v0, p1, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    iput-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    .line 22
    iget-wide v0, p1, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    iput-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    .line 23
    return-void
.end method

.method private getMagnitude()D
    .registers 5

    .line 71
    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    mul-double v0, v0, v0

    iget-wide v2, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    mul-double v2, v2, v2

    add-double/2addr v0, v2

    iget-wide v2, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    mul-double v2, v2, v2

    add-double/2addr v0, v2

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    return-wide v0
.end method


# virtual methods
.method add(Lim/tpelyyftgw/ui/components/paint/Point;)Lim/tpelyyftgw/ui/components/paint/Point;
    .registers 12
    .param p1, "point"    # Lim/tpelyyftgw/ui/components/paint/Point;

    .line 55
    new-instance v7, Lim/tpelyyftgw/ui/components/paint/Point;

    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    iget-wide v2, p1, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    add-double v1, v0, v2

    iget-wide v3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    iget-wide v5, p1, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    add-double/2addr v3, v5

    iget-wide v5, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    iget-wide v8, p1, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    add-double/2addr v5, v8

    move-object v0, v7

    invoke-direct/range {v0 .. v6}, Lim/tpelyyftgw/ui/components/paint/Point;-><init>(DDD)V

    return-object v7
.end method

.method alteringAddMultiplication(Lim/tpelyyftgw/ui/components/paint/Point;D)V
    .registers 8
    .param p1, "point"    # Lim/tpelyyftgw/ui/components/paint/Point;
    .param p2, "scalar"    # D

    .line 49
    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    iget-wide v2, p1, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    mul-double v2, v2, p2

    add-double/2addr v0, v2

    iput-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    .line 50
    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    iget-wide v2, p1, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    mul-double v2, v2, p2

    add-double/2addr v0, v2

    iput-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    .line 51
    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    iget-wide v2, p1, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    mul-double v2, v2, p2

    add-double/2addr v0, v2

    iput-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    .line 52
    return-void
.end method

.method public equals(Ljava/lang/Object;)Z
    .registers 10
    .param p1, "obj"    # Ljava/lang/Object;

    .line 27
    const/4 v0, 0x0

    if-nez p1, :cond_4

    .line 28
    return v0

    .line 30
    :cond_4
    const/4 v1, 0x1

    if-ne p1, p0, :cond_8

    .line 31
    return v1

    .line 33
    :cond_8
    instance-of v2, p1, Lim/tpelyyftgw/ui/components/paint/Point;

    if-nez v2, :cond_d

    .line 34
    return v0

    .line 36
    :cond_d
    move-object v2, p1

    check-cast v2, Lim/tpelyyftgw/ui/components/paint/Point;

    .line 37
    .local v2, "other":Lim/tpelyyftgw/ui/components/paint/Point;
    iget-wide v3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    iget-wide v5, v2, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    cmpl-double v7, v3, v5

    if-nez v7, :cond_29

    iget-wide v3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    iget-wide v5, v2, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    cmpl-double v7, v3, v5

    if-nez v7, :cond_29

    iget-wide v3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    iget-wide v5, v2, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    cmpl-double v7, v3, v5

    if-nez v7, :cond_29

    const/4 v0, 0x1

    :cond_29
    return v0
.end method

.method getDistanceTo(Lim/tpelyyftgw/ui/components/paint/Point;)F
    .registers 10
    .param p1, "point"    # Lim/tpelyyftgw/ui/components/paint/Point;

    .line 75
    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    iget-wide v2, p1, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    sub-double/2addr v0, v2

    const-wide/high16 v2, 0x4000000000000000L    # 2.0

    invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->pow(DD)D

    move-result-wide v0

    iget-wide v4, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    iget-wide v6, p1, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    sub-double/2addr v4, v6

    invoke-static {v4, v5, v2, v3}, Ljava/lang/Math;->pow(DD)D

    move-result-wide v4

    add-double/2addr v0, v4

    iget-wide v4, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    iget-wide v6, p1, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    sub-double/2addr v4, v6

    invoke-static {v4, v5, v2, v3}, Ljava/lang/Math;->pow(DD)D

    move-result-wide v2

    add-double/2addr v0, v2

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    double-to-float v0, v0

    return v0
.end method

.method getNormalized()Lim/tpelyyftgw/ui/components/paint/Point;
    .registers 5

    .line 67
    invoke-direct {p0}, Lim/tpelyyftgw/ui/components/paint/Point;->getMagnitude()D

    move-result-wide v0

    const-wide/high16 v2, 0x3ff0000000000000L    # 1.0

    div-double/2addr v2, v0

    invoke-virtual {p0, v2, v3}, Lim/tpelyyftgw/ui/components/paint/Point;->multiplyByScalar(D)Lim/tpelyyftgw/ui/components/paint/Point;

    move-result-object v0

    return-object v0
.end method

.method multiplyAndAdd(DLim/tpelyyftgw/ui/components/paint/Point;)Lim/tpelyyftgw/ui/components/paint/Point;
    .registers 14
    .param p1, "scalar"    # D
    .param p3, "point"    # Lim/tpelyyftgw/ui/components/paint/Point;

    .line 45
    new-instance v7, Lim/tpelyyftgw/ui/components/paint/Point;

    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    mul-double v0, v0, p1

    iget-wide v2, p3, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    add-double v1, v0, v2

    iget-wide v3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    mul-double v3, v3, p1

    iget-wide v5, p3, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    add-double/2addr v3, v5

    iget-wide v5, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    mul-double v5, v5, p1

    iget-wide v8, p3, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    add-double/2addr v5, v8

    move-object v0, v7

    invoke-direct/range {v0 .. v6}, Lim/tpelyyftgw/ui/components/paint/Point;-><init>(DDD)V

    return-object v7
.end method

.method multiplyByScalar(D)Lim/tpelyyftgw/ui/components/paint/Point;
    .registers 11
    .param p1, "scalar"    # D

    .line 63
    new-instance v7, Lim/tpelyyftgw/ui/components/paint/Point;

    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    mul-double v1, v0, p1

    iget-wide v3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    mul-double v3, v3, p1

    iget-wide v5, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    mul-double v5, v5, p1

    move-object v0, v7

    invoke-direct/range {v0 .. v6}, Lim/tpelyyftgw/ui/components/paint/Point;-><init>(DDD)V

    return-object v7
.end method

.method multiplySum(Lim/tpelyyftgw/ui/components/paint/Point;D)Lim/tpelyyftgw/ui/components/paint/Point;
    .registers 14
    .param p1, "point"    # Lim/tpelyyftgw/ui/components/paint/Point;
    .param p2, "scalar"    # D

    .line 41
    new-instance v7, Lim/tpelyyftgw/ui/components/paint/Point;

    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    iget-wide v2, p1, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    add-double/2addr v0, v2

    mul-double v1, v0, p2

    iget-wide v3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    iget-wide v5, p1, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    add-double/2addr v3, v5

    mul-double v3, v3, p2

    iget-wide v5, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    iget-wide v8, p1, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    add-double/2addr v5, v8

    mul-double v5, v5, p2

    move-object v0, v7

    invoke-direct/range {v0 .. v6}, Lim/tpelyyftgw/ui/components/paint/Point;-><init>(DDD)V

    return-object v7
.end method

.method substract(Lim/tpelyyftgw/ui/components/paint/Point;)Lim/tpelyyftgw/ui/components/paint/Point;
    .registers 12
    .param p1, "point"    # Lim/tpelyyftgw/ui/components/paint/Point;

    .line 59
    new-instance v7, Lim/tpelyyftgw/ui/components/paint/Point;

    iget-wide v0, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    iget-wide v2, p1, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    sub-double v1, v0, v2

    iget-wide v3, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    iget-wide v5, p1, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    sub-double/2addr v3, v5

    iget-wide v5, p0, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    iget-wide v8, p1, Lim/tpelyyftgw/ui/components/paint/Point;->z:D

    sub-double/2addr v5, v8

    move-object v0, v7

    invoke-direct/range {v0 .. v6}, Lim/tpelyyftgw/ui/components/paint/Point;-><init>(DDD)V

    return-object v7
.end method

.method toPointF()Landroid/graphics/PointF;
    .registers 5

    .line 79
    new-instance v0, Landroid/graphics/PointF;

    iget-wide v1, p0, Lim/tpelyyftgw/ui/components/paint/Point;->x:D

    double-to-float v1, v1

    iget-wide v2, p0, Lim/tpelyyftgw/ui/components/paint/Point;->y:D

    double-to-float v2, v2

    invoke-direct {v0, v1, v2}, Landroid/graphics/PointF;-><init>(FF)V

    return-object v0
.end method