[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Rotate.java, 1.1, 1.2 Space.java, 1.
Status: Pre-Alpha
Brought to you by:
henryml
From: rimestad <rim...@us...> - 2006-10-13 15:55:01
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11096/src/net/sourceforge/bprocessor/model Modified Files: Rotate.java Space.java Persistence.java Log Message: now save and load of transformations work, have added a constructor with arguments for rotate and cleared some initialization in persistence space constructor. There is still no support for save and load of modellors but will come during the weekend Index: Persistence.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Persistence.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Persistence.java 10 Oct 2006 14:04:45 -0000 1.11 --- Persistence.java 13 Oct 2006 15:54:59 -0000 1.12 *************** *** 8,11 **** --- 8,12 ---- import net.sourceforge.bprocessor.model.modellor.Modellor; + import net.sourceforge.bprocessor.model.xml.AxisRotateType; import net.sourceforge.bprocessor.model.xml.Bmodel; import net.sourceforge.bprocessor.model.xml.ConstructorType; *************** *** 13,16 **** --- 14,18 ---- import net.sourceforge.bprocessor.model.xml.EdgeType; import net.sourceforge.bprocessor.model.xml.EntityType; + import net.sourceforge.bprocessor.model.xml.IDTransformType; import net.sourceforge.bprocessor.model.xml.IntegerType; import net.sourceforge.bprocessor.model.xml.LineType; *************** *** 19,30 **** --- 21,38 ---- import net.sourceforge.bprocessor.model.xml.ModellorType; import net.sourceforge.bprocessor.model.xml.PointType; + import net.sourceforge.bprocessor.model.xml.RotateType; + import net.sourceforge.bprocessor.model.xml.ScaleType; import net.sourceforge.bprocessor.model.xml.SpaceType; import net.sourceforge.bprocessor.model.xml.StringType; import net.sourceforge.bprocessor.model.xml.SurfaceType; + import net.sourceforge.bprocessor.model.xml.TransformType; + import net.sourceforge.bprocessor.model.xml.TranslateType; 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.CoordinateSystemTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.EdgeImpl; + import net.sourceforge.bprocessor.model.xml.impl.IDTransformTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.IntegerTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.LineTypeImpl; *************** *** 33,38 **** --- 41,49 ---- import net.sourceforge.bprocessor.model.xml.impl.ModellorTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.PointTypeImpl; + import net.sourceforge.bprocessor.model.xml.impl.RotateTypeImpl; + import net.sourceforge.bprocessor.model.xml.impl.ScaleTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.SpaceImpl; import net.sourceforge.bprocessor.model.xml.impl.SurfaceImpl; + import net.sourceforge.bprocessor.model.xml.impl.TranslateTypeImpl; import net.sourceforge.bprocessor.model.xml.impl.VertexImpl; import net.sourceforge.bprocessor.model.xml.impl.VertexesTypeImpl; *************** *** 140,144 **** long empty = xml.getVoidref(); boolean container = (empty != 0); ! Space space = new Space(name, type, level, container); space.setId(new Long(xml.getProgid())); space.setDescription(xml.getDescription()); --- 151,160 ---- long empty = xml.getVoidref(); boolean container = (empty != 0); ! Space space = new Space(); ! space.setName(name); ! space.setType(type); ! space.setLevel(level); ! space.setContainer(container); ! space.setTransparent(xml.isTransparent()); space.setId(new Long(xml.getProgid())); space.setDescription(xml.getDescription()); *************** *** 198,201 **** --- 214,239 ---- } { + Iterator iter = xml.getTransforms().iterator(); + while (iter.hasNext()) { + TransformType current = (TransformType) iter.next(); + if (current instanceof RotateType) { + RotateType rot = (RotateType) current; + space.addTransform(new Rotate(rot.getX(), rot.getY(), rot.getZ())); + } else if (current instanceof IDTransformType) { + space.addTransform(new IDTransform()); + } else if (current instanceof AxisRotateType) { + AxisRotateType arot = (AxisRotateType) current; + space.addTransform( + new AxisRotate(arot.getAngle(), arot.getX(), arot.getY(), arot.getZ())); + } else if (current instanceof ScaleType) { + ScaleType st = (ScaleType) current; + space.addTransform(new Scale(st.getX(), st.getY(), st.getZ())); + } else if (current instanceof TranslateType) { + TranslateType tt = (TranslateType) current; + space.addTransform(new Translate(tt.getX(), tt.getY(), tt.getZ())); + } + } + } + { Iterator iter = xml.getConstructor().iterator(); while (iter.hasNext()) { *************** *** 464,467 **** --- 502,506 ---- */ private static void internalizeReferences(Space object, SpaceType xml, Map map) { + object.setProto((Space) get(xml.getProtoref(), map)); object.setEnvelope(asSet(xml.getBoundary(), map)); } *************** *** 617,620 **** --- 656,660 ---- xml.setType(space.getType()); xml.setLevel(space.getLevel()); + xml.setTransparent(space.isTransparent()); xml.setDescription(space.getDescription().toString()); xml.setClassification(space.getClassification().toString()); *************** *** 624,667 **** map.put(space, xml); ! { ! Iterator iter = space.getElements().iterator(); ! while (iter.hasNext()) { ! Space current = (Space) iter.next(); ! xml.getSpace().add(externalizeSpace(current, map)); } ! } ! { ! Iterator iter = space.getSurfaces().iterator(); ! while (iter.hasNext()) { ! Surface current = (Surface) iter.next(); ! xml.getSurface().add(externalizeSurface(current, map)); } ! } ! { ! Iterator iter = space.getEdges().iterator(); ! while (iter.hasNext()) { ! Edge current = (Edge) iter.next(); ! xml.getEdge().add(externalizeEdge(current, map)); } ! } ! { ! Iterator iter = space.getVertices().iterator(); ! while (iter.hasNext()) { ! Vertex current = (Vertex) iter.next(); ! xml.getVertex().add(externalizeVertex(current, map)); } ! } ! { ! Iterator iter = space.getMaterials().iterator(); ! while (iter.hasNext()) { ! Material current = (Material) iter.next(); ! xml.getMaterial().add(externalizeMaterial(current, map)); } } { ! Iterator iter = space.getConstructors().iterator(); while (iter.hasNext()) { ! Constructor current = (Constructor) iter.next(); ! externalizeConstructor(current, map, xml); } } --- 664,748 ---- map.put(space, xml); ! if (!space.isInstance()) { ! { ! Iterator iter = space.getElements().iterator(); ! while (iter.hasNext()) { ! Space current = (Space) iter.next(); ! xml.getSpace().add(externalizeSpace(current, map)); ! } } ! { ! Iterator iter = space.getSurfaces().iterator(); ! while (iter.hasNext()) { ! Surface current = (Surface) iter.next(); ! xml.getSurface().add(externalizeSurface(current, map)); ! } } ! { ! Iterator iter = space.getEdges().iterator(); ! while (iter.hasNext()) { ! Edge current = (Edge) iter.next(); ! xml.getEdge().add(externalizeEdge(current, map)); ! } } ! { ! Iterator iter = space.getVertices().iterator(); ! while (iter.hasNext()) { ! Vertex current = (Vertex) iter.next(); ! xml.getVertex().add(externalizeVertex(current, map)); ! } } ! { ! Iterator iter = space.getMaterials().iterator(); ! while (iter.hasNext()) { ! Material current = (Material) iter.next(); ! xml.getMaterial().add(externalizeMaterial(current, map)); ! } ! } ! { ! Iterator iter = space.getConstructors().iterator(); ! while (iter.hasNext()) { ! Constructor current = (Constructor) iter.next(); ! externalizeConstructor(current, map, xml); ! } } } { ! Iterator iter = space.getTransformations().stack().iterator(); while (iter.hasNext()) { ! List trans = xml.getTransforms(); ! Object current = iter.next(); ! if (current instanceof Rotate) { ! Rotate r = (Rotate) current; ! RotateTypeImpl rot = new RotateTypeImpl(); ! rot.setX(r.rx()); ! rot.setY(r.ry()); ! rot.setZ(r.rz()); ! trans.add(0, rot); ! } else if (current instanceof IDTransform) { ! trans.add(0, new IDTransformTypeImpl()); ! } else if (current instanceof AxisRotate) { ! AxisRotate ar = (AxisRotate) current; ! AxisRotateType arot = new AxisRotateTypeImpl(); ! arot.setAngle(ar.angle()); ! arot.setX(ar.rx()); ! arot.setY(ar.ry()); ! arot.setZ(ar.rz()); ! trans.add(0, arot); ! } else if (current instanceof Scale) { ! Scale s = (Scale) current; ! ScaleType st = new ScaleTypeImpl(); ! st.setX(s.sx()); ! st.setY(s.sy()); ! st.setZ(s.sz()); ! trans.add(0, st); ! } else if (current instanceof Translate) { ! Translate t = (Translate) current; ! TranslateType tt = new TranslateTypeImpl(); ! tt.setX(t.tx()); ! tt.setY(t.ty()); ! tt.setZ(t.tz()); ! trans.add(0, tt); ! } } } *************** *** 854,858 **** */ private static void externalizeReferences(Space object, SpaceType xml, Map map) { ! xml.setVoidref(id(map, object.getEmpty())); xml.getBoundary().addAll(ids(map, object.getEnvelope())); } --- 935,944 ---- */ private static void externalizeReferences(Space object, SpaceType xml, Map map) { ! if (object.getEmpty() != null) { ! xml.setVoidref(id(map, object.getEmpty())); ! } ! if (object.getProto() != null) { ! xml.setProtoref(id(map, object.getProto())); ! } xml.getBoundary().addAll(ids(map, object.getEnvelope())); } Index: Space.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Space.java,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** Space.java 13 Oct 2006 12:54:21 -0000 1.79 --- Space.java 13 Oct 2006 15:54:59 -0000 1.80 *************** *** 168,171 **** --- 168,186 ---- */ Space() { + envelope = new HashSet(); + transform = new TransformStack(); + modellor = null; + vertices = new HashMap(); + nextVertexId = 1; + edges = new HashMap(); + nextEdgeId = 1; + surfaces = new HashMap(); + nextSurfaceId = 1; + elements = new HashMap(); + nextElementId = 1; + materials = new HashMap(); + nextMaterialId = 1; + constructors = new HashMap(); + nextConstructorId = 1; } *************** *** 188,191 **** --- 203,207 ---- envelope = new HashSet(); transform = new TransformStack(); + modellor = null; if (container) { vertices = new HashMap(); *************** *** 1135,1139 **** */ public void add(Space element) { ! if (container) { Long id; if (element.getId() != null) { --- 1151,1155 ---- */ public void add(Space element) { ! if (container && elements != null) { Long id; if (element.getId() != null) { *************** *** 2119,2121 **** --- 2135,2153 ---- return level; } + + /** + * Check if this space is a instance of another + * @return true if it is a instance otherwise false + */ + public boolean isInstance() { + return proto != null; + } + + /** + * Set the level of the space MOSTLY FOR PERSISTENCE LAYER + * @param level the level + */ + protected void setLevel(int level) { + this.level = level; + } } Index: Rotate.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Rotate.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Rotate.java 19 Sep 2006 10:00:09 -0000 1.1 --- Rotate.java 13 Oct 2006 15:54:59 -0000 1.2 *************** *** 37,40 **** --- 37,53 ---- /** + * Constructor + * @param x the rotation in x + * @param y the rotation in y + * @param z the rotation in z + */ + public Rotate(double x, double y, double z) { + super(); + rx = x; + ry = y; + rz = z; + } + + /** * @param value new value */ |