Skip to content

Commit

Permalink
fixed pyramid
Browse files Browse the repository at this point in the history
  • Loading branch information
Yvonne Jung committed Aug 12, 2013
1 parent f6f2889 commit adbf848
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 123 deletions.
50 changes: 24 additions & 26 deletions src/nodes/GeometryEDF.js
Original file line number Diff line number Diff line change
Expand Up @@ -429,21 +429,12 @@ x3dom.registerNodeType(
else
{
this._mesh._positions[0] = [
-xBot, -sy, -yBot, -xTop + xOff, sy, -yTop + yOff, xTop + xOff, sy, -yTop + yOff, xBot, -sy, -yBot, //hinten 0,0,-1
-xBot, -sy, yBot, -xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, yTop + yOff, xBot, -sy, yBot, //vorne 0,0,1
-xBot, -sy, -yBot, -xBot, -sy, yBot, -xTop + xOff, sy, yTop + yOff, -xTop + xOff, sy, -yTop + yOff, //links -1,0,0
xBot, -sy, -yBot, xBot, -sy, yBot, xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, -yTop + yOff, //rechts 1,0,0
-xTop + xOff, sy, -yTop + yOff, -xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, -yTop + yOff, //oben 0,1,0
-xBot, -sy, -yBot, -xBot, -sy, yBot, xBot, -sy, yBot, xBot, -sy, -yBot //unten 0,-1,0
];
// TODO: set correct normals!! (could be calculated using slope from bottom to top)
this._mesh._normals[0] = [
0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1,
0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
-1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,
0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0
-xBot, -sy, -yBot, -xTop + xOff, sy, -yTop + yOff, xTop + xOff, sy, -yTop + yOff, xBot, -sy, -yBot,
-xBot, -sy, yBot, -xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, yTop + yOff, xBot, -sy, yBot,
-xBot, -sy, -yBot, -xBot, -sy, yBot, -xTop + xOff, sy, yTop + yOff, -xTop + xOff, sy, -yTop + yOff,
xBot, -sy, -yBot, xBot, -sy, yBot, xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, -yTop + yOff,
-xTop + xOff, sy, -yTop + yOff, -xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, -yTop + yOff,
-xBot, -sy, -yBot, -xBot, -sy, yBot, xBot, -sy, yBot, xBot, -sy, -yBot
];
this._mesh._texCoords[0] = [
1, 0, 1, 1, 0, 1, 0, 0,
Expand All @@ -455,12 +446,16 @@ x3dom.registerNodeType(
];
this._mesh._indices[0] = [
0, 1, 2, 2, 3, 0,
4, 7, 5, 5, 7, 6,
6, 5, 4, 4, 7, 6,
8, 9, 10, 10, 11, 8,
12, 14, 13, 14, 12, 15,
12, 15, 14, 14, 13, 12,
16, 17, 18, 18, 19, 16,
20, 22, 21, 22, 20, 23
20, 23, 22, 22, 21, 20
];

// attention, we share per side, therefore > 0
this._mesh.calcNormals(Math.PI, this._vf.ccw);

this._mesh._invalidate = true;
this._mesh._numFaces = 12;
this._mesh._numCoords = 24;
Expand All @@ -484,19 +479,22 @@ x3dom.registerNodeType(
var sy = this._vf.height / 2;

this._mesh._positions[0] = [
-xBot,-sy,-yBot, -xTop + xOff, sy,-yTop + yOff, xTop + xOff, sy,-yTop + yOff, xBot,-sy,-yBot, //hinten 0,0,-1
-xBot,-sy, yBot, -xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, yTop + yOff, xBot,-sy, yBot, //vorne 0,0,1
-xBot,-sy,-yBot, -xBot,-sy, yBot, -xTop + xOff, sy, yTop + yOff, -xTop + xOff, sy,-yTop + yOff, //links -1,0,0
xBot,-sy,-yBot, xBot,-sy, yBot, xTop + xOff, sy, yTop + yOff, xTop + xOff, sy,-yTop + yOff, //rechts 1,0,0
-xTop + xOff, sy,-yTop + yOff, -xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, yTop + yOff, xTop + xOff, sy,-yTop + yOff, //oben 0,1,0
-xBot,-sy,-yBot, -xBot,-sy, yBot, xBot,-sy, yBot, xBot,-sy,-yBot //unten 0,-1,0
-xBot,-sy,-yBot, -xTop + xOff, sy,-yTop + yOff, xTop + xOff, sy,-yTop + yOff, xBot,-sy,-yBot,
-xBot,-sy, yBot, -xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, yTop + yOff, xBot,-sy, yBot,
-xBot,-sy,-yBot, -xBot,-sy, yBot, -xTop + xOff, sy, yTop + yOff, -xTop + xOff, sy,-yTop + yOff,
xBot,-sy,-yBot, xBot,-sy, yBot, xTop + xOff, sy, yTop + yOff, xTop + xOff, sy,-yTop + yOff,
-xTop + xOff, sy,-yTop + yOff, -xTop + xOff, sy, yTop + yOff, xTop + xOff, sy, yTop + yOff, xTop + xOff, sy,-yTop + yOff,
-xBot,-sy,-yBot, -xBot,-sy, yBot, xBot,-sy, yBot, xBot,-sy,-yBot
];

// TODO: set correct normals!! (could be calculated using slope from bottom to top)
//this._mesh._normals[0] = [];
this._mesh._normals[0] = [];
this._mesh.calcNormals(Math.PI, this._vf.ccw);

this.invalidateVolume();

Array.forEach(this._parentNodes, function (node) {
node._dirty.positions = true;
node.invalidateVolume();
});
}
}
Expand Down
46 changes: 23 additions & 23 deletions test/functional/concave.xhtml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>test</title>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>test</title>
<!-- BEGIN:X3DOM -->
<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge" />
<link rel="stylesheet" type="text/css" href="../../src/x3dom.css" />
Expand Down Expand Up @@ -77,22 +77,22 @@
<script type="text/javascript" src="../../src/nodes/CADGeometry.js"></script>
<script type="text/javascript" src="../../src/nodes/Terrain.js"></script>
<script type="text/javascript" src="../../src/Docs.js"></script>
<!-- END:X3DOM -->
</head>


<body>
<X3D xmlns='http://www.web3d.org/specifications/x3d-namespace' id='someUniqueId' showStat='false' showLog='false' width='400px' height='400px'>
<Scene DEF='scene'>
<Shape>
<Appearance>
<Material diffuseColor='1 0 0'/>
</Appearance>
<IndexedFaceSet coordIndex='0 4 1 8 -1 1 5 2 8 -1 2 6 3 8 -1 3 7 0 8 -1 9 13 10 14 11 15 12 16 -1' convex='false'>
<Coordinate point='1 -1 0 2 0 0 1 1 0 0 0 0 1.25 -0.25 0 1.25 0.25 0 0.75 0.25 0 0.75 -0.25 0 1 0 0 -1 -1 0 0 0 0 -1 1 0 -2 0 0 -0.75 -0.25 0 -0.75 0.25 0 -1.25 0.25 0 -1.25 -0.25 0'/>
</IndexedFaceSet>
</Shape>
</Scene>
</X3D>
</body>
<!-- END:X3DOM -->
</head>


<body>
<X3D xmlns='http://www.web3d.org/specifications/x3d-namespace' id='someUniqueId' showStat='false' showLog='false' width='400px' height='400px'>
<Scene DEF='scene'>
<Shape>
<Appearance>
<Material diffuseColor='1 0 0'/>
</Appearance>
<IndexedFaceSet coordIndex='0 1 2 3 4 5 6 7 8 -1' convex='false'>
<Coordinate point='1 0 0, 0.25 0 -0.25, 0 0 -1, -0.25 0 -0.25, -1 0 0, -0.25 0 0.25, 0 0 1, 0.25 0 0.25, 1 0 0'/>
</IndexedFaceSet>
</Shape>
</Scene>
</X3D>
</body>
</html>
149 changes: 75 additions & 74 deletions test/functional/dumpNodeTypeTree.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,80 +6,81 @@

<title>x3dom node types</title>

<!-- BEGIN:X3DOM -->
<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge" />
<link rel="stylesheet" type="text/css" href="../../src/x3dom.css" />
<script type="text/javascript" src="../../src/lang/Array.js"></script>
<script type="text/javascript" src="../../src/Internals.js"></script>
<script type="text/javascript" src="../../src/debug.js"></script>
<script type="text/javascript" src="../../src/util/AdaptiveRenderControl.js"></script>
<script type="text/javascript" src="../../src/util/DownloadManager.js"></script>
<script type="text/javascript" src="../../src/util/RefinementJobManager.js"></script>
<script type="text/javascript" src="../../src/util/RefinementJobWorker.js"></script>
<script type="text/javascript" src="../../src/util/Properties.js"></script>
<script type="text/javascript" src="../../src/util/DoublyLinkedList.js"></script>
<script type="text/javascript" src="../../src/util/EarClipping.js"></script>
<script type="text/javascript" src="../../src/util/Utils.js"></script>
<script type="text/javascript" src="../../src/util/States.js"></script>
<script type="text/javascript" src="../../src/util/StateManager.js"></script>
<script type="text/javascript" src="../../src/util/BinaryContainerSetup.js"></script>
<script type="text/javascript" src="../../src/util/DrawableCollection.js"></script>
<script type="text/javascript" src="../../src/util/BVH.js"></script>
<script type="text/javascript" src="../../src/X3DCanvas.js"></script>
<script type="text/javascript" src="../../src/Runtime.js"></script>
<script type="text/javascript" src="../../src/Main.js"></script>
<script type="text/javascript" src="../../src/Cache.js"></script>
<script type="text/javascript" src="../../src/Texture.js"></script>
<script type="text/javascript" src="../../src/shader/Shader.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderParts.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderDynamic.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderDynamicMobile.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderComposed.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderNormal.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPicking.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPicking24.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPickingId.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPickingColor.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPickingTexcoord.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderFrontgroundTexture.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderBackgroundTexture.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderBackgroundSkyTexture.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderBackgroundCubeTexture.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderShadow.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderShadowRendering.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderBlur.js"></script>
<script type="text/javascript" src="../../src/gfx_webgl.js"></script>
<script type="text/javascript" src="../../src/gfx_flash.js"></script>
<script type="text/javascript" src="../../src/X3DDocument.js"></script>
<script type="text/javascript" src="../../src/MatrixMixer.js"></script>
<script type="text/javascript" src="../../src/Viewarea.js"></script>
<script type="text/javascript" src="../../src/Mesh.js"></script>
<script type="text/javascript" src="../../src/fields.js"></script>
<script type="text/javascript" src="../../src/nodes/NodeNameSpace.js"></script>
<script type="text/javascript" src="../../src/nodes/Core.js"></script>
<script type="text/javascript" src="../../src/nodes/Grouping.js"></script>
<script type="text/javascript" src="../../src/nodes/Bindable.js"></script>
<script type="text/javascript" src="../../src/nodes/Rendering.js"></script>
<script type="text/javascript" src="../../src/nodes/Shape.js"></script>
<script type="text/javascript" src="../../src/nodes/Lighting.js"></script>
<script type="text/javascript" src="../../src/nodes/Followers.js"></script>
<script type="text/javascript" src="../../src/nodes/Interpolation.js"></script>
<script type="text/javascript" src="../../src/nodes/Time.js"></script>
<script type="text/javascript" src="../../src/nodes/Networking.js"></script>
<script type="text/javascript" src="../../src/nodes/EnvironmentalEffects.js"></script>
<script type="text/javascript" src="../../src/nodes/Navigation.js"></script>
<script type="text/javascript" src="../../src/nodes/Text.js"></script>
<script type="text/javascript" src="../../src/nodes/Sound.js"></script>
<script type="text/javascript" src="../../src/nodes/Texturing.js"></script>
<script type="text/javascript" src="../../src/nodes/Shaders.js"></script>
<script type="text/javascript" src="../../src/nodes/Geometry3D.js"></script>
<script type="text/javascript" src="../../src/nodes/Texturing3D.js"></script>
<script type="text/javascript" src="../../src/nodes/Geospatial.js"></script>
<script type="text/javascript" src="../../src/nodes/Geometry2D.js"></script>
<script type="text/javascript" src="../../src/nodes/VolumeRendering.js"></script>
<script type="text/javascript" src="../../src/nodes/CADGeometry.js"></script>
<script type="text/javascript" src="../../src/nodes/Terrain.js"></script>
<script type="text/javascript" src="../../src/Docs.js"></script>
<!-- BEGIN:X3DOM -->
<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge" />
<link rel="stylesheet" type="text/css" href="../../src/x3dom.css" />
<script type="text/javascript" src="../../src/lang/Array.js"></script>
<script type="text/javascript" src="../../src/Internals.js"></script>
<script type="text/javascript" src="../../src/debug.js"></script>
<script type="text/javascript" src="../../src/util/AdaptiveRenderControl.js"></script>
<script type="text/javascript" src="../../src/util/DownloadManager.js"></script>
<script type="text/javascript" src="../../src/util/RefinementJobManager.js"></script>
<script type="text/javascript" src="../../src/util/RefinementJobWorker.js"></script>
<script type="text/javascript" src="../../src/util/Properties.js"></script>
<script type="text/javascript" src="../../src/util/DoublyLinkedList.js"></script>
<script type="text/javascript" src="../../src/util/EarClipping.js"></script>
<script type="text/javascript" src="../../src/util/Utils.js"></script>
<script type="text/javascript" src="../../src/util/States.js"></script>
<script type="text/javascript" src="../../src/util/StateManager.js"></script>
<script type="text/javascript" src="../../src/util/BinaryContainerSetup.js"></script>
<script type="text/javascript" src="../../src/util/DrawableCollection.js"></script>
<script type="text/javascript" src="../../src/util/BVH.js"></script>
<script type="text/javascript" src="../../src/X3DCanvas.js"></script>
<script type="text/javascript" src="../../src/Runtime.js"></script>
<script type="text/javascript" src="../../src/Main.js"></script>
<script type="text/javascript" src="../../src/Cache.js"></script>
<script type="text/javascript" src="../../src/Texture.js"></script>
<script type="text/javascript" src="../../src/shader/Shader.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderParts.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderDynamic.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderDynamicMobile.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderComposed.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderNormal.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPicking.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPicking24.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPickingId.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPickingColor.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderPickingTexcoord.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderFrontgroundTexture.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderBackgroundTexture.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderBackgroundSkyTexture.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderBackgroundCubeTexture.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderShadow.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderShadowRendering.js"></script>
<script type="text/javascript" src="../../src/shader/ShaderBlur.js"></script>
<script type="text/javascript" src="../../src/gfx_webgl.js"></script>
<script type="text/javascript" src="../../src/gfx_flash.js"></script>
<script type="text/javascript" src="../../src/X3DDocument.js"></script>
<script type="text/javascript" src="../../src/MatrixMixer.js"></script>
<script type="text/javascript" src="../../src/Viewarea.js"></script>
<script type="text/javascript" src="../../src/Mesh.js"></script>
<script type="text/javascript" src="../../src/fields.js"></script>
<script type="text/javascript" src="../../src/nodes/NodeNameSpace.js"></script>
<script type="text/javascript" src="../../src/nodes/Core.js"></script>
<script type="text/javascript" src="../../src/nodes/Grouping.js"></script>
<script type="text/javascript" src="../../src/nodes/Bindable.js"></script>
<script type="text/javascript" src="../../src/nodes/Rendering.js"></script>
<script type="text/javascript" src="../../src/nodes/Shape.js"></script>
<script type="text/javascript" src="../../src/nodes/Lighting.js"></script>
<script type="text/javascript" src="../../src/nodes/Followers.js"></script>
<script type="text/javascript" src="../../src/nodes/Interpolation.js"></script>
<script type="text/javascript" src="../../src/nodes/Time.js"></script>
<script type="text/javascript" src="../../src/nodes/Networking.js"></script>
<script type="text/javascript" src="../../src/nodes/EnvironmentalEffects.js"></script>
<script type="text/javascript" src="../../src/nodes/Navigation.js"></script>
<script type="text/javascript" src="../../src/nodes/Text.js"></script>
<script type="text/javascript" src="../../src/nodes/Sound.js"></script>
<script type="text/javascript" src="../../src/nodes/Texturing.js"></script>
<script type="text/javascript" src="../../src/nodes/Shaders.js"></script>
<script type="text/javascript" src="../../src/nodes/Geometry3D.js"></script>
<script type="text/javascript" src="../../src/nodes/GeometryEDF.js"></script>
<script type="text/javascript" src="../../src/nodes/Texturing3D.js"></script>
<script type="text/javascript" src="../../src/nodes/Geospatial.js"></script>
<script type="text/javascript" src="../../src/nodes/Geometry2D.js"></script>
<script type="text/javascript" src="../../src/nodes/VolumeRendering.js"></script>
<script type="text/javascript" src="../../src/nodes/CADGeometry.js"></script>
<script type="text/javascript" src="../../src/nodes/Terrain.js"></script>
<script type="text/javascript" src="../../src/Docs.js"></script>
<!-- END:X3DOM -->

<!-- BEGIN:TEST -->
Expand Down
4 changes: 4 additions & 0 deletions test/functional/torus.html
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,10 @@
<td>yoff</td>
<td><input type="text" id="yoff" value="0.25" onchange="document.getElementById('geo3').setAttribute('yoff', this.value);"></td>
</tr>
<tr>
<td>height</td>
<td><input type="text" id="heightp" value="1.0" onchange="document.getElementById('geo3').setAttribute('height', this.value);"></td>
</tr>
</table>
</fieldset>
</div>
Expand Down

0 comments on commit adbf848

Please sign in to comment.