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

📄 orientedshape3d.java

📁 JAVA3D矩陈的相关类
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    }    /**     * Retrieves the alignment mode.     *     * @return one of: ROTATE_ABOUT_AXIS, ROTATE_ABOUT_POINT,     * or ROTATE_NONE     *     * @exception CapabilityNotSetException if appropriate capability is      * not set and this object is part of live or compiled scene graph     */    public int getAlignmentMode() {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_MODE_READ))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D1"));        return((OrientedShape3DRetained)retained).getAlignmentMode();    }    /**     * Sets the new alignment axis.  This is the ray about which this     * OrientedShape3D rotates when the mode is ROTATE_ABOUT_AXIS.     * The specified axis must not be parallel to the <i>Z</i>     * axis--(0,0,<i>z</i>) for any value of <i>z</i>.  It is not     * possible for the +<i>Z</i> axis to point at the viewer's eye     * position by rotating about itself.  The target transform will     * be set to the identity if the axis is (0,0,<i>z</i>).     *     * @param axis the new alignment axis     *     * @exception CapabilityNotSetException if appropriate capability is      * not set and this object is part of live or compiled scene graph     */    public void setAlignmentAxis(Vector3f axis) {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_AXIS_WRITE))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D2"));        if (isLive())            ((OrientedShape3DRetained)retained).setAlignmentAxis(axis);	else            ((OrientedShape3DRetained)retained).initAlignmentAxis(axis);    }    /**     * Sets the new alignment axis.  This is the ray about which this     * OrientedShape3D rotates when the mode is ROTATE_ABOUT_AXIS.     * The specified axis must not be parallel to the <i>Z</i>     * axis--(0,0,<i>z</i>) for any value of <i>z</i>.  It is not     * possible for the +<i>Z</i> axis to point at the viewer's eye     * position by rotating about itself.  The target transform will     * be set to the identity if the axis is (0,0,<i>z</i>).     *     * @param x the x component of the alignment axis     * @param y the y component of the alignment axis     * @param z the z component of the alignment axis     *     * @exception CapabilityNotSetException if appropriate capability is      * not set and this object is part of live or compiled scene graph     */    public void setAlignmentAxis(float x, float y, float z) {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_AXIS_WRITE))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D2"));        if (isLive())            ((OrientedShape3DRetained)retained).setAlignmentAxis(x,y,z);	else            ((OrientedShape3DRetained)retained).initAlignmentAxis(x,y,z);    }    /**     * Retrieves the alignment axis of this OrientedShape3D node,     * and copies it into the specified vector.     *     * @param axis the vector that will contain the alignment axis     *     * @exception CapabilityNotSetException if appropriate capability is      * not set and this object is part of live or compiled scene graph     */    public void getAlignmentAxis(Vector3f axis)  {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_AXIS_READ))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D3"));        ((OrientedShape3DRetained)retained).getAlignmentAxis(axis);    }    /**     * Sets the new rotation point.  This is the point about which the     * OrientedShape3D rotates when the mode is ROTATE_ABOUT_POINT.     *     * @param point the new rotation point     *     * @exception CapabilityNotSetException if appropriate capability is      * not set and this object is part of live or compiled scene graph     */    public void setRotationPoint(Point3f point) {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_POINT_WRITE))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D4"));        if (isLive())            ((OrientedShape3DRetained)retained).setRotationPoint(point);	else            ((OrientedShape3DRetained)retained).initRotationPoint(point);    }    /**     * Sets the new rotation point.  This is the point about which the     * OrientedShape3D rotates when the mode is ROTATE_ABOUT_POINT.     *     * @param x the x component of the rotation point     * @param y the y component of the rotation point     * @param z the z component of the rotation point     *     * @exception CapabilityNotSetException if appropriate capability is      * not set and this object is part of live or compiled scene graph     */    public void setRotationPoint(float x, float y, float z) {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_POINT_WRITE))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D4"));        if (isLive())            ((OrientedShape3DRetained)retained).setRotationPoint(x,y,z);	else            ((OrientedShape3DRetained)retained).initRotationPoint(x,y,z);    }    /**     * Retrieves the rotation point of this OrientedShape3D node,     * and copies it into the specified vector.     *     * @param point the point that will contain the rotation point     *     * @exception CapabilityNotSetException if appropriate capability is      * not set and this object is part of live or compiled scene graph     */    public void getRotationPoint(Point3f point)  {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_POINT_READ))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D5"));        ((OrientedShape3DRetained)retained).getRotationPoint(point);    }    /**     * Sets the constant scale enable flag.     *     * @param constantScaleEnable a flag indicating whether to enable     * constant scale     *     * @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 void setConstantScaleEnable(boolean constantScaleEnable) {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_SCALE_WRITE))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D6"));        if (isLive())	    ((OrientedShape3DRetained)retained).		setConstantScaleEnable(constantScaleEnable);	else	    ((OrientedShape3DRetained)retained).		initConstantScaleEnable(constantScaleEnable);    }    /**     * Retrieves the constant scale enable flag.     *     * @return the current constant scale enable flag     *     * @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 boolean getConstantScaleEnable() {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_SCALE_READ))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D7"));	return ((OrientedShape3DRetained)retained).getConstantScaleEnable();    }    /**     * Sets the scale for this OrientedShape3D.  This scale is used when     * the constant scale enable flag is set to true.     *     * @param scale the scale value     *     * @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 void setScale(double scale) {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_SCALE_WRITE))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D8"));        if (isLive())	    ((OrientedShape3DRetained)retained).setScale(scale);	else	    ((OrientedShape3DRetained)retained).initScale(scale);    }    /**     * Retrieves the scale value for this OrientedShape3D.     *     * @return the current scale value     *     * @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 double getScale() {        if (isLiveOrCompiled())            if (!this.getCapability(ALLOW_SCALE_READ))                throw new CapabilityNotSetException(J3dI18N.getString("OrientedShape3D9"));	return ((OrientedShape3DRetained)retained).getScale();    }    /**     * Used to create a new instance of the node.  This routine is called     * by <code>cloneTree</code> to duplicate the current node.     * <code>cloneNode</code> should be overridden by any user subclassed     * objects.  All subclasses must have their <code>cloneNode</code>     * method consist of the following lines:     * <P><blockquote><pre>     *     public Node cloneNode(boolean forceDuplicate) {     *         UserSubClass usc = new UserSubClass();     *         usc.duplicateNode(this, forceDuplicate);     *         return usc;     *     }     * </pre></blockquote>     * @param forceDuplicate when set to <code>true</code>, causes the     *  <code>duplicateOnCloneTree</code> flag to be ignored.  When     *  <code>false</code>, the value of each node's     *  <code>duplicateOnCloneTree</code> variable determines whether     *  NodeComponent data is duplicated or copied.     *     * @see Node#cloneTree     * @see Node#duplicateNode     * @see NodeComponent#setDuplicateOnCloneTree     */    public Node cloneNode(boolean forceDuplicate) {        OrientedShape3D s = new OrientedShape3D();        s.duplicateNode(this, forceDuplicate);        return s;    }    /**     * Copies all node information from <code>originalNode</code> into     * the current node.  This method is called from the     * <code>cloneNode</code> method which is, in turn, called by the     * <code>cloneTree</code> method.     * <P>     * For any <code>NodeComponent</code> objects     * contained by the object being duplicated, each <code>NodeComponent</code>     * object's <code>duplicateOnCloneTree</code> value is used to determine     * whether the <code>NodeComponent</code> should be duplicated in the new node     * or if just a reference to the current node should be placed in the     * new node.  This flag can be overridden by setting the     * <code>forceDuplicate</code> parameter in the <code>cloneTree</code>     * method to <code>true</code>.     * <br>     * NOTE: Applications should <i>not</i> call this method directly.     * It should only be called by the cloneNode method.     *     * @param originalNode the original node to duplicate.     * @param forceDuplicate when set to <code>true</code>, causes the     *  <code>duplicateOnCloneTree</code> flag to be ignored.  When     *  <code>false</code>, the value of each node's     *  <code>duplicateOnCloneTree</code> variable determines whether     *  NodeComponent data is duplicated or copied.     * @exception ClassCastException if originalNode is not an instance of      *  <code>Shape3D</code>     *     * @see Node#cloneTree     * @see Node#cloneNode     * @see NodeComponent#setDuplicateOnCloneTree     */    public void duplicateNode(Node originalNode, boolean forceDuplicate) {	checkDuplicateNode(originalNode, forceDuplicate);           }   /**     * Copies all Shape3D information from     * <code>originalNode</code> into     * the current node.  This method is called from the     * <code>cloneNode</code> method which is, in turn, called by the     * <code>cloneTree</code> method.<P>     *     * @param originalNode the original node to duplicate.     * @param forceDuplicate when set to <code>true</code>, causes the     *  <code>duplicateOnCloneTree</code> flag to be ignored.  When     *  <code>false</code>, the value of each node's     *  <code>duplicateOnCloneTree</code> variable determines whether     *  NodeComponent data is duplicated or copied.     *     * @exception RestrictedAccessException if this object is part of a live     *  or compiled scenegraph.     *     * @see Node#duplicateNode     * @see Node#cloneTree     * @see NodeComponent#setDuplicateOnCloneTree     */    void duplicateAttributes(Node originalNode, boolean forceDuplicate) {  	super.duplicateAttributes(originalNode, forceDuplicate);	OrientedShape3DRetained attr = (OrientedShape3DRetained) 						originalNode.retained;	OrientedShape3DRetained rt = (OrientedShape3DRetained) retained;	rt.setAlignmentMode(attr.getAlignmentMode());	Vector3f axis = new Vector3f();	attr.getAlignmentAxis(axis);	rt.setAlignmentAxis(axis);	Point3f point = new Point3f();	attr.getRotationPoint(point);	rt.setRotationPoint(point);    }}

⌨️ 快捷键说明

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