[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model ClippingPlane.java, 1.14, 1.15 Camer
Status: Pre-Alpha
Brought to you by:
henryml
|
From: rimestad <rim...@us...> - 2006-12-18 09:11:55
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25789/src/net/sourceforge/bprocessor/model Modified Files: ClippingPlane.java Camera.java Persistence.java Log Message: Added the views and clipplanes to the xml file, does not make any changes to the shema so old files should still be working There is one thing the externalization makes the clipplanes unique for each view should it be so or shouldn't it???? Index: Persistence.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Persistence.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** Persistence.java 5 Dec 2006 20:40:52 -0000 1.28 --- Persistence.java 18 Dec 2006 09:11:47 -0000 1.29 *************** *** 10,13 **** --- 10,15 ---- import net.sourceforge.bprocessor.model.xml.AxisRotateType; import net.sourceforge.bprocessor.model.xml.Bmodel; + import net.sourceforge.bprocessor.model.xml.CameraType; + import net.sourceforge.bprocessor.model.xml.ClipplaneType; import net.sourceforge.bprocessor.model.xml.ConstructorType; import net.sourceforge.bprocessor.model.xml.CoordinateSystemType; *************** *** 30,37 **** --- 32,42 ---- import net.sourceforge.bprocessor.model.xml.TransformType; import net.sourceforge.bprocessor.model.xml.TranslateType; + import net.sourceforge.bprocessor.model.xml.TripletType; import net.sourceforge.bprocessor.model.xml.VertexType; import net.sourceforge.bprocessor.model.xml.VertexesType; import net.sourceforge.bprocessor.model.xml.impl.AxisRotateTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.BmodelImpl; + import net.sourceforge.bprocessor.model.xml.impl.CameraTypeImpl; + import net.sourceforge.bprocessor.model.xml.impl.ClipplaneTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.CoordinateSystemTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.DoubleTypeImpl; *************** *** 51,54 **** --- 56,60 ---- import net.sourceforge.bprocessor.model.xml.impl.SurfaceImpl; import net.sourceforge.bprocessor.model.xml.impl.TranslateTypeImpl; + import net.sourceforge.bprocessor.model.xml.impl.TripletTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.VertexImpl; import net.sourceforge.bprocessor.model.xml.impl.VertexesTypeImpl; *************** *** 119,122 **** --- 125,159 ---- p.setName(document.getName()); p.changed(p); + { + Iterator iter = document.getCamera().iterator(); + while (iter.hasNext()) { + CameraType ct = (CameraType) iter.next(); + Camera cam = new Camera(); + cam.setName(ct.getName()); + TripletType campos = ct.getCamera(); + cam.setCamera(new double[]{campos.getX(), campos.getY(), campos.getZ()}); + TripletType cenpos = ct.getCenter(); + cam.setCenter(new double[]{cenpos.getX(), cenpos.getY(), cenpos.getZ()}); + TripletType up = ct.getRoll(); + cam.setRoll(new double[]{up.getX(), up.getY(), up.getZ()}); + Collection clips = ct.getClipplanes(); + Iterator clipit = clips.iterator(); + while (clipit.hasNext()) { + ClipplaneType cpt = (ClipplaneType)clipit.next(); + CoordinateSystemType cst = cpt.getCoordinateSystem(); + CoordinateSystem cs = internalizeCoordinateSystem(cst, new HashMap(), new LinkedList()); + ClippingPlane cp = new ClippingPlane(cs); + cp.setId(new Long(cpt.getId())); + cp.setActive(cpt.isActive()); + cp.setNumber(cpt.getNumber()); + cp.setSlice(cpt.isSlice()); + cam.addClipplane(cp); + } + cam.setFocalwidth(ct.getFocalwidth()); + cam.setId(new Long(ct.getProgid())); + cam.setType(ct.getType()); + p.add(cam); + } + } } *************** *** 665,668 **** --- 702,754 ---- document.setActive(id(mapper, Project.getInstance().getActiveSpace())); document.setName(Project.getInstance().getName()); + + { + Collection cams = document.getCamera(); + Iterator iter = Project.getInstance().getCameras().iterator(); + while (iter.hasNext()) { + Camera c = (Camera) iter.next(); + CameraType cam = new CameraTypeImpl(); + cam.setName(c.getName()); + TripletType campos = new TripletTypeImpl(); + campos.setX(c.getCamera()[0]); + campos.setY(c.getCamera()[1]); + campos.setZ(c.getCamera()[2]); + cam.setCamera(campos); + TripletType cenpos = new TripletTypeImpl(); + cenpos.setX(c.getCenter()[0]); + cenpos.setY(c.getCenter()[1]); + cenpos.setZ(c.getCenter()[2]); + cam.setCenter(cenpos); + TripletType up = new TripletTypeImpl(); + up.setX(c.getRoll()[0]); + up.setY(c.getRoll()[1]); + up.setZ(c.getRoll()[2]); + cam.setRoll(up); + Collection clips = c.getClipplanes(); + Iterator clipit = clips.iterator(); + while (clipit.hasNext()) { + ClippingPlane cp = (ClippingPlane)clipit.next(); + ClipplaneType cpt = new ClipplaneTypeImpl(); + CoordinateSystemType cst = + externalizeCoordinateSystem(cp.getCoordinateSystem(), new HashMap()); + cpt.setCoordinateSystem(cst); + cpt.setId(counter++); + if (cp.getId() != null) { + cpt.setProgid(cp.getId().longValue()); + } + cpt.setNumber(cp.getNumber()); + cpt.setSlice(cp.isSlice()); + cpt.setActive(cp.isActive()); + cam.getClipplanes().add(cpt); + } + cam.setFocalwidth(c.getFocalwidth()); + if (c.getId() != null) { + cam.setProgid(c.getId().longValue()); + } + cam.setId(counter++); + cam.setType(c.getType()); + cams.add(cam); + } + } return document; } *************** *** 866,910 **** Map map) { if (constructor instanceof Point) { ! PointType xml = new PointTypeImpl(); ! xml.setId(counter++); ! xml.setProgid(constructor.getId().longValue()); ! xml.setActive(constructor.isActive()); ! xml.setEditable(constructor.isEditable()); ! VertexType orig = externalizeVertex(constructor.getOrigin(), new HashMap()); ! xml.setVertex(orig); ! map.put(constructor, xml); ! return xml; } else if (constructor instanceof Line) { ! LineType xml = new LineTypeImpl(); ! VertexesType vt = new VertexesTypeImpl(); ! vt.getVertex().add(externalizeVertex(((Line)constructor).getDirection(), ! new HashMap())); ! ((LineType)xml).setDirection(vt); ! xml.setId(counter++); ! xml.setProgid(constructor.getId().longValue()); ! xml.setActive(constructor.isActive()); ! xml.setEditable(constructor.isEditable()); ! VertexType orig = externalizeVertex(constructor.getOrigin(), new HashMap()); ! xml.setVertex(orig); ! map.put(constructor, xml); ! return xml; } else if (constructor instanceof CoordinateSystem) { ! CoordinateSystem cs = (CoordinateSystem)constructor; ! CoordinateSystemType xml = new CoordinateSystemTypeImpl(); ! xml.setOnlyplane(((CoordinateSystem)constructor).onlyPlane()); ! VertexesType vt = new VertexesTypeImpl(); ! List ijn = vt.getVertex(); ! ijn.add(0, externalizeVertex(cs.getI(), new HashMap())); ! ijn.add(1, externalizeVertex(cs.getJ(), new HashMap())); ! ijn.add(2, externalizeVertex(cs.getN(), new HashMap())); ! xml.setIjn(vt); ! xml.setId(counter++); ! xml.setProgid(constructor.getId().longValue()); ! xml.setActive(constructor.isActive()); ! xml.setEditable(constructor.isEditable()); ! VertexType orig = externalizeVertex(constructor.getOrigin(), new HashMap()); ! xml.setVertex(orig); ! map.put(constructor, xml); ! return xml; } else { log.error(constructor + " were of unknown type"); --- 952,960 ---- Map map) { if (constructor instanceof Point) { ! return externalizePoint((Point)constructor, map); } else if (constructor instanceof Line) { ! return externalizeLine((Line)constructor, map); } else if (constructor instanceof CoordinateSystem) { ! return externalizeCoordinateSystem((CoordinateSystem)constructor, map); } else { log.error(constructor + " were of unknown type"); *************** *** 913,916 **** --- 963,1031 ---- } + + /** + * @param cs the coordinatesystem object to externalize + * @param map the map to put the object to xml reference into + * @return the xml object + */ + private static CoordinateSystemType externalizeCoordinateSystem(CoordinateSystem cs, Map map) { + CoordinateSystemType xml = new CoordinateSystemTypeImpl(); + xml.setOnlyplane(cs.onlyPlane()); + VertexesType vt = new VertexesTypeImpl(); + List ijn = vt.getVertex(); + ijn.add(0, externalizeVertex(cs.getI(), new HashMap())); + ijn.add(1, externalizeVertex(cs.getJ(), new HashMap())); + ijn.add(2, externalizeVertex(cs.getN(), new HashMap())); + xml.setIjn(vt); + xml.setId(counter++); + if (cs.getId() != null) { + xml.setProgid(cs.getId().longValue()); + } + xml.setActive(cs.isActive()); + xml.setEditable(cs.isEditable()); + VertexType orig = externalizeVertex(cs.getOrigin(), new HashMap()); + xml.setVertex(orig); + map.put(cs, xml); + return xml; + } + + /** + * @param line the line object to externalize + * @param map the map to put the object to xml reference into + * @return the xml object + */ + private static LineType externalizeLine(Line line, Map map) { + LineType xml = new LineTypeImpl(); + VertexesType vt = new VertexesTypeImpl(); + vt.getVertex().add(externalizeVertex(line.getDirection(), + new HashMap())); + ((LineType)xml).setDirection(vt); + xml.setId(counter++); + xml.setProgid(line.getId().longValue()); + xml.setActive(line.isActive()); + xml.setEditable(line.isEditable()); + VertexType orig = externalizeVertex(line.getOrigin(), new HashMap()); + xml.setVertex(orig); + map.put(line, xml); + return xml; + } + + /** + * @param point the point object to externalize + * @param map the map to put the object to xml reference into + * @return the xml object + */ + private static PointType externalizePoint(Point point, Map map) { + PointType xml = new PointTypeImpl(); + xml.setId(counter++); + xml.setProgid(point.getId().longValue()); + xml.setActive(point.isActive()); + xml.setEditable(point.isEditable()); + VertexType orig = externalizeVertex(point.getOrigin(), new HashMap()); + xml.setVertex(orig); + map.put(point, xml); + return xml; + } + /** * Create an xml SurfaceImpl and place it in the map Index: Camera.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Camera.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Camera.java 17 Nov 2006 15:47:28 -0000 1.29 --- Camera.java 18 Dec 2006 09:11:47 -0000 1.30 *************** *** 64,67 **** --- 64,68 ---- */ Camera() { + this.clipplanes = new ArrayList(); } Index: ClippingPlane.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/ClippingPlane.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** ClippingPlane.java 13 Nov 2006 14:56:14 -0000 1.14 --- ClippingPlane.java 18 Dec 2006 09:11:46 -0000 1.15 *************** *** 396,398 **** --- 396,412 ---- update(); } + + /** + * @return Returns the cs. + */ + public CoordinateSystem getCoordinateSystem() { + return cs; + } + + /** + * @param cs The cs to set. + */ + public void setCoordinateSystem(CoordinateSystem cs) { + this.cs = cs; + } } |