From 286dd94a39c2ffba32bbe9feac39c80f75efc19c Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Mon, 05 May 2008 10:30:27 +0800 Subject: [PATCH] update for EOFM-68 --- xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexShapeElement.java | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexShapeElement.java b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexShapeElement.java index e4149f4..a1b06d9 100644 --- a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexShapeElement.java +++ b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexShapeElement.java @@ -145,32 +145,35 @@ public Geometry toGeometry(GeometryFactory factory) { - ArrayList list = new ArrayList(); + ArrayList<Geometry> list = new ArrayList<Geometry>(); for (ListIterator it = listIterator(); it.hasNext(); ) { Element element = (Element) it.next(); - if (element instanceof LineStringElement) + if (element instanceof ShapeElement) + { + if( ((ShapeElement) element).getVerticeSize() == 0 || ((ShapeElement) element).getVerticeSize() > 1) + { + list.add(((ShapeElement) element).toGeometry(factory)); + } + } + else if (element instanceof LineStringElement) { if( ((LineStringElement) element).getVerticeSize() == 0 || ((LineStringElement) element).getVerticeSize() > 1) { list.add(((LineStringElement) element).toGeometry(factory)); } - - } else if (element instanceof LineElement) { - if( ((LineElement) element).getVertices().length == 0 || ((LineElement) element).getVertices().length > 1 ) { list.add(((LineElement) element).toGeometry(factory)); } - } } - Geometry[] ga = (Geometry[]) list.toArray(new Geometry[list.size()]); + Geometry[] ga = list.toArray(new Geometry[list.size()]); GeometryCollection geos = new GeometryCollection(ga, factory); return geos; -- Gitblit v0.0.0-SNAPSHOT