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

📄 lineattributes.java

📁 JAVA3D矩陈的相关类
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        return ((LineAttributesRetained)this.retained).getLineWidth();    }    /**     * Sets the line pattern for this LineAttributes component object.     * @param linePattern the line pattern to be used, one of:     * PATTERN_SOLID, PATTERN_DASH, PATTERN_DOT, PATTERN_DASH_DOT, or     * PATTERN_USER_DEFINED.     * @exception CapabilityNotSetException if appropriate capability is     * not set and this object is part of live or compiled scene graph     */    public void setLinePattern(int linePattern) {        if (isLiveOrCompiled())            if(!this.getCapability(ALLOW_PATTERN_WRITE))              throw new CapabilityNotSetException(J3dI18N.getString("LineAttributes3"));        if (linePattern < PATTERN_SOLID || linePattern > PATTERN_USER_DEFINED)	  throw new IllegalArgumentException(J3dI18N.getString("LineAttributes4"));	if (isLive())	    ((LineAttributesRetained)this.retained).setLinePattern(linePattern);	else	    ((LineAttributesRetained)this.retained).initLinePattern(linePattern);    }    /**     * Gets the line pattern for this LineAttributes component object.     * @return the line pattern     * @exception CapabilityNotSetException if appropriate capability is     * not set and this object is part of live or compiled scene graph     */    public int getLinePattern() {        if (isLiveOrCompiled())            if(!this.getCapability(ALLOW_PATTERN_READ))              throw new CapabilityNotSetException(J3dI18N.getString("LineAttributes5"));        return ((LineAttributesRetained)this.retained).getLinePattern();    }    /**     * Sets the line pattern mask to the specified value.  This is     * used when the linePattern attribute is set to     * PATTERN_USER_DEFINED.  In this mode, the pattern is specified     * using a 16-bit mask that specifies on and off segments.  Bit 0     * in the pattern mask corresponds to the first pixel of the line     * or line strip primitive.  A value of 1 for a bit in the pattern     * mask indicates that the corresponding pixel is drawn, while a     * value of 0 indicates that the corresponding pixel is not drawn.     * After all 16 bits in the pattern are used, the pattern is     * repeated.  For example, a mask of 0x00ff defines a dashed line     * with a repeating pattern of 8 pixels on followed by 8 pixels     * off.  A value of 0x0101 defines a a dotted line with a     * repeating pattern of 1 pixel on and 7 pixels off     * <p>     * The pattern continues around individual line segments of a line     * strip primitive.  It is restarted at the beginning of each new     * line strip.  For line array primitives, the pattern is     * restarted at the beginning of each line.     * @param mask the new line pattern mask     * @exception CapabilityNotSetException if appropriate capability is     * not set and this object is part of live or compiled scene graph     * @see #setPatternScaleFactor     *     * @since Java 3D 1.2     */    public void setPatternMask(int mask) {        if (isLiveOrCompiled() &&	    !this.getCapability(ALLOW_PATTERN_WRITE))	    throw new CapabilityNotSetException(J3dI18N.getString("LineAttributes8"));	if (isLive())	    ((LineAttributesRetained)this.retained).setPatternMask(mask);	else	    ((LineAttributesRetained)this.retained).initPatternMask(mask);    }    /**     * Retrieves the line pattern mask.     * @return the line pattern mask     * @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 int getPatternMask() {        if (isLiveOrCompiled() &&            !this.getCapability(ALLOW_PATTERN_READ))	    throw new CapabilityNotSetException(J3dI18N.getString("LineAttributes9"));	return ((LineAttributesRetained)this.retained).getPatternMask();    }    /**     * Sets the line pattern scale factor to the specified value.     * This is used in conjunction with the patternMask when the     * linePattern attribute is set to PATTERN_USER_DEFINED.  The     * pattern is multiplied by the scale factor such that each bit in     * the pattern mask corresponds to that many consecutive pixels.     * For example, a scale factor of 3 applied to a pattern mask of     * 0x001f would produce a repeating pattern of 15 pixels on     * followed by 33 pixels off. The valid range for this attribute     * is [1,15].  Values outside this range are clamped.     * @param scaleFactor the new line pattern scale factor     * @exception CapabilityNotSetException if appropriate capability is     * not set and this object is part of live or compiled scene graph     * @see #setPatternMask     *     * @since Java 3D 1.2     */    public void setPatternScaleFactor(int scaleFactor) {	if (isLiveOrCompiled() &&	    !this.getCapability(ALLOW_PATTERN_WRITE))	    throw new CapabilityNotSetException(J3dI18N.getString("LineAttributes10"));	if (isLive())	    ((LineAttributesRetained)this.retained).setPatternScaleFactor(scaleFactor);	else	    ((LineAttributesRetained)this.retained).initPatternScaleFactor(scaleFactor);    }    /**     * Retrieves the line pattern scale factor.     * @return the line pattern scale factor     * @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 int getPatternScaleFactor() {	if (isLiveOrCompiled() &&            !this.getCapability(ALLOW_PATTERN_READ))	    throw new CapabilityNotSetException(J3dI18N.getString("LineAttributes11"));	return ((LineAttributesRetained)this.retained).getPatternScaleFactor();    }    /**     * Enables or disables line antialiasing     * for this LineAttributes component object.     * <p>     * If antialiasing is enabled, the lines are considered transparent     * for rendering purposes.  They are rendered with all the other      * transparent objects and adhere to the other transparency settings      * such as the View transparency sorting policy and the View depth buffer      * freeze transparent enable.     * </p>      * @param state true or false to enable or disable line antialiasing     * @exception CapabilityNotSetException if appropriate capability is     * not set and this object is part of live or compiled scene graph     * @see View     */    public void setLineAntialiasingEnable(boolean state) {        if (isLiveOrCompiled())            if(!this.getCapability(ALLOW_ANTIALIASING_WRITE))              throw new CapabilityNotSetException(J3dI18N.getString("LineAttributes6"));	if (isLive())	    ((LineAttributesRetained)this.retained).setLineAntialiasingEnable(state);	else	    ((LineAttributesRetained)this.retained).initLineAntialiasingEnable(state);    }    /**     * Retrieves the state of the line antialiasing flag.     * @return true if line antialiasing is enabled,     * false if line antialiasing is disabled     * @exception CapabilityNotSetException if appropriate capability is     * not set and this object is part of live or compiled scene graph     */    public boolean getLineAntialiasingEnable() {        if (isLiveOrCompiled())            if(!this.getCapability(ALLOW_ANTIALIASING_READ))              throw new CapabilityNotSetException(J3dI18N.getString("LineAttributes7"));        return ((LineAttributesRetained)this.retained).getLineAntialiasingEnable();    }    /**     * Creates a retained mode LineAttributesRetained object that this     * LineAttributes component object will point to.     */    void createRetained() {	this.retained = new LineAttributesRetained();	this.retained.setSource(this);    }    /**     * @deprecated replaced with cloneNodeComponent(boolean forceDuplicate)        */    public NodeComponent cloneNodeComponent() {        LineAttributes la = new LineAttributes();        la.duplicateNodeComponent(this);        return la;    }          /**     * Copies all node information from <code>originalNodeComponent</code> into     * the current node.  This method is called from the     * <code>duplicateNode</code> 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 <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 NodeComponent#setDuplicateOnCloneTree     */     void duplicateAttributes(NodeComponent originalNodeComponent, 			      boolean forceDuplicate) { 	 super.duplicateAttributes(originalNodeComponent,				   forceDuplicate);      	 LineAttributesRetained attr = (LineAttributesRetained) 	                                originalNodeComponent.retained;	 LineAttributesRetained rt = (LineAttributesRetained) retained;	 rt.initLineWidth(attr.getLineWidth());	 rt.initLinePattern(attr.getLinePattern());	 rt.initLineAntialiasingEnable(attr.getLineAntialiasingEnable());	 rt.initPatternMask(attr.getPatternMask());	 rt.initPatternScaleFactor(attr.getPatternScaleFactor());    }}

⌨️ 快捷键说明

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