diff options
author | pepe <pepe@28c7f869-5b4e-e670-f602-82bfaf57f300> | 2005-05-19 04:31:23 +0000 |
---|---|---|
committer | pepe <pepe@28c7f869-5b4e-e670-f602-82bfaf57f300> | 2005-05-19 04:31:23 +0000 |
commit | 9cd9bb729d413e1611980eaece4fec9f90764d36 (patch) | |
tree | 1a690ea68428f3f66f26fc621fbd5c647d87f2cf | |
parent | 263495275ef2c93b650ca5380a69a3b1b71f7abc (diff) |
Added support for testing RasterOps, so that issue #139 is covered.
-rw-r--r-- | src/DepthFuncTest/DepthFuncTest.form | 62 | ||||
-rw-r--r-- | src/DepthFuncTest/DepthFuncTest.java | 159 | ||||
-rw-r--r-- | src/DepthFuncTest/RenderFrame.java | 55 |
3 files changed, 239 insertions, 37 deletions
diff --git a/src/DepthFuncTest/DepthFuncTest.form b/src/DepthFuncTest/DepthFuncTest.form index ac15bd3..b7d1376 100644 --- a/src/DepthFuncTest/DepthFuncTest.form +++ b/src/DepthFuncTest/DepthFuncTest.form @@ -5,7 +5,7 @@ <Property name="defaultCloseOperation" type="int" value="3"/> </Properties> <SyntheticProperties> - <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-82,0,0,1,-109"/> + <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-16,0,0,1,-109"/> <SyntheticProperty name="formPosition" type="java.awt.Point" value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,110,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112,0,0,0,0,0,0,0,0"/> <SyntheticProperty name="formSizePolicy" type="int" value="0"/> <SyntheticProperty name="generatePosition" type="boolean" value="true"/> @@ -17,7 +17,7 @@ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> - <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-106,0,0,1,-117"/> + <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-40,0,0,1,-117"/> </AuxValues> <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/> @@ -155,5 +155,63 @@ </Component> </SubComponents> </Container> + <Container class="javax.swing.JPanel" name="jPanel3"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo"> + <TitledBorder title="Rotating Cube"/> + </Border> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription"> + <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel4"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="12" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Raster Operator"/> + <Property name="toolTipText" type="java.lang.String" value="Raster mode of rotating object (try NOOP)"/> + </Properties> + </Component> + <Component class="javax.swing.JComboBox" name="rotatingComboBox"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="12" style="0"/> + </Property> + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor"> + <StringArray count="16"> + <StringItem index="0" value="CLEAR"/> + <StringItem index="1" value="AND"/> + <StringItem index="2" value="AND_REVERSE"/> + <StringItem index="3" value="COPY"/> + <StringItem index="4" value="AND_INVERTED"/> + <StringItem index="5" value="NOOP"/> + <StringItem index="6" value="XOR"/> + <StringItem index="7" value="OR"/> + <StringItem index="8" value="NOR"/> + <StringItem index="9" value="EQUIV"/> + <StringItem index="10" value="INVERT"/> + <StringItem index="11" value="OR_REVERSE"/> + <StringItem index="12" value="COPY_INVERTED"/> + <StringItem index="13" value="OR_INVERTED"/> + <StringItem index="14" value="NAND"/> + <StringItem index="15" value="SET"/> + </StringArray> + </Property> + <Property name="selectedIndex" type="int" value="3"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rotatingComboBoxActionPerformed"/> + </Events> + </Component> + </SubComponents> + </Container> </SubComponents> </Form> diff --git a/src/DepthFuncTest/DepthFuncTest.java b/src/DepthFuncTest/DepthFuncTest.java index 66397e9..b053857 100644 --- a/src/DepthFuncTest/DepthFuncTest.java +++ b/src/DepthFuncTest/DepthFuncTest.java @@ -1,4 +1,3 @@ -package DepthFuncTest; /* * $RCSfile$ * @@ -49,14 +48,15 @@ import javax.media.j3d.*; /** *The goal of that example is to show the use of different ZBuffer comparison modes. */ -public class DepthFuncTest extends javax.swing.JFrame { +public class DepthFuncTest extends javax.swing.JFrame +{ RenderFrame rf; /** - * Creates new form DepthFuncTest + * Creates new form DepthFuncTest */ - public DepthFuncTest() { + public DepthFuncTest(){ initComponents(); } @@ -66,7 +66,8 @@ public class DepthFuncTest extends javax.swing.JFrame { * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents - private void initComponents() { + private void initComponents() + { java.awt.GridBagConstraints gridBagConstraints; jPanel1 = new javax.swing.JPanel(); @@ -77,6 +78,9 @@ public class DepthFuncTest extends javax.swing.JFrame { jLabel3 = new javax.swing.JLabel(); shadedComboBox = new javax.swing.JComboBox(); shadedCheckBox = new javax.swing.JCheckBox(); + jPanel3 = new javax.swing.JPanel(); + jLabel4 = new javax.swing.JLabel(); + rotatingComboBox = new javax.swing.JComboBox(); getContentPane().setLayout(new java.awt.GridBagLayout()); @@ -92,8 +96,10 @@ public class DepthFuncTest extends javax.swing.JFrame { normalComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ALWAYS", "NEVER", "EQUAL", "NOT_EQUAL", "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL" })); normalComboBox.setSelectedIndex(6); normalComboBox.setPreferredSize(new java.awt.Dimension(150, 22)); - normalComboBox.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { + normalComboBox.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(java.awt.event.ActionEvent evt) + { normalComboBoxActionPerformed(evt); } }); @@ -103,8 +109,10 @@ public class DepthFuncTest extends javax.swing.JFrame { wfCheckBox.setFont(new java.awt.Font("Dialog", 0, 12)); wfCheckBox.setText("Write Depth Buffer"); wfCheckBox.setToolTipText("Depth will be written for the object, if selected"); - wfCheckBox.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { + wfCheckBox.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(java.awt.event.ActionEvent evt) + { wfCheckBoxActionPerformed(evt); } }); @@ -126,8 +134,10 @@ public class DepthFuncTest extends javax.swing.JFrame { shadedComboBox.setFont(new java.awt.Font("Dialog", 0, 12)); shadedComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ALWAYS", "NEVER", "EQUAL", "NOT_EQUAL", "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL" })); shadedComboBox.setSelectedIndex(4); - shadedComboBox.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { + shadedComboBox.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(java.awt.event.ActionEvent evt) + { shadedComboBoxActionPerformed(evt); } }); @@ -138,8 +148,10 @@ public class DepthFuncTest extends javax.swing.JFrame { shadedCheckBox.setSelected(true); shadedCheckBox.setText("Write Depth Buffer"); shadedCheckBox.setToolTipText("Depth will be written for the object, if selected"); - shadedCheckBox.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { + shadedCheckBox.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(java.awt.event.ActionEvent evt) + { shadedCheckBoxActionPerformed(evt); } }); @@ -152,28 +164,128 @@ public class DepthFuncTest extends javax.swing.JFrame { gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; getContentPane().add(jPanel2, gridBagConstraints); - setBounds(0, 0, 403, 174); + jPanel3.setBorder(new javax.swing.border.TitledBorder("Rotating Cube")); + jLabel4.setFont(new java.awt.Font("Dialog", 0, 12)); + jLabel4.setText("Raster Operator"); + jLabel4.setToolTipText("Raster mode of rotating object (try NOOP)"); + jPanel3.add(jLabel4); + + rotatingComboBox.setFont(new java.awt.Font("Dialog", 0, 12)); + rotatingComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "CLEAR", "AND", "AND_REVERSE", "COPY", "AND_INVERTED", "NOOP", "XOR", "OR", "NOR", "EQUIV", "INVERT", "OR_REVERSE", "COPY_INVERTED", "OR_INVERTED", "NAND", "SET" })); + rotatingComboBox.setSelectedIndex(3); + rotatingComboBox.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(java.awt.event.ActionEvent evt) + { + rotatingComboBoxActionPerformed(evt); + } + }); + + jPanel3.add(rotatingComboBox); + + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + getContentPane().add(jPanel3, gridBagConstraints); + + setBounds(0, 0, 403, 240); } // </editor-fold>//GEN-END:initComponents + private void rotatingComboBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_rotatingComboBoxActionPerformed + {//GEN-HEADEREND:event_rotatingComboBoxActionPerformed + String selectedItem = rotatingComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness) + int mode = RenderingAttributes.ROP_COPY; + if ( "CLEAR".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_CLEAR; + } + else if ( "AND".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_AND; + } + else if ( "AND_REVERSE".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_AND_REVERSE; + } + else if ( "COPY".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_COPY; + } + else if ( "AND_INVERTED".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_AND_INVERTED; + } + else if ( "NOOP".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_NOOP; + } + else if ( "XOR".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_XOR; + } + else if ( "OR".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_OR; + } + else if ( "NOR".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_NOR; + } + else if ( "EQUIV".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_EQUIV; + } + else if ( "INVERT".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_INVERT; + } + else if ( "OR_REVERSE".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_OR_REVERSE; + } + else if ( "COPY_INVERTED".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_COPY_INVERTED; + } + else if ( "OR_INVERTED".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_OR_INVERTED; + } + else if ( "NAND".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_NAND; + } + else if ( "SET".equals(selectedItem) ) + { + mode = RenderingAttributes.ROP_SET; + } + else + { + System.out.println("oops. wrong mode in ROP combo: "+selectedItem); + } + rf.setRotatingObjectROPMode( mode ); + }//GEN-LAST:event_rotatingComboBoxActionPerformed + private void shadedCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shadedCheckBoxActionPerformed - rf.setStaticObjectDBWriteStatus( shadedCheckBox.isSelected() ); + rf.setStaticObjectDBWriteStatus( shadedCheckBox.isSelected() ); }//GEN-LAST:event_shadedCheckBoxActionPerformed private void wfCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wfCheckBoxActionPerformed - rf.setStaticWFObjectDBWriteStatus( wfCheckBox.isSelected() ); + rf.setStaticWFObjectDBWriteStatus( wfCheckBox.isSelected() ); }//GEN-LAST:event_wfCheckBoxActionPerformed private void shadedComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shadedComboBoxActionPerformed - int func = RenderingAttributes.LESS_OR_EQUAL; - String selectedItem = shadedComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness) - rf.setStaticObjectTestFunc( getID( selectedItem ) ); + int func = RenderingAttributes.LESS_OR_EQUAL; + String selectedItem = shadedComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness) + rf.setStaticObjectTestFunc( getID( selectedItem ) ); }//GEN-LAST:event_shadedComboBoxActionPerformed private void normalComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_normalComboBoxActionPerformed - int func = RenderingAttributes.LESS_OR_EQUAL; - String selectedItem = normalComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness) - rf.setStaticWFObjectTestFunc( getID( selectedItem ) ); + int func = RenderingAttributes.LESS_OR_EQUAL; + String selectedItem = normalComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness) + rf.setStaticWFObjectTestFunc( getID( selectedItem ) ); }//GEN-LAST:event_normalComboBoxActionPerformed int getID( String selectedItem ) @@ -231,9 +343,12 @@ public class DepthFuncTest extends javax.swing.JFrame { // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; private javax.swing.JComboBox normalComboBox; + private javax.swing.JComboBox rotatingComboBox; private javax.swing.JCheckBox shadedCheckBox; private javax.swing.JComboBox shadedComboBox; private javax.swing.JCheckBox wfCheckBox; diff --git a/src/DepthFuncTest/RenderFrame.java b/src/DepthFuncTest/RenderFrame.java index ce4e2a0..b56e332 100644 --- a/src/DepthFuncTest/RenderFrame.java +++ b/src/DepthFuncTest/RenderFrame.java @@ -1,4 +1,3 @@ -package DepthFuncTest; /* * $RCSfile$ * @@ -60,6 +59,8 @@ public class RenderFrame extends javax.swing.JFrame { RenderingAttributes staticWFBoxRA; RenderingAttributes staticBoxRA; + + RenderingAttributes rotatingBoxRA; /** Creates new form RenderFrame */ public RenderFrame( DepthFuncTest _dpt) { @@ -74,7 +75,8 @@ public class RenderFrame extends javax.swing.JFrame { * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents - private void initComponents() { + private void initComponents() + { setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("J3D frame"); @@ -104,8 +106,6 @@ public class RenderFrame extends javax.swing.JFrame { BranchGroup lampsBG = new BranchGroup(); OrderedGroup oGroup = new OrderedGroup(); TransformGroup staticBoxRotTG = new TransformGroup(); - oGroup.addChild( rotObjectBG ); - oGroup.addChild( staticBoxRotTG ); staticBoxRotTG.addChild( staticObjectOG ); TransformGroup objectsTGRot = new TransformGroup(); TransformGroup objectsTGTrans = new TransformGroup(); @@ -115,14 +115,28 @@ public class RenderFrame extends javax.swing.JFrame { objectsTGRot.addChild( oGroup ); objectsTGTrans.addChild( objectsTGRot ); lampsBG.addChild( objectsTGTrans ); + + //adding a sphere as backgroung so there is something else than flat black, and cut cube removal as an other implication. (seeing through) + Appearance globalSphereAppearance = new Appearance(); + PolygonAttributes globalSpherePA = new PolygonAttributes(); + globalSpherePA.setCullFace( globalSpherePA.CULL_FRONT );// so that interior of the sphere is visible. + Material globalSphereMaterial = new Material(); + globalSphereMaterial.setEmissiveColor( .25f ,.3f ,.35f ); + globalSphereAppearance.setMaterial( globalSphereMaterial ); + globalSphereAppearance.setPolygonAttributes( globalSpherePA ); + Sphere globalSphere = new Sphere( 6.0f ); + globalSphere.setAppearance( globalSphereAppearance ); + globalSphere.setBounds( bounds ); + oGroup.addChild( globalSphere ); + globalBG.addChild( lampsBG ); // adding lamps. - PointLight frontLamp = new PointLight( new Color3f( 1.0f, 1.0f, 1.0f ), new Point3f( 5, 5, 5 ), new Point3f( 1f, .0f, 0.f ) ); + PointLight frontLamp = new PointLight( new Color3f( 1.0f, 1.0f, 1.0f ), new Point3f( 20, 20, 20 ), new Point3f( 0.0f, .0f, 0.f ) ); lampsBG.addChild( frontLamp ); frontLamp.setBounds( bounds ); frontLamp.setInfluencingBounds( bounds ); - PointLight backLamp = new PointLight( new Color3f( 1.0f, .0f, .0f ), new Point3f( -5, -5, -5 ), new Point3f( 1f, .0f, 0.f ) ); + PointLight backLamp = new PointLight( new Color3f( 1.0f, .0f, .0f ), new Point3f( -20, -20, -20 ), new Point3f( 0.0f, .0f, 0.f ) ); lampsBG.addChild( backLamp ); backLamp.setBounds( bounds ); backLamp.setInfluencingBounds( bounds ); @@ -158,7 +172,15 @@ public class RenderFrame extends javax.swing.JFrame { rotObjectBG.addChild( rotBoxScaleInt ); rotObjectBG.addChild( rotBoxRotInt ); rotBox.setBounds( bounds ); - rotBox.setAppearance( rotBoxApp ); + + rotatingBoxRA = new RenderingAttributes(); + rotatingBoxRA.setRasterOpEnable( true ); + rotatingBoxRA.setCapability( staticBoxRA.ALLOW_RASTER_OP_WRITE ); +// rotatingBoxRA.setRasterOp( rotatingBoxRA.ROP_XOR ); + rotBoxApp.setRenderingAttributes( rotatingBoxRA ); + + + rotBox.setAppearance( rotBoxApp ); } //adding static back face wireframe cube @@ -216,7 +238,7 @@ public class RenderFrame extends javax.swing.JFrame { staticBox.setBounds( bounds ); Appearance boxApp = new Appearance(); Material boxMat = new Material(); - boxMat.setDiffuseColor( .7f, .7f, .1f ); + boxMat.setDiffuseColor( .7f, .7f, .7f ); boxApp.setMaterial( boxMat ); staticBoxRA = new RenderingAttributes(); staticBoxRA.setCapability( staticBoxRA.ALLOW_DEPTH_TEST_FUNCTION_WRITE ); @@ -227,6 +249,8 @@ public class RenderFrame extends javax.swing.JFrame { staticBox.setAppearance( boxApp ); staticObjectOG.addChild( staticBox ); } + oGroup.addChild( rotObjectBG ); + oGroup.addChild( staticBoxRotTG ); //adding the mouse rotate behavior to the group of cubes. MouseRotate behavior = new MouseRotate(); @@ -240,22 +264,27 @@ public class RenderFrame extends javax.swing.JFrame { public void setStaticWFObjectTestFunc( int func ) { - staticWFBoxRA.setDepthTestFunction( func ); + staticWFBoxRA.setDepthTestFunction( func ); } public void setStaticObjectTestFunc( int func ) { - staticBoxRA.setDepthTestFunction( func ); + staticBoxRA.setDepthTestFunction( func ); } public void setStaticWFObjectDBWriteStatus( boolean status ) { - staticWFBoxRA.setDepthBufferWriteEnable( status ); + staticWFBoxRA.setDepthBufferWriteEnable( status ); } public void setStaticObjectDBWriteStatus( boolean status ) { - staticBoxRA.setDepthBufferWriteEnable( status ); - } + staticBoxRA.setDepthBufferWriteEnable( status ); + } + public void setRotatingObjectROPMode( int mode ) + { + rotatingBoxRA.setRasterOp( mode ); + } + } |