ObjParser$ObjFace.smali

.class Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;
.super Lcom/censivn/C3DEngine/parser/ParseObjectFace;
.source "ObjParser.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/censivn/C3DEngine/parser/ObjParser;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x2
    name = "ObjFace"
.end annotation


# instance fields
.field final synthetic this$0:Lcom/censivn/C3DEngine/parser/ObjParser;


# direct methods
.method public constructor <init>(Lcom/censivn/C3DEngine/parser/ObjParser;Ljava/lang/String;Ljava/lang/String;I)V
    .registers 13

    .prologue
    const/4 v7, 0x2

    const/4 v2, 0x0

    const/4 v1, 0x1

    .line 215
    iput-object p1, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->this$0:Lcom/censivn/C3DEngine/parser/ObjParser;

    .line 216
    invoke-direct {p0}, Lcom/censivn/C3DEngine/parser/ParseObjectFace;-><init>()V

    .line 217
    iput-object p3, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->materialKey:Ljava/lang/String;

    .line 218
    iput p4, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->faceLength:I

    .line 219
    const-string v0, "//"

    invoke-virtual {p2, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v0

    const/4 v3, -0x1

    if-le v0, v3, :cond_a9

    move v4, v1

    .line 220
    :goto_16
    if-eqz v4, :cond_20

    .line 221
    const-string v0, "//"

    const-string v3, "/"

    invoke-virtual {p2, v0, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

    move-result-object p2

    .line 222
    :cond_20
    new-instance v5, Ljava/util/StringTokenizer;

    invoke-direct {v5, p2}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;)V

    .line 223
    invoke-virtual {v5}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 224
    new-instance v3, Ljava/util/StringTokenizer;

    invoke-virtual {v5}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v0

    const-string v6, "/"

    invoke-direct {v3, v0, v6}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 225
    invoke-virtual {v3}, Ljava/util/StringTokenizer;->countTokens()I

    move-result v6

    .line 226
    if-lt v6, v7, :cond_ac

    if-nez v4, :cond_ac

    move v0, v1

    :goto_3c
    iput-boolean v0, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->hasuv:Z

    .line 227
    const/4 v0, 0x3

    if-eq v6, v0, :cond_45

    if-ne v6, v7, :cond_46

    if-eqz v4, :cond_46

    :cond_45
    move v2, v1

    :cond_46
    iput-boolean v2, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->hasn:Z

    .line 229
    new-array v0, p4, [I

    iput-object v0, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->v:[I

    .line 230
    iget-boolean v0, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->hasuv:Z

    if-eqz v0, :cond_54

    .line 231
    new-array v0, p4, [I

    iput-object v0, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->uv:[I

    .line 232
    :cond_54
    iget-boolean v0, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->hasn:Z

    if-eqz v0, :cond_5c

    .line 233
    new-array v0, p4, [I

    iput-object v0, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->n:[I

    :cond_5c
    move v2, v1

    move-object v0, v3

    .line 235
    :goto_5e
    add-int/lit8 v3, p4, 0x1

    if-ge v2, v3, :cond_ae

    .line 236
    if-le v2, v1, :cond_6f

    .line 237
    new-instance v0, Ljava/util/StringTokenizer;

    invoke-virtual {v5}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    const-string v4, "/"

    invoke-direct {v0, v3, v4}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 239
    :cond_6f
    add-int/lit8 v3, v2, -0x1

    .line 240
    iget-object v4, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->v:[I

    invoke-virtual {v0}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Ljava/lang/Short;->parseShort(Ljava/lang/String;)S

    move-result v6

    add-int/lit8 v6, v6, -0x1

    int-to-short v6, v6

    aput v6, v4, v3

    .line 241
    iget-boolean v4, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->hasuv:Z

    if-eqz v4, :cond_93

    .line 242
    iget-object v4, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->uv:[I

    invoke-virtual {v0}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Ljava/lang/Short;->parseShort(Ljava/lang/String;)S

    move-result v6

    add-int/lit8 v6, v6, -0x1

    int-to-short v6, v6

    aput v6, v4, v3

    .line 243
    :cond_93
    iget-boolean v4, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->hasn:Z

    if-eqz v4, :cond_a6

    .line 244
    iget-object v4, p0, Lcom/censivn/C3DEngine/parser/ObjParser$ObjFace;->n:[I

    invoke-virtual {v0}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Ljava/lang/Short;->parseShort(Ljava/lang/String;)S

    move-result v6

    add-int/lit8 v6, v6, -0x1

    int-to-short v6, v6

    aput v6, v4, v3

    .line 235
    :cond_a6
    add-int/lit8 v2, v2, 0x1

    goto :goto_5e

    :cond_a9
    move v4, v2

    .line 219
    goto/16 :goto_16

    :cond_ac
    move v0, v2

    .line 226
    goto :goto_3c

    .line 246
    :cond_ae
    return-void
.end method