//
// Copy objects in one vector to another, creating copies and placing them in
// the other vector. Clearing & etc. of vectors is responsibility of the caller!
//
// Copy objects in one vector to another, creating copies and placing them in
// the other vector. Clearing & etc. of vectors is responsibility of the caller!
//
// Create a copy of the passed in object. This version calls the second
// version of CopyObjects() (with one parameter and a vector return value).
//
// Create a copy of the passed in object. This version calls the second
// version of CopyObjects() (with one parameter and a vector return value).
void MoveSelectedObjectsTo(VPVector & dest, VPVector & from)
{
VPVectorIter i = from.begin();
void MoveSelectedObjectsTo(VPVector & dest, VPVector & from)
{
VPVectorIter i = from.begin();
//hmm, this won't work, as these are just pointers...
//[should work now]
void CopySelectedObjectsTo(VPVector & dest, VPVector & from)
//hmm, this won't work, as these are just pointers...
//[should work now]
void CopySelectedObjectsTo(VPVector & dest, VPVector & from)
void AddObjectsTo(VPVector & dest, VPVector & from)
{
for(VPVectorIter i=from.begin(); i!=from.end(); i++)
dest.push_back(*i);
}
void AddObjectsTo(VPVector & dest, VPVector & from)
{
for(VPVectorIter i=from.begin(); i!=from.end(); i++)
dest.push_back(*i);
}
void ClearSelected(VPVector & v)
{
for(VPVectorIter i=v.begin(); i!=v.end(); i++)
((Object *)(*i))->selected = false;
}
void ClearSelected(VPVector & v)
{
for(VPVectorIter i=v.begin(); i!=v.end(); i++)
((Object *)(*i))->selected = false;
}
//
// Recursively go down thru the Container's vectors, deleting all the objects
// contained therein. Once that is done, the main Container can be deleted.
//
// Recursively go down thru the Container's vectors, deleting all the objects
// contained therein. Once that is done, the main Container can be deleted.
//
// This is used to remove selected objects from one container in order to move
// them to a different container.
//
// This is used to remove selected objects from one container in order to move
// them to a different container.
void RestorePointsTo(VPVector & v, std::vector<Object> & s)
{
std::vector<Object>::iterator i;
void RestorePointsTo(VPVector & v, std::vector<Object> & s)
{
std::vector<Object>::iterator i;
void RestorePointsTo(VPVector & v, VPVector & s)
{
for(VPVectorIter i=s.begin(), j=v.begin(); i!=s.end(); i++, j++)
void RestorePointsTo(VPVector & v, VPVector & s)
{
for(VPVectorIter i=s.begin(), j=v.begin(); i!=s.end(); i++, j++)
//
// Translate a single object; it it's a Container, translate all its contents,
// including subcontainers.
//
// Translate a single object; it it's a Container, translate all its contents,
// including subcontainers.
//
// Translate all objects in the passed in vector, including Containers and all
// the objects they contain.
//
// Translate all objects in the passed in vector, including Containers and all
// the objects they contain.
//
// This does not *copy* the objects, it simply flattens out the pointers in the
// Container and all sub-Containers.
//
// This does not *copy* the objects, it simply flattens out the pointers in the
// Container and all sub-Containers.
//
// This does not *copy* the objects, it simply flattens out the pointers in the
// vector and all sub-Containers in the vector.
//
// This does not *copy* the objects, it simply flattens out the pointers in the
// vector and all sub-Containers in the vector.