PointBufferManager.smali
.class public Lcom/censivn/C3DEngine/api/element/PointBufferManager;
.super Ljava/lang/Object;
.source "PointBufferManager.java"
# static fields
.field public static final BYTES_PER_PROPERTY:I = 0x4
.field public static final PROPERTIES_PER_ELEMENT:I = 0x3
# instance fields
.field private mBuffer:Ljava/nio/FloatBuffer;
.field private mNumElements:I
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 12
const/4 v0, 0x0
iput v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
.line 16
return-void
.end method
.method public constructor <init>(I)V
.registers 4
.prologue
.line 27
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 12
const/4 v0, 0x0
iput v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
.line 28
mul-int/lit8 v0, p1, 0x3
mul-int/lit8 v0, v0, 0x4
.line 29
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 30
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 32
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->asFloatBuffer()Ljava/nio/FloatBuffer;
move-result-object v0
iput-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
.line 33
return-void
.end method
.method public constructor <init>(Ljava/nio/FloatBuffer;I)V
.registers 5
.prologue
.line 18
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 12
const/4 v0, 0x0
iput v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
.line 19
invoke-virtual {p1}, Ljava/nio/FloatBuffer;->limit()I
move-result v0
mul-int/lit8 v0, v0, 0x4
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 20
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 21
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->asFloatBuffer()Ljava/nio/FloatBuffer;
move-result-object v0
iput-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
.line 22
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p1}, Ljava/nio/FloatBuffer;->put(Ljava/nio/FloatBuffer;)Ljava/nio/FloatBuffer;
.line 23
iput p2, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
.line 25
return-void
.end method
# virtual methods
.method public addPX(FFF)V
.registers 5
.prologue
.line 105
iget v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
invoke-virtual {p0, v0, p1, p2, p3}, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->setPX(IFFF)V
.line 106
iget v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
.line 107
return-void
.end method
.method public addPX(Lcom/censivn/C3DEngine/api/element/Number3d;)V
.registers 3
.prologue
.line 98
iget v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
invoke-virtual {p0, v0, p1}, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->setPX(ILcom/censivn/C3DEngine/api/element/Number3d;)V
.line 99
iget v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
.line 100
return-void
.end method
.method public buffer()Ljava/nio/FloatBuffer;
.registers 2
.prologue
.line 146
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
return-object v0
.end method
.method public capacity()I
.registers 2
.prologue
.line 40
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0}, Ljava/nio/FloatBuffer;->capacity()I
move-result v0
div-int/lit8 v0, v0, 0x3
return v0
.end method
.method public clear()V
.registers 2
.prologue
.line 44
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0}, Ljava/nio/FloatBuffer;->clear()Ljava/nio/Buffer;
.line 45
return-void
.end method
.method public clone()Lcom/censivn/C3DEngine/api/element/PointBufferManager;
.registers 4
.prologue
.line 155
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 156
new-instance v0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;
iget-object v1, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {p0}, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->size()I
move-result v2
invoke-direct {v0, v1, v2}, Lcom/censivn/C3DEngine/api/element/PointBufferManager;-><init>(Ljava/nio/FloatBuffer;I)V
.line 157
return-object v0
.end method
.method public bridge synthetic clone()Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/CloneNotSupportedException;
}
.end annotation
.prologue
.line 7
invoke-virtual {p0}, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->clone()Lcom/censivn/C3DEngine/api/element/PointBufferManager;
move-result-object v0
return-object v0
.end method
.method public getAsNumber3dPX(I)Lcom/censivn/C3DEngine/api/element/Number3d;
.registers 6
.prologue
.line 50
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 51
new-instance v0, Lcom/censivn/C3DEngine/api/element/Number3d;
iget-object v1, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v1}, Ljava/nio/FloatBuffer;->get()F
move-result v1
iget-object v2, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v2}, Ljava/nio/FloatBuffer;->get()F
move-result v2
iget-object v3, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v3}, Ljava/nio/FloatBuffer;->get()F
move-result v3
invoke-direct {v0, v1, v2, v3}, Lcom/censivn/C3DEngine/api/element/Number3d;-><init>(FFF)V
return-object v0
.end method
.method public overwrite([F)V
.registers 4
.prologue
.line 150
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 151
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p1}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;
.line 152
return-void
.end method
.method public putInNumber3d(ILcom/censivn/C3DEngine/api/element/Number3d;)V
.registers 5
.prologue
.line 57
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 58
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0}, Ljava/nio/FloatBuffer;->get()F
move-result v0
iput v0, p2, Lcom/censivn/C3DEngine/api/element/Number3d;->x:F
.line 59
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0}, Ljava/nio/FloatBuffer;->get()F
move-result v0
iput v0, p2, Lcom/censivn/C3DEngine/api/element/Number3d;->y:F
.line 60
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0}, Ljava/nio/FloatBuffer;->get()F
move-result v0
iput v0, p2, Lcom/censivn/C3DEngine/api/element/Number3d;->z:F
.line 61
return-void
.end method
.method public pxX(I)F
.registers 4
.prologue
.line 66
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 67
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0}, Ljava/nio/FloatBuffer;->get()F
move-result v0
return v0
.end method
.method public pxX(IF)V
.registers 5
.prologue
.line 81
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 82
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 83
return-void
.end method
.method public pxY(I)F
.registers 4
.prologue
.line 71
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
add-int/lit8 v1, v1, 0x1
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 72
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0}, Ljava/nio/FloatBuffer;->get()F
move-result v0
return v0
.end method
.method public pxY(IF)V
.registers 5
.prologue
.line 86
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
add-int/lit8 v1, v1, 0x1
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 87
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 88
return-void
.end method
.method public pxZ(I)F
.registers 4
.prologue
.line 76
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
add-int/lit8 v1, v1, 0x2
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 77
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0}, Ljava/nio/FloatBuffer;->get()F
move-result v0
return v0
.end method
.method public pxZ(IF)V
.registers 5
.prologue
.line 91
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
add-int/lit8 v1, v1, 0x2
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 92
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 93
return-void
.end method
.method public setPX(IFFF)V
.registers 7
.prologue
.line 121
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 122
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 123
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p3}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 124
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p4}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 125
return-void
.end method
.method public setPX(ILcom/censivn/C3DEngine/api/element/Number3d;)V
.registers 5
.prologue
.line 112
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 113
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
iget v1, p2, Lcom/censivn/C3DEngine/api/element/Number3d;->x:F
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 114
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
iget v1, p2, Lcom/censivn/C3DEngine/api/element/Number3d;->y:F
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 115
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
iget v1, p2, Lcom/censivn/C3DEngine/api/element/Number3d;->z:F
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 116
return-void
.end method
.method public setXPX(IF)V
.registers 5
.prologue
.line 128
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 129
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 130
return-void
.end method
.method public setYPX(IF)V
.registers 5
.prologue
.line 133
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
add-int/lit8 v1, v1, 0x1
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 134
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 135
return-void
.end method
.method public setZPX(IF)V
.registers 5
.prologue
.line 138
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
mul-int/lit8 v1, p1, 0x3
add-int/lit8 v1, v1, 0x2
invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 139
iget-object v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mBuffer:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;
.line 140
return-void
.end method
.method public size()I
.registers 2
.prologue
.line 36
iget v0, p0, Lcom/censivn/C3DEngine/api/element/PointBufferManager;->mNumElements:I
return v0
.end method