⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 locale.java

📁 JAVA3D矩陈的相关类
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    /**     * Returns a sorted array of references to all the pickable items     * that intersect with the pickShape. Element [0] references the     * item closest to <i>origin</i> of PickShape successive array     * elements are further from the <i>origin</i>     * <br>     * NOTE: If pickShape is of type PickBounds, the resulting array     * is unordered.     *     * @param pickShape the description of this picking volume or area.     *     * @exception IllegalStateException if this Locale has been     * removed from its VirtualUniverse.     *     * @see BranchGroup#pickAllSorted     */    public SceneGraphPath[] pickAllSorted( PickShape pickShape ) {	if (universe == null) {	    throw new IllegalStateException(J3dI18N.getString("Locale4"));	}        PickInfo[] pickInfoArr = pickAllSorted( PickInfo.PICK_BOUNDS,                PickInfo.SCENEGRAPHPATH, pickShape);       if(pickInfoArr == null) {            return null;       }        SceneGraphPath[] sgpArr = new SceneGraphPath[pickInfoArr.length];        for( int i=0; i<sgpArr.length; i++) {            sgpArr[i] = pickInfoArr[i].getSceneGraphPath();        }        return sgpArr;                            }    /**     * Returns a sorted array of PickInfo references to all the pickable     * items that intersect with the pickShape. Element [0] references      * the item closest to <i>origin</i> of PickShape successive array     * elements are further from the <i>origin</i>     * The accuracy of the pick is set by the pick mode. The mode include :      * PickInfo.PICK_BOUNDS and PickInfo.PICK_GEOMETRY. The amount of information returned      * is specified via a masked variable, flags, indicating which components are      * present in each returned PickInfo object.      *     * @param mode  picking mode, one of <code>PickInfo.PICK_BOUNDS</code> or <code>PickInfo.PICK_GEOMETRY</code>.     *     * @param flags a mask indicating which components are present in each PickInfo object.       * This is specified as one or more individual bits that are bitwise "OR"ed together to      * describe the PickInfo data. The flags include :     * <ul>     * <code>PickInfo.SCENEGRAPHPATH</code> - request for computed SceneGraphPath.<br>         * <code>PickInfo.NODE</code> - request for computed intersected Node.<br>     * <code>PickInfo.LOCAL_TO_VWORLD</code> - request for computed local to virtual world transform.<br>     * <code>PickInfo.CLOSEST_INTERSECTION_POINT</code> - request for closest intersection point.<br>     * <code>PickInfo.CLOSEST_DISTANCE</code> - request for the distance of closest intersection.<br>     * <code>PickInfo.CLOSEST_GEOM_INFO</code> - request for only the closest intersection geometry information.<br>     * <code>PickInfo.ALL_GEOM_INFO</code> - request for all intersection geometry information.<br>     * </ul>     *     * @param pickShape the description of this picking volume or area.     *     * @exception IllegalArgumentException if flags contains both CLOSEST_GEOM_INFO and      * ALL_GEOM_INFO.     *     * @exception IllegalArgumentException if pickShape is a PickPoint and pick mode     * is set to PICK_GEOMETRY.     *     * @exception IllegalArgumentException if pick mode is neither PICK_BOUNDS      * nor PICK_GEOMETRY.     *     * @exception IllegalArgumentException if pick mode is PICK_BOUNDS      * and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,     * CLOSEST_GEOM_INFO or ALL_GEOM_INFO.     *     * @exception IllegalArgumentException if pickShape is PickBounds      * and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,     * CLOSEST_GEOM_INFO or ALL_GEOM_INFO.     *     * @exception IllegalStateException if this Locale has been     * removed from its VirtualUniverse.     *     * @exception CapabilityNotSetException if the mode is     * PICK_GEOMETRY and the Geometry.ALLOW_INTERSECT capability bit     * is not set in any Geometry objects referred to by any shape     * node whose bounds intersects the PickShape.     *        * @exception CapabilityNotSetException if flags contains any of     * CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE, CLOSEST_GEOM_INFO     * or ALL_GEOM_INFO, and the capability bits that control reading of     * coordinate data are not set in any GeometryArray object referred     * to by any shape node that intersects the PickShape.     * The capability bits that must be set to avoid this exception are as follows :     * <ul>      * <li>By-copy geometry : GeometryArray.ALLOW_COORDINATE_READ</li>     * <li>By-reference geometry : GeometryArray.ALLOW_REF_DATA_READ</li>     * <li>Indexed geometry : IndexedGeometryArray.ALLOW_COORDINATE_INDEX_READ     * (in addition to one of the above)</li>     * </ul>     *     * @see BranchGroup#pickAllSorted(int,int,javax.media.j3d.PickShape)     * @see PickInfo     *      * @since Java 3D 1.4     *     */    public PickInfo[] pickAllSorted( int mode, int flags, PickShape pickShape ) {        validateModeFlagAndPickShape(mode, flags, pickShape);           GeometryAtom geomAtoms[] = universe.geometryStructure.pickAll(this, pickShape);        if ((geomAtoms == null) || (geomAtoms.length == 0)) {            return null;        }                PickInfo[] pickInfoArr  = null;        	if (mode == PickInfo.PICK_GEOMETRY) {            // Need to have closestDistance set            flags |= PickInfo.CLOSEST_DISTANCE;            pickInfoArr= PickInfo.pick(this, geomAtoms, mode, flags, pickShape, PickInfo.PICK_ALL);	    if (pickInfoArr != null) {		PickInfo.sortPickInfoArray(pickInfoArr);	    }        }        else {            PickInfo.sortGeomAtoms(geomAtoms, pickShape);            pickInfoArr= PickInfo.pick(this, geomAtoms, mode, flags, pickShape, PickInfo.PICK_ALL);                  }                return pickInfoArr;    }    /**     * Returns a SceneGraphPath which references the pickable item     * which is closest to the origin of <code>pickShape</code>.     * <br>     * NOTE: If pickShape is of type PickBounds, the return is any     * pickable node below this Locale.     *     * @param pickShape the description of this picking volume or area.     *     * @exception IllegalStateException if this Locale has been     * removed from its VirtualUniverse.     *     * @see BranchGroup#pickClosest     */    public SceneGraphPath pickClosest( PickShape pickShape ) {        if (universe == null) {            throw new IllegalStateException(J3dI18N.getString("Locale4"));        }        PickInfo pickInfo = pickClosest( PickInfo.PICK_BOUNDS,                PickInfo.SCENEGRAPHPATH, pickShape);                if(pickInfo == null) {            return null;        }        return pickInfo.getSceneGraphPath();    }    /**     * Returns a PickInfo which references the pickable item     * which is closest to the origin of <code>pickShape</code>.     * The accuracy of the pick is set by the pick mode. The mode include :      * PickInfo.PICK_BOUNDS and PickInfo.PICK_GEOMETRY. The amount of information returned      * is specified via a masked variable, flags, indicating which components are      * present in each returned PickInfo object.      *     * @param mode  picking mode, one of <code>PickInfo.PICK_BOUNDS</code> or <code>PickInfo.PICK_GEOMETRY</code>.     *     * @param flags a mask indicating which components are present in each PickInfo object.       * This is specified as one or more individual bits that are bitwise "OR"ed together to      * describe the PickInfo data. The flags include :     * <ul>     * <code>PickInfo.SCENEGRAPHPATH</code> - request for computed SceneGraphPath.<br>         * <code>PickInfo.NODE</code> - request for computed intersected Node.<br>     * <code>PickInfo.LOCAL_TO_VWORLD</code> - request for computed local to virtual world transform.<br>     * <code>PickInfo.CLOSEST_INTERSECTION_POINT</code> - request for closest intersection point.<br>     * <code>PickInfo.CLOSEST_DISTANCE</code> - request for the distance of closest intersection.<br>     * <code>PickInfo.CLOSEST_GEOM_INFO</code> - request for only the closest intersection geometry information.<br>     * <code>PickInfo.ALL_GEOM_INFO</code> - request for all intersection geometry information.<br>     * </ul>     *     * @param pickShape the description of this picking volume or area.     *     * @exception IllegalArgumentException if flags contains both CLOSEST_GEOM_INFO and      * ALL_GEOM_INFO.     *     * @exception IllegalArgumentException if pickShape is a PickPoint and pick mode     * is set to PICK_GEOMETRY.     *     * @exception IllegalArgumentException if pick mode is neither PICK_BOUNDS      * nor PICK_GEOMETRY.     *     * @exception IllegalArgumentException if pick mode is PICK_BOUNDS      * and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,     * CLOSEST_GEOM_INFO or ALL_GEOM_INFO.     *     * @exception IllegalArgumentException if pickShape is PickBounds      * and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,     * CLOSEST_GEOM_INFO or ALL_GEOM_INFO.     *     * @exception IllegalStateException if this Locale has been     * removed from its VirtualUniverse.     *     * @exception CapabilityNotSetException if the mode is     * PICK_GEOMETRY and the Geometry.ALLOW_INTERSECT capability bit     * is not set in any Geometry objects referred to by any shape     * node whose bounds intersects the PickShape.     *        * @exception CapabilityNotSetException if flags contains any of     * CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE, CLOSEST_GEOM_INFO     * or ALL_GEOM_INFO, and the capability bits that control reading of     * coordinate data are not set in any GeometryArray object referred     * to by any shape node that intersects the PickShape.     * The capability bits that must be set to avoid this exception are as follows :     * <ul>      * <li>By-copy geometry : GeometryArray.ALLOW_COORDINATE_READ</li>     * <li>By-reference geometry : GeometryArray.ALLOW_REF_DATA_READ</li>     * <li>Indexed geometry : IndexedGeometryArray.ALLOW_COORDINATE_INDEX_READ     * (in addition to one of the above)</li>     * </ul>     *     * @see BranchGroup#pickClosest(int,int,javax.media.j3d.PickShape)     * @see PickInfo     *      * @since Java 3D 1.4     *     */    public PickInfo pickClosest( int mode, int flags, PickShape pickShape ) {        PickInfo[] pickInfoArr = null;        pickInfoArr = pickAllSorted( mode, flags, pickShape );                if(pickInfoArr == null) {            return null;        }                return pickInfoArr[0];            }    /**     * Returns a reference to any item that is Pickable below this     * Locale which intersects with <code>pickShape</code>.     *     * @param pickShape the description of this picking volume or area.     *     * @exception IllegalStateException if this Locale has been     * removed from its VirtualUniverse.     *     * @see BranchGroup#pickAny     */    public SceneGraphPath pickAny( PickShape pickShape ) {	if (universe == null) {	    throw new IllegalStateException(J3dI18N.getString("Locale4"));	}               PickInfo pickInfo = pickAny( PickInfo.PICK_BOUNDS,                PickInfo.SCENEGRAPHPATH, pickShape);                if(pickInfo == null) {            return null;        }        return pickInfo.getSceneGraphPath();            }    /**     * Returns a PickInfo which references the pickable item  below this     * Locale which intersects with <code>pickShape</code>.     * The accuracy of the pick is set by the pick mode. The mode include :      * PickInfo.PICK_BOUNDS and PickInfo.PICK_GEOMETRY. The amount of information returned      * is specified via a masked variable, flags, indicating which components are      * present in each returned PickInfo object.      *     * @param mode  picking mode, one of <code>PickInfo.PICK_BOUNDS</code> or <code>PickInfo.PICK_GEOMETRY</code>.     *     * @param flags a mask indicating which components are present in each PickInfo object.       * This is specified as one or more individual bits that are bitwise "OR"ed together to      * describe the PickInfo data. The flags include :     * <ul>     * <code>PickInfo.SCENEGRAPHPATH</code> - request for computed SceneGraphPath.<br>         * <code>PickInfo.NODE</code> - request for computed intersected Node.<br>     * <code>PickInfo.LOCAL_TO_VWORLD</code> - request for computed local to virtual world transform.<br>     * <code>PickInfo.CLOSEST_INTERSECTION_POINT</code> - request for closest intersection point.<br>     * <code>PickInfo.CLOSEST_DISTANCE</code> - request for the distance of closest intersection.<br>     * <code>PickInfo.CLOSEST_GEOM_INFO</code> - request for only the closest intersection geometry information.<br>     * <code>PickInfo.ALL_GEOM_INFO</code> - request for all intersection geometry information.<br>     * </ul>     *     * @param pickShape the description of this picking volume or area.     *     * @exception IllegalArgumentException if flags contains both CLOSEST_GEOM_INFO and      * ALL_GEOM_INFO.     *     * @exception IllegalArgumentException if pickShape is a PickPoint and pick mode     * is set to PICK_GEOMETRY.     *     * @exception IllegalArgumentException if pick mode is neither PICK_BOUNDS      * nor PICK_GEOMETRY.     *     * @exception IllegalArgumentException if pick mode is PICK_BOUNDS      * and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,     * CLOSEST_GEOM_INFO or ALL_GEOM_INFO.     *     * @exception IllegalArgumentException if pickShape is PickBounds      * and flags includes any of CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE,     * CLOSEST_GEOM_INFO or ALL_GEOM_INFO.     *     * @exception IllegalStateException if this Locale has been     * removed from its VirtualUniverse.     *     * @exception CapabilityNotSetException if the mode is     * PICK_GEOMETRY and the Geometry.ALLOW_INTERSECT capability bit     * is not set in any Geometry objects referred to by any shape     * node whose bounds intersects the PickShape.     *        * @exception CapabilityNotSetException if flags contains any of     * CLOSEST_INTERSECTION_POINT, CLOSEST_DISTANCE, CLOSEST_GEOM_INFO     * or ALL_GEOM_INFO, and the capability bits that control reading of     * coordinate data are not set in any GeometryArray object referred     * to by any shape node that intersects the PickShape.     * The capability bits that must be set to avoid this exception are as follows :     * <ul>      * <li>By-copy geometry : GeometryArray.ALLOW_COORDINATE_READ</li>     * <li>By-reference geometry : GeometryArray.ALLOW_REF_DATA_READ</li>     * <li>Indexed geometry : IndexedGeometryArray.ALLOW_COORDINATE_INDEX_READ     * (in addition to one of the above)</li>     * </ul>     *     * @see BranchGroup#pickAny(int,int,javax.media.j3d.PickShape)     * @see PickInfo     *      * @since Java 3D 1.4     *     */    public PickInfo pickAny( int mode, int flags, PickShape pickShape ) {        validateModeFlagAndPickShape(mode, flags, pickShape);	GeometryAtom geomAtoms[] = universe.geometryStructure.pickAll(this, pickShape);                PickInfo[] pickInfoArr = PickInfo.pick(this, geomAtoms, mode, flags, pickShape, PickInfo.PICK_ANY);                if(pickInfoArr == null) {            return null;        }                return pickInfoArr[0];            }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -