mirror of
https://github.com/processing/processing4.git
synced 2026-01-30 11:51:54 +01:00
73 lines
1.9 KiB
Plaintext
73 lines
1.9 KiB
Plaintext
|
|
// Custom Cube Class
|
|
|
|
class Cube{
|
|
PVector[] vertices = new PVector[24];
|
|
float w, h, d;
|
|
|
|
// Default constructor
|
|
Cube(){ }
|
|
|
|
// Constructor 2
|
|
Cube(float w, float h, float d) {
|
|
this.w = w;
|
|
this.h = h;
|
|
this.d = d;
|
|
|
|
// cube composed of 6 quads
|
|
//front
|
|
vertices[0] = new PVector(-w/2,-h/2,d/2);
|
|
vertices[1] = new PVector(w/2,-h/2,d/2);
|
|
vertices[2] = new PVector(w/2,h/2,d/2);
|
|
vertices[3] = new PVector(-w/2,h/2,d/2);
|
|
//left
|
|
vertices[4] = new PVector(-w/2,-h/2,d/2);
|
|
vertices[5] = new PVector(-w/2,-h/2,-d/2);
|
|
vertices[6] = new PVector(-w/2,h/2,-d/2);
|
|
vertices[7] = new PVector(-w/2,h/2,d/2);
|
|
//right
|
|
vertices[8] = new PVector(w/2,-h/2,d/2);
|
|
vertices[9] = new PVector(w/2,-h/2,-d/2);
|
|
vertices[10] = new PVector(w/2,h/2,-d/2);
|
|
vertices[11] = new PVector(w/2,h/2,d/2);
|
|
//back
|
|
vertices[12] = new PVector(-w/2,-h/2,-d/2);
|
|
vertices[13] = new PVector(w/2,-h/2,-d/2);
|
|
vertices[14] = new PVector(w/2,h/2,-d/2);
|
|
vertices[15] = new PVector(-w/2,h/2,-d/2);
|
|
//top
|
|
vertices[16] = new PVector(-w/2,-h/2,d/2);
|
|
vertices[17] = new PVector(-w/2,-h/2,-d/2);
|
|
vertices[18] = new PVector(w/2,-h/2,-d/2);
|
|
vertices[19] = new PVector(w/2,-h/2,d/2);
|
|
//bottom
|
|
vertices[20] = new PVector(-w/2,h/2,d/2);
|
|
vertices[21] = new PVector(-w/2,h/2,-d/2);
|
|
vertices[22] = new PVector(w/2,h/2,-d/2);
|
|
vertices[23] = new PVector(w/2,h/2,d/2);
|
|
}
|
|
void create(){
|
|
// Draw cube
|
|
for (int i=0; i<6; i++){
|
|
beginShape(QUADS);
|
|
for (int j=0; j<4; j++){
|
|
vertex(vertices[j+4*i].x, vertices[j+4*i].y, vertices[j+4*i].z);
|
|
}
|
|
endShape();
|
|
}
|
|
}
|
|
void create(color[]quadBG){
|
|
// Draw cube
|
|
for (int i=0; i<6; i++){
|
|
fill(quadBG[i]);
|
|
beginShape(QUADS);
|
|
for (int j=0; j<4; j++){
|
|
vertex(vertices[j+4*i].x, vertices[j+4*i].y, vertices[j+4*i].z);
|
|
}
|
|
endShape();
|
|
}
|
|
}
|
|
}
|
|
|
|
|