FaceInfo.smali

.class public Lcom/baidu/idl/facesdk/FaceInfo;
.super Ljava/lang/Object;
.source "FaceInfo.java"


# instance fields
.field public face_id:I

.field public headPose:[F

.field public is_live:[I

.field public landmarks:[I

.field public mAngle:I

.field public mCenter_x:I

.field public mCenter_y:I

.field public mConf:F

.field public mWidth:I


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

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

    .line 16
    iput p1, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    .line 17
    iput p2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mAngle:I

    .line 18
    iput p3, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mCenter_y:I

    .line 19
    iput p4, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mCenter_x:I

    .line 20
    iput p5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mConf:F

    .line 21
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->landmarks:[I

    .line 22
    const/4 v0, 0x0

    iput v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->face_id:I

    .line 23
    return-void
.end method

.method public constructor <init>(IIIIFI[I)V
    .registers 8

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

    .line 25
    iput p1, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    .line 26
    iput p2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mAngle:I

    .line 27
    iput p3, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mCenter_y:I

    .line 28
    iput p4, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mCenter_x:I

    .line 29
    iput p5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mConf:F

    .line 30
    iput-object p7, p0, Lcom/baidu/idl/facesdk/FaceInfo;->landmarks:[I

    .line 31
    iput p6, p0, Lcom/baidu/idl/facesdk/FaceInfo;->face_id:I

    .line 32
    return-void
.end method

.method public constructor <init>(IIIIFI[I[F[I)V
    .registers 10

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

    .line 34
    iput p1, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    .line 35
    iput p2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mAngle:I

    .line 36
    iput p3, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mCenter_y:I

    .line 37
    iput p4, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mCenter_x:I

    .line 38
    iput p5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mConf:F

    .line 39
    iput-object p7, p0, Lcom/baidu/idl/facesdk/FaceInfo;->landmarks:[I

    .line 40
    iput p6, p0, Lcom/baidu/idl/facesdk/FaceInfo;->face_id:I

    .line 41
    iput-object p8, p0, Lcom/baidu/idl/facesdk/FaceInfo;->headPose:[F

    .line 42
    iput-object p9, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    .line 43
    return-void
.end method


# virtual methods
.method public getRectPoints([I)V
    .registers 14

    .prologue
    .line 50
    iget v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mAngle:I

    int-to-double v0, v0

    const-wide v2, 0x400921f9f01b866eL    # 3.14159

    mul-double/2addr v0, v2

    const-wide v2, 0x4066800000000000L    # 180.0

    div-double/2addr v0, v2

    .line 51
    invoke-static {v0, v1}, Ljava/lang/Math;->cos(D)D

    move-result-wide v2

    .line 52
    invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D

    move-result-wide v0

    .line 54
    iget v4, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mCenter_x:I

    int-to-double v4, v4

    iget v6, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v6, v6

    mul-double/2addr v6, v2

    const-wide/high16 v8, 0x4000000000000000L    # 2.0

    div-double/2addr v6, v8

    add-double/2addr v4, v6

    iget v6, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v6, v6

    mul-double/2addr v6, v0

    const-wide/high16 v8, 0x4000000000000000L    # 2.0

    div-double/2addr v6, v8

    sub-double/2addr v4, v6

    double-to-int v4, v4

    .line 55
    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mCenter_y:I

    int-to-double v6, v5

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v8, v5

    mul-double/2addr v0, v8

    const-wide/high16 v8, 0x4000000000000000L    # 2.0

    div-double/2addr v0, v8

    add-double/2addr v0, v6

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v6, v5

    mul-double/2addr v2, v6

    const-wide/high16 v6, 0x4000000000000000L    # 2.0

    div-double/2addr v2, v6

    add-double/2addr v0, v2

    double-to-int v0, v0

    .line 57
    iget v1, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mAngle:I

    int-to-double v2, v1

    const-wide v6, 0x400921f9f01b866eL    # 3.14159

    mul-double/2addr v2, v6

    const-wide v6, 0x4066800000000000L    # 180.0

    div-double/2addr v2, v6

    .line 58
    invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D

    move-result-wide v6

    const-wide/high16 v8, 0x3fe0000000000000L    # 0.5

    mul-double/2addr v6, v8

    .line 59
    invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D

    move-result-wide v2

    const-wide/high16 v8, 0x3fe0000000000000L    # 0.5

    mul-double/2addr v2, v8

    .line 61
    if-eqz p1, :cond_61

    array-length v1, p1

    if-nez v1, :cond_65

    .line 62
    :cond_61
    const/16 v1, 0x8

    new-array p1, v1, [I

    .line 64
    :cond_65
    const/4 v1, 0x0

    int-to-double v8, v4

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v10, v5

    mul-double/2addr v10, v2

    sub-double/2addr v8, v10

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v10, v5

    mul-double/2addr v10, v6

    sub-double/2addr v8, v10

    double-to-int v5, v8

    aput v5, p1, v1

    .line 65
    const/4 v1, 0x1

    int-to-double v8, v0

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v10, v5

    mul-double/2addr v10, v6

    add-double/2addr v8, v10

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v10, v5

    mul-double/2addr v10, v2

    sub-double/2addr v8, v10

    double-to-int v5, v8

    aput v5, p1, v1

    .line 66
    const/4 v1, 0x2

    int-to-double v8, v4

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v10, v5

    mul-double/2addr v10, v2

    add-double/2addr v8, v10

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v10, v5

    mul-double/2addr v10, v6

    sub-double/2addr v8, v10

    double-to-int v5, v8

    aput v5, p1, v1

    .line 67
    const/4 v1, 0x3

    int-to-double v8, v0

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v10, v5

    mul-double/2addr v6, v10

    sub-double v6, v8, v6

    iget v5, p0, Lcom/baidu/idl/facesdk/FaceInfo;->mWidth:I

    int-to-double v8, v5

    mul-double/2addr v2, v8

    sub-double v2, v6, v2

    double-to-int v2, v2

    aput v2, p1, v1

    .line 68
    const/4 v1, 0x4

    mul-int/lit8 v2, v4, 0x2

    const/4 v3, 0x0

    aget v3, p1, v3

    sub-int/2addr v2, v3

    aput v2, p1, v1

    .line 69
    const/4 v1, 0x5

    mul-int/lit8 v2, v0, 0x2

    const/4 v3, 0x1

    aget v3, p1, v3

    sub-int/2addr v2, v3

    aput v2, p1, v1

    .line 70
    const/4 v1, 0x6

    mul-int/lit8 v2, v4, 0x2

    const/4 v3, 0x2

    aget v3, p1, v3

    sub-int/2addr v2, v3

    aput v2, p1, v1

    .line 71
    const/4 v1, 0x7

    mul-int/lit8 v0, v0, 0x2

    const/4 v2, 0x3

    aget v2, p1, v2

    sub-int/2addr v0, v2

    aput v0, p1, v1

    .line 72
    return-void
.end method

.method public get_leftEyeState()I
    .registers 3

    .prologue
    .line 119
    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v0, :cond_b

    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v0, v0

    const/16 v1, 0xb

    if-eq v0, v1, :cond_d

    .line 120
    :cond_b
    const/4 v0, 0x0

    .line 122
    :goto_c
    return v0

    :cond_d
    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    const/4 v1, 0x1

    aget v0, v0, v1

    goto :goto_c
.end method

.method public get_mouthState()I
    .registers 3

    .prologue
    .line 133
    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v0, :cond_b

    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v0, v0

    const/16 v1, 0xb

    if-eq v0, v1, :cond_d

    .line 134
    :cond_b
    const/4 v0, 0x0

    .line 136
    :goto_c
    return v0

    :cond_d
    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    const/4 v1, 0x4

    aget v0, v0, v1

    goto :goto_c
.end method

.method public get_rightEyeState()I
    .registers 3

    .prologue
    .line 126
    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v0, :cond_b

    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v0, v0

    const/16 v1, 0xb

    if-eq v0, v1, :cond_d

    .line 127
    :cond_b
    const/4 v0, 0x0

    .line 129
    :goto_c
    return v0

    :cond_d
    iget-object v0, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    const/4 v1, 0x2

    aget v0, v0, v1

    goto :goto_c
.end method

.method public is_live()Z
    .registers 5

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 76
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v2, :cond_d

    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v2, v2

    const/16 v3, 0xb

    if-eq v2, v3, :cond_f

    :cond_d
    move v0, v1

    .line 79
    :cond_e
    :goto_e
    return v0

    :cond_f
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    aget v2, v2, v1

    if-eq v0, v2, :cond_e

    move v0, v1

    goto :goto_e
.end method

.method public is_live_head_down()Z
    .registers 5

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 111
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v2, :cond_d

    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v2, v2

    const/16 v3, 0xb

    if-eq v2, v3, :cond_f

    :cond_d
    move v0, v1

    .line 114
    :cond_e
    :goto_e
    return v0

    :cond_f
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    const/16 v3, 0x9

    aget v2, v2, v3

    if-eq v0, v2, :cond_e

    move v0, v1

    goto :goto_e
.end method

.method public is_live_head_turn_left()Z
    .registers 5

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 90
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v2, :cond_d

    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v2, v2

    const/16 v3, 0xb

    if-eq v2, v3, :cond_f

    :cond_d
    move v0, v1

    .line 93
    :cond_e
    :goto_e
    return v0

    :cond_f
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    const/4 v3, 0x5

    aget v2, v2, v3

    if-eq v0, v2, :cond_e

    move v0, v1

    goto :goto_e
.end method

.method public is_live_head_turn_right()Z
    .registers 5

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 97
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v2, :cond_d

    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v2, v2

    const/16 v3, 0xb

    if-eq v2, v3, :cond_f

    :cond_d
    move v0, v1

    .line 100
    :cond_e
    :goto_e
    return v0

    :cond_f
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    const/4 v3, 0x6

    aget v2, v2, v3

    if-eq v0, v2, :cond_e

    move v0, v1

    goto :goto_e
.end method

.method public is_live_head_up()Z
    .registers 5

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 104
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v2, :cond_d

    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v2, v2

    const/16 v3, 0xb

    if-eq v2, v3, :cond_f

    :cond_d
    move v0, v1

    .line 107
    :cond_e
    :goto_e
    return v0

    :cond_f
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    const/16 v3, 0x8

    aget v2, v2, v3

    if-eq v0, v2, :cond_e

    move v0, v1

    goto :goto_e
.end method

.method public is_live_mouth()Z
    .registers 5

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 83
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    if-eqz v2, :cond_d

    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    array-length v2, v2

    const/16 v3, 0xb

    if-eq v2, v3, :cond_f

    :cond_d
    move v0, v1

    .line 86
    :cond_e
    :goto_e
    return v0

    :cond_f
    iget-object v2, p0, Lcom/baidu/idl/facesdk/FaceInfo;->is_live:[I

    const/4 v3, 0x3

    aget v2, v2, v3

    if-eq v0, v2, :cond_e

    move v0, v1

    goto :goto_e
.end method