i have a problem to update Line object.
I have initiated shape from Line like this code:
Vector3f delta = min.subtract(max);
corner[0]=new Vector3f(min);
corner[1]=new Vector3f(min.x-delta.x,min.y,min.z);
corner[2]=new Vector3f(max);
corner[3]=new Vector3f(min.x,min.y,min.z-delta.z);
Vector3f vertex[]=new Vector3f[8];
vertex[0]=corner[0];
vertex[1]=corner[1];
vertex[2]=corner[1];
vertex[3]=corner[2];
vertex[4]=corner[2];
vertex[5]=corner[3];
vertex[6]=corner[3];
vertex[7]=corner[0];
Vector3f normal[]=new Vector3f[8];
for (int i = 0; i < 8; i++) {
normal[i]=Vector3f.UNIT_Y;
}
line=new Line("line",BufferUtils.createFloatBuffer(vertex),BufferUtils.createFloatBuffer(normal),null,null);
line.setLightCombineMode(LightState.OFF);
line.setLineWidth(1.2f);
line.setDefaultColor(ColorRGBA.green);
this.attachChild(line);
I want update on runtime. I try to use reconstrucs method but it doesn't make any changes. My update procedure is
public void updateLine(Vector3f min,Vector3f max){
this.detachChild(this.line);
float y=min.y>max.y?min.y:max.y;
min.y=max.y=y;
Vector3f delta = min.subtract(max);
corner[0]=new Vector3f(min);
corner[1]=new Vector3f(min.x-delta.x,min.y,min.z);
corner[2]=new Vector3f(max);
corner[3]=new Vector3f(min.x,min.y,min.z-delta.z);
Vector3f vertex[]=new Vector3f[8];
vertex[0]=corner[0];
vertex[1]=corner[1];
vertex[2]=corner[1];
vertex[3]=corner[2];
vertex[4]=corner[2];
vertex[5]=corner[3];
vertex[6]=corner[3];
vertex[7]=corner[0];
Vector3f normal[]=new Vector3f[8];
for (int i = 0; i < 8; i++) {
normal[i]=Vector3f.UNIT_Y;
}
line.reconstruct(BufferUtils.createFloatBuffer(vertex), BufferUtils.createFloatBuffer(normal),
null, null);
line.updateGeometricState(0, true);
}
And i don't find any method to update this geometry. Any one can give idea??