Update vertices in VBO

I have a passToOpenGL function below to generate a vao, vbo, index buffer. After I generate, how can I update the vertices?

I thought it would be to create a function like this but it did not work:
void VBOLineLoop::update(GLfloat fWidth, GLfloat fHeight)
{
float *vVerts;
vVerts=new float[usVerts*3];
GLuint bytes_positions=sizeof(GLfloat)*3*usVerts;
float fOuterHalfWidth=fWidth/2.0f; float fOuterHalfHeight=fHeight/2.0f;
GLushort usIndexSubi=0;
vVerts[0]=-fOuterHalfWidth;
vVerts[1]=-fOuterHalfHeight;
vVerts[2]=0.0f;

When you say "it did not work", what exactly are the symptoms? Does everything render correctly as long as you don't call your update() function? If yes, what happens after you call it? Is the rendering unchanged? Wrong? Or does it not render at all?

From scanning through the code, I don't see any major issues. I would bind the index buffer after binding the VAO, so that the index buffer binding becomes part of the VAO state. But as long as you don't change any bindings elsewhere in the code, it should still work for now.

Thanks for the response...
Right. I suppose you need to know what did not work
I draw a bunch of VBOLineLoop & a bunch of other geometry; the other geometry classes have similar structure to this class; so yes there are other bindings.

The scene is draw and everything renders correctly. Then I call mpLineLoop->update(4.0f,4.0f) but the line loop does not update (change size); it remains it's previous size.

The VBOLineLoop function render is called but it renders the previous lineloop data; not the updated vertex data. (I move the index bind after the vao bind and tested; no luck)

Thanks for the response...
Right. I suppose you need to know what did not work
I draw a bunch of VBOLineLoop & a bunch of other geometry; the other geometry classes have similar structure to this class; so yes there are other bindings.

The scene is drawn and everything renders correctly. Then I call mpLineLoop->update(4.0f,4.0f) but the line loop does not update (change size); it remains it's previous size.

After, the update, the VBOLineLoop function render() is called but it renders the previous lineloop data; not the updated vertex data. (I moved the index bind after the vao bind and tested; no luck)