1 /* 2 * $RCSfile: GeometryStripArrayState.java,v $ 3 * 4 * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 10 * - Redistribution of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 13 * - Redistribution in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in 15 * the documentation and/or other materials provided with the 16 * distribution. 17 * 18 * Neither the name of Sun Microsystems, Inc. or the names of 19 * contributors may be used to endorse or promote products derived 20 * from this software without specific prior written permission. 21 * 22 * This software is provided "AS IS," without a warranty of any 23 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND 24 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, 25 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY 26 * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL 27 * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF 28 * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS 29 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR 30 * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, 31 * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND 32 * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR 33 * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE 34 * POSSIBILITY OF SUCH DAMAGES. 35 * 36 * You acknowledge that this software is not designed, licensed or 37 * intended for use in the design, construction, operation or 38 * maintenance of any nuclear facility. 39 * 40 * $Revision: 1.4 $ 41 * $Date: 2007/02/09 17:20:34 $ 42 * $State: Exp $ 43 */ 44 45 package com.sun.j3d.utils.scenegraph.io.state.javax.media.j3d; 46 47 import java.io.*; 48 import javax.media.j3d.GeometryStripArray; 49 import javax.media.j3d.SceneGraphObject; 50 import javax.vecmath.*; 51 import com.sun.j3d.utils.scenegraph.io.retained.Controller; 52 import com.sun.j3d.utils.scenegraph.io.retained.SymbolTableData; 53 54 public abstract class GeometryStripArrayState extends GeometryArrayState { 55 56 protected int[] stripVertexCounts; 57 GeometryStripArrayState( SymbolTableData symbol, Controller control )58 public GeometryStripArrayState( SymbolTableData symbol, Controller control ) { 59 super( symbol, control ); 60 } 61 writeConstructorParams( DataOutput out )62 protected void writeConstructorParams( DataOutput out ) throws 63 IOException { 64 super.writeConstructorParams( out ); 65 66 stripVertexCounts = new int[((GeometryStripArray)node).getNumStrips()]; 67 ((GeometryStripArray)node).getStripVertexCounts( stripVertexCounts ); 68 69 out.writeInt(stripVertexCounts.length); 70 for(int i=0; i<stripVertexCounts.length; i++) 71 out.writeInt( stripVertexCounts[i] ); 72 } 73 readConstructorParams( DataInput in )74 protected void readConstructorParams( DataInput in ) throws 75 IOException { 76 super.readConstructorParams( in ); 77 stripVertexCounts = new int[in.readInt()]; 78 for(int i=0; i<stripVertexCounts.length; i++) 79 stripVertexCounts[i] = in.readInt(); 80 } 81 } 82