|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jme.util.geom.BufferUtils
public final class BufferUtils
BufferUtils
is a helper class for generating nio buffers from
jME data classes such as Vectors and ColorRGBA.
Constructor Summary | |
---|---|
BufferUtils()
|
Method Summary | |
---|---|
static void |
addInBuffer(Vector2f toAdd,
java.nio.FloatBuffer buf,
int index)
Add to a Vector2f in-buffer. |
static void |
addInBuffer(Vector3f toAdd,
java.nio.FloatBuffer buf,
int index)
Add to a Vector3f in-buffer. |
static java.nio.ByteBuffer |
clone(java.nio.ByteBuffer buf)
Creates a new ByteBuffer with the same contents as the given ByteBuffer. |
static java.nio.DoubleBuffer |
clone(java.nio.DoubleBuffer buf)
Creates a new DoubleBuffer with the same contents as the given DoubleBuffer. |
static java.nio.FloatBuffer |
clone(java.nio.FloatBuffer buf)
Creates a new FloatBuffer with the same contents as the given FloatBuffer. |
static java.nio.IntBuffer |
clone(java.nio.IntBuffer buf)
Creates a new IntBuffer with the same contents as the given IntBuffer. |
static java.nio.ShortBuffer |
clone(java.nio.ShortBuffer buf)
Creates a new ShortBuffer with the same contents as the given ShortBuffer. |
static java.nio.ByteBuffer |
cloneOnHeap(java.nio.ByteBuffer buf)
Creates a new ByteBuffer with the same contents as the given ByteBuffer. |
static void |
copyInternal(java.nio.FloatBuffer buf,
int fromPos,
int toPos,
int length)
Copies floats from one position in the buffer to another. |
static void |
copyInternalColor(java.nio.FloatBuffer buf,
int fromPos,
int toPos)
Copies a ColorRGBA from one position in the buffer to another. |
static void |
copyInternalVector2(java.nio.FloatBuffer buf,
int fromPos,
int toPos)
Copies a Vector2f from one position in the buffer to another. |
static void |
copyInternalVector3(java.nio.FloatBuffer buf,
int fromPos,
int toPos)
Copies a Vector3f from one position in the buffer to another. |
static java.nio.ByteBuffer |
createByteBuffer(java.nio.ByteBuffer buf,
int size)
Create a new ByteBuffer of an appropriate size to hold the specified number of ints only if the given buffer if not already the right size. |
static java.nio.ByteBuffer |
createByteBuffer(int size)
Create a new ByteBuffer of the specified size. |
static java.nio.ByteBuffer |
createByteBufferOnHeap(java.nio.ByteBuffer buf,
int size)
Create a new ByteBuffer of an appropriate size to hold the specified number of ints only if the given buffer if not already the right size. |
static java.nio.ByteBuffer |
createByteBufferOnHeap(int size)
Create a new ByteBuffer of the specified size. |
static java.nio.FloatBuffer |
createColorBuffer(int colors)
Create a new FloatBuffer of an appropriate size to hold the specified number of ColorRGBA object data. |
static java.nio.DoubleBuffer |
createDoubleBuffer(java.nio.DoubleBuffer buf,
int size)
Create a new DoubleBuffer of an appropriate size to hold the specified number of doubles only if the given buffer if not already the right size. |
static java.nio.DoubleBuffer |
createDoubleBuffer(int size)
Create a new DoubleBuffer of the specified size. |
static java.nio.FloatBuffer |
createFloatBuffer(ColorRGBA... data)
Generate a new FloatBuffer using the given array of ColorRGBA objects. |
static java.nio.FloatBuffer |
createFloatBuffer(float... data)
Generate a new FloatBuffer using the given array of float primitives. |
static java.nio.FloatBuffer |
createFloatBuffer(int size)
Create a new FloatBuffer of the specified size. |
static java.nio.FloatBuffer |
createFloatBuffer(Vector2f... data)
Generate a new FloatBuffer using the given array of Vector2f objects. |
static java.nio.FloatBuffer |
createFloatBuffer(Vector3f... data)
Generate a new FloatBuffer using the given array of Vector3f objects. |
static java.nio.IntBuffer |
createIntBuffer(int... data)
Generate a new IntBuffer using the given array of ints. |
static java.nio.IntBuffer |
createIntBuffer(int size)
Create a new IntBuffer of the specified size. |
static java.nio.IntBuffer |
createIntBuffer(java.nio.IntBuffer buf,
int size)
Create a new IntBuffer of an appropriate size to hold the specified number of ints only if the given buffer if not already the right size. |
static java.nio.ShortBuffer |
createShortBuffer(int size)
Create a new ShortBuffer of the specified size. |
static java.nio.ShortBuffer |
createShortBuffer(java.nio.ShortBuffer buf,
int size)
Create a new ShortBuffer of an appropriate size to hold the specified number of shorts only if the given buffer if not already the right size. |
static java.nio.FloatBuffer |
createVector2Buffer(java.nio.FloatBuffer buf,
int vertices)
Create a new FloatBuffer of an appropriate size to hold the specified number of Vector2f object data only if the given buffer if not already the right size. |
static java.nio.FloatBuffer |
createVector2Buffer(int vertices)
Create a new FloatBuffer of an appropriate size to hold the specified number of Vector2f object data. |
static java.nio.FloatBuffer |
createVector3Buffer(java.nio.FloatBuffer buf,
int vertices)
Create a new FloatBuffer of an appropriate size to hold the specified number of Vector3f object data only if the given buffer if not already the right size. |
static java.nio.FloatBuffer |
createVector3Buffer(int vertices)
Create a new FloatBuffer of an appropriate size to hold the specified number of Vector3f object data. |
static java.nio.FloatBuffer |
ensureLargeEnough(java.nio.FloatBuffer buffer,
int required)
Ensures there is at least the required number of entries left after the current position of the
buffer. |
static boolean |
equals(ColorRGBA check,
java.nio.FloatBuffer buf,
int index)
Checks to see if the given ColorRGBA is equals to the data stored in the buffer at the given data index. |
static boolean |
equals(Vector2f check,
java.nio.FloatBuffer buf,
int index)
Checks to see if the given Vector2f is equals to the data stored in the buffer at the given data index. |
static boolean |
equals(Vector3f check,
java.nio.FloatBuffer buf,
int index)
Checks to see if the given Vector3f is equals to the data stored in the buffer at the given data index. |
static ColorRGBA[] |
getColorArray(java.nio.FloatBuffer buff)
Generates a ColorRGBA array from the given FloatBuffer. |
static float[] |
getFloatArray(java.nio.FloatBuffer buff)
Create a new float[] array and populate it with the given FloatBuffer's contents. |
static int[] |
getIntArray(java.nio.IntBuffer buff)
Create a new int[] array and populate it with the given IntBuffer's contents. |
static Vector2f[] |
getVector2Array(java.nio.FloatBuffer buff)
Generates a Vector2f array from the given FloatBuffer. |
static Vector3f[] |
getVector3Array(java.nio.FloatBuffer buff)
Generates a Vector3f array from the given FloatBuffer. |
static void |
multInBuffer(Vector2f toMult,
java.nio.FloatBuffer buf,
int index)
Multiply and store a Vector2f in-buffer. |
static void |
multInBuffer(Vector3f toMult,
java.nio.FloatBuffer buf,
int index)
Multiply and store a Vector3f in-buffer. |
static void |
normalizeVector2(java.nio.FloatBuffer buf,
int index)
Normalize a Vector2f in-buffer. |
static void |
normalizeVector3(java.nio.FloatBuffer buf,
int index)
Normalize a Vector3f in-buffer. |
static void |
populateFromBuffer(ColorRGBA color,
java.nio.FloatBuffer buf,
int index)
Updates the values of the given color from the specified buffer at the index provided. |
static void |
populateFromBuffer(Vector2f vector,
java.nio.FloatBuffer buf,
int index)
Updates the values of the given vector from the specified buffer at the index provided. |
static void |
populateFromBuffer(Vector3f vector,
java.nio.FloatBuffer buf,
int index)
Updates the values of the given vector from the specified buffer at the index provided. |
static void |
printCurrentDirectMemory(java.lang.StringBuilder store)
|
static void |
setInBuffer(ColorRGBA color,
java.nio.FloatBuffer buf,
int index)
Sets the data contained in the given color into the FloatBuffer at the specified index. |
static void |
setInBuffer(Vector2f vector,
java.nio.FloatBuffer buf,
int index)
Sets the data contained in the given Vector2F into the FloatBuffer at the specified index. |
static void |
setInBuffer(Vector3f vector,
java.nio.FloatBuffer buf,
int index)
Sets the data contained in the given Vector3F into the FloatBuffer at the specified index. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BufferUtils()
Method Detail |
---|
public static java.nio.FloatBuffer createFloatBuffer(ColorRGBA... data)
data
- array of ColorRGBA objects to place into a new FloatBufferpublic static java.nio.FloatBuffer createColorBuffer(int colors)
colors
- number of colors that need to be held by the newly created
buffer
public static void setInBuffer(ColorRGBA color, java.nio.FloatBuffer buf, int index)
color
- the data to insertbuf
- the buffer to insert intoindex
- the postion to place the data; in terms of colors not floatspublic static void populateFromBuffer(ColorRGBA color, java.nio.FloatBuffer buf, int index)
color
- the color to set data onbuf
- the buffer to read fromindex
- the position (in terms of colors, not floats) to read from the
bufpublic static ColorRGBA[] getColorArray(java.nio.FloatBuffer buff)
buff
- the FloatBuffer to read from
public static void copyInternalColor(java.nio.FloatBuffer buf, int fromPos, int toPos)
buf
- the buffer to copy from/tofromPos
- the index of the color to copytoPos
- the index to copy the color topublic static boolean equals(ColorRGBA check, java.nio.FloatBuffer buf, int index)
check
- the color to check against - null will return false.buf
- the buffer to compare data withindex
- the position (in terms of colors, not floats) of the color in
the buffer to check against
public static java.nio.FloatBuffer createFloatBuffer(Vector3f... data)
data
- array of Vector3f objects to place into a new FloatBufferpublic static java.nio.FloatBuffer createFloatBuffer(float... data)
data
- array of float primitives to place into a new FloatBufferpublic static java.nio.FloatBuffer createVector3Buffer(int vertices)
vertices
- number of vertices that need to be held by the newly created
buffer
public static java.nio.FloatBuffer createVector3Buffer(java.nio.FloatBuffer buf, int vertices)
buf
- the buffer to first check and rewindvertices
- number of vertices that need to be held by the newly created
buffer
public static void setInBuffer(Vector3f vector, java.nio.FloatBuffer buf, int index)
vector
- the data to insertbuf
- the buffer to insert intoindex
- the postion to place the data; in terms of vectors not floatspublic static void populateFromBuffer(Vector3f vector, java.nio.FloatBuffer buf, int index)
vector
- the vector to set data onbuf
- the buffer to read fromindex
- the position (in terms of vectors, not floats) to read from
the bufpublic static Vector3f[] getVector3Array(java.nio.FloatBuffer buff)
buff
- the FloatBuffer to read from
public static void copyInternalVector3(java.nio.FloatBuffer buf, int fromPos, int toPos)
buf
- the buffer to copy from/tofromPos
- the index of the vector to copytoPos
- the index to copy the vector topublic static void normalizeVector3(java.nio.FloatBuffer buf, int index)
buf
- the buffer to find the Vector3f withinindex
- the position (in terms of vectors, not floats) of the vector
to normalizepublic static void addInBuffer(Vector3f toAdd, java.nio.FloatBuffer buf, int index)
toAdd
- the vector to add frombuf
- the buffer to find the Vector3f withinindex
- the position (in terms of vectors, not floats) of the vector
to add topublic static void multInBuffer(Vector3f toMult, java.nio.FloatBuffer buf, int index)
toMult
- the vector to multiply againstbuf
- the buffer to find the Vector3f withinindex
- the position (in terms of vectors, not floats) of the vector
to multiplypublic static boolean equals(Vector3f check, java.nio.FloatBuffer buf, int index)
check
- the vector to check against - null will return false.buf
- the buffer to compare data withindex
- the position (in terms of vectors, not floats) of the vector
in the buffer to check against
public static java.nio.FloatBuffer createFloatBuffer(Vector2f... data)
data
- array of Vector2f objects to place into a new FloatBufferpublic static java.nio.FloatBuffer createVector2Buffer(int vertices)
vertices
- number of vertices that need to be held by the newly created
buffer
public static java.nio.FloatBuffer createVector2Buffer(java.nio.FloatBuffer buf, int vertices)
buf
- the buffer to first check and rewindvertices
- number of vertices that need to be held by the newly created
buffer
public static void setInBuffer(Vector2f vector, java.nio.FloatBuffer buf, int index)
vector
- the data to insertbuf
- the buffer to insert intoindex
- the postion to place the data; in terms of vectors not floatspublic static void populateFromBuffer(Vector2f vector, java.nio.FloatBuffer buf, int index)
vector
- the vector to set data onbuf
- the buffer to read fromindex
- the position (in terms of vectors, not floats) to read from
the bufpublic static Vector2f[] getVector2Array(java.nio.FloatBuffer buff)
buff
- the FloatBuffer to read from
public static void copyInternalVector2(java.nio.FloatBuffer buf, int fromPos, int toPos)
buf
- the buffer to copy from/tofromPos
- the index of the vector to copytoPos
- the index to copy the vector topublic static void normalizeVector2(java.nio.FloatBuffer buf, int index)
buf
- the buffer to find the Vector2f withinindex
- the position (in terms of vectors, not floats) of the vector
to normalizepublic static void addInBuffer(Vector2f toAdd, java.nio.FloatBuffer buf, int index)
toAdd
- the vector to add frombuf
- the buffer to find the Vector2f withinindex
- the position (in terms of vectors, not floats) of the vector
to add topublic static void multInBuffer(Vector2f toMult, java.nio.FloatBuffer buf, int index)
toMult
- the vector to multiply againstbuf
- the buffer to find the Vector2f withinindex
- the position (in terms of vectors, not floats) of the vector
to multiplypublic static boolean equals(Vector2f check, java.nio.FloatBuffer buf, int index)
check
- the vector to check against - null will return false.buf
- the buffer to compare data withindex
- the position (in terms of vectors, not floats) of the vector
in the buffer to check against
public static java.nio.IntBuffer createIntBuffer(int... data)
data
- array of ints to place into a new IntBufferpublic static int[] getIntArray(java.nio.IntBuffer buff)
buff
- the IntBuffer to read from
public static float[] getFloatArray(java.nio.FloatBuffer buff)
buff
- the FloatBuffer to read from
public static java.nio.DoubleBuffer createDoubleBuffer(int size)
size
- required number of double to store.
public static java.nio.DoubleBuffer createDoubleBuffer(java.nio.DoubleBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of doubles that need to be held by the newly created
buffer
public static java.nio.DoubleBuffer clone(java.nio.DoubleBuffer buf)
buf
- the DoubleBuffer to copy
public static java.nio.FloatBuffer createFloatBuffer(int size)
size
- required number of floats to store.
public static void copyInternal(java.nio.FloatBuffer buf, int fromPos, int toPos, int length)
buf
- the buffer to copy from/tofromPos
- the starting point to copy fromtoPos
- the starting point to copy tolength
- the number of floats to copypublic static java.nio.FloatBuffer clone(java.nio.FloatBuffer buf)
buf
- the FloatBuffer to copy
public static java.nio.IntBuffer createIntBuffer(int size)
size
- required number of ints to store.
public static java.nio.IntBuffer createIntBuffer(java.nio.IntBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of ints that need to be held by the newly created
buffer
public static java.nio.IntBuffer clone(java.nio.IntBuffer buf)
buf
- the IntBuffer to copy
public static java.nio.ByteBuffer createByteBuffer(int size)
size
- required number of ints to store.
public static java.nio.ByteBuffer createByteBuffer(java.nio.ByteBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of bytes that need to be held by the newly created
buffer
public static java.nio.ByteBuffer clone(java.nio.ByteBuffer buf)
buf
- the ByteBuffer to copy
public static java.nio.ShortBuffer createShortBuffer(int size)
size
- required number of shorts to store.
public static java.nio.ShortBuffer createShortBuffer(java.nio.ShortBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of shorts that need to be held by the newly created
buffer
public static java.nio.ShortBuffer clone(java.nio.ShortBuffer buf)
buf
- the ShortBuffer to copy
public static java.nio.FloatBuffer ensureLargeEnough(java.nio.FloatBuffer buffer, int required)
required
number of entries left after the current position of the
buffer. If the buffer is too small a larger one is created and the old one copied to the new buffer.
buffer
- buffer that should be checked/copied (may be null)required
- minimum number of elements that should be remaining in the returned buffer
required
number of entries, same position as
the input buffer, not nullpublic static java.nio.ByteBuffer createByteBufferOnHeap(int size)
size
- required number of ints to store.
public static java.nio.ByteBuffer createByteBufferOnHeap(java.nio.ByteBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of bytes that need to be held by the newly created
buffer
public static java.nio.ByteBuffer cloneOnHeap(java.nio.ByteBuffer buf)
buf
- the ByteBuffer to copy
public static void printCurrentDirectMemory(java.lang.StringBuilder store)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |