X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Futils.cpp;fp=src%2Futils.cpp;h=cd05ba735e95f30ac96aacf56f205e6548840a79;hb=10cf4c797bed05831e976068b7504908279dc997;hp=c038f3670ee25598662841a19669e80956e5c9ac;hpb=3c890e51a9763ffcee49e15753453a7da248272b;p=architektonas diff --git a/src/utils.cpp b/src/utils.cpp index c038f36..cd05ba7 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -73,6 +73,11 @@ Object * CopyObject(Object * obj) newObject = new Dimension(); memcpy(newObject, obj, sizeof(Dimension)); break; + case OTPolyline: + newObject = new Polyline(); + memcpy(newObject, obj, sizeof(Polyline)); + ((Polyline *)newObject)->points = ((Polyline *)obj)->points; + break; case OTSpline: newObject = new Spline(); memcpy(newObject, obj, sizeof(Spline)); @@ -137,6 +142,12 @@ Object * CopyObject2(Object * obj) memcpy(newObject, obj, sizeof(Dimension)); break; + case OTPolyline: + newObject = new Polyline(); + memcpy(newObject, obj, sizeof(Polyline)); + ((Polyline *)newObject)->points = ((Polyline *)obj)->points; + break; + case OTSpline: newObject = new Spline(); memcpy(newObject, obj, sizeof(Spline)); @@ -399,6 +410,8 @@ void TranslateObject(Object * obj, Point delta) for(VPVectorIter i=c->objects.begin(); i!=c->objects.end(); i++) TranslateObject((Object *)*i, delta); } + else if (obj->type == OTPolyline) + ((Polyline *)obj)->Translate(delta); obj->p[0] += delta; obj->p[1] += delta; @@ -482,6 +495,10 @@ void TranslateObjects(VPVector & v, Point delta) Container * c = (Container *)obj; TranslateObjects(c->objects, delta); } + else if (obj->type == OTPolyline) + { + ((Polyline *)obj)->Translate(delta); + } } }