aboutsummaryrefslogtreecommitdiffstats
path: root/src/javax/media/j3d/J3dMessage.java
diff options
context:
space:
mode:
authorHarvey Harrison <[email protected]>2015-04-19 21:02:06 -0700
committerHarvey Harrison <[email protected]>2015-04-19 21:02:06 -0700
commit7a2e20caac9db6f789a7b3fab344b9758af45335 (patch)
treeb5236ff2570178de356eab569225108948eb4d30 /src/javax/media/j3d/J3dMessage.java
parentf76ce302c4bb2a9f03bbee571ec5d05c29633023 (diff)
j3dcore: flatten the directory structure a bit
Signed-off-by: Harvey Harrison <[email protected]>
Diffstat (limited to 'src/javax/media/j3d/J3dMessage.java')
-rw-r--r--src/javax/media/j3d/J3dMessage.java185
1 files changed, 185 insertions, 0 deletions
diff --git a/src/javax/media/j3d/J3dMessage.java b/src/javax/media/j3d/J3dMessage.java
new file mode 100644
index 0000000..4c695f3
--- /dev/null
+++ b/src/javax/media/j3d/J3dMessage.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright 1998-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;
+
+/**
+ * The J3dMessage is the super class of all messages in Java 3D. It implements
+ * all of the common data members needed.
+ */
+
+class J3dMessage extends Object {
+ /**
+ * The various message types.
+ */
+ static final int INVALID_TYPE = -1;
+ static final int INSERT_NODES = 0;
+ static final int REMOVE_NODES = 1;
+ static final int RUN = 2;
+ static final int TRANSFORM_CHANGED = 3;
+ static final int UPDATE_VIEW = 4;
+ static final int STOP_THREAD = 5;
+ static final int COLORINGATTRIBUTES_CHANGED = 6;
+ static final int LINEATTRIBUTES_CHANGED = 7;
+ static final int POINTATTRIBUTES_CHANGED = 8;
+ static final int POLYGONATTRIBUTES_CHANGED = 9;
+ static final int RENDERINGATTRIBUTES_CHANGED = 10;
+ static final int TEXTUREATTRIBUTES_CHANGED = 11;
+ static final int TRANSPARENCYATTRIBUTES_CHANGED = 12;
+ static final int MATERIAL_CHANGED = 13;
+ static final int TEXCOORDGENERATION_CHANGED = 14;
+ static final int TEXTURE_CHANGED = 15;
+ static final int MORPH_CHANGED = 16;
+ static final int GEOMETRY_CHANGED = 17;
+ static final int APPEARANCE_CHANGED = 18;
+ static final int LIGHT_CHANGED = 19;
+ static final int BACKGROUND_CHANGED = 20;
+ static final int CLIP_CHANGED = 21;
+ static final int FOG_CHANGED = 22;
+ static final int BOUNDINGLEAF_CHANGED = 23;
+ static final int SHAPE3D_CHANGED = 24;
+ static final int TEXT3D_TRANSFORM_CHANGED = 25;
+ static final int TEXT3D_DATA_CHANGED = 26;
+ static final int SWITCH_CHANGED = 27;
+ static final int COND_MET = 28;
+ static final int BEHAVIOR_ENABLE = 29;
+ static final int BEHAVIOR_DISABLE = 30;
+ static final int INSERT_RENDERATOMS = 31;
+ static final int ORDERED_GROUP_INSERTED = 32;
+ static final int ORDERED_GROUP_REMOVED = 33;
+ static final int COLLISION_BOUND_CHANGED = 34;
+ static final int REGION_BOUND_CHANGED = 35;
+ static final int MODELCLIP_CHANGED = 36;
+ static final int BOUNDS_AUTO_COMPUTE_CHANGED = 37;
+ static final int SOUND_ATTRIB_CHANGED = 38;
+ static final int AURALATTRIBUTES_CHANGED = 39;
+ static final int SOUNDSCAPE_CHANGED = 40;
+ static final int ALTERNATEAPPEARANCE_CHANGED = 41;
+ static final int RENDER_OFFSCREEN = 42;
+ static final int RENDER_RETAINED = 43;
+ static final int RENDER_IMMEDIATE = 44;
+ static final int SOUND_STATE_CHANGED = 45;
+ static final int ORIENTEDSHAPE3D_CHANGED = 46;
+ static final int TEXTURE_UNIT_STATE_CHANGED = 47;
+ static final int UPDATE_VIEWPLATFORM = 48;
+ static final int BEHAVIOR_ACTIVATE = 49;
+ static final int GEOMETRYARRAY_CHANGED = 50;
+ static final int MEDIA_CONTAINER_CHANGED = 51;
+ static final int RESIZE_CANVAS = 52;
+ static final int TOGGLE_CANVAS = 53;
+ static final int IMAGE_COMPONENT_CHANGED = 54;
+ static final int SCHEDULING_INTERVAL_CHANGED = 55;
+ static final int VIEWSPECIFICGROUP_CHANGED = 56;
+ static final int VIEWSPECIFICGROUP_INIT = 57;
+ static final int VIEWSPECIFICGROUP_CLEAR = 58;
+ static final int ORDERED_GROUP_TABLE_CHANGED = 59;
+ static final int BEHAVIOR_REEVALUATE = 60;
+ static final int CREATE_OFFSCREENBUFFER = 61;
+ static final int DESTROY_CTX_AND_OFFSCREENBUFFER = 62;
+ static final int SHADER_ATTRIBUTE_CHANGED = 63;
+ static final int SHADER_ATTRIBUTE_SET_CHANGED = 64;
+ static final int SHADER_APPEARANCE_CHANGED = 65;
+ static final int ALLOCATE_CANVASID = 66;
+ static final int FREE_CANVASID = 67;
+
+ /**
+ * This is the time snapshot at which this change occured
+ */
+ long time = -1;
+
+ /**
+ * This is the number of references to this message
+ */
+ private int refcount = 0;
+
+ /**
+ * This is a bitmask of the types of threads that need to be run
+ * once this message is consumed.
+ */
+ int threads = 0;
+
+ /**
+ * The universe that this message originated from
+ */
+ VirtualUniverse universe;
+
+ /**
+ * This holds the type of this message
+ */
+ int type = -1;
+
+ /**
+ * This holds the target view of this message, null means all views
+ */
+ View view = null;
+
+
+ /**
+ * The arguements for a message, 5 for now
+ */
+ static final int MAX_ARGS = 6;
+
+ Object[] args = new Object[MAX_ARGS];
+
+ /**
+ * This constructor does nothing
+ */
+ J3dMessage() {
+ }
+
+ final synchronized void clear() {
+ // System.err.println("J3dMessage : " + this );
+ view = null;
+ universe = null;
+ args[0] = null;
+ args[1] = null;
+ args[2] = null;
+ args[3] = null;
+ args[4] = null;
+ args[5] = null;
+ }
+
+ /**
+ * This increments the reference count for this message
+ */
+ final synchronized void incRefcount() {
+ refcount++;
+ }
+
+ /**
+ * This decrements the reference count for this message. If it goes
+ * to 0, the message is put on the MasterControl freelist.
+ */
+ final synchronized void decRefcount() {
+ if (--refcount == 0) {
+ clear();
+ }
+ }
+
+ final synchronized int getRefcount() {
+ return refcount;
+ }
+}