+//
// utils.cpp: Stuff that's useful to have kicking around, in one spot
//
// Part of the Architektonas Project
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));
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));
}
}
+//
+// This is used to remove hovered objects from one container in order to delete
+// them from the same container.
+//
+void RemoveHoveredObjects(VPVector & v)
+{
+ VPVectorIter i = v.begin();
+
+ while (i != v.end())
+ {
+ Object * obj = (Object *)(*i);
+
+ if (obj->hovered)
+ v.erase(i);
+ else
+ i++;
+ }
+}
+
void SavePointsFrom(VPVector & v, std::vector<Object> & save)
{
save.clear();
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;
Container * c = (Container *)obj;
TranslateObjects(c->objects, delta);
}
+ else if (obj->type == OTPolyline)
+ {
+ ((Polyline *)obj)->Translate(delta);
+ }
}
}