Revision 38669

View differences:

tags/v2_0_0_Build_2050/libraries/libDwg/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<project xmlns="http://maven.apache.org/POM/4.0.0"
3
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
5
	<modelVersion>4.0.0</modelVersion>
6
	<artifactId>org.gvsig.dwg</artifactId>
7
	<packaging>jar</packaging>
8
	<version>2.0-SNAPSHOT</version>
9
	<name>libDwg</name>
10
	<parent>
11
		<groupId>org.gvsig</groupId>
12
		<artifactId>gvsig-base-library-pom</artifactId>
13
		<version>2.0-SNAPSHOT</version>
14
	</parent>	
15
	<properties>
16
		<build-dir>${basedir}/../build</build-dir>
17
        <eclipse.project.name>libDwg</eclipse.project.name>
18
	</properties>
19
	<dependencies>
20
        <dependency>
21
            <groupId>org.slf4j</groupId>
22
            <artifactId>slf4j-api</artifactId>
23
            <scope>compile</scope>
24
        </dependency>
25
		<dependency>
26
			<groupId>org.gvsig</groupId>
27
	        <artifactId>org.gvsig.tools.lib</artifactId>
28
            <scope>compile</scope>
29
      	</dependency>
30
      	<dependency>
31
      		<groupId>org.gvsig</groupId>
32
      		<artifactId>org.gvsig.projection</artifactId>
33
      	</dependency>
34
      	<dependency>
35
			<groupId>org.gvsig</groupId>
36
			<artifactId>org.gvsig.fmap.geometry</artifactId>
37
            <scope>compile</scope>
38
		</dependency>
39
	</dependencies>
40
	<build>
41
		<sourceDirectory>src</sourceDirectory>
42
		<testSourceDirectory>src-test</testSourceDirectory>
43
		<testResources>
44
			<testResource>
45
				<directory>src-test</directory>
46
			</testResource>
47
		</testResources>
48
        <plugins>
49
            <!-- TODO: MAKE TESTS WORK AND REMOVE THIS OPTION -->
50
            <plugin>
51
                <groupId>org.apache.maven.plugins</groupId>
52
                <artifactId>maven-surefire-plugin</artifactId>
53
                <configuration>
54
                    <skipTests>true</skipTests>
55
                </configuration>
56
            </plugin>       
57
        </plugins>
58
	</build>
59
</project>
0 60

  
tags/v2_0_0_Build_2050/libraries/libDwg/src-test/org/gvsig/dwg/lib/DwgTestSuite.java
1
/*
2
 * Created on 08-feb-2007
3
 *
4
 * gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
5
 *
6
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
7
 *
8
 * This program is free software; you can redistribute it and/or
9
 * modify it under the terms of the GNU General Public License
10
 * as published by the Free Software Foundation; either version 2
11
 * of the License, or (at your option) any later version.
12
 *
13
 * This program is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 * GNU General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU General Public License
19
 * along with this program; if not, write to the Free Software
20
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
21
 *
22
 * For more information, contact:
23
 *
24
 *  Generalitat Valenciana
25
 *   Conselleria d'Infraestructures i Transport
26
 *   Av. Blasco Ib??ez, 50
27
 *   46010 VALENCIA
28
 *   SPAIN
29
 *
30
 *      +34 963862235
31
 *   gvsig@gva.es
32
 *      www.gvsig.gva.es
33
 *
34
 *    or
35
 *
36
 *   IVER T.I. S.A
37
 *   Salamanca 50
38
 *   46005 Valencia
39
 *   Spain
40
 *
41
 *   +34 963163400
42
 *   dac@iver.es
43
 */
44
/* CVS MESSAGES:
45
*
46
* $Id$
47
* $Log$
48
* Revision 1.1.2.1  2007-02-28 07:35:10  jmvivo
49
* Actualizado desde el HEAD.
50
*
51
* Revision 1.1  2007/02/08 20:27:57  azabala
52
* *** empty log message ***
53
*
54
*
55
*/
56
package org.gvsig.dwg.lib;
57

  
58
import junit.framework.Test;
59
import junit.framework.TestSuite;
60

  
61
public class DwgTestSuite {
62

  
63
	public static Test suite() {
64
		TestSuite suite = new TestSuite("Test for com.iver.cit.jdwglib.dwg");
65
		//$JUnit-BEGIN$
66
		suite.addTestSuite(DwgFileTest.class);
67
		//$JUnit-END$
68
		return suite;
69
	}
70

  
71
}
72

  
0 73

  
tags/v2_0_0_Build_2050/libraries/libDwg/src-test/org/gvsig/dwg/lib/DwgFileTest.java
1
package org.gvsig.dwg.lib;
2

  
3
import java.io.File;
4
import java.io.IOException;
5
import java.net.URL;
6

  
7
import junit.framework.TestCase;
8

  
9
public class DwgFileTest extends TestCase {
10
	private File baseDataPath;
11

  
12
	protected void setUp() throws Exception {
13
		super.setUp();
14
		URL url = this.getClass().getResource("data");
15
		if (url == null) {
16
			throw new Exception("Can't find 'data' dir");
17
		}
18

  
19
		baseDataPath = new File(url.getFile());
20
		if (!baseDataPath.exists()) {
21
			throw new Exception("Can't find 'data' dir");
22
		}
23

  
24
	}
25

  
26
	protected void tearDown() throws Exception {
27
		super.tearDown();
28
	}
29
	public void test1() throws IOException, DwgVersionNotSupportedException {
30
//		String fileName = baseDataPath.getAbsolutePath()+"/Un punto.dwg";
31
//		DwgFile dwg = new DwgFile(fileName);
32
//
33
//		dwg.read();
34
//		dwg.calculateGisModelDwgPolylines();
35
//		dwg.blockManagement();
36
//		LinkedList dwgObjects = dwg.getDwgObjects();
37
	}
38

  
39
	public void test2() throws RuntimeException, CorruptedDwgEntityException{
40
        //Dwg Object that is supposed to be
41
        //an LWPOLYLINE in V14 version
42
		/*
43
        int[] data = new int[]{61,64,64,183,19,227,104,16
44
                            ,0,5,8,59,72,32,252,47,90,142,
45
                            234,145,50,10,71,11,213,36,229,
46
                            162,130,10,228,126,23,174,130,
47
                            145,50,15,98,141,196,244,229,
48
                            162,130,12,126,23,169,66,58,
49
                            145,50,12,47,90,138,68,229,
50
                            162,130,8,0,0,4,7,74,137,50,
51
                            15,177,66,231,252,221,162,130,
52
                            9,130,151,21,242,151,21,190,
53
                            8,21,8,56};
54
         */
55
//		int[] data = new int[]{62,128,64,71,99,
56
//							   40,48,0,5,8,27,72,
57
//							   100,126,23,169,68,
58
//							   178,105,50,13,114,
59
//							   63,11,82,165,162,130,
60
//							   13,114,63,11,210,138,
61
//							   105,50,8,173,114,59,
62
//							   138,205,162,130,15,98,
63
//							   141,192,241,58,105,50,
64
//							   11,51,51,52,178,229,162,
65
//							   130,14,110,102,98,97,234,
66
//							   105,50,11,51,51,52,179,21,
67
//							   162,130,10,149,192,240,42,
68
//							   162,105,50,14,189,27,131,
69
//							   107,69,162,130,14,31,169,
70
//							   66,227,74,105,50,9,240,86,
71
//							   185,27,117,162,130,11,59,
72
//							   51,51,52,234,105,50,13,114,
73
//							   63,11,83,85,162,130,9,74,228,
74
//							   126,22,186,105,50,11,51,51,50,
75
//							   51,53,162,130,11,137,232,82,190,
76
//							   58,105,50,9,74,228,122,147,13,162,
77
//							   130,11,137,232,82,189,106,105,50,9,
78
//							   74,228,122,146,213,162,130,9,74,228,122,20,202,105,50,12,126,23,171,194,173,162,130,12,126,23,169,68,178,105,50,13,114,63,11,82,165,162,130,9,130,151,22,10,136,182,8,21,8,120};
79
//        //1er intento: suponemos que la LWPOLYLINE cumple la especificaci?n
80
//        //a rajatabla
81
//        int bitPos = 0;
82
//        List val = DwgUtil.getBitShort(data, bitPos);
83
//        bitPos = ((Integer) val.get(0)).intValue();
84
//        int type = ((Integer) val.get(1)).intValue();
85
//        System.out.println("type = " + type);
86
//
87
//        DwgHandleReference hr = new DwgHandleReference();
88
//        bitPos = hr.read(data, bitPos);
89
//        System.out.println("handle, code="+
90
//                    hr.getCode()+
91
//                    " ,offset="+
92
//                    hr.getOffset());
93
//
94
//        //Ahora pasamos a la extended data
95
//        val = DwgUtil.getBitShort(data, bitPos);
96
//        bitPos = ((Integer) val.get(0)).intValue();
97
//        int extendedDataSize = ((Integer) val.get(1)).intValue();
98
//        System.out.println("EED size="+extendedDataSize);
99
//        //como el size es 0, me lo salto
100
//
101
//        //ver si tiene datos graficos
102
//        val = DwgUtil.testBit(data, bitPos);
103
//        bitPos = ((Integer) val.get(0)).intValue();
104
//        boolean hasGraphicsData = ((Boolean) val.get(1))
105
//                .booleanValue();
106
//        System.out.println("graphics = "+hasGraphicsData);
107
//
108
//        //como se que no hay graphics me lo salto
109
//        //tama?o en bits
110
//        val = DwgUtil.getRawLong(data, bitPos);
111
//        bitPos = ((Integer) val.get(0)).intValue();
112
//        int sizeInBits = ((Integer) val.get(1)).intValue();
113
//        System.out.println("sizeInBits = "+sizeInBits);
114
//
115
//        /*
116
//         * Ahora, lo que viene es lo que en la spec se dice
117
//         * "Common entity data". Revisar bien pues PythonCAD no lo lee
118
//         * como en la spec.
119
//         *
120
//         * pag 42.
121
//          R13-R14 Only:
122
//          	RL	:	Size of object data in bits
123
//          	6B	:	Flags (FEDCBA)
124
//          	6B	:	Common parameters (CCSSII)
125
//          	Segun esto, deberia leer 6 bits y 6 bits
126
//
127
//          	FLAGS
128
//	      	Mas adelante (pag 43), dice:
129
//	      	DC	:	This is the number of reactors attached to an
130
//	      	entity as a bitshort.
131
//	      	This feature may have been dormant in R13,
132
//	      	but it appears in R14, and in files saved as R13 by R14.
133
//
134
//	      	Ahora bien, pythoncad las est? leyendo como bitLong
135
//          	?En que quedamos, son 2 bits, 1 bitLong o 1 bitShort?
136
//          	TODO REVISAR
137
//
138
//          	COMMON PARAMETERS
139
//          	Al principio, dice que son 6 bits (CC, SS, II)
140
//          	pero luego dice (pag 43):
141
//          	CC	:	Color bitshort
142
//          	SS	:	Linetype scale bitdouble
143
//          	II	:	"Invisible" flag bitshort
144
//
145
//			Pythoncad, en vez de como 2 bits, los est? leyendo
146
//			como BitShort, BitDouble y BitShort
147
//
148
//         * */
149
//
150
//        Integer mode = (Integer) DwgUtil.getBits(data, 2, bitPos);
151
//		bitPos += 2;
152
//		System.out.println("mode = "+mode);
153
//
154
//	/*
155
//		val = DwgUtil.getBitLong(data, bitPos);
156
//		bitPos = ((Integer) val.get(0)).intValue();
157
//		int rnum = ((Integer) val.get(1)).intValue();
158
//		System.out.println("numReactors = "+rnum);
159
//*/
160
//		val = DwgUtil.getBitShort(data, bitPos);
161
//		bitPos = ((Integer) val.get(0)).intValue();
162
//		int rnum = ((Integer) val.get(1)).intValue();
163
//		System.out.println("numReactors = "+rnum);
164
//
165
//
166
//		val = DwgUtil.testBit(data, bitPos);
167
//		bitPos = ((Integer) val.get(0)).intValue();
168
//		boolean isLyrByLineType = ((Boolean) val.get(1)).booleanValue();
169
//		System.out.println("isLyrByLineType="+isLyrByLineType);
170
//
171
//		val = DwgUtil.testBit(data, bitPos);
172
//		bitPos = ((Integer) val.get(0)).intValue();
173
//		boolean noLinks = ((Boolean) val.get(1)).booleanValue();
174
//		System.out.println("noLinks="+noLinks);
175
//
176
//
177
//		val = DwgUtil.getBitShort(data, bitPos);
178
//		bitPos = ((Integer) val.get(0)).intValue();
179
//		int color = ((Integer) val.get(1)).intValue();
180
//		System.out.println("color="+color);
181
//
182
//
183
//		val = DwgUtil.getBitDouble(data, bitPos);
184
//		bitPos = ((Integer) val.get(0)).intValue();
185
//		float ltscale = ((Double) val.get(1)).floatValue();
186
//		System.out.println("ltscale="+ltscale);
187
//
188
//		val = DwgUtil.getBitShort(data, bitPos);
189
//		bitPos = ((Integer) val.get(0)).intValue();
190
//		int invis = ((Integer) val.get(1)).intValue();
191
//		System.out.println("invis="+invis);
192
//
193
//		val = DwgUtil.getBitShort(data, bitPos);
194
//		bitPos = ((Integer) val.get(0)).intValue();
195
//		int flag = ((Integer) val.get(1)).intValue();
196
//		System.out.println("flag="+flag);
197
//
198
//		double dVal = 0d;
199
//		if((flag & 0x4) > 0){
200
//			val = DwgUtil.getBitDouble(data, bitPos);
201
//			bitPos = ((Integer) val.get(0)).intValue();
202
//			dVal = ((Double) val.get(1)).doubleValue();
203
//		}
204
//		System.out.println("constWidth="+dVal);
205
//
206
//		dVal = 0d;
207
//		if((flag & 0x8) > 0){
208
//			val = DwgUtil.getBitDouble(data, bitPos);
209
//			bitPos = ((Integer) val.get(0)).intValue();
210
//			dVal = ((Double) val.get(1)).doubleValue();
211
//		}
212
//		System.out.println("elevation="+dVal);
213
//
214
//		dVal = 0d;
215
//		if ((flag & 0x2) > 0){
216
//			val = DwgUtil.getBitDouble(data, bitPos);
217
//			bitPos = ((Integer) val.get(0)).intValue();
218
//			dVal = ((Double) val.get(1)).doubleValue();
219
//		}
220
//		System.out.println("thickness="+dVal);
221
//
222
//		double x, y, z ;
223
//		x = 0d;
224
//		y = 0d;
225
//		z = 0d;
226
//
227
//		if ((flag & 0x1) > 0){
228
//			val = DwgUtil.getBitDouble(data, bitPos);
229
//			bitPos = ((Integer) val.get(0)).intValue();
230
//			x = ((Double) val.get(1)).doubleValue();
231
//
232
//			val = DwgUtil.getBitDouble(data, bitPos);
233
//			bitPos = ((Integer) val.get(0)).intValue();
234
//			y = ((Double) val.get(1)).doubleValue();
235
//
236
//			val = DwgUtil.getBitDouble(data, bitPos);
237
//			bitPos = ((Integer) val.get(0)).intValue();
238
//			z = ((Double) val.get(1)).doubleValue();
239
//		}
240
//		System.out.println("normal="+x+","+y+","+z);
241
//
242
//		val = DwgUtil.getBitLong(data, bitPos);
243
//		bitPos = ((Integer) val.get(0)).intValue();
244
//		int np = ((Integer) val.get(1)).intValue();
245
//		System.out.println("numPoints="+np);
246
//
247
//		int nb = 0;
248
//		if((flag & 0x10) > 0){
249
//			val = DwgUtil.getBitLong(data, bitPos);
250
//			bitPos = ((Integer) val.get(0)).intValue();
251
//			nb = ((Integer) val.get(1)).intValue();
252
//		}
253
//		System.out.println("numBulges="+nb);
254
//		int nw = 0;
255
//		if((flag & 0x20) > 0){
256
//			val = DwgUtil.getBitLong(data, bitPos);
257
//			bitPos = ((Integer) val.get(0)).intValue();
258
//			nw = ((Integer) val.get(1)).intValue();
259
//		}
260
//		System.out.println("numWidths="+nw);
261
//		if(np > 0){
262
//			Point2D[] points = new Point2D[np];
263
//			for(int i = 0; i < np; i++){
264
//				val = DwgUtil.getRawDouble(data, bitPos);
265
//				bitPos = ((Integer) val.get(0)).intValue();
266
//				x = ((Double) val.get(1)).doubleValue();
267
//
268
//				val = DwgUtil.getRawDouble(data, bitPos);
269
//				bitPos = ((Integer) val.get(0)).intValue();
270
//				y = ((Double) val.get(1)).doubleValue();
271
//
272
//				points[i] = new Point2D.Double(x, y);
273
//				System.out.println("Punto"+i+"="+x+","+y);
274
//			}//for
275
//		}//if np
276
//
277
//		if(nb > 0){
278
//			double[] bulges = new double[nb];
279
//			for(int i = 0; i < nb; i++){
280
//				val = DwgUtil.getRawDouble(data, bitPos);
281
//				bitPos = ((Integer) val.get(0)).intValue();
282
//				bulges[i] = ((Double) val.get(1)).doubleValue();
283
//				System.out.println("Bulge"+i+"="+bulges[i]);
284
//			}//for
285
//
286
//		}//if nb
287
//
288
//		if(nw > 0){
289
//			double[][] widths = new double[nw][2];
290
//			for(int i = 0; i < nw; i++){
291
//				val = DwgUtil.getBitDouble(data, bitPos);
292
//				bitPos = ((Integer) val.get(0)).intValue();
293
//				double sw = ((Double) val.get(1)).doubleValue();
294
//
295
//				val = DwgUtil.getBitDouble(data, bitPos);
296
//				bitPos = ((Integer) val.get(0)).intValue();
297
//				double ew = ((Double) val.get(1)).doubleValue();
298
//
299
//				widths[i][0] = sw;
300
//				widths[i][1] = ew;
301
//				System.out.println("Width"+i+"="+sw+","+ew);
302
//			}//for
303
//		}
304
     }
305

  
306
	public void test3(){
307
		//test of extrusion
308
		double[] coord = null;
309
		double[] extrusion = null;
310
		double[] extrusion2 = new double[]{0, 0, 1};
311

  
312
		coord = new double[]{790089.65, 4477974.75, 9.560000000114087};
313
		extrusion = new double[]{-0.5037965987025721, 0.07005064807841195, 0.8609772899673451};
314
		//1. algoritmo original, vector normal distinto
315
//		double[] newCoord = AcadExtrusionCalculator.extrude(coord, extrusion);
316
//		newCoord = AcadExtrusionCalculator.extrude3(coord, extrusion);
317
//
318
		//2? ahora con vector normal coincidente con eje Z
319
//		newCoord = AcadExtrusionCalculator.extrude(coord, extrusion2);
320
//		newCoord = AcadExtrusionCalculator.extrude3(coord, extrusion2);
321
	}
322
}
0 323

  
tags/v2_0_0_Build_2050/libraries/libDwg/doc/gpl.txt
1
		    GNU GENERAL PUBLIC LICENSE
2
		       Version 2, June 1991
3

  
4
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
6
 Everyone is permitted to copy and distribute verbatim copies
7
 of this license document, but changing it is not allowed.
8

  
9
			    Preamble
10

  
11
  The licenses for most software are designed to take away your
12
freedom to share and change it.  By contrast, the GNU General Public
13
License is intended to guarantee your freedom to share and change free
14
software--to make sure the software is free for all its users.  This
15
General Public License applies to most of the Free Software
16
Foundation's software and to any other program whose authors commit to
17
using it.  (Some other Free Software Foundation software is covered by
18
the GNU Library General Public License instead.)  You can apply it to
19
your programs, too.
20

  
21
  When we speak of free software, we are referring to freedom, not
22
price.  Our General Public Licenses are designed to make sure that you
23
have the freedom to distribute copies of free software (and charge for
24
this service if you wish), that you receive source code or can get it
25
if you want it, that you can change the software or use pieces of it
26
in new free programs; and that you know you can do these things.
27

  
28
  To protect your rights, we need to make restrictions that forbid
29
anyone to deny you these rights or to ask you to surrender the rights.
30
These restrictions translate to certain responsibilities for you if you
31
distribute copies of the software, or if you modify it.
32

  
33
  For example, if you distribute copies of such a program, whether
34
gratis or for a fee, you must give the recipients all the rights that
35
you have.  You must make sure that they, too, receive or can get the
36
source code.  And you must show them these terms so they know their
37
rights.
38

  
39
  We protect your rights with two steps: (1) copyright the software, and
40
(2) offer you this license which gives you legal permission to copy,
41
distribute and/or modify the software.
42

  
43
  Also, for each author's protection and ours, we want to make certain
44
that everyone understands that there is no warranty for this free
45
software.  If the software is modified by someone else and passed on, we
46
want its recipients to know that what they have is not the original, so
47
that any problems introduced by others will not reflect on the original
48
authors' reputations.
49

  
50
  Finally, any free program is threatened constantly by software
51
patents.  We wish to avoid the danger that redistributors of a free
52
program will individually obtain patent licenses, in effect making the
53
program proprietary.  To prevent this, we have made it clear that any
54
patent must be licensed for everyone's free use or not licensed at all.
55

  
56
  The precise terms and conditions for copying, distribution and
57
modification follow.
58

59
		    GNU GENERAL PUBLIC LICENSE
60
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61

  
62
  0. This License applies to any program or other work which contains
63
a notice placed by the copyright holder saying it may be distributed
64
under the terms of this General Public License.  The "Program", below,
65
refers to any such program or work, and a "work based on the Program"
66
means either the Program or any derivative work under copyright law:
67
that is to say, a work containing the Program or a portion of it,
68
either verbatim or with modifications and/or translated into another
69
language.  (Hereinafter, translation is included without limitation in
70
the term "modification".)  Each licensee is addressed as "you".
71

  
72
Activities other than copying, distribution and modification are not
73
covered by this License; they are outside its scope.  The act of
74
running the Program is not restricted, and the output from the Program
75
is covered only if its contents constitute a work based on the
76
Program (independent of having been made by running the Program).
77
Whether that is true depends on what the Program does.
78

  
79
  1. You may copy and distribute verbatim copies of the Program's
80
source code as you receive it, in any medium, provided that you
81
conspicuously and appropriately publish on each copy an appropriate
82
copyright notice and disclaimer of warranty; keep intact all the
83
notices that refer to this License and to the absence of any warranty;
84
and give any other recipients of the Program a copy of this License
85
along with the Program.
86

  
87
You may charge a fee for the physical act of transferring a copy, and
88
you may at your option offer warranty protection in exchange for a fee.
89

  
90
  2. You may modify your copy or copies of the Program or any portion
91
of it, thus forming a work based on the Program, and copy and
92
distribute such modifications or work under the terms of Section 1
93
above, provided that you also meet all of these conditions:
94

  
95
    a) You must cause the modified files to carry prominent notices
96
    stating that you changed the files and the date of any change.
97

  
98
    b) You must cause any work that you distribute or publish, that in
99
    whole or in part contains or is derived from the Program or any
100
    part thereof, to be licensed as a whole at no charge to all third
101
    parties under the terms of this License.
102

  
103
    c) If the modified program normally reads commands interactively
104
    when run, you must cause it, when started running for such
105
    interactive use in the most ordinary way, to print or display an
106
    announcement including an appropriate copyright notice and a
107
    notice that there is no warranty (or else, saying that you provide
108
    a warranty) and that users may redistribute the program under
109
    these conditions, and telling the user how to view a copy of this
110
    License.  (Exception: if the Program itself is interactive but
111
    does not normally print such an announcement, your work based on
112
    the Program is not required to print an announcement.)
113

114
These requirements apply to the modified work as a whole.  If
115
identifiable sections of that work are not derived from the Program,
116
and can be reasonably considered independent and separate works in
117
themselves, then this License, and its terms, do not apply to those
118
sections when you distribute them as separate works.  But when you
119
distribute the same sections as part of a whole which is a work based
120
on the Program, the distribution of the whole must be on the terms of
121
this License, whose permissions for other licensees extend to the
122
entire whole, and thus to each and every part regardless of who wrote it.
123

  
124
Thus, it is not the intent of this section to claim rights or contest
125
your rights to work written entirely by you; rather, the intent is to
126
exercise the right to control the distribution of derivative or
127
collective works based on the Program.
128

  
129
In addition, mere aggregation of another work not based on the Program
130
with the Program (or with a work based on the Program) on a volume of
131
a storage or distribution medium does not bring the other work under
132
the scope of this License.
133

  
134
  3. You may copy and distribute the Program (or a work based on it,
135
under Section 2) in object code or executable form under the terms of
136
Sections 1 and 2 above provided that you also do one of the following:
137

  
138
    a) Accompany it with the complete corresponding machine-readable
139
    source code, which must be distributed under the terms of Sections
140
    1 and 2 above on a medium customarily used for software interchange; or,
141

  
142
    b) Accompany it with a written offer, valid for at least three
143
    years, to give any third party, for a charge no more than your
144
    cost of physically performing source distribution, a complete
145
    machine-readable copy of the corresponding source code, to be
146
    distributed under the terms of Sections 1 and 2 above on a medium
147
    customarily used for software interchange; or,
148

  
149
    c) Accompany it with the information you received as to the offer
150
    to distribute corresponding source code.  (This alternative is
151
    allowed only for noncommercial distribution and only if you
152
    received the program in object code or executable form with such
153
    an offer, in accord with Subsection b above.)
154

  
155
The source code for a work means the preferred form of the work for
156
making modifications to it.  For an executable work, complete source
157
code means all the source code for all modules it contains, plus any
158
associated interface definition files, plus the scripts used to
159
control compilation and installation of the executable.  However, as a
160
special exception, the source code distributed need not include
161
anything that is normally distributed (in either source or binary
162
form) with the major components (compiler, kernel, and so on) of the
163
operating system on which the executable runs, unless that component
164
itself accompanies the executable.
165

  
166
If distribution of executable or object code is made by offering
167
access to copy from a designated place, then offering equivalent
168
access to copy the source code from the same place counts as
169
distribution of the source code, even though third parties are not
170
compelled to copy the source along with the object code.
171

172
  4. You may not copy, modify, sublicense, or distribute the Program
173
except as expressly provided under this License.  Any attempt
174
otherwise to copy, modify, sublicense or distribute the Program is
175
void, and will automatically terminate your rights under this License.
176
However, parties who have received copies, or rights, from you under
177
this License will not have their licenses terminated so long as such
178
parties remain in full compliance.
179

  
180
  5. You are not required to accept this License, since you have not
181
signed it.  However, nothing else grants you permission to modify or
182
distribute the Program or its derivative works.  These actions are
183
prohibited by law if you do not accept this License.  Therefore, by
184
modifying or distributing the Program (or any work based on the
185
Program), you indicate your acceptance of this License to do so, and
186
all its terms and conditions for copying, distributing or modifying
187
the Program or works based on it.
188

  
189
  6. Each time you redistribute the Program (or any work based on the
190
Program), the recipient automatically receives a license from the
191
original licensor to copy, distribute or modify the Program subject to
192
these terms and conditions.  You may not impose any further
193
restrictions on the recipients' exercise of the rights granted herein.
194
You are not responsible for enforcing compliance by third parties to
195
this License.
196

  
197
  7. If, as a consequence of a court judgment or allegation of patent
198
infringement or for any other reason (not limited to patent issues),
199
conditions are imposed on you (whether by court order, agreement or
200
otherwise) that contradict the conditions of this License, they do not
201
excuse you from the conditions of this License.  If you cannot
202
distribute so as to satisfy simultaneously your obligations under this
203
License and any other pertinent obligations, then as a consequence you
204
may not distribute the Program at all.  For example, if a patent
205
license would not permit royalty-free redistribution of the Program by
206
all those who receive copies directly or indirectly through you, then
207
the only way you could satisfy both it and this License would be to
208
refrain entirely from distribution of the Program.
209

  
210
If any portion of this section is held invalid or unenforceable under
211
any particular circumstance, the balance of the section is intended to
212
apply and the section as a whole is intended to apply in other
213
circumstances.
214

  
215
It is not the purpose of this section to induce you to infringe any
216
patents or other property right claims or to contest validity of any
217
such claims; this section has the sole purpose of protecting the
218
integrity of the free software distribution system, which is
219
implemented by public license practices.  Many people have made
220
generous contributions to the wide range of software distributed
221
through that system in reliance on consistent application of that
222
system; it is up to the author/donor to decide if he or she is willing
223
to distribute software through any other system and a licensee cannot
224
impose that choice.
225

  
226
This section is intended to make thoroughly clear what is believed to
227
be a consequence of the rest of this License.
228

229
  8. If the distribution and/or use of the Program is restricted in
230
certain countries either by patents or by copyrighted interfaces, the
231
original copyright holder who places the Program under this License
232
may add an explicit geographical distribution limitation excluding
233
those countries, so that distribution is permitted only in or among
234
countries not thus excluded.  In such case, this License incorporates
235
the limitation as if written in the body of this License.
236

  
237
  9. The Free Software Foundation may publish revised and/or new versions
238
of the General Public License from time to time.  Such new versions will
239
be similar in spirit to the present version, but may differ in detail to
240
address new problems or concerns.
241

  
242
Each version is given a distinguishing version number.  If the Program
243
specifies a version number of this License which applies to it and "any
244
later version", you have the option of following the terms and conditions
245
either of that version or of any later version published by the Free
246
Software Foundation.  If the Program does not specify a version number of
247
this License, you may choose any version ever published by the Free Software
248
Foundation.
249

  
250
  10. If you wish to incorporate parts of the Program into other free
251
programs whose distribution conditions are different, write to the author
252
to ask for permission.  For software which is copyrighted by the Free
253
Software Foundation, write to the Free Software Foundation; we sometimes
254
make exceptions for this.  Our decision will be guided by the two goals
255
of preserving the free status of all derivatives of our free software and
256
of promoting the sharing and reuse of software generally.
257

  
258
			    NO WARRANTY
259

  
260
  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
262
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
266
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
267
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
REPAIR OR CORRECTION.
269

  
270
  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
POSSIBILITY OF SUCH DAMAGES.
279

  
280
		     END OF TERMS AND CONDITIONS
281

282
	    How to Apply These Terms to Your New Programs
283

  
284
  If you develop a new program, and you want it to be of the greatest
285
possible use to the public, the best way to achieve this is to make it
286
free software which everyone can redistribute and change under these terms.
287

  
288
  To do so, attach the following notices to the program.  It is safest
289
to attach them to the start of each source file to most effectively
290
convey the exclusion of warranty; and each file should have at least
291
the "copyright" line and a pointer to where the full notice is found.
292

  
293
    <one line to give the program's name and a brief idea of what it does.>
294
    Copyright (C) <year>  <name of author>
295

  
296
    This program is free software; you can redistribute it and/or modify
297
    it under the terms of the GNU General Public License as published by
298
    the Free Software Foundation; either version 2 of the License, or
299
    (at your option) any later version.
300

  
301
    This program is distributed in the hope that it will be useful,
302
    but WITHOUT ANY WARRANTY; without even the implied warranty of
303
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
304
    GNU General Public License for more details.
305

  
306
    You should have received a copy of the GNU General Public License
307
    along with this program; if not, write to the Free Software
308
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
309

  
310

  
311
Also add information on how to contact you by electronic and paper mail.
312

  
313
If the program is interactive, make it output a short notice like this
314
when it starts in an interactive mode:
315

  
316
    Gnomovision version 69, Copyright (C) year name of author
317
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
318
    This is free software, and you are welcome to redistribute it
319
    under certain conditions; type `show c' for details.
320

  
321
The hypothetical commands `show w' and `show c' should show the appropriate
322
parts of the General Public License.  Of course, the commands you use may
323
be called something other than `show w' and `show c'; they could even be
324
mouse-clicks or menu items--whatever suits your program.
325

  
326
You should also get your employer (if you work as a programmer) or your
327
school, if any, to sign a "copyright disclaimer" for the program, if
328
necessary.  Here is a sample; alter the names:
329

  
330
  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
331
  `Gnomovision' (which makes passes at compilers) written by James Hacker.
332

  
333
  <signature of Ty Coon>, 1 April 1989
334
  Ty Coon, President of Vice
335

  
336
This General Public License does not permit incorporating your program into
337
proprietary programs.  If your program is a subroutine library, you may
338
consider it more useful to permit linking proprietary applications with the
339
library.  If this is what you want to do, use the GNU Library General
340
Public License instead of this License.
0 341

  
tags/v2_0_0_Build_2050/libraries/libDwg/doc/dev_notes.txt
1
jdwglib Development Notes
2

  
3
Objetivos
4

  
5
- gvSIG debe leer ficheros en formato DWG
6

  
7

  
8
Alternativas
9
	
10
	Librer?as OpenDWG
11
		
12
		Ventajas
13
		
14
		- Soporte del formato DWG de la m?s alta calidad garantizado
15
		
16
		- Permite tanto lectura como escritura
17
		
18
		- Todas las versiones est?n soportadas
19
		
20
		- OpenDWG tiene gran capacidad de desarrollo
21
		
22
		Inconvenientes
23
		
24
		- Est? en C y es necesario un acceso JNI
25
		
26
		- Una empresa que de un uso comercial a gvSIG debe pagar a OpenDWG por sus
27
		  librer?as
28
		
29
		- Un usuario que no de un uso comercial a gvSIG debe mandar un contrato
30
		  firmado a la OpenDWG
31
		
32
		- OpenDWG puede decidir no facilitar sus librer?as
33
		
34
		- OpenDWG en la pr?ctica no tiene ninguna obligaci?n para con sus
35
		  usuarios
36
	
37
	Acceso v?a jython a la librer?a de DWG en Python de Art Haas
38
		
39
		Ventajas
40
		
41
		- M?xima reutilizaci?n de la librer?a original de Art Haas
42
		
43
		- Facilidad a la hora de incorporar nuevas versiones de la librer?a original
44
		
45
		Inconvenientes
46
		
47
		- Incremento muy muy considerable de la complejidad del c?digo
48
		
49
		- Ralentizaci?n de la librer?a
50
		
51
		- Grandes dificultades para realizar cambios en el c?digo
52
		
53
		- Es posible que Art no vaya a sacar nuevas versiones de esta librer?a
54
		
55
		- La librer?a de Art no est? orientada a objetos. La propia opini?n de Art es
56
		  que la mejor opci?n es el porting dotando a la nueva librer?a de orientaci?n
57
		  a objetos
58
	
59
	Port a Java de la librer?a de DWG en Python de Art Haas
60
		
61
		Ventajas
62
		
63
		- Desarrollo completo GPL
64
		
65
		- Lectura completa de ficheros DWG hasta la versi?n 2000
66
		
67
		- Si se publica la librer?a quiz? se logre la colaboraci?n de otros
68
		  desarrolladores
69
		
70
		- Art Haas no descarta la posibilidad de implementar la escritura de DWG
71
		
72
		Inconvenientes
73
		
74
		- Hoy por hoy no existe colaboraci?n en este sentido por parte de la
75
		  OpenDWG, ni por parte de Art Haas (desarrollador de la librer?a en python
76
		  de lectura de DWG)
77
		
78
		- La especificaci?n de la OpenDWG tiene errores que no piensan resolver
79

  
80

  
81
Cronolog?a
82

  
83
050308 - 050520 = 2 meses. Menos el tiempo empleado en el Proyecto del CAD y en
84
el de Felipe ... mes y medio.
85

  
86
050308 - 050316 --> Reparando bugs del modulo de CAD e investigando las
87
					alternativas para la lectura de DWG
88

  
89
050316 - 050321 --> Investigando las alternativas para la lectura de DWG. Intento
90
					de desarrollo seg?n la especificaci?n. Descubrimiento de la
91
					librer?a de Art
92

  
93
050321 - 050331 --> Probando la librer?a de Art. Probando el acceso v?a jython
94

  
95
050331 - 050408 --> Probando el acceso v?a jython y portando la librer?a a Java
96
					paralelamente. Correcci?n de bugs del CAD
97

  
98
050408 - 050425 --> Portando la librer?a a java y dotarla de orientaci?n a objectos.
99
					Correcci?n de bugs
100

  
101
050425 - 050510 --> Correcci?n de bugs. Gesti?n de polil?neas y bloques en el driver.
102
					Obtenci?n de nombres de capa y colores por capa
103

  
104
050510 - 050515 --> Corrigiendo bugs. Reestructurando la librer?a para que soporte
105
					la gesti?n que antes se hac?a en el driver
106

  
107
050515 - 050520 --> Corrigiendo bugs. Buscando ayuda para resolver estos bugs.
108
					Maqueando jdwglib v0.1 y su driver para gvSIG
109

  
110

  
111
Perspectivas
112

  
113
Mientras no cambie la pol?tica (y no creo que eso suceda) de la OpenDWG, la gesti?n de
114
informaci?n contenida en ficheros DWG a trav?s de su librer?a ser? propietaria y de
115
pago. La ventaja de su utilizaci?n es su potencia. Representa el camino r?pido y
116
sencillo
117

  
118
jdwglib se ajusta a los requisitos exijidos en el pliego para gvSIG y adem?s constituye
119
la primera librer?a libre de lectura de ficheros DWG en Java. Para lograr que la
120
lectura de DWG a trav?s de esta librer?a sea tan efectiva como la de DXF, tan solo
121
hay que solucionar los bugs conocidos. Para ello ser?a de gran ayuda la publicaci?n de
122
la librer?a y la colaboraci?n de la comunidad en el desarrollo. Sobre este tema habr?a
123
que discutir cuando es buen momento para la publicaci?n, puesto que esta librer?a podr?a
124
ser aprovechada por ProDevelop para mejorar su oferta de CAD
125

  
126
Con ayuda de la comunidad los objetivos pueden cumplirse en un plazo breve, quiz? un
127
mes. Sin ayuda, el proceso de depuraci?n de la librer?a puede prolongarse m?s y hasta
128
es posible que no se consigan eliminar todos los bugs
129

  
130

  
131
Supported features
132

  
133
Fomatos gr?ficos soportados
134

  
135
- Lectura del formato DWG de Autodesk
136

  
137
Versiones soportadas
138

  
139
- Versi?n 15 del formato DWG
140

  
141
Objectos gr?ficos soportados
142

  
143
- Arc
144

  
145
- Block
146

  
147
- Block Control
148

  
149
- Block Header
150

  
151
- Circle
152

  
153
- Endblk
154

  
155
- Insert
156

  
157
- Layer
158

  
159
- Layer Control
160

  
161
- Line
162

  
163
- Linear Dimension
164

  
165
- MText
166

  
167
- Point
168

  
169
- Polyline2D
170

  
171
- LwPolyline
172

  
173
- Seqend
174

  
175
- Solid
176

  
177
- Spline
178

  
179
- Text
180

  
181
- Vertex2D
182

  
183
- Ellipse
184

  
185
- Polyline3D
186

  
187
- Vertex3D
188

  
189

  
190
Otros elementos implementados
191

  
192
- bulges
193

  
194
- 3D
195

  
196
- Extrusiones
197

  
198

  
199
TODO List
200

  
201
- Inserci?n de bloques en 3D
202

  
203
- Completar la implementaci?n de todos los elementos dentro de bloques
204

  
205
- Attdef
206

  
207
- Attrib
208

  
209
- Thickness
210

  
211
- Aceleraci?n de la lectura
212

  
213
- Aceleraci?n de la gesti?n de elementos complejos
214

  
215

  
216
Known bugs
217

  
218
- Bugs concretos en el manejo de bloques
219

  
220
- LwPolylines  <-- FIXED 050524
221

  
222
- Layer handle "4 0" --> layer names, color by layer y bloques
223

  
224
- leve inclinaci?n an?mala y homogenea de los textos (quiz? relacionada con el ?ngulo
225
  de convergencia de las hojas) <-- FIXED 050527
226

  
227
- Bugs relacionados con polil?neas sin v?rtices
228

  
229
- Elementos fuera de sitio
230

  
231
- Elipses completas dentro de bloques
232

  
233
- Arcos de elipse
234

  
235
- Peque?os errores en arcos o polil?neas con bulges
236

  
237

  
238
Feature Request
239

  
240
- Lectura del formato DWG versi?n 13 y 14
241

  
242
- Lectura y escritura del formato DXF de Autodesk
243

  
244
- Escritura del formato DWG
245

  
246

  
0 247

  
tags/v2_0_0_Build_2050/libraries/libDwg/doc/version_history.txt
1
jdwglib version history
2

  
3
This document lists the Change History of release versions of jdwglib
4

  
5

  
6
Version 0.1
7
Release Date: 20-05-2005
8

  
9
- Baseline version
10

  
11

  
12
Version 0.2
13
Release Date: 20-06-2005
14

  
15
- Block management (at Driver)
16

  
17
- 3D support
18

  
19
- Ellipse support
20

  
21
- Some bugs fixed
22

  
23

  
24
Version 0.3
25
Release Date: 06-09-2005
26

  
27
- Block management
28

  
29
- Some bugs fixed
30

  
31

  
0 32

  
tags/v2_0_0_Build_2050/libraries/libDwg/doc/technical_specs.txt
1
jdwglib Technical Specifications
2

  
3
Overview
4

  
5
The Java DWG Library (jdwglib) is a Java libray designed for reading, handling and
6
writing drawing files in the Autodesk DWG format. This document is the design
7
specification for the classes, methods and algorithms implemented in the Java DWG
8
Library.
9

  
10
jdwglib has two different parts, first for DWG file accesing, and second for DWG file
11
handling. The part for accesing DWG files support the reading of DWG files and in
12
future versions we hope that writing of DWG files will be supported too. The part for
13
handling DWG files is designed for managing DWG complex objects like polylines or
14
blocks with the objective that the spatial position and the attributes of DWG objects
15
will be definitive and no one operation is required for obtaining the same results
16
that Autocad.
17

  
18
The detailed documentation of the class hierarchy and methods will be presented in the
19
form of JavaDoc for the source code.
20

  
21

  
22
Other resources
23

  
24
- Pythoncad DWG Library by Art Haas (www.pythoncad.org). The part of jdwglib that reads
25
  DWG files is a port of this library with an object oriented model added.
26

  
27
- The AutoCAD R13/R14/R2000 DWG File Specification by the OpenDWG Alliance. This is the
28
  public specification of the DWG format obtained using reverse engineering methods by
29
  the OpenDWG Alliance (www.opendwg.org).
30

  
31

  
32
Design goals
33

  
34
The design of jdwglib is intended to fulfil the following goals:
35

  
36
- jdwglib must return the definitive set of DWG objects. Geometric and
37
  non geometric attributes of these objects will be enough for its correct and complete
38
  representation.
39

  
40
- The jdwglib interface must be easy to use, even by someone that hasn't advanced
41
  CAD knowledge.
42

  
43
- jdwglib will be fast enough to be used in a production environment.
44

  
45
- The algorithms and code used in jdwglib will be clear and well-structured, to
46
  facilitate understanding by other developers.
47

  
48

  
49
Object model
50

  
51
The package javacad.util contains some general classes that are useful for handling
52
DWG objects and other objects in a GIS environment. Their use is described in the
53
JavaDoc documentation.
54

  
55
The package jdwglib contains the classes for reading and managing DWG files and its
56
objects. Their use is described in the JavaDoc documentation.
57

  
58

  
0 59

  
tags/v2_0_0_Build_2050/libraries/libDwg/doc/javadoc/overview-summary.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
<!--NewPage-->
3
<HTML>
4
<HEAD>
5
<!-- Generated by javadoc (build 1.4.2_08) on Wed Sep 07 16:36:34 CEST 2005 -->
6
<TITLE>
7
Overview
8
</TITLE>
9

  
10
<META NAME="keywords" CONTENT="Overview, Java DWG Library v0.3 API Specification">
11

  
12
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
13

  
14
<SCRIPT type="text/javascript">
15
function windowTitle()
16
{
17
    parent.document.title="Overview";
18
}
19
</SCRIPT>
20

  
21
</HEAD>
22

  
23
<BODY BGCOLOR="white" onload="windowTitle();">
24

  
25

  
26
<!-- ========= START OF TOP NAVBAR ======= -->
27
<A NAME="navbar_top"><!-- --></A>
28
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
29
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
30
<TR>
31
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
32
<A NAME="navbar_top_firstrow"><!-- --></A>
33
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
34
  <TR ALIGN="center" VALIGN="top">
35
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
36
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
37
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
38
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
39
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
40
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
41
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
42
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
43
  </TR>
44
</TABLE>
45
</TD>
46
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
47
</EM>
48
</TD>
49
</TR>
50

  
51
<TR>
52
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
53
&nbsp;PREV&nbsp;
54
&nbsp;NEXT</FONT></TD>
55
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
56
  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
57
&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
58
&nbsp;<SCRIPT type="text/javascript">
59
  <!--
60
  if(window==top) {
61
    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
62
  }
63
  //-->
64
</SCRIPT>
65
<NOSCRIPT>
66
  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
67
</NOSCRIPT>
68

  
69
</FONT></TD>
70
</TR>
71
</TABLE>
72
<A NAME="skip-navbar_top"></A>
73
<!-- ========= END OF TOP NAVBAR ========= -->
74

  
75
<HR>
76
<CENTER>
77
<H1>
78
Java DWG Library v0.3 API Specification
79
</H1>
80
</CENTER>
81

  
82
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
83
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
84
<TD COLSPAN=2><FONT SIZE="+2">
85
<B>Packages</B></FONT></TD>
86
</TR>
87
<TR BGCOLOR="white" CLASS="TableRowColor">
88
<TD WIDTH="20%"><B><A HREF="com/iver/cit/gvsig/fmap/drivers/dgn/package-summary.html">com.iver.cit.gvsig.fmap.drivers.dgn</A></B></TD>
89
<TD>&nbsp;</TD>
90
</TR>
91
<TR BGCOLOR="white" CLASS="TableRowColor">
92
<TD WIDTH="20%"><B><A HREF="com/iver/cit/javacad/util/package-summary.html">com.iver.cit.javacad.util</A></B></TD>
93
<TD>&nbsp;</TD>
94
</TR>
95
<TR BGCOLOR="white" CLASS="TableRowColor">
96
<TD WIDTH="20%"><B><A HREF="com/iver/cit/jdwglib/dwg/package-summary.html">com.iver.cit.jdwglib.dwg</A></B></TD>
97
<TD>&nbsp;</TD>
98
</TR>
99
<TR BGCOLOR="white" CLASS="TableRowColor">
100
<TD WIDTH="20%"><B><A HREF="com/iver/cit/jdwglib/dwg/objects/package-summary.html">com.iver.cit.jdwglib.dwg.objects</A></B></TD>
101
<TD>&nbsp;</TD>
102
</TR>
103
<TR BGCOLOR="white" CLASS="TableRowColor">
104
<TD WIDTH="20%"><B><A HREF="com/iver/cit/jdwglib/test/package-summary.html">com.iver.cit.jdwglib.test</A></B></TD>
105
<TD>&nbsp;</TD>
106
</TR>
107
<TR BGCOLOR="white" CLASS="TableRowColor">
108
<TD WIDTH="20%"><B><A HREF="freenet/support/package-summary.html">freenet.support</A></B></TD>
109
<TD>&nbsp;</TD>
110
</TR>
111
</TABLE>
112

  
113
<P>
114
&nbsp;<HR>
115

  
116

  
117
<!-- ======= START OF BOTTOM NAVBAR ====== -->
118
<A NAME="navbar_bottom"><!-- --></A>
119
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
120
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
121
<TR>
122
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
123
<A NAME="navbar_bottom_firstrow"><!-- --></A>
124
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
125
  <TR ALIGN="center" VALIGN="top">
126
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
127
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
128
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
129
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
130
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
131
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
132
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
133
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
134
  </TR>
135
</TABLE>
136
</TD>
137
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
138
</EM>
139
</TD>
140
</TR>
141

  
142
<TR>
143
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
144
&nbsp;PREV&nbsp;
145
&nbsp;NEXT</FONT></TD>
146
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
147
  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
148
&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
149
&nbsp;<SCRIPT type="text/javascript">
150
  <!--
151
  if(window==top) {
152
    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
153
  }
154
  //-->
155
</SCRIPT>
156
<NOSCRIPT>
157
  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
158
</NOSCRIPT>
159

  
160
</FONT></TD>
161
</TR>
162
</TABLE>
163
<A NAME="skip-navbar_bottom"></A>
164
<!-- ======== END OF BOTTOM NAVBAR ======= -->
165

  
166
<HR>
167

  
168
</BODY>
169
</HTML>
0 170

  
tags/v2_0_0_Build_2050/libraries/libDwg/doc/javadoc/overview-tree.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
<!--NewPage-->
3
<HTML>
4
<HEAD>
5
<!-- Generated by javadoc (build 1.4.2_08) on Wed Sep 07 16:36:34 CEST 2005 -->
6
<TITLE>
7
Class Hierarchy
8
</TITLE>
9

  
10

  
11
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
12

  
13
<SCRIPT type="text/javascript">
14
function windowTitle()
15
{
16
    parent.document.title="Class Hierarchy";
17
}
18
</SCRIPT>
19

  
20
</HEAD>
21

  
22
<BODY BGCOLOR="white" onload="windowTitle();">
23

  
24

  
25
<!-- ========= START OF TOP NAVBAR ======= -->
26
<A NAME="navbar_top"><!-- --></A>
27
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
28
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
29
<TR>
30
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
31
<A NAME="navbar_top_firstrow"><!-- --></A>
32
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
33
  <TR ALIGN="center" VALIGN="top">
34
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
35
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
36
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
37
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
38
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
39
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
40
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
41
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
42
  </TR>
43
</TABLE>
44
</TD>
45
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
46
</EM>
47
</TD>
48
</TR>
49

  
50
<TR>
51
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
52
&nbsp;PREV&nbsp;
53
&nbsp;NEXT</FONT></TD>
54
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
55
  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
56
&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
57
&nbsp;<SCRIPT type="text/javascript">
58
  <!--
59
  if(window==top) {
60
    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
61
  }
62
  //-->
63
</SCRIPT>
64
<NOSCRIPT>
65
  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
66
</NOSCRIPT>
67

  
68
</FONT></TD>
69
</TR>
70
</TABLE>
71
<A NAME="skip-navbar_top"></A>
72
<!-- ========= END OF TOP NAVBAR ========= -->
73

  
74
<HR>
75
<CENTER>
76
<H2>
77
Hierarchy For All Packages</H2>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff