------------------------------------------------------------------------ $RCSfile$ $Revision$ $Date$ ------------------------------------------------------------------------ This document conatains proposed API changes to the Java 3D 1.4 API that deviate from the 1.3 API. This file must be updated to record the addition or deprecation of any public or protected class, interface, field, constructor, or method to the Java 3D API. The one exception to this rule is that you don't need to update this file when adding a non-final (i.e., virtual) method to a class if that method--with exactly the same signature--already exists in a superclass. For example, adding a "toString" method to a j3d object doesn't require an entry in this file. Likewise, adding duplicateNode or cloneNode methods to Node subclasses doesn't require an entry in this file. No incompatible changes to the Java 3D 1.3 API are allowed. I. New/deprecated fields, constructors, methods Canvas3D -------- New methods: public boolean isShadingLanguageSupported(int shadingLanguage) SceneGraphObject ---------------- New methods: public void setName(String name) public String getName() GeometryArray ------------- New fields: public static final int ALLOW_VERTEX_ATTR_READ public static final int ALLOW_VERTEX_ATTR_WRITE public static final int VERTEX_ATTRIBUTES New constructors: public GeometryArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes) New methods: public int getVertexAttrCount() public void getVertexAttrSizes(int[] vertexAttrSizes) public void setVertexAttr(int vertexAttrNum, int index, float[] vertexAttr) public void setVertexAttr(int vertexAttrNum, int index, Point2f vertexAttr) public void setVertexAttr(int vertexAttrNum, int index, Point3f vertexAttr) public void setVertexAttr(int vertexAttrNum, int index, Point4f vertexAttr) public void setVertexAttrs(int vertexAttrNum, int index, float[] vertexAttrs) public void setVertexAttrs(int vertexAttrNum, int index, Point2f[] vertexAttrs) public void setVertexAttrs(int vertexAttrNum, int index, Point3f[] vertexAttrs) public void setVertexAttrs(int vertexAttrNum, int index, Point4f[] vertexAttrs) public void setVertexAttrs(int vertexAttrNum, int index, float[] vertexAttrs, int start, int length) public void setVertexAttrs(int vertexAttrNum, int index, Point2f[] vertexAttrs, int start, int length) public void setVertexAttrs(int vertexAttrNum, int index, Point3f[] vertexAttrs, int start, int length) public void setVertexAttrs(int vertexAttrNum, int index, Point4f[] vertexAttrs, int start, int length) public void getVertexAttr(int vertexAttrNum, int index, float[] vertexAttr) public void getVertexAttr(int vertexAttrNum, int index, Point2f vertexAttr) public void getVertexAttr(int vertexAttrNum, int index, Point3f vertexAttr) public void getVertexAttr(int vertexAttrNum, int index, Point4f vertexAttr) public void getVertexAttrs(int vertexAttrNum, int index, float[] vertexAttrs) public void getVertexAttrs(int vertexAttrNum, int index, Point2f[] vertexAttrs) public void getVertexAttrs(int vertexAttrNum, int index, Point3f[] vertexAttrs) public void getVertexAttrs(int vertexAttrNum, int index, Point4f[] vertexAttrs) public void setInitialVertexAttrIndex(int vertexAttrNum, int initialVertexAttrIndex) public int getInitialVertexAttrIndex(int vertexAttrNum) public void setVertexAttrRefBuffer(int vertexAttrNum, J3DBuffer vertexAttrs) public J3DBuffer getVertexAttrRefBuffer(int vertexAttrNum) public void setVertexAttrRefFloat(int vertexAttrNum, float[] vertexAttrs) public float[] getVertexAttrRefFloat(int vertexAttrNum) PointArray ---------- New constructors: public PointArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes) LineArray --------- New constructors: public LineArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes) TriangleArray ------------- New constructors: public TriangleArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes) QuadArray --------- New constructors: public QuadArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes) GeometryStripArray ------------------ New constructors: public GeometryStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int[] stripVertexCounts) LineStripArray -------------- New constructors: public LineStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int[] stripVertexCounts) TriangleStripArray ------------------ New constructors: public TriangleStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int[] stripVertexCounts) TriangleFanArray ---------------- New constructors: public TriangleFanArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int[] stripVertexCounts) IndexedGeometryArray -------------------- New constructors: public IndexedGeometryArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount) New fields: public static final int ALLOW_VERTEX_ATTR_INDEX_READ public static final int ALLOW_VERTEX_ATTR_INDEX_WRITE New methods: public void setInitialVertexAttrIndex(int vertexAttrNum, int initialVertexAttrIndex) public void setVertexAttrIndex(int vertexAttrNum, int index, int vertexAttrIndex) public void setVertexAttrIndices(int vertexAttrNum, int index, int[] vertexAttrIndices) public int getVertexAttrIndex(int vertexAttrNum, int index) public void getVertexAttrIndices(int vertexAttrNum, int index, int[] vertexAttrIndices) IndexedPointArray ---------------- New constructors: public IndexedPointArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount) IndexedLineArray ---------------- New constructors: public IndexedLineArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount) IndexedTriangleArray ---------------- New constructors: public IndexedTriangleArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount) IndexedQuadArray ---------------- New constructors: public IndexedQuadArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount) IndexedGeometryStripArray ------------------------- New constructors: public IndexedGeometryStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount int[] stripIndexCounts) IndexedLineStripArray ------------------------- New constructors: public IndexedLineStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount int[] stripIndexCounts) IndexedTriangleStripArray ------------------------- New constructors: public IndexedTriangleStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount int[] stripIndexCounts) IndexedTriangleFanArray ------------------------- New constructors: public IndexedTriangleFanArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int indexCount int[] stripIndexCounts) Node ---- New fields: public static final int ALLOW_PARENT_READ public static final int ALLOW_LOCALE_READ New methods: public Locale getLocale() VirtualUniverse --------------- New methods: public void addGraphStructureChangeListener(GraphStructureChangeListener listener) public void removeGraphStructureChangeListener(GraphStructureChangeListener listener) public void addShaderErrorListener(ShaderErrorListener listener) public void removeShaderErrorListener(ShaderErrorListener listener) Locale ------ New methods: public PickInfo[] pickAll( int mode, int flags, PickShape pickShape ) public PickInfo[] pickAllSorted( int mode, int flags, PickShape pickShape ) public PickInfo pickClosest( int mode, int flags, PickShape pickShape ) public PickInfo pickAny( int mode, int flags, PickShape pickShape ) BranchGroup ----------- New methods: public PickInfo[] pickAll( int mode, int flags, PickShape pickShape ) public PickInfo[] pickAllSorted( int mode, int flags, PickShape pickShape ) public PickInfo pickClosest( int mode, int flags, PickShape pickShape ) public PickInfo pickAny( int mode, int flags, PickShape pickShape ) Sensor ------ Deprecated fields: public static final int PREDICT_NONE public static final int PREDICT_NEXT_FRAME_TIME public static final int NO_PREDICTOR public static final int HEAD_PREDICTOR public static final int HAND_PREDICTOR Deprecated methods: public void setPredictor(int predictor) public int getPredictor() public void setPredictionPolicy(int policy) public int getPredictionPolicy() public void getRead(Transform3D read, long deltaT) RenderingAttributes ------------------- New fields: public static final int ALLOW_DEPTH_TEST_FUNCTION_READ public static final int ALLOW_DEPTH_TEST_FUNCTION_WRITE public static final int ALLOW_STENCIL_ATTRIBUTES_READ public static final int ALLOW_STENCIL_ATTRIBUTES_WRITE public static final int ROP_CLEAR public static final int ROP_AND public static final int ROP_AND_REVERSE public static final int ROP_AND_INVERTED public static final int ROP_NOOP public static final int ROP_OR public static final int ROP_NOR public static final int ROP_EQUIV public static final int ROP_INVERT public static final int ROP_OR_REVERSE public static final int ROP_COPY_INVERTED public static final int ROP_OR_INVERTED public static final int ROP_NAND public static final int ROP_SET public static final int STENCIL_KEEP public static final int STENCIL_ZERO public static final int STENCIL_REPLACE public static final int STENCIL_INCR public static final int STENCIL_DECR public static final int STENCIL_INVERT New methods: public void setDepthTestFunction(int function) public int getDepthTestFunction() public void setStencilEnable(boolean enable) public boolean getStencilEnable() public void setStencilOp(int failOp, int zFailOp, int zPassOp) public void setStencilOp(int[] stencilOps) public void getStencilOp(int[] stencilOps) public void setStencilFunction(int function, int refValue, int compareMask) public void setStencilFunction(int[] params) public void getStencilFunction(int[] params) public void setStencilWriteMask(int mask) public int getStencilWriteMask() Font3D ------ New methods: public GeometryArray getGlyphGeometry(char c) GraphicsConfigTemplate3D ------------------------ New methods: public void setStencilSize(int value) public int getStencilSize() TransparencyAttributes ---------------------- New fields: public static final int BLEND_DST_COLOR public static final int BLEND_ONE_MINUS_DST_COLOR public static final int BLEND_SRC_COLOR public static final int BLEND_ONE_MINUS_SRC_COLOR II. Reparented classes NONE III. New classes and interfaces (in javax.media.j3d) ShaderAppearance ---------------- public class ShaderAppearance extends Appearance ShaderAttributeSet ------------------ public class ShaderAttributeSet extends NodeComponent ShaderAttribute --------------- public abstract class ShaderAttribute extends NodeComponent ShaderAttributeBinding ---------------------- public class ShaderAttributeBinding extends ShaderAttribute ShaderAttributeObject --------------------- public abstract class ShaderAttributeObject extends ShaderAttribute ShaderAttributeValue -------------------- public class ShaderAttributeValue extends ShaderAttributeObject ShaderAttributeArray -------------------- public class ShaderAttributeArray extends ShaderAttributeObject Shader ------ public abstract class Shader extends NodeComponent SourceCodeShader ---------------- public class SourceCodeShader extends Shader ShaderProgram ------------- public abstract class ShaderProgram extends NodeComponent CgShaderProgram --------------- public class CgShaderProgram extends ShaderProgram GLSLShaderProgram ----------------- public class GLSLShaderProgram extends ShaderProgram ShaderError ----------- public class ShaderError extends Object ShaderErrorListener ------------------- public interface ShaderErrorListener GraphStructureChangeListener ---------------------------- public interface GraphStructureChangeListener PickInfo -------- public class PickInfo extends Object PickInfo.IntersectionInfo ------------------------- public class PickInfo.IntersectionInfo extends Object IV. Deprecated classes and interfaces (in javax.media.j3d) CompressedGeometry CompressedGeometryHeader PickPoint Morph