mat = material;
nodes = new Vector<>();
vOffset = 0f;
if(type == 0) {
nodes.add(new Vec3f(0, 0, 0));
for(int i=0;i<32;i++){
nodes.add(new Vec3f(nodes.lastElement().x+1f, 0, nodes.lastElement().z+(float)Math.sin((float)i/5f)*0.3f));
}
float x,z;
x = nodes.lastElement().x;
z = nodes.lastElement().z;
for(int i=0;i<22;i++){
nodes.add(new Vec3f(
x+(float)Math.sin(((float)i)/10f)*8f+1f,
0,
z-(float)Math.cos(((float)i)/10f)*8f+8f
));
}
x = nodes.lastElement().x-0.5f;
z = nodes.lastElement().z;
for(int i=0;i<64;i++){
nodes.add(new Vec3f(x-i/2f, 0, z+(float)Math.sin((float)i/8f+0.15f)*6f));
}
}
else if(type == 1){
for(int i=0;i<70;i++){
nodes.add(new Vec3f((float)Math.sin(((float)i)/10f)*8f, 0,(float)Math.cos(((float)i)/10f)*8f));
}
}
else if(type == 2){
Vector<Vec3f> tnodes = new Vector<>();
float x,z,c;
tnodes.add(new Vec3f(0,0,0));
tnodes.add(new Vec3f(1,0,10));
tnodes.add(new Vec3f(20,0,10));
tnodes.add(new Vec3f(20,0,25));
for(int i=1;i<tnodes.size();i++){
x = tnodes.get(i).x - tnodes.get(i-1).x;
z = tnodes.get(i).z - tnodes.get(i-1).z;
c = (float)Math.sqrt(x*x+z*z);
for(float r=0;r<c;r++){
//nodes.add(new Vec3f(tnodes.get(i-1).x+(x/r)*(float)Math.sin(0.31415*r), 0, tnodes.get(i-1).z+(z/r)*(float)Math.cos(0.31415*r)));
nodes.add(new Vec3f(tnodes.get(i-1).x+(x/c*r), 0, tnodes.get(i-1).z+(z/c*r)));
}
}
}
else if(type == 3){
nodes.add(new Vec3f(0,0,0));
nodes.add(new Vec3f(1,0,10));
nodes.add(new Vec3f(20,0,10));
nodes.add(new Vec3f(20,0,25));
}
else if(type == 4){
float radx=0f,rady=0f,offsetx=0f,offsety;
nodes.add(new Vec3f(0, 0, 0));
for(int i=0;i<100;i++){
offsetx = (float)Math.random()/8f;
offsety = (float)Math.random()/8f;
for(int r=0;r<10;r++){
nodes.add(new Vec3f(nodes.lastElement().x+(float)Math.sin(radx)*2f, i/100f, nodes.lastElement().z+(float)Math.cos(rady)*2f));
radx += offsetx;
rady += offsety;
}
}
}
else if(type == 5){
for(int i=0;i<10;i++){
nodes.add(new Vec3f(i, 0, 0));
}
float x = nodes.lastElement().x;
for(int r=0;r<10;r++){
nodes.add(new Vec3f(x, 0, r+1));
}
}
/*
nodes.add(new Vec3f(0, 0, -20));