out << *(ve).v.x << *(ve).v.y << *(ve).v.z << endl;
Ваш *(ve).v.x
эквивалентен *((ve).v.x)
. Вы, вероятно, хотите:
out << (*ve).v.x << (*ve).v.y << (*ve).v.z << endl;
Или:
out << ve->v.x << ve->v.y << ve->v.z << endl;
Кроме того, ваш цикл не так эффективен, как мог бы быть. Вызов end()
для каждой итерации не требуется, и постинкремент может быть намного тяжелее с итераторами, чем обычные указатели / целые числа, поэтому вы должны привыкнуть использовать преинкремент, когда это возможно:
for ( ve = finalVertices.begin(), end = finalVertices.end(); ve != end; ++ve )