for ( counter = 0; counter < obj1.size(); counter++)
// for every vertex in object 1...
obj11D.push_back(axis.dot(obj1.at(counter)) / axis.sqrlen() );
// project it onto the axis specified and then store the result in obj11D

for ( counter = 0; counter < obj11D.size(); counter++)
{
// now check if all of the projected 1D vertices are the min or max

if (obj11D.at(counter) < min1)
min1 = obj11D.at(counter);

if (obj11D.at(counter) > max1)
max1 = obj11D.at(counter);

}

for ( counter = 0; counter < obj2.size(); counter++)
obj21D.push_back(axis.dot(obj2.at(counter)) / axis.sqrlen() );
// do the same: project the vertices of the second object onto the same axis...

tri.push_back(p0); // if one didn't know how many vertices there would be in the first object a loop would have to be used to transfer the points in the parameter list into the object vertex list
tri.push_back(p1);
tri.push_back(p2);