}
-Object::Object(Vector v, Object * passedInParent/*= 0*/): position(v), parent(passedInParent),
- state(OSInactive), oldState(OSInactive), needUpdate(false)//, attachedDimension(0)
+Object::Object(Vector v, Object * passedInParent/*= 0*/): position(v),
+ parent(passedInParent), state(OSInactive), oldState(OSInactive),
+ needUpdate(false)//, attachedDimension(0)
{
}
/*virtual*/ void Object::Disconnect(Object * obj, double parameter)
{
+#if 0
for(uint i=0; i<connected.size(); i++)
{
if (connected[i].object == obj && connected[i].t == parameter)
return;
}
}
+#else
+ std::vector<Connection>::iterator i;
+
+ for(i=connected.begin(); i!=connected.end(); i++)
+ {
+ if (((*i).object == obj) && ((*i).t == parameter))
+ {
+ connected.erase(i);
+ return;
+ }
+ }
+#endif
}
/*virtual*/ void Object::DisconnectAll(Object * obj)
{
+#if 0
// According the std::vector docs, only items at position i and beyond are
// invalidated, everything before i is still valid. So we use that here.
for(uint i=0; i<connected.size();)
else
i++;
}
+#else
+ std::vector<Connection>::iterator i;
+
+ for(i=connected.begin(); i!=connected.end(); )
+ {
+ if ((*i).object == obj)
+ connected.erase(i);
+ else
+ i++;
+ }
+#endif
}
#endif
-/*virtual*/ void Object::Translate(Vector)
+/*virtual*/ void Object::Translate(Vector amount)
{
+ position += amount;
}