diff options
author | Pasi Keränen <pasi.keranen@digia.com> | 2015-06-01 11:33:22 +0300 |
---|---|---|
committer | Pasi Keränen <pasi.keranen@digia.com> | 2015-06-01 09:44:35 +0000 |
commit | 29e72a542a57ffeba1385b3d874d11d674683849 (patch) | |
tree | 9e2845fefeb93d1cc43e543c138c31c966f39eac | |
parent | bb3c84a083e5e25e02abb0ead68b6d786ff46d18 (diff) |
Simplifying code in Planets example.
Change-Id: I9a2c5c684b6d0f31c18a4eae23f08f60cf6cca3a
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
-rw-r--r-- | examples/canvas3d/canvas3d/threejs/planets/planets.js | 105 |
1 files changed, 57 insertions, 48 deletions
diff --git a/examples/canvas3d/canvas3d/threejs/planets/planets.js b/examples/canvas3d/canvas3d/threejs/planets/planets.js index e150b08..79c3933 100644 --- a/examples/canvas3d/canvas3d/threejs/planets/planets.js +++ b/examples/canvas3d/canvas3d/threejs/planets/planets.js @@ -221,59 +221,68 @@ function createPlanets() { objects = []; - var mesh; commonGeometry = new THREE.SphereGeometry(1, 64, 64); var ringSegments = 70; + var mesh, innerRadius, outerRadius, ring; for (var i = 0; i < planets.length; i ++) { - if (i === 0) { + switch (i) { + case SUN: mesh = createSun(planets[i]["radius"]); mesh.position.set(0, 0, 0); - } else { - if (i === 1) { - mesh = createPlanet(planets[i]["radius"], 0.005, 'qrc:/images/mercurymap.jpg', - 'qrc:/images/mercurybump.jpg'); - } else if (i === 2) { - mesh = createPlanet(planets[i]["radius"], 0.005, 'qrc:/images/venusmap.jpg', - 'qrc:/images/venusbump.jpg'); - } else if (i === 3) { - mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/earthmap1k.jpg', - 'qrc:/images/earthbump1k.jpg', 'qrc:/images/earthspec1k.jpg'); - var cloud = createEarthCloud(); - mesh.add(cloud); - } else if (i === 4) { - mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/marsmap1k.jpg', - 'qrc:/images/marsbump1k.jpg'); - } else if (i === 5) { - mesh = createPlanet(planets[i]["radius"], 0.02, 'qrc:/images/jupitermap.jpg', - 'qrc:/images/jupitermap.jpg'); - } else if (i === 6) { - mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/saturnmap.jpg', - 'qrc:/images/saturnmap.jpg'); - var innerRadius = (planets[i]["radius"] + 6.630) / planets[i]["radius"]; - var outerRadius = (planets[i]["radius"] + saturnOuterRadius) / planets[i]["radius"]; - var ring = createRing(innerRadius, outerRadius, ringSegments, - 'qrc:images/saturnringcolortrans.png'); - ring.receiveShadow = true; - ring.castShadow = true; - mesh.add(ring); - } else if (i === 7) { - mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/uranusmap.jpg', - 'qrc:/images/uranusmap.jpg'); - var innerRadius = (planets[i]["radius"] + 2) / planets[i]["radius"]; - var outerRadius = (planets[i]["radius"] + uranusOuterRadius) / planets[i]["radius"]; - var ring = createRing(innerRadius, outerRadius, ringSegments, - 'qrc:images/uranusringcolortrans.png'); - ring.receiveShadow = true; - ring.castShadow = true; - mesh.add(ring); - } else if (i === 8) { - mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/neptunemap.jpg', - 'qrc:/images/neptunemap.jpg'); - } else if (i === 9) { - mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/moonmap1k.jpg', - 'qrc:/images/moonbump1k.jpg'); - } + break; + case MERCURY: + mesh = createPlanet(planets[i]["radius"], 0.005, 'qrc:/images/mercurymap.jpg', + 'qrc:/images/mercurybump.jpg'); + break; + case VENUS: + mesh = createPlanet(planets[i]["radius"], 0.005, 'qrc:/images/venusmap.jpg', + 'qrc:/images/venusbump.jpg'); + break; + case EARTH: + mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/earthmap1k.jpg', + 'qrc:/images/earthbump1k.jpg', 'qrc:/images/earthspec1k.jpg'); + var cloud = createEarthCloud(); + mesh.add(cloud); + break; + case MARS: + mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/marsmap1k.jpg', + 'qrc:/images/marsbump1k.jpg'); + break; + case JUPITER: + mesh = createPlanet(planets[i]["radius"], 0.02, 'qrc:/images/jupitermap.jpg', + 'qrc:/images/jupitermap.jpg'); + break; + case SATURN: + mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/saturnmap.jpg', + 'qrc:/images/saturnmap.jpg'); + innerRadius = (planets[i]["radius"] + 6.630) / planets[i]["radius"]; + outerRadius = (planets[i]["radius"] + saturnOuterRadius) / planets[i]["radius"]; + ring = createRing(innerRadius, outerRadius, ringSegments, + 'qrc:images/saturnringcolortrans.png'); + ring.receiveShadow = true; + ring.castShadow = true; + mesh.add(ring); + break; + case URANUS: + mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/uranusmap.jpg', + 'qrc:/images/uranusmap.jpg'); + innerRadius = (planets[i]["radius"] + 2) / planets[i]["radius"]; + outerRadius = (planets[i]["radius"] + uranusOuterRadius) / planets[i]["radius"]; + ring = createRing(innerRadius, outerRadius, ringSegments, + 'qrc:images/uranusringcolortrans.png'); + ring.receiveShadow = true; + ring.castShadow = true; + mesh.add(ring); + break; + case NEPTUNE: + mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/neptunemap.jpg', + 'qrc:/images/neptunemap.jpg'); + break; + case MOON: + mesh = createPlanet(planets[i]["radius"], 0.05, 'qrc:/images/moonmap1k.jpg', + 'qrc:/images/moonbump1k.jpg'); + break; } objects.push(mesh); @@ -656,7 +665,7 @@ function paintGL(canvas) { function getOuterRadius( planet ) { - var outerRadius = 2500000; + var outerRadius = solarDistance; if (planet !== SOLAR_SYSTEM) { outerRadius = planets[planet]["radius"]; if (planet === SATURN) { |