List of Proposed Java 3DTM 1.4 API Changes

This document conatains a list of the proposed API changes to the Java 3DTM 1.4 API that deviate from the 1.3 API.

Note: the most up-to-date version of this list is in the dev-1_4 branch of the docs/api-changes-1_4.txt file, which is updated to record the addition or deprecation of any public or protected class, interface, field, constructor, or method to the Java 3D API.

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 (incomplete list)
    -------------
    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)


    TriangleArray
    -------------
    New constructors:
	public TriangleArray(int vertexCount,
			     int vertexFormat,
			     int texCoordSetCount,
			     int[] texCoordSetMap,
			     int vertexAttrCount,
			     int[] vertexAttrSizes)


    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

    New constructors:
	public RenderingAttributes(boolean depthBufferEnable,
				   boolean depthBufferWriteEnable,
				   int depthTestFunction,
				   float alphaTestValue,
				   int alphaTestFunction,
				   boolean visible,
				   boolean ignoreVertexColors,
				   boolean rasterOpEnable,
				   int rasterOp)

    New methods:
	public void setDepthTestFunction(int function)
	public int getDepthTestFunction()


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

Page last updated — $Date$