/// <summary> /// move to geometry to current space /// </summary> protected void MoveToSpace() { // remove all current shapes from their spaces and add them to the // new one //std::vector<GeomData*>::iterator iter; //for ( iter = mGeomDataList.begin(); iter != mGeomDataList.end(); ++iter ) for (int i = 0; i < geomDataList.Count; i++) { if (geomDataList[i].TransformID != null) { // This geom uses a transform, so apply the new space only // to the transform geom. // dSpaceRemove( ( *iter ) ->spaceID, ( *iter ) ->transformID ); geomDataList[i].SpaceID.Remove(geomDataList[i].TransformID); // dSpaceAdd( mSpaceID, ( *iter ) ->transformID ); spaceID.Add(geomDataList[i].TransformID); } else { // Normal geom with no transform. // dSpaceRemove( ( *iter ) ->spaceID, ( *iter ) ->geomID ); geomDataList[i].SpaceID.Remove(geomDataList[i].GeomID); // dSpaceAdd( mSpaceID, ( *iter ) ->geomID ); spaceID.Add(geomDataList[i].GeomID); } geomDataList[i].SpaceID = spaceID; } }