ofvec3f bug ????

Very strange one…
I’m writing a simple 3D scenegraph using OF as a base.
I have the iphone FAT 0.06 build, I’m using ofvec3f inside a vertex struct (see below) to represent a cube…
later I render with a vertex index buffer. (i know this is all correct)

The problem is, if i use ofvec3f in the vertex struct for the point data, the cube has the z coordinate missing! i.e all the faces are drawn on a z of 0 (like a flat quad). If i replace ofvec3f with a simple struct (point3D) everything is OK. Any ideas?

struct point3D

float x;
float y;
float z;

struct Vertexf
Vertexf(float x,float y,float z,float u,float v,unsigned int c)
point.x= x;
point.y= y;
point.z= z;
Vertexf(const Vertexf& rhs)
point = rhs.point;
tex = rhs.tex;
col = rhs.col;

//ofvec3f point;
point3D point;//point
ofxVec2f tex;//texture coord
unsigned int col;//colour

//a test cube
const Vertexf cube[24] = {
Vertexf(-0.5f, -0.5f, 0.5f,0,0,0xFF0000FF),
Vertexf(0.5f, -0.5f, 0.5f,0,0,0xFF00ff00),
Vertexf(-0.5f, 0.5f, 0.5f,0,0,0xFFff0000),
Vertexf(0.5f, 0.5f, 0.5f,0,0,0xFFFFFFFF),
Vertexf(-0.5f, -0.5f, -0.5f,0,0,0xFF0000FF),
Vertexf(-0.5f, 0.5f, -0.5f,0,0,0xFF0000FF),
Vertexf(0.5f, -0.5f, -0.5f,0,0,0xFF0000FF),
Vertexf(0.5f, 0.5f, -0.5f,0,0,0xFF0000FF),
Vertexf(-0.5f, -0.5f, 0.5f,0,0,0xFF00FF00),
Vertexf(-0.5f, 0.5f, 0.5f,0,0,0xFF00FF00),
Vertexf(-0.5f, -0.5f, -0.5f,0,0,0xFF00FF00),
Vertexf(-0.5f, 0.5f, -0.5f,0,0,0xFF00FF00),
Vertexf(0.5f, -0.5f, -0.5f,0,0,0xFFFF0000),
Vertexf(0.5f, 0.5f, -0.5f,0,0,0xFFFF0000),
Vertexf(0.5f, -0.5f, 0.5f,0,0,0xFFFF0000),
Vertexf(0.5f, 0.5f, 0.5f,0,0,0xFFFF0000),
// TOP
Vertexf(-0.5f, 0.5f, 0.5f,0,0,0xFFFFFFFF),
Vertexf(0.5f, 0.5f, 0.5f,0,0,0xFFFFFFFF),
Vertexf(-0.5f, 0.5f, -0.5f,0,0,0xFFFFFFFF),
Vertexf(0.5f, 0.5f, -0.5f,0,0,0xFFFFFFFF),
Vertexf(-0.5f, -0.5f, 0.5f,0,0,0xFF000000),
Vertexf(-0.5f, -0.5f, -0.5f,0,0,0xFF000000),
Vertexf(0.5f, -0.5f, 0.5f,0,0,0xFF000000),
Vertexf(0.5f, -0.5f, -0.5f,0,0,0xFF000000)