1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
   | /**
 * Objet geometrique qui represente un cube dont les faces visibles
 * sont colorees
 */
class Cube extends Shape3D {
 
  /**
   * Constructeur
   */
  public Cube() {
    // Les coordonnees des 16 sommets des 4 faces visibles du cube
    // Face 1
    Point3f face1_s1 = new Point3f(-0.5f, 0.5f, 0.5f);
    Point3f face1_s2 = new Point3f(-0.5f, -0.5f, 0.5f);
    Point3f face1_s3 = new Point3f( 0.5f, -0.5f, 0.5f);
    Point3f face1_s4 = new Point3f( 0.5f, 0.5f, 0.5f);
 
    // Face 2
    Point3f face2_s1 = new Point3f( 0.5f, 0.5f, 0.5f);
    Point3f face2_s2 = new Point3f( 0.5f, -0.5f, 0.5f);
    Point3f face2_s3 = new Point3f( 0.5f, -0.5f, -0.5f);
    Point3f face2_s4 = new Point3f( 0.5f, 0.5f, -0.5f);
 
    // Face 3
    Point3f face3_s1 = new Point3f( 0.5f, 0.5f, -0.5f);
    Point3f face3_s2 = new Point3f( 0.5f, -0.5f, -0.5f);
    Point3f face3_s3 = new Point3f(-0.5f, -0.5f, -0.5f);
    Point3f face3_s4 = new Point3f(-0.5f, 0.5f, -0.5f);
 
    // Face 4
    Point3f face4_s1 = new Point3f(-0.5f, 0.5f, -0.5f);
    Point3f face4_s2 = new Point3f(-0.5f, -0.5f, -0.5f);
    Point3f face4_s3 = new Point3f(-0.5f, -0.5f, 0.5f);
    Point3f face4_s4 = new Point3f(-0.5f, 0.5f, 0.5f);
 
    // Les couleurs des 4 faces visibles du cube
    Color3f color1 = new Color3f(Color.red);
    Color3f color2 = new Color3f(Color.green);
    Color3f color3 = new Color3f(Color.blue);
    Color3f color4 = new Color3f(Color.yellow);
 
    // Construction de l'objet geometrique QuadArray constitue de 16
    // points
    QuadArray quadArray = new QuadArray(16,
                                        QuadArray.COORDINATES | QuadArray.COLOR_3);
 
    // Tableau des points constituant les 4 faces (quadrilateres) qui
    // sont visibles
    quadArray.setCoordinates(0, new Point3f[] {
    /* face 1 */             face1_s1, face1_s2, face1_s3, face1_s4,
    /* face 2 */             face2_s1, face2_s2, face2_s3, face2_s4,
    /* face 3 */             face3_s1, face3_s2, face3_s3, face3_s4,
    /* face 4 */             face4_s1, face4_s2, face4_s3, face4_s4
    });
 
    // Tableau des couleurs des 4 sommets de chaque face
    quadArray.setColors(0, new Color3f[] {
    /* couleur face 1 */ color1, color1, color1, color1,
    /* couleur face 2 */ color2, color2, color2, color2,
    /* couleur face 3 */ color3, color3, color3, color3,
    /* couleur face 4 */ color4, color4, color4, color4
    });
 
    this.setGeometry(quadArray);
  } // fin constructeur
} // fin class Cube extends Shape3D | 
Partager