aboutsummaryrefslogtreecommitdiffstats
path: root/src/javax/media/j3d/ShaderAttributeArrayRetained.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/javax/media/j3d/ShaderAttributeArrayRetained.java')
-rw-r--r--src/javax/media/j3d/ShaderAttributeArrayRetained.java1057
1 files changed, 0 insertions, 1057 deletions
diff --git a/src/javax/media/j3d/ShaderAttributeArrayRetained.java b/src/javax/media/j3d/ShaderAttributeArrayRetained.java
deleted file mode 100644
index 48111bf..0000000
--- a/src/javax/media/j3d/ShaderAttributeArrayRetained.java
+++ /dev/null
@@ -1,1057 +0,0 @@
-/*
- * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- *
- */
-
-package javax.media.j3d;
-
-import javax.vecmath.Matrix3f;
-import javax.vecmath.Matrix4f;
-import javax.vecmath.Point2f;
-import javax.vecmath.Point2i;
-import javax.vecmath.Point3f;
-import javax.vecmath.Point3i;
-import javax.vecmath.Point4f;
-import javax.vecmath.Point4i;
-import javax.vecmath.Tuple2f;
-import javax.vecmath.Tuple2i;
-import javax.vecmath.Tuple3f;
-import javax.vecmath.Tuple3i;
-import javax.vecmath.Tuple4f;
-import javax.vecmath.Tuple4i;
-
-/**
- * The ShaderAttributeArray object encapsulates a uniform shader
- * attribute whose value is specified explicitly.
- */
-
-class ShaderAttributeArrayRetained extends ShaderAttributeObjectRetained {
-
- ShaderAttributeArrayRetained() {
- }
-
- void initValue(int index, Object value) {
- /*
- System.err.println("ShaderAttributeObjectRetained : attrName = " + attrName +
- ", index = " + index + ", value = " + value +
- ", value.class = " + value.getClass());
- */
- ((ArrayWrapper)attrWrapper).set(index, value);
-
- }
-
-
- /**
- * Sets the specified array element of the value of this shader
- * attribute to the specified value.
- * A copy of the object is stored.
- *
- * @param value the new value of the shader attribute
- *
- * @exception NullPointerException if value is null
- *
- * @exception ClassCastException if value is not an instance of
- * the same base class as the individual elements of the array object
- * used to construct this shader attribute object.
- *
- * @exception CapabilityNotSetException if appropriate capability is
- * not set and this object is part of live or compiled scene graph
- */
- void setValue(int index, Object value) {
- initValue(index, value);
- // We should only need to update the array instead of replacing it.
- // Until this become a really bottleneck, it will just be a convenience
- // method for end user.
- // An efficient approach is to
- // (1) Create a new ShaderAttributeValue object for the "value" object
- // and pass it to sendMessage(), (2) Create a new sendMessage that take in
- // a third arguement, ie. index.
- setValue(attrWrapper.getRef());
- }
-
- /**
- * Returns the number of elements in the value array.
- *
- * @return the number of elements in the value array
- *
- * @exception CapabilityNotSetException if appropriate capability is
- * not set and this object is part of live or compiled scene graph
- */
- int length() {
- return ((ArrayWrapper)attrWrapper).length();
-
- }
-
- // Helper methods ...
-
- @Override
- synchronized void createMirrorObject() {
- // System.err.println("ShaderAttributeArrayRetained : createMirrorObject");
- // This method should only call by setLive().
- if (mirror == null) {
- ShaderAttributeArrayRetained mirrorSAA = new ShaderAttributeArrayRetained();
- mirrorSAA.createObjectData(getValue());
- mirror = mirrorSAA;
- mirror.source = source;
-
- }
- initMirrorObject();
- }
-
-
- /**
- * Computes the base class from the specified object. A
- * ClassCastException is thrown if the object is not an array of
- * one of the allowed classes.
- */
- @Override
- int computeClassType(Object value) {
- Class objClass = value.getClass();
- if (!objClass.isArray()) {
- throw new ClassCastException(objClass + " -- must be array class");
- }
-
- for (int i = 0; i < classTable.length; i++) {
- if (classTableArr[i].isInstance(value)) {
- return i;
- }
- }
- throw new ClassCastException(objClass + " -- unrecognized class");
- }
-
- /**
- * Returns the base class represented by the specified class type.
- */
- @Override
- Class getBaseClass(int classType) {
- return classTableArr[classType];
- }
-
- /**
- * Creates an attribute wrapper object of the specified class
- * type, and stores the specified array of objects.
- */
- @Override
- AttrWrapper createAttrWrapper(Object value, int classType) {
- ArrayWrapper attrWrapper = null;
- switch (classType) {
- case TYPE_INTEGER:
- attrWrapper = new IntegerArrayWrapper();
- break;
- case TYPE_FLOAT:
- attrWrapper = new FloatArrayWrapper();
- break;
-// case TYPE_DOUBLE:
-// attrWrapper = new DoubleArrayWrapper();
-// break;
- case TYPE_TUPLE2I:
- attrWrapper = new Tuple2iArrayWrapper();
- break;
- case TYPE_TUPLE2F:
- attrWrapper = new Tuple2fArrayWrapper();
- break;
-// case TYPE_TUPLE2D:
-// attrWrapper = new Tuple2dArrayWrapper();
-// break;
- case TYPE_TUPLE3I:
- attrWrapper = new Tuple3iArrayWrapper();
- break;
- case TYPE_TUPLE3F:
- attrWrapper = new Tuple3fArrayWrapper();
- break;
-// case TYPE_TUPLE3D:
-// attrWrapper = new Tuple3dArrayWrapper();
-// break;
- case TYPE_TUPLE4I:
- attrWrapper = new Tuple4iArrayWrapper();
- break;
- case TYPE_TUPLE4F:
- attrWrapper = new Tuple4fArrayWrapper();
- break;
-// case TYPE_TUPLE4D:
-// attrWrapper = new Tuple4dArrayWrapper();
-// break;
- case TYPE_MATRIX3F:
- attrWrapper = new Matrix3fArrayWrapper();
- break;
-// case TYPE_MATRIX3D:
-// attrWrapper = new Matrix3dArrayWrapper();
-// break;
- case TYPE_MATRIX4F:
- attrWrapper = new Matrix4fArrayWrapper();
- break;
-// case TYPE_MATRIX4D:
-// attrWrapper = new Matrix4dArrayWrapper();
-// break;
- default:
- // Should never get here
- assert false;
- return null;
- }
-
- attrWrapper.set(value);
- return attrWrapper;
- }
-
-
- //
- // The following wrapper classes are used to store a copy of the
- // user-specified shader attribute value. There is a wrapper class
- // for each supported base class.
- //
-
- // Base wrapper class for array attribute types
- static abstract class ArrayWrapper extends AttrWrapper {
- int length = 0;
-
- /**
- * Returns the length of the array
- */
- int length() {
- return length;
- }
-
- /**
- * Sets the specified array element of the value of this
- * shader attribute to the specified value.
- */
- abstract void set(int index, Object value);
- }
-
- // Wrapper class for Integer
- static class IntegerArrayWrapper extends ArrayWrapper {
- private int[] value = new int[0];
-
- @Override
- void set(Object value) {
- Integer[] arr = (Integer[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new int[this.length];
- }
- for (int i = 0; i < this.length; i++) {
- this.value[i] = arr[i].intValue();
- }
- }
-
- @Override
- void set(int index, Object value) {
- this.value[index] = ((Integer)value).intValue();
- }
-
- @Override
- Object get() {
- Integer[] arr = new Integer[this.length];
- for (int i = 0; i < this.length; i++) {
- arr[i] = new Integer(this.value[i]);
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- // Wrapper class for Float
- static class FloatArrayWrapper extends ArrayWrapper {
- private float[] value = new float[0];
-
- @Override
- void set(Object value) {
- Float[] arr = (Float[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new float[this.length];
- }
- for (int i = 0; i < this.length; i++) {
- this.value[i] = arr[i].floatValue();
- }
- }
-
- @Override
- void set(int index, Object value) {
- this.value[index] = ((Float)value).floatValue();
- }
-
- @Override
- Object get() {
- Float[] arr = new Float[this.length];
- for (int i = 0; i < this.length; i++) {
- arr[i] = new Float(this.value[i]);
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- /*
- // Wrapper class for Double
- static class DoubleArrayWrapper extends ArrayWrapper {
- private double[] value = new double[0];
-
- void set(Object value) {
- Double[] arr = (Double[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new double[this.length];
- }
- for (int i = 0; i < this.length; i++) {
- this.value[i] = arr[i].doubleValue();
- }
- }
-
- void set(int index, Object value) {
- this.value[index] = ((Double)value).doubleValue();
- }
-
- Object get() {
- Double[] arr = new Double[this.length];
- for (int i = 0; i < this.length; i++) {
- arr[i] = new Double(this.value[i]);
- }
- return arr;
- }
-
- Object getRef() {
- return this.value;
- }
- }
- */
-
- // Wrapper class for Tuple2i
- static class Tuple2iArrayWrapper extends ArrayWrapper {
- private int[] value = new int[0];
-
- @Override
- void set(Object value) {
- Tuple2i[] arr = (Tuple2i[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new int[this.length*2];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 2;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- }
- }
-
- @Override
- void set(int index, Object value) {
- int j = index * 2;
- this.value[j+0] = ((Tuple2i)value).x;
- this.value[j+1] = ((Tuple2i)value).y;
- }
-
- @Override
- Object get() {
- Tuple2i[] arr = new Tuple2i[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 2;
- arr[i] = new Point2i();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- // Wrapper class for Tuple2f
- static class Tuple2fArrayWrapper extends ArrayWrapper {
- private float[] value = new float[0];
-
- @Override
- void set(Object value) {
- Tuple2f[] arr = (Tuple2f[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new float[this.length*2];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 2;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- }
- }
-
- @Override
- void set(int index, Object value) {
- int j = index * 2;
- this.value[j+0] = ((Tuple2f)value).x;
- this.value[j+1] = ((Tuple2f)value).y;
- }
-
- @Override
- Object get() {
- Tuple2f[] arr = new Tuple2f[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 2;
- arr[i] = new Point2f();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- /*
- // Wrapper class for Tuple2d
- static class Tuple2dArrayWrapper extends ArrayWrapper {
- private double[] value = new double[0];
-
- void set(Object value) {
- Tuple2d[] arr = (Tuple2d[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new double[this.length*2];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 2;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- }
- }
-
- void set(int index, Object value) {
- int j = index * 2;
- this.value[j+0] = ((Tuple2d)value).x;
- this.value[j+1] = ((Tuple2d)value).y;
- }
-
- Object get() {
- Tuple2d[] arr = new Tuple2d[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 2;
- arr[i] = new Point2d();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- }
- return arr;
- }
-
- Object getRef() {
- return this.value;
- }
- }
- */
-
- // Wrapper class for Tuple3i
- static class Tuple3iArrayWrapper extends ArrayWrapper {
- private int[] value = new int[0];
-
- @Override
- void set(Object value) {
- Tuple3i[] arr = (Tuple3i[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new int[this.length*3];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 3;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- this.value[j+2] = arr[i].z;
- }
- }
-
- @Override
- void set(int index, Object value) {
- int j = index * 3;
- this.value[j+0] = ((Tuple3i)value).x;
- this.value[j+1] = ((Tuple3i)value).y;
- this.value[j+2] = ((Tuple3i)value).z;
- }
-
- @Override
- Object get() {
- Tuple3i[] arr = new Tuple3i[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 3;
- arr[i] = new Point3i();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- arr[i].z = this.value[j+2];
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- // Wrapper class for Tuple3f
- static class Tuple3fArrayWrapper extends ArrayWrapper {
- private float[] value = new float[0];
-
- @Override
- void set(Object value) {
- Tuple3f[] arr = (Tuple3f[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new float[this.length*3];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 3;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- this.value[j+2] = arr[i].z;
- }
- }
-
- @Override
- void set(int index, Object value) {
- int j = index * 3;
- this.value[j+0] = ((Tuple3f)value).x;
- this.value[j+1] = ((Tuple3f)value).y;
- this.value[j+2] = ((Tuple3f)value).z;
- }
-
- @Override
- Object get() {
- Tuple3f[] arr = new Tuple3f[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 3;
- arr[i] = new Point3f();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- arr[i].z = this.value[j+2];
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- /*
- // Wrapper class for Tuple3d
- static class Tuple3dArrayWrapper extends ArrayWrapper {
- private double[] value = new double[0];
-
- void set(Object value) {
- Tuple3d[] arr = (Tuple3d[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new double[this.length*3];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 3;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- this.value[j+2] = arr[i].z;
- }
- }
-
- void set(int index, Object value) {
- int j = index * 3;
- this.value[j+0] = ((Tuple3d)value).x;
- this.value[j+1] = ((Tuple3d)value).y;
- this.value[j+2] = ((Tuple3d)value).z;
- }
-
- Object get() {
- Tuple3d[] arr = new Tuple3d[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 3;
- arr[i] = new Point3d();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- arr[i].z = this.value[j+2];
- }
- return arr;
- }
-
- Object getRef() {
- return this.value;
- }
- }
- */
-
- // Wrapper class for Tuple4i
- static class Tuple4iArrayWrapper extends ArrayWrapper {
- private int[] value = new int[0];
-
- @Override
- void set(Object value) {
- Tuple4i[] arr = (Tuple4i[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new int[this.length*4];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 4;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- this.value[j+2] = arr[i].z;
- this.value[j+3] = arr[i].w;
- }
- }
-
- @Override
- void set(int index, Object value) {
- int j = index * 4;
- this.value[j+0] = ((Tuple4i)value).x;
- this.value[j+1] = ((Tuple4i)value).y;
- this.value[j+2] = ((Tuple4i)value).z;
- this.value[j+3] = ((Tuple4i)value).w;
- }
-
- @Override
- Object get() {
- Tuple4i[] arr = new Tuple4i[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 4;
- arr[i] = new Point4i();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- arr[i].z = this.value[j+2];
- arr[i].w = this.value[j+3];
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- // Wrapper class for Tuple4f
- static class Tuple4fArrayWrapper extends ArrayWrapper {
- private float[] value = new float[0];
-
- @Override
- void set(Object value) {
- Tuple4f[] arr = (Tuple4f[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new float[this.length*4];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 4;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- this.value[j+2] = arr[i].z;
- this.value[j+3] = arr[i].w;
- }
- }
-
- @Override
- void set(int index, Object value) {
- int j = index * 4;
- this.value[j+0] = ((Tuple4f)value).x;
- this.value[j+1] = ((Tuple4f)value).y;
- this.value[j+2] = ((Tuple4f)value).z;
- this.value[j+3] = ((Tuple4f)value).w;
- }
-
- @Override
- Object get() {
- Tuple4f[] arr = new Tuple4f[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 4;
- arr[i] = new Point4f();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- arr[i].z = this.value[j+2];
- arr[i].w = this.value[j+3];
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- /*
- // Wrapper class for Tuple4d
- static class Tuple4dArrayWrapper extends ArrayWrapper {
- private double[] value = new double[0];
-
- void set(Object value) {
- Tuple4d[] arr = (Tuple4d[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new double[this.length*4];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 4;
- this.value[j+0] = arr[i].x;
- this.value[j+1] = arr[i].y;
- this.value[j+2] = arr[i].z;
- this.value[j+3] = arr[i].w;
- }
- }
-
- void set(int index, Object value) {
- int j = index * 4;
- this.value[j+0] = ((Tuple4d)value).x;
- this.value[j+1] = ((Tuple4d)value).y;
- this.value[j+2] = ((Tuple4d)value).z;
- this.value[j+3] = ((Tuple4d)value).w;
- }
-
- Object get() {
- Tuple4d[] arr = new Tuple4d[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 4;
- arr[i] = new Point4d();
- arr[i].x = this.value[j+0];
- arr[i].y = this.value[j+1];
- arr[i].z = this.value[j+2];
- arr[i].w = this.value[j+3];
- }
- return arr;
- }
-
- Object getRef() {
- return this.value;
- }
- }
- */
-
- // Wrapper class for Matrix3f
- static class Matrix3fArrayWrapper extends ArrayWrapper {
- private float[] value = new float[0];
-
- @Override
- void set(Object value) {
- Matrix3f[] arr = (Matrix3f[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new float[this.length * 9];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 9;
- this.value[j+0] = arr[i].m00;
- this.value[j+1] = arr[i].m01;
- this.value[j+2] = arr[i].m02;
- this.value[j+3] = arr[i].m10;
- this.value[j+4] = arr[i].m11;
- this.value[j+5] = arr[i].m12;
- this.value[j+6] = arr[i].m20;
- this.value[j+7] = arr[i].m21;
- this.value[j+8] = arr[i].m22;
- }
- }
-
- @Override
- void set(int index, Object value) {
- int j = index * 9;
- Matrix3f m = (Matrix3f)value;
-
- this.value[j+0] = m.m00;
- this.value[j+1] = m.m01;
- this.value[j+2] = m.m02;
- this.value[j+3] = m.m10;
- this.value[j+4] = m.m11;
- this.value[j+5] = m.m12;
- this.value[j+6] = m.m20;
- this.value[j+7] = m.m21;
- this.value[j+8] = m.m22;
- }
-
- @Override
- Object get() {
- Matrix3f[] arr = new Matrix3f[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 9;
- arr[i] = new Matrix3f();
- arr[i].m00 = this.value[j+0];
- arr[i].m01 = this.value[j+1];
- arr[i].m02 = this.value[j+2];
- arr[i].m10 = this.value[j+3];
- arr[i].m11 = this.value[j+4];
- arr[i].m12 = this.value[j+5];
- arr[i].m20 = this.value[j+6];
- arr[i].m21 = this.value[j+7];
- arr[i].m22 = this.value[j+8];
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- /*
- // Wrapper class for Matrix3d
- static class Matrix3dArrayWrapper extends ArrayWrapper {
- private double[] value = new double[0];
-
- void set(Object value) {
- Matrix3d[] arr = (Matrix3d[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new double[this.length * 9];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 9;
- this.value[j+0] = arr[i].m00;
- this.value[j+1] = arr[i].m01;
- this.value[j+2] = arr[i].m02;
- this.value[j+3] = arr[i].m10;
- this.value[j+4] = arr[i].m11;
- this.value[j+5] = arr[i].m12;
- this.value[j+6] = arr[i].m20;
- this.value[j+7] = arr[i].m21;
- this.value[j+8] = arr[i].m22;
- }
- }
-
- void set(int index, Object value) {
- int j = index * 9;
- Matrix3d m = (Matrix3d)value;
-
- this.value[j+0] = m.m00;
- this.value[j+1] = m.m01;
- this.value[j+2] = m.m02;
- this.value[j+3] = m.m10;
- this.value[j+4] = m.m11;
- this.value[j+5] = m.m12;
- this.value[j+6] = m.m20;
- this.value[j+7] = m.m21;
- this.value[j+8] = m.m22;
- }
-
- Object get() {
- Matrix3d[] arr = new Matrix3d[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 9;
- arr[i] = new Matrix3d();
- arr[i].m00 = this.value[j+0];
- arr[i].m01 = this.value[j+1];
- arr[i].m02 = this.value[j+2];
- arr[i].m10 = this.value[j+3];
- arr[i].m11 = this.value[j+4];
- arr[i].m12 = this.value[j+5];
- arr[i].m20 = this.value[j+6];
- arr[i].m21 = this.value[j+7];
- arr[i].m22 = this.value[j+8];
- }
- return arr;
- }
-
- Object getRef() {
- return this.value;
- }
- }
- */
-
- // Wrapper class for Matrix4f
- static class Matrix4fArrayWrapper extends ArrayWrapper {
- private float[] value = new float[0];
-
- @Override
- void set(Object value) {
- Matrix4f[] arr = (Matrix4f[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new float[this.length * 16];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 16;
- this.value[j+0] = arr[i].m00;
- this.value[j+1] = arr[i].m01;
- this.value[j+2] = arr[i].m02;
- this.value[j+3] = arr[i].m03;
- this.value[j+4] = arr[i].m10;
- this.value[j+5] = arr[i].m11;
- this.value[j+6] = arr[i].m12;
- this.value[j+7] = arr[i].m13;
- this.value[j+8] = arr[i].m20;
- this.value[j+9] = arr[i].m21;
- this.value[j+10] = arr[i].m22;
- this.value[j+11] = arr[i].m23;
- this.value[j+12] = arr[i].m30;
- this.value[j+13] = arr[i].m31;
- this.value[j+14] = arr[i].m32;
- this.value[j+15] = arr[i].m33;
- }
- }
-
- @Override
- void set(int index, Object value) {
- int j = index * 16;
- Matrix4f m = (Matrix4f)value;
-
- this.value[j+0] = m.m00;
- this.value[j+1] = m.m01;
- this.value[j+2] = m.m02;
- this.value[j+3] = m.m03;
- this.value[j+4] = m.m10;
- this.value[j+5] = m.m11;
- this.value[j+6] = m.m12;
- this.value[j+7] = m.m13;
- this.value[j+8] = m.m20;
- this.value[j+9] = m.m21;
- this.value[j+10] = m.m22;
- this.value[j+11] = m.m23;
- this.value[j+12] = m.m30;
- this.value[j+13] = m.m31;
- this.value[j+14] = m.m32;
- this.value[j+15] = m.m33;
- }
-
- @Override
- Object get() {
- Matrix4f[] arr = new Matrix4f[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 16;
- arr[i] = new Matrix4f();
- arr[i].m00 = this.value[j+0];
- arr[i].m01 = this.value[j+1];
- arr[i].m02 = this.value[j+2];
- arr[i].m03 = this.value[j+3];
- arr[i].m10 = this.value[j+4];
- arr[i].m11 = this.value[j+5];
- arr[i].m12 = this.value[j+6];
- arr[i].m13 = this.value[j+7];
- arr[i].m20 = this.value[j+8];
- arr[i].m21 = this.value[j+9];
- arr[i].m22 = this.value[j+10];
- arr[i].m23 = this.value[j+11];
- arr[i].m30 = this.value[j+12];
- arr[i].m31 = this.value[j+13];
- arr[i].m32 = this.value[j+14];
- arr[i].m33 = this.value[j+15];
- }
- return arr;
- }
-
- @Override
- Object getRef() {
- return this.value;
- }
- }
-
- /*
- // Wrapper class for Matrix4d
- static class Matrix4dArrayWrapper extends ArrayWrapper {
- private double[] value = new double[0];
-
- void set(Object value) {
- Matrix4d[] arr = (Matrix4d[])value;
- if (this.length != arr.length) {
- this.length = arr.length;
- this.value = new double[this.length * 16];
- }
- for (int i = 0; i < this.length; i++) {
- int j = i * 16;
- this.value[j+0] = arr[i].m00;
- this.value[j+1] = arr[i].m01;
- this.value[j+2] = arr[i].m02;
- this.value[j+3] = arr[i].m03;
- this.value[j+4] = arr[i].m10;
- this.value[j+5] = arr[i].m11;
- this.value[j+6] = arr[i].m12;
- this.value[j+7] = arr[i].m13;
- this.value[j+8] = arr[i].m20;
- this.value[j+9] = arr[i].m21;
- this.value[j+10] = arr[i].m22;
- this.value[j+11] = arr[i].m23;
- this.value[j+12] = arr[i].m30;
- this.value[j+13] = arr[i].m31;
- this.value[j+14] = arr[i].m32;
- this.value[j+15] = arr[i].m33;
- }
- }
-
- void set(int index, Object value) {
- int j = index * 16;
- Matrix4d m = (Matrix4d)value;
-
- this.value[j+0] = m.m00;
- this.value[j+1] = m.m01;
- this.value[j+2] = m.m02;
- this.value[j+3] = m.m03;
- this.value[j+4] = m.m10;
- this.value[j+5] = m.m11;
- this.value[j+6] = m.m12;
- this.value[j+7] = m.m13;
- this.value[j+8] = m.m20;
- this.value[j+9] = m.m21;
- this.value[j+10] = m.m22;
- this.value[j+11] = m.m23;
- this.value[j+12] = m.m30;
- this.value[j+13] = m.m31;
- this.value[j+14] = m.m32;
- this.value[j+15] = m.m33;
- }
-
- Object get() {
- Matrix4d[] arr = new Matrix4d[this.length];
- for (int i = 0; i < this.length; i++) {
- int j = i * 16;
- arr[i] = new Matrix4d();
- arr[i].m00 = this.value[j+0];
- arr[i].m01 = this.value[j+1];
- arr[i].m02 = this.value[j+2];
- arr[i].m03 = this.value[j+3];
- arr[i].m10 = this.value[j+4];
- arr[i].m11 = this.value[j+5];
- arr[i].m12 = this.value[j+6];
- arr[i].m13 = this.value[j+7];
- arr[i].m20 = this.value[j+8];
- arr[i].m21 = this.value[j+9];
- arr[i].m22 = this.value[j+10];
- arr[i].m23 = this.value[j+11];
- arr[i].m30 = this.value[j+12];
- arr[i].m31 = this.value[j+13];
- arr[i].m32 = this.value[j+14];
- arr[i].m33 = this.value[j+15];
- }
- return arr;
- }
-
- Object getRef() {
- return this.value;
- }
- }
- */
-}