Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/trapezium/chisel/CreateSer.java


1   /*
2    * @(#)CreateSer.java
3    *
4    * Copyright (c) 1998 by Trapezium Development LLC.  All Rights Reserved.
5    *
6    * The information in this file is the property of Trapezium Development LLC
7    * and may be used only in accordance with the terms of the license granted
8    * by Trapezium.
9    *
10   */
11  package com.trapezium.chisel;
12  
13  import java.io.File;
14  import java.io.FileOutputStream;
15  import java.io.ObjectOutputStream;
16  
17  // test class to create ChiselSetDescriptor serialized objects for
18  // plugin architecture.
19  
20  //
21  // The specific plugin "plugin_1.ser", ... , "plugin_<N>.ser" is then
22  // included in the ".jar" file for testing
23  
24  //
25  // Release version should probably include the "plugin_1.ser" file in
26  // a "plugin_1.jar" file that is added to the classpath
27  //
28  
29  public class CreateSer {
30      public static void main( String[] args ) {
31          ChiselSetDescriptor csd = new ChiselSetDescriptor( "", "", true, "clean", 
32              false );
33          csd.addChiselEntry( "com.trapezium.chisel.cleaners.DEFremover",
34              "Remove unused DEFs", false, ChiselSet.UnusedDEFCountListener );
35          csd.addChiselEntry(
36              "com.trapezium.chisel.cleaners.DefaultFieldValueRemover",
37              "Remove default fields", false,
38              ChiselSet.DefaultFieldCountListener );
39          csd.addChiselEntry( "com.trapezium.chisel.cleaners.IFS_DupCoordDetector",
40              "Remove repeated value refs", false,
41              ChiselSet.RepeatedValueCountListener );
42          csd.addChiselEntry( "com.trapezium.chisel.cleaners.IFS_CoordRemover",
43              "Remove unused values", false, ChiselSet.UnusedCoordCountListener );
44          csd.addChiselEntry( "com.trapezium.chisel.cleaners.IFS_DupIndexRemover",
45              "Remove repeated index values", false,
46              ChiselSet.DupIndexCountListener );
47          csd.addChiselEntry( "com.trapezium.chisel.cleaners.DuplicateFieldRemover",
48              "Remove repeated fields", false,
49              ChiselSet.DuplicateFieldCountListener );
50          csd.addChiselEntry(
51              "com.trapezium.chisel.cleaners.UnusedPROTOInterfaceRemover",
52              "Remove unused PROTO interface fields", false,
53              ChiselSet.UnusedPROTOinterfaceCountListener );
54          csd.addChiselEntry( "com.trapezium.chisel.cleaners.IFS_BadFaceRemover",
55              "Remove bad faces", false, ChiselSet.BadFaceCountListener );
56          csd.addChiselEntry( "com.trapezium.chisel.cleaners.NodeRemover",
57              "Remove useless interpolators", false,
58              ChiselSet.UselessNodeCountListener );
59          csd.addChiselEntry( "com.trapezium.chisel.cleaners.IFS_NoFaceRemover",
60              "Remove empty IndexedFaceSets", false,
61              ChiselSet.EmptyIndexedFaceSetCountListener );
62          csd.addChiselEntry( "com.trapezium.chisel.cleaners.ROUTEMover",
63              "Move ROUTEs to end of file", false, ChiselSet.BadRouteListener );
64          csd.addChiselEntry( "com.trapezium.chisel.cleaners.KeyValueRemover",
65              "Remove unnecessary interpolator values", false,
66              ChiselSet.UnnecessaryKeyValueListener );
67          serialize( csd, "builtin_1.ser" );
68  
69          csd = new ChiselSetDescriptor( "", "", true, "condense", true );
70          csd.addChiselEntry( "com.trapezium.chisel.condensers.ResolutionMaker",
71              "Adjust numeric resolution", false,
72              ChiselSet.ValueNodeCountListener );
73          csd.addChiselEntry(
74              "com.trapezium.chisel.condensers.InterpolatorResolution",
75              "Adjust Interpolator resolution", false,
76              ChiselSet.InterpolatorCountListener );
77          csd.addChiselEntry( "com.trapezium.chisel.condensers.DEFmaker",
78              "Create DEF/USE", false, ChiselSet.DEFUSECountListener );
79          csd.addChiselEntry( "com.trapezium.chisel.condensers.PROTOMaker",
80              "Create PROTOs for interpolators", false,
81              ChiselSet.InterpolatorCountListener2 );
82          csd.addChiselEntry( "com.trapezium.chisel.condensers.IFS_IndexOptimizer",
83              "Create index fields", false, ChiselSet.UnindexedValueListener );
84          csd.addChiselEntry( "com.trapezium.chisel.condensers.NormalRemover",
85              "Remove normals", false, ChiselSet.NormalCountListener );
86          csd.addChiselEntry( "com.trapezium.chisel.condensers.NameShortener",
87              "Shorten DEF names", false, ChiselSet.DEFUSECountListener2 );
88          csd.addChiselEntry( "com.trapezium.chisel.cleaners.InterpolatorMinimizer",
89              "Single value interpolator keys", false );
90          serialize( csd, "builtin_2.ser" );
91  
92          csd = new ChiselSetDescriptor( "", "", true, "reduce", true );
93          csd.addChiselEntry( "com.trapezium.chisel.reducers.IFS_CoplanarTriToQuad",
94              "Coplanar triangle to quad", false );
95          csd.addChiselEntry( "com.trapezium.chisel.reducers.IFS_Simplifier",
96              "Remove smallest edges", false );
97          csd.addChiselEntry( "com.trapezium.chisel.reducers.IFS_PolygonRemover",
98              "Remove smallest triangles", false );
99          csd.addChiselEntry( "com.trapezium.chisel.reducers.IFS_MeshRemover",
100             "Merge parallel edges", false );
101         serialize( csd, "builtin_3.ser" );
102 
103         csd = new ChiselSetDescriptor( "", "", false, "reorganize", true );
104         csd.addChiselEntry( "com.trapezium.chisel.reorganizers.Uninline",
105             "Uninline files", false, ChiselSet.InlineCountListener );
106         csd.addChiselEntry( "com.trapezium.chisel.reorganizers.ShapeToInline",
107             "Turn Shapes into Inlines", false );
108         csd.addChiselEntry( "com.trapezium.chisel.reorganizers.ShapeColorSplitter",
109             "Split IFS by color", false );
110         csd.addChiselEntry(
111             "com.trapezium.chisel.reorganizers.ShapeConnectivitySplitter",
112             "Split IFS by connectivity", false );
113         csd.addChiselEntry(
114             "com.trapezium.chisel.reorganizers.ElevationGridSplitter",
115             "Split ElevationGrid", false,
116             ChiselSet.ElevationGridCountListener );
117         serialize( csd, "builtin_4.ser" );
118 
119         csd = new ChiselSetDescriptor( "MUTATE", "Modify the geometry in the current world", false, "mutate", true );
120         csd.addChiselEntry( "com.trapezium.chisel.mutators.Cubist",
121             "Cubist", false );
122         csd.addChiselEntry( "com.trapezium.chisel.mutators.Origami",
123             "Origami", false );
124         csd.addChiselEntry( "com.trapezium.chisel.mutators.IFS_Triangulator",
125             "Triangulate", false );
126         csd.addChiselEntry( "com.trapezium.chisel.mutators.IFS_Smasher",
127             "Flatten", false );
128         csd.addChiselEntry( "com.trapezium.chisel.mutators.IFS_FaceToLineSet",
129             "Wireframe", false );
130         csd.addChiselEntry( "com.trapezium.chisel.mutators.IFS_FaceToPointSet",
131             "Point cloud", false );
132         serialize( csd, "plugin_1.ser" );
133     }
134 
135     static public void serialize( ChiselSetDescriptor csd, String fileName ) {
136         File f = new File( fileName );
137         try {
138             FileOutputStream fos = new FileOutputStream( f );
139             ObjectOutputStream oos = new ObjectOutputStream( fos );
140             oos.writeObject( csd );
141         } catch ( Exception e ) {
142             System.out.println( "** Exception " + e );
143             e.printStackTrace();
144         }
145     }
146 }