From dbc98deea1884e44da2c74d6ea807253cdefa693 Mon Sep 17 00:00:00 2001 From: Julien Gouesse Date: Sat, 28 Nov 2015 15:11:48 +0100 Subject: Relocate package prefix to org.jogamp.java3d --- src/javax/media/j3d/TextureAttributes.java | 1452 ---------------------------- 1 file changed, 1452 deletions(-) delete mode 100644 src/javax/media/j3d/TextureAttributes.java (limited to 'src/javax/media/j3d/TextureAttributes.java') diff --git a/src/javax/media/j3d/TextureAttributes.java b/src/javax/media/j3d/TextureAttributes.java deleted file mode 100644 index 28e1bfc..0000000 --- a/src/javax/media/j3d/TextureAttributes.java +++ /dev/null @@ -1,1452 +0,0 @@ -/* - * Copyright 1997-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.Color4f; - -/** - * The TextureAttributes object defines attributes that apply to - * texture mapping. - * The texture attributes include the following:

- *

- *

- * - * @see Appearance - * @see Canvas3D#queryProperties - */ -public class TextureAttributes extends NodeComponent { - /** - * Specifies that this TextureAttributes object allows - * reading its texture mode component - * information and perspective correction mode. - */ - public static final int - ALLOW_MODE_READ = CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_MODE_READ; - - /** - * Specifies that this TextureAttributes object allows - * writing its texture mode component - * information and perspective correction mode. - */ - public static final int - ALLOW_MODE_WRITE = CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_MODE_WRITE; - - /** - * Specifies that this TextureAttributes object allows - * reading its texture blend color component - * information. - */ - public static final int - ALLOW_BLEND_COLOR_READ = CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_BLEND_COLOR_READ; - - /** - * Specifies that this TextureAttributes object allows - * writing its texture blend color component - * information. - */ - public static final int - ALLOW_BLEND_COLOR_WRITE = CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_BLEND_COLOR_WRITE; - - /** - * Specifies that this TextureAttributes object allows - * reading its texture transform component - * information. - */ - public static final int - ALLOW_TRANSFORM_READ = CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_TRANSFORM_READ; - - /** - * Specifies that this TextureAttributes object allows - * writing its texture transform component - * information. - */ - public static final int - ALLOW_TRANSFORM_WRITE = CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_TRANSFORM_WRITE; - - /** - * Specifies that this TextureAttributes object allows - * reading its texture color table component - * information. - * - * @since Java 3D 1.2 - */ - public static final int ALLOW_COLOR_TABLE_READ = - CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_COLOR_TABLE_READ; - - /** - * Specifies that this TextureAttributes object allows - * writing its texture color table component - * information. - * - * @since Java 3D 1.2 - */ - public static final int ALLOW_COLOR_TABLE_WRITE = - CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_COLOR_TABLE_WRITE; - - /** - * Specifies that this TextureAttributes object allows - * reading its texture combine mode information. (e.g. combine mode, - * combine color source, combine color function, combine scale factor) - * - * @since Java 3D 1.3 - */ - public static final int ALLOW_COMBINE_READ = - CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_COMBINE_READ; - - /** - * Specifies that this TextureAttributes object allows - * writing its texture combine mode information. (e.g. combine mode, - * combine color source, combine color function, combine scale factor) - * - * @since Java 3D 1.3 - */ - public static final int ALLOW_COMBINE_WRITE = - CapabilityBits.TEXTURE_ATTRIBUTES_ALLOW_COMBINE_WRITE; - - - /** - * Use the fastest available method for perspective correction. - * @see #setPerspectiveCorrectionMode - */ - public static final int FASTEST = 0; - - /** - * Use the nicest (highest quality) available method for texture - * mapping perspective correction. - * @see #setPerspectiveCorrectionMode - */ - public static final int NICEST = 1; - - /** - * Modulate the object color with the texture color. - * @see #setTextureMode - */ - public static final int MODULATE = 2; - - /** - * Apply the texture color to the object as a decal. - * @see #setTextureMode - */ - public static final int DECAL = 3; - - /** - * Blend the texture blend color with the object color. - * @see #setTextureMode - */ - public static final int BLEND = 4; - - /** - * Replace the object color with the texture color. - * @see #setTextureMode - */ - public static final int REPLACE = 5; - - /** - * Combine the object color with texture color as specified in - * the combine mode. - * - * @see #setTextureMode - * @since Java 3D 1.3 - */ - public static final int COMBINE = 6; - - - /** - * Replace the input color with the specified color. - * - * @since Java 3D 1.3 - * @see #setCombineRgbMode - * @see #setCombineAlphaMode - */ - public static final int COMBINE_REPLACE = 0; - - /** - * Modulates one color with another color. - * - * @since Java 3D 1.3 - * @see #setCombineRgbMode - * @see #setCombineAlphaMode - */ - public static final int COMBINE_MODULATE = 1; - - /** - * Add two colors. - * - * @since Java 3D 1.3 - * @see #setCombineRgbMode - * @see #setCombineAlphaMode - */ - public static final int COMBINE_ADD = 2; - - /** - * Add two colors plus an implicit offset. - * - * @since Java 3D 1.3 - * @see #setCombineRgbMode - * @see #setCombineAlphaMode - */ - public static final int COMBINE_ADD_SIGNED = 3; - - /** - * Subtract one color from another color. - * - * @since Java 3D 1.3 - * @see #setCombineRgbMode - * @see #setCombineAlphaMode - */ - public static final int COMBINE_SUBTRACT = 4; - - /** - * Interpolate two colors with a factor. - * - * @since Java 3D 1.3 - * @see #setCombineRgbMode - * @see #setCombineAlphaMode - */ - public static final int COMBINE_INTERPOLATE = 5; - - /** - * Dot product of two colors. - * - * @since Java 3D 1.3 - * @see #setCombineRgbMode - * @see #setCombineAlphaMode - */ - public static final int COMBINE_DOT3 = 6; - - - /** - * Object color coming into the texturing state. - * - * @since Java 3D 1.3 - * @see #setCombineRgbSource - * @see #setCombineAlphaSource - */ - public static final int COMBINE_OBJECT_COLOR = 0; - - /** - * Texture color of the corresponding texture unit state. - * - * @since Java 3D 1.3 - * @see #setCombineRgbSource - * @see #setCombineAlphaSource - */ - public static final int COMBINE_TEXTURE_COLOR = 1; - - /** - * Texture blend color. - * - * @since Java 3D 1.3 - * @see #setCombineRgbSource - * @see #setCombineAlphaSource - */ - public static final int COMBINE_CONSTANT_COLOR = 2; - - /** - * Color from the previous texture unit state. - * - * @since Java 3D 1.3 - * @see #setCombineRgbSource - * @see #setCombineAlphaSource - */ - public static final int COMBINE_PREVIOUS_TEXTURE_UNIT_STATE = 3; - - /** - * Color function is f = Crgb - * - * @since Java 3D 1.3 - * @see #setCombineRgbFunction - */ - public static final int COMBINE_SRC_COLOR = 0; - - /** - * Color function is f = (1 - Crgb) - * - * @since Java 3D 1.3 - * @see #setCombineRgbFunction - */ - public static final int COMBINE_ONE_MINUS_SRC_COLOR = 1; - - /** - * Color function is f = Ca - * - * @since Java 3D 1.3 - * @see #setCombineRgbFunction - * @see #setCombineAlphaFunction - */ - public static final int COMBINE_SRC_ALPHA = 2; - - /** - * Color function is f = (1 - Ca) - * - * @since Java 3D 1.3 - * @see #setCombineRgbFunction - * @see #setCombineAlphaFunction - */ - public static final int COMBINE_ONE_MINUS_SRC_ALPHA = 3; - - // Array for setting default read capabilities - private static final int[] readCapabilities = { - ALLOW_BLEND_COLOR_READ, - ALLOW_COLOR_TABLE_READ, - ALLOW_COMBINE_READ, - ALLOW_MODE_READ, - ALLOW_TRANSFORM_READ - }; - - /** - * Constructs a TextureAttributes object with default parameters. - * The default values are as follows: - * - */ - public TextureAttributes() { - // set default read capabilities - setDefaultReadCapabilities(readCapabilities); - } - - /** - * Constructs a TextureAttributes object with the specified values. - * @param textureMode the texture mode; one of MODULATE, - * DECAL, BLEND, REPLACE, or - * COMBINE - * @param transform the transform object, used to transform texture - * coordinates - * @param textureBlendColor the texture constant color - * @param perspCorrectionMode the perspective correction mode to - * be used for color and/or texture coordinate interpolation; - * one of NICEST or FASTEST - * @exception IllegalArgumentException if textureMode - * is a value other than MODULATE, - * DECAL, BLEND, REPLACE, or - * COMBINE - * @exception IllegalArgumentException if mode value is other - * than FASTEST or NICEST. - */ - public TextureAttributes(int textureMode, Transform3D transform, - Color4f textureBlendColor, - int perspCorrectionMode) { - - if ((textureMode < MODULATE) || (textureMode > COMBINE)) { - throw new IllegalArgumentException(J3dI18N.getString("TextureAttributes10")); - } - - if ((perspCorrectionMode != FASTEST) && - (perspCorrectionMode!= NICEST)) { - throw new IllegalArgumentException(J3dI18N.getString("TextureAttributes9")); - } - - // set default read capabilities - setDefaultReadCapabilities(readCapabilities); - - ((TextureAttributesRetained)this.retained).initTextureMode(textureMode); - ((TextureAttributesRetained)this.retained).initTextureBlendColor(textureBlendColor); - ((TextureAttributesRetained)this.retained).initTextureTransform(transform); - ((TextureAttributesRetained)this.retained).initPerspectiveCorrectionMode(perspCorrectionMode); - } - - /** - * Sets the texture mode parameter for this - * appearance component object. - * @param textureMode the texture mode, one of: MODULATE, - * DECAL, BLEND, REPLACE, or - * COMBINE - * @exception IllegalArgumentException if textureMode - * is a value other than MODULATE, - * DECAL, BLEND, REPLACE, or - * COMBINE - * - * @see Canvas3D#queryProperties - */ - public void setTextureMode(int textureMode) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_MODE_WRITE)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes0")); - - if ((textureMode < MODULATE) || (textureMode > COMBINE)) { - throw new IllegalArgumentException(J3dI18N.getString("TextureAttributes10")); - } - - if (isLive()) - ((TextureAttributesRetained)this.retained).setTextureMode(textureMode); - else - ((TextureAttributesRetained)this.retained).initTextureMode(textureMode); - } - - /** - * Gets the texture mode parameter for this - * texture attributes object. - * @return textureMode the texture mode - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - */ - public int getTextureMode() { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_MODE_READ)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes1")); - - return ((TextureAttributesRetained)this.retained).getTextureMode(); - } - - /** - * Sets the texture constant color for this - * texture attributes object. - * @param textureBlendColor the texture constant color - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - */ - public void setTextureBlendColor(Color4f textureBlendColor) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_BLEND_COLOR_WRITE)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes2")); - - if (isLive()) - ((TextureAttributesRetained)this.retained).setTextureBlendColor(textureBlendColor); - else - ((TextureAttributesRetained)this.retained).initTextureBlendColor(textureBlendColor); - } - - /** - * Sets the texture blend color for this - * appearance component object. - * @param r the red component of the color - * @param g the green component of the color - * @param b the blue component of the color - * @param a the alpha component of the color - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - */ - public void setTextureBlendColor(float r, float g, float b, float a) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_BLEND_COLOR_WRITE)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes3")); - - if (isLive()) - ((TextureAttributesRetained)this.retained).setTextureBlendColor(r, g, b, a); - else - ((TextureAttributesRetained)this.retained).initTextureBlendColor(r, g, b, a); - } - - /** - * Gets the texture blend color for this - * appearance component object. - * @param textureBlendColor the vector that will receive the texture - * constant color - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - */ - public void getTextureBlendColor(Color4f textureBlendColor) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_BLEND_COLOR_READ)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes4")); - - ((TextureAttributesRetained)this.retained).getTextureBlendColor(textureBlendColor); - } - - /** - * Sets the texture transform object used to transform texture - * coordinates. A copy of the specified Transform3D object is - * stored in this TextureAttributes object. - * @param transform the new transform object - * @exception CapabilityNotSetException if the method is called - * when this object is part of live or compiled scene graph. - */ - public void setTextureTransform(Transform3D transform) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_TRANSFORM_WRITE)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes5")); - - if (isLive()) - ((TextureAttributesRetained)this.retained).setTextureTransform(transform); - else - ((TextureAttributesRetained)this.retained).initTextureTransform(transform); - } - - /** - * Retrieves a copy of the texture transform object. - * @param transform the transform object that will receive the - * current texture transform - * @exception CapabilityNotSetException if the method is called - * when this object is part of live or compiled scene graph. - */ - public void getTextureTransform(Transform3D transform) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_TRANSFORM_READ)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes6")); - - ((TextureAttributesRetained)this.retained).getTextureTransform(transform); - } - - /** - * Sets perspective correction mode to be used for color - * and/or texture coordinate interpolation. - * A value of NICEST indicates that perspective correction should be - * performed and that the highest quality method should be used. - * A value of FASTEST indicates that the most efficient perspective - * correction method should be used. - * @param mode one of NICEST or FASTEST - * The default value is NICEST. - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * @exception IllegalArgumentException if mode value is other - * than FASTEST or NICEST. - */ - public void setPerspectiveCorrectionMode(int mode) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_MODE_WRITE)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes7")); - - if ((mode != FASTEST) && (mode!= NICEST)) - throw new IllegalArgumentException(J3dI18N.getString("TextureAttributes9")); - - if (isLive()) - ((TextureAttributesRetained)this.retained).setPerspectiveCorrectionMode(mode); - else - ((TextureAttributesRetained)this.retained).initPerspectiveCorrectionMode(mode); - } - - /** - * Gets perspective correction mode value. - * @return mode the value of perspective correction mode - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - */ - public int getPerspectiveCorrectionMode() { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_MODE_READ)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes8")); - return ((TextureAttributesRetained)this.retained).getPerspectiveCorrectionMode(); - } - - /** - * Sets the texture color table from the specified table. The - * individual integer array elements are copied. The array is - * indexed first by color component (r, g, b, - * and a, respectively) and then by color value; - * table.length defines the number of color - * components and table[0].length defines the texture - * color table size. If the table is non-null, the number of - * color components must either be 3, for rgb data, or 4, - * for rgba data. The size of each array for each color - * component must be the same and must be a power of 2. If table - * is null or if the texture color table size is 0, the texture - * color table is disabled. If the texture color table size is - * greater than the device-dependent maximum texture color table - * size for a particular Canvas3D, the texture color table is - * ignored for that canvas. - * - *

- * When enabled, the texture color table is applied after the - * texture filtering operation and before texture application. - * Each of the r, g, b, and a - * components are clamped to the range [0,1], multiplied by - * textureColorTableSize-1, and rounded to the - * nearest integer. The resulting value for each component is - * then used as an index into the respective table for that - * component. If the texture color table contains 3 components, - * alpha is passed through unmodified. - * - * @param table the new texture color table - * - * @exception IllegalArgumentException if table.length - * is not 3 or 4, or if the arrays for each component are not all - * the same length, or if the texture color table size - * is not a power of 2 - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.2 - */ - public void setTextureColorTable(int[][] table) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_COLOR_TABLE_WRITE)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes11")); - - if (isLive()) - ((TextureAttributesRetained)this.retained).setTextureColorTable(table); - else - ((TextureAttributesRetained)this.retained).initTextureColorTable(table); - } - - /** - * Retrieves the texture color table and copies it into the - * specified array. If the current texture color table is null, - * no values are copied. - * - * @param table the array that will receive a copy of the - * texture color table from this TextureAttributes object. - * The array must be allocated by the caller and must be large - * enough to hold the entire table (that is, - * int[numTextureColorTableComponents][textureColorTableSize]). - * - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.2 - */ - public void getTextureColorTable(int[][] table) { - if (isLiveOrCompiled()) - if (!this.getCapability(ALLOW_COLOR_TABLE_READ)) - throw new CapabilityNotSetException(J3dI18N.getString("TextureAttributes12")); - ((TextureAttributesRetained)this.retained).getTextureColorTable(table); - return; - } - - /** - * Retrieves the number of color components in the current texture - * color table. A value of 0 is returned if the texture color - * table is null. - * - * @return the number of color components in the texture color - * table, or 0 if the table is null - * - * @since Java 3D 1.2 - */ - public int getNumTextureColorTableComponents() { - return (((TextureAttributesRetained)this.retained).getNumTextureColorTableComponents()); - } - - /** - * Retrieves the size of the current texture color table. A value - * of 0 is returned if the texture color table is null. - * - * @return the size of the texture color table, or 0 if the table - * is null - * - * @since Java 3D 1.2 - */ - public int getTextureColorTableSize() { - return (((TextureAttributesRetained)this.retained).getTextureColorTableSize()); - } - - - /** - * Sets the combine mode for the rgb components of the output color - * for this object. - * - * @param combineMode the combine mode, one of: - * COMBINE_REPLACE, - * COMBINE_MODULATE, COMBINE_ADD, - * COMBINE_ADD_SIGNED, COMBINE_SUBTRACT, - * COMBINE_INTERPOLATE, or COMBINE_DOT3 - * - * @exception IllegalArgumentException if combineMode - * is a value other than COMBINE_REPLACE, - * COMBINE_MODULATE, COMBINE_ADD, - * COMBINE_ADD_SIGNED, COMBINE_SUBTRACT, - * COMBINE_INTERPOLATE, or COMBINE_DOT3 - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.3 - */ - public void setCombineRgbMode(int combineMode) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_WRITE)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes16")); - } - } - - if ((combineMode < COMBINE_REPLACE) || (combineMode > COMBINE_DOT3)) { - throw new IllegalArgumentException( - J3dI18N.getString("TextureAttributes20")); - } - - if (isLive()) { - ((TextureAttributesRetained)this.retained).setCombineRgbMode(combineMode); - } else { - ((TextureAttributesRetained)this.retained).initCombineRgbMode(combineMode); - } - } - - /** - * Sets the combine mode for the alpha component of the output color - * for this object. - * - * @param combineMode the combine mode, one of: - * COMBINE_REPLACE, - * COMBINE_MODULATE, COMBINE_ADD, - * COMBINE_ADD_SIGNED, COMBINE_SUBTRACT, - * COMBINE_INTERPOLATE, or COMBINE_DOT3 - * - * @exception IllegalArgumentException if combineMode - * is a value other than COMBINE_REPLACE, - * COMBINE_MODULATE, COMBINE_ADD, - * COMBINE_ADD_SIGNED, COMBINE_SUBTRACT, - * COMBINE_INTERPOLATE, or COMBINE_DOT3 - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.3 - */ - public void setCombineAlphaMode(int combineMode) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_WRITE)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes18")); - } - } - - if ((combineMode < COMBINE_REPLACE) || (combineMode > COMBINE_DOT3)) { - throw new IllegalArgumentException( - J3dI18N.getString("TextureAttributes20")); - } - - if (isLive()) { - ((TextureAttributesRetained)this.retained).setCombineAlphaMode(combineMode); - } else { - ((TextureAttributesRetained)this.retained).initCombineAlphaMode(combineMode); - } - } - - /** - * Retrieves the combine mode for the rgb components of the output color - * for this object. - * @return the combine mode for the rgb components. - * - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.3 - */ - public int getCombineRgbMode() { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_READ)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes17")); - } - } - - return ((TextureAttributesRetained)this.retained).getCombineRgbMode(); - } - - /** - * Retrieves the combine mode for the alpha component of the output color - * for this object. - * @return the combine mode for the alpha component. - * - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.3 - */ - public int getCombineAlphaMode() { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_READ)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes19")); - } - } - - return ((TextureAttributesRetained)this.retained).getCombineAlphaMode(); - } - - /** - * Sets the source for the rgb components of the specified color operand - * for this object. - * - * @param index color operand in the combine operation - * @param src the color source, one of: COMBINE_OBJECT_COLOR, - * COMBINE_TEXTURE_COLOR, - * COMBINE_CONSTANT_COLOR, or - * COMBINE_PREVIOUS_TEXTURE_UNIT_STATE - * - * @exception IndexOutOfBoundsException if index < 0 or - * index > 2 - * @exception IllegalArgumentException if src - * is a value other than COMBINE_OBJECT_COLOR, - * COMBINE_TEXTURE_COLOR, - * COMBINE_CONSTANT_COLOR, or - * COMBINE_PREVIOUS_TEXTURE_UNIT_STATE - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.3 - */ - public void setCombineRgbSource(int index, int src) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_WRITE)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes21")); - } - } - - if ((index < 0) || (index > 2)) { - throw new IndexOutOfBoundsException( - J3dI18N.getString("TextureAttributes25")); - } - - if ((src < COMBINE_OBJECT_COLOR) || - (src > COMBINE_PREVIOUS_TEXTURE_UNIT_STATE)) { - throw new IllegalArgumentException( - J3dI18N.getString("TextureAttributes26")); - } - - if (isLive()) { - ((TextureAttributesRetained)this.retained).setCombineRgbSource( - index, src); - } else { - ((TextureAttributesRetained)this.retained).initCombineRgbSource( - index, src); - } - } - - /** - * Sets the source for the alpha component of the specified color operand - * for this object. - * - * @param index color operand in the combine operation - * @param src the color source, one of: COMBINE_OBJECT_COLOR, - * COMBINE_TEXTURE_COLOR, - * COMBINE_CONSTANT_COLOR, or - * COMBINE_PREVIOUS_TEXTURE_UNIT_STATE - * - * @exception IndexOutOfBoundsException if index < 0 or - * index > 2 - * @exception IllegalArgumentException if src - * is a value other than COMBINE_OBJECT_COLOR, - * COMBINE_TEXTURE_COLOR, - * COMBINE_CONSTANT_COLOR, or - * COMBINE_PREVIOUS_TEXTURE_UNIT_STATE - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.3 - */ - public void setCombineAlphaSource(int index, int src) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_WRITE)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes23")); - } - } - - if ((index < 0) || (index > 2)) { - throw new IndexOutOfBoundsException( - J3dI18N.getString("TextureAttributes25")); - } - - if ((src < COMBINE_OBJECT_COLOR) || - (src > COMBINE_PREVIOUS_TEXTURE_UNIT_STATE)) { - throw new IllegalArgumentException( - J3dI18N.getString("TextureAttributes26")); - } - - if (isLive()) { - ((TextureAttributesRetained)this.retained).setCombineAlphaSource( - index, src); - } else { - ((TextureAttributesRetained)this.retained).initCombineAlphaSource( - index, src); - } - } - - /** - * Retrieves the source for the rgb components of the specified - * color operand for this object. - * - * @param index color operand in the combine operation - * - * @return the source for the rgb components of the specified color - * operand for this object - * - * @exception IndexOutOfBoundsException if index < 0 or - * index > 2 - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.3 - */ - public int getCombineRgbSource(int index) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_READ)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes22")); - } - } - - if ((index < 0) || (index > 2)) { - throw new IndexOutOfBoundsException( - J3dI18N.getString("TextureAttributes25")); - } - - return ((TextureAttributesRetained)this.retained).getCombineRgbSource(index); - } - - /** - * Retrieves the source for the alpha component of the specified - * color operand for this object. - * - * @param index color operand in the combine operation - * - * @return the source for the alpha component of the specified color - * operand for this object - * - * @exception IndexOutOfBoundsException if index < 0 or - * index > 2 - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.3 - */ - public int getCombineAlphaSource(int index) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_READ)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes24")); - } - } - - if ((index < 0) || (index > 2)) { - throw new IndexOutOfBoundsException( - J3dI18N.getString("TextureAttributes25")); - } - - return ((TextureAttributesRetained)this.retained).getCombineAlphaSource(index); - } - - /** - * Sets the function for the rgb components of the specified color operand - * for this object. - * - * @param index color operand in the combine operation - * @param function the color function, one of: - * COMBINE_SRC_COLOR, - * COMBINE_ONE_MINUS_SRC_COLOR, - * COMBINE_SRC_ALPHA, or - * COMBINE_ONE_MINUS_SRC_ALPHA - * - * @exception IndexOutOfBoundsException if index < 0 or - * index > 2 - * @exception IllegalArgumentException if function - * is a value other than COMBINE_SRC_COLOR, - * COMBINE_ONE_MINUS_SRC_COLOR, - * COMBINE_SRC_ALPHA, or - * COMBINE_ONE_MINUS_SRC_ALPHA - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.3 - */ - public void setCombineRgbFunction(int index, int function) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_WRITE)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes27")); - } - } - - if ((index < 0) || (index > 2)) { - throw new IndexOutOfBoundsException( - J3dI18N.getString("TextureAttributes25")); - } - - if ((function < COMBINE_SRC_COLOR) || - (function > COMBINE_ONE_MINUS_SRC_ALPHA)) { - throw new IllegalArgumentException( - J3dI18N.getString("TextureAttributes31")); - } - - if (isLive()) { - ((TextureAttributesRetained)this.retained).setCombineRgbFunction( - index, function); - } else { - ((TextureAttributesRetained)this.retained).initCombineRgbFunction( - index, function); - } - } - - /** - * Sets the function for the alpha component of the specified color operand - * for this object. - * - * @param index color operand in the combine operation - * @param function the color function, one of: - * COMBINE_SRC_ALPHA, or - * COMBINE_ONE_MINUS_SRC_ALPHA - * - * @exception IndexOutOfBoundsException if index < 0 or - * index > 2 - * @exception IllegalArgumentException if function - * is a value other than - * COMBINE_SRC_ALPHA or - * COMBINE_ONE_MINUS_SRC_ALPHA - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.3 - */ - public void setCombineAlphaFunction(int index, int function) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_WRITE)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes29")); - } - } - - if ((index < 0) || (index > 2)) { - throw new IndexOutOfBoundsException( - J3dI18N.getString("TextureAttributes25")); - } - - if ((function < COMBINE_SRC_ALPHA) || - (function > COMBINE_ONE_MINUS_SRC_ALPHA)) { - throw new IllegalArgumentException( - J3dI18N.getString("TextureAttributes31")); - } - - if (isLive()) { - ((TextureAttributesRetained)this.retained).setCombineAlphaFunction( - index, function); - } else { - ((TextureAttributesRetained)this.retained).initCombineAlphaFunction( - index, function); - } - } - - /** - * Retrieves the function for the rgb components of the specified color - * operand for this object. - * - * @param index color operand in the combine operation - * - * @return the function for the rgb components of the specified color - * operand for this object. - * - * @exception IndexOutOfBoundsException if index < 0 or - * index > 2 - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.3 - */ - public int getCombineRgbFunction(int index) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_READ)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes28")); - } - } - - if ((index < 0) || (index > 2)) { - throw new IndexOutOfBoundsException( - J3dI18N.getString("TextureAttributes25")); - } - - return ((TextureAttributesRetained)this.retained).getCombineRgbFunction(index); - } - - /** - * Retrieves the function for the alpha component of the specified color - * operand for this object. - * - * @param index color operand in the combine operation - * - * @return the function for the alpha component of the specified color - * operand for this object. - * - * @exception IndexOutOfBoundsException if index < 0 or - * index > 2 - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.3 - */ - public int getCombineAlphaFunction(int index) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_READ)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes30")); - } - } - - if ((index < 0) || (index > 2)) { - throw new IndexOutOfBoundsException( - J3dI18N.getString("TextureAttributes25")); - } - - return ((TextureAttributesRetained)this.retained).getCombineAlphaFunction(index); - } - - /** - * Sets the scale factor for the rgb components of the output color - * for this object. - * - * @param scale the scale factor for the rgb components of the output - * color. It must be one of the following: 1, 2, or 4. - * - * @exception IllegalArgumentException if scale is a - * value other than 1, 2, or 4. - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.3 - */ - public void setCombineRgbScale(int scale) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_WRITE)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes32")); - } - } - - - if ((scale != 1) && (scale != 2) && (scale != 4)) { - throw new IllegalArgumentException( - J3dI18N.getString("TextureAttributes36")); - } - - if (isLive()) { - ((TextureAttributesRetained)this.retained).setCombineRgbScale(scale); - } else { - ((TextureAttributesRetained)this.retained).initCombineRgbScale(scale); - } - } - - /** - * Sets the scale factor for the alpha component of the output color - * for this object. - * - * @param scale the scale factor for the alpha component of the output - * color. It must be one of the following: 1, 2, or 4. - * - * @exception IllegalArgumentException if scale is a - * value other than 1, 2, or 4. - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @see Canvas3D#queryProperties - * - * @since Java 3D 1.3 - */ - public void setCombineAlphaScale(int scale) { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_WRITE)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes34")); - } - } - - if ((scale != 1) && (scale != 2) && (scale != 4)) { - throw new IllegalArgumentException( - J3dI18N.getString("TextureAttributes36")); - } - - if (isLive()) { - ((TextureAttributesRetained)this.retained).setCombineAlphaScale(scale); - } else { - ((TextureAttributesRetained)this.retained).initCombineAlphaScale(scale); - } - } - - /** - * Retrieves the scale factor for the rgb components of the output color - * for this object. - * - * @return the scale factor for the rgb components of the output color - * - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.3 - */ - public int getCombineRgbScale() { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_READ)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes33")); - } - } - - return ((TextureAttributesRetained)this.retained).getCombineRgbScale(); - } - - /** - * Retrieves the scale factor for the alpha component of the output color - * for this object. - * - * @return the scale factor for the alpha component of the output color - * - * @exception CapabilityNotSetException if appropriate capability is - * not set and this object is part of live or compiled scene graph - * - * @since Java 3D 1.3 - */ - public int getCombineAlphaScale() { - if (isLiveOrCompiled()) { - if (!this.getCapability(ALLOW_COMBINE_READ)) { - throw new CapabilityNotSetException( - J3dI18N.getString("TextureAttributes35")); - } - } - - return ((TextureAttributesRetained)this.retained).getCombineAlphaScale(); - } - - - /** - * Creates a retained mode TextureAttributesRetained object that this - * TextureAttributes component object will point to. - */ - @Override - void createRetained() { - this.retained = new TextureAttributesRetained(); - this.retained.setSource(this); - } - - - /** - * @deprecated replaced with cloneNodeComponent(boolean forceDuplicate) - */ - @Override - public NodeComponent cloneNodeComponent() { - TextureAttributes ta = new TextureAttributes(); - ta.duplicateNodeComponent(this); - return ta; - } - - - /** - * Copies all node information from originalNodeComponent into - * the current node. This method is called from the - * duplicateNode method. This routine does - * the actual duplication of all "local data" (any data defined in - * this object). - * - * @param originalNodeComponent the original node to duplicate. - * @param forceDuplicate when set to true, causes the - * duplicateOnCloneTree flag to be ignored. When - * false, the value of each node's - * duplicateOnCloneTree variable determines whether - * NodeComponent data is duplicated or copied. - * - * @see Node#cloneTree - * @see NodeComponent#setDuplicateOnCloneTree - */ - @Override - void duplicateAttributes(NodeComponent originalNodeComponent, - boolean forceDuplicate) { - - super.duplicateAttributes(originalNodeComponent, forceDuplicate); - - TextureAttributesRetained attr = - (TextureAttributesRetained) originalNodeComponent.retained; - TextureAttributesRetained rt = (TextureAttributesRetained) retained; - - Color4f c = new Color4f(); - attr.getTextureBlendColor(c); - Transform3D t = new Transform3D(); - attr.getTextureTransform(t); - - rt.initTextureMode(attr.getTextureMode()); - rt.initPerspectiveCorrectionMode(attr.getPerspectiveCorrectionMode()); - rt.initTextureBlendColor(c); - rt.initTextureTransform(t); - - if ((attr.getNumTextureColorTableComponents() != 0) && - (attr.getTextureColorTableSize() != 0)) { - int table[][] = new - int[attr.getNumTextureColorTableComponents()][attr.getTextureColorTableSize()]; - attr.getTextureColorTable(table); - rt.initTextureColorTable(table); - } - // start fix issue 636 - rt.initCombineRgbMode(attr.getCombineRgbMode()); - rt.initCombineAlphaMode(attr.getCombineAlphaMode()); - - rt.initCombineRgbScale(attr.getCombineRgbScale()); - rt.initCombineAlphaScale(attr.getCombineAlphaScale()); - - // Check one of the combine source or function arrays - if (attr.combineRgbSrc != null) { - for (int i=0; i < 3; i++) { - rt.initCombineRgbSource(i, attr.getCombineRgbSource(i)); - rt.initCombineAlphaSource(i, attr.getCombineAlphaSource(i)); - rt.initCombineRgbFunction(i, attr.getCombineRgbFunction(i)); - rt.initCombineAlphaFunction(i, attr.getCombineAlphaFunction(i)); - } - } - // end fix - - } -} -- cgit v1.2.3