Manifold.smali

.class public Lorg/jbox2d/collision/Manifold;
.super Ljava/lang/Object;
.source "Manifold.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lorg/jbox2d/collision/Manifold$ManifoldType;
    }
.end annotation


# instance fields
.field public final localNormal:Lorg/jbox2d/common/Vec2;

.field public final localPoint:Lorg/jbox2d/common/Vec2;

.field public pointCount:I

.field public final points:[Lorg/jbox2d/collision/ManifoldPoint;

.field public type:Lorg/jbox2d/collision/Manifold$ManifoldType;


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

    .prologue
    const/4 v1, 0x0

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

    .line 75
    sget v0, Lorg/jbox2d/common/Settings;->maxManifoldPoints:I

    new-array v0, v0, [Lorg/jbox2d/collision/ManifoldPoint;

    iput-object v0, p0, Lorg/jbox2d/collision/Manifold;->points:[Lorg/jbox2d/collision/ManifoldPoint;

    move v0, v1

    .line 76
    :goto_b
    sget v2, Lorg/jbox2d/common/Settings;->maxManifoldPoints:I

    if-ge v0, v2, :cond_1b

    .line 77
    iget-object v2, p0, Lorg/jbox2d/collision/Manifold;->points:[Lorg/jbox2d/collision/ManifoldPoint;

    new-instance v3, Lorg/jbox2d/collision/ManifoldPoint;

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

    aput-object v3, v2, v0

    .line 76
    add-int/lit8 v0, v0, 0x1

    goto :goto_b

    .line 79
    :cond_1b
    new-instance v0, Lorg/jbox2d/common/Vec2;

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

    iput-object v0, p0, Lorg/jbox2d/collision/Manifold;->localNormal:Lorg/jbox2d/common/Vec2;

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

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

    iput-object v0, p0, Lorg/jbox2d/collision/Manifold;->localPoint:Lorg/jbox2d/common/Vec2;

    .line 81
    iput v1, p0, Lorg/jbox2d/collision/Manifold;->pointCount:I

    .line 82
    return-void
.end method

.method public constructor <init>(Lorg/jbox2d/collision/Manifold;)V
    .registers 6

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

    .line 90
    sget v0, Lorg/jbox2d/common/Settings;->maxManifoldPoints:I

    new-array v0, v0, [Lorg/jbox2d/collision/ManifoldPoint;

    iput-object v0, p0, Lorg/jbox2d/collision/Manifold;->points:[Lorg/jbox2d/collision/ManifoldPoint;

    .line 91
    iget-object v0, p1, Lorg/jbox2d/collision/Manifold;->localNormal:Lorg/jbox2d/common/Vec2;

    invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->clone()Lorg/jbox2d/common/Vec2;

    move-result-object v0

    iput-object v0, p0, Lorg/jbox2d/collision/Manifold;->localNormal:Lorg/jbox2d/common/Vec2;

    .line 92
    iget-object v0, p1, Lorg/jbox2d/collision/Manifold;->localPoint:Lorg/jbox2d/common/Vec2;

    invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->clone()Lorg/jbox2d/common/Vec2;

    move-result-object v0

    iput-object v0, p0, Lorg/jbox2d/collision/Manifold;->localPoint:Lorg/jbox2d/common/Vec2;

    .line 93
    iget v0, p1, Lorg/jbox2d/collision/Manifold;->pointCount:I

    iput v0, p0, Lorg/jbox2d/collision/Manifold;->pointCount:I

    .line 94
    iget-object v0, p1, Lorg/jbox2d/collision/Manifold;->type:Lorg/jbox2d/collision/Manifold$ManifoldType;

    iput-object v0, p0, Lorg/jbox2d/collision/Manifold;->type:Lorg/jbox2d/collision/Manifold$ManifoldType;

    .line 96
    const/4 v0, 0x0

    :goto_22
    sget v1, Lorg/jbox2d/common/Settings;->maxManifoldPoints:I

    if-ge v0, v1, :cond_36

    .line 97
    iget-object v1, p0, Lorg/jbox2d/collision/Manifold;->points:[Lorg/jbox2d/collision/ManifoldPoint;

    new-instance v2, Lorg/jbox2d/collision/ManifoldPoint;

    iget-object v3, p1, Lorg/jbox2d/collision/Manifold;->points:[Lorg/jbox2d/collision/ManifoldPoint;

    aget-object v3, v3, v0

    invoke-direct {v2, v3}, Lorg/jbox2d/collision/ManifoldPoint;-><init>(Lorg/jbox2d/collision/ManifoldPoint;)V

    aput-object v2, v1, v0

    .line 96
    add-int/lit8 v0, v0, 0x1

    goto :goto_22

    .line 99
    :cond_36
    return-void
.end method


# virtual methods
.method public set(Lorg/jbox2d/collision/Manifold;)V
    .registers 5

    .prologue
    .line 107
    const/4 v0, 0x0

    :goto_1
    iget v1, p1, Lorg/jbox2d/collision/Manifold;->pointCount:I

    if-ge v0, v1, :cond_13

    .line 108
    iget-object v1, p0, Lorg/jbox2d/collision/Manifold;->points:[Lorg/jbox2d/collision/ManifoldPoint;

    aget-object v1, v1, v0

    iget-object v2, p1, Lorg/jbox2d/collision/Manifold;->points:[Lorg/jbox2d/collision/ManifoldPoint;

    aget-object v2, v2, v0

    invoke-virtual {v1, v2}, Lorg/jbox2d/collision/ManifoldPoint;->set(Lorg/jbox2d/collision/ManifoldPoint;)V

    .line 107
    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    .line 111
    :cond_13
    iget-object v0, p1, Lorg/jbox2d/collision/Manifold;->type:Lorg/jbox2d/collision/Manifold$ManifoldType;

    iput-object v0, p0, Lorg/jbox2d/collision/Manifold;->type:Lorg/jbox2d/collision/Manifold$ManifoldType;

    .line 112
    iget-object v0, p0, Lorg/jbox2d/collision/Manifold;->localNormal:Lorg/jbox2d/common/Vec2;

    iget-object v1, p1, Lorg/jbox2d/collision/Manifold;->localNormal:Lorg/jbox2d/common/Vec2;

    invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;

    .line 113
    iget-object v0, p0, Lorg/jbox2d/collision/Manifold;->localPoint:Lorg/jbox2d/common/Vec2;

    iget-object v1, p1, Lorg/jbox2d/collision/Manifold;->localPoint:Lorg/jbox2d/common/Vec2;

    invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;

    .line 114
    iget v0, p1, Lorg/jbox2d/collision/Manifold;->pointCount:I

    iput v0, p0, Lorg/jbox2d/collision/Manifold;->pointCount:I

    .line 115
    return-void
.end method