From 66f2e24ee4eaa31c0cbf98ad0dba92c533c7a71a Mon Sep 17 00:00:00 2001 From: Mugen87 Date: Thu, 25 Feb 2016 12:01:49 +0100 Subject: [PATCH] Documentation for BufferGeometry entities --- .../extras/geometries/BoxBufferGeometry.html | 58 +++++++ .../geometries/CircleBufferGeometry.html | 44 +++++ .../api/extras/geometries/CircleGeometry.html | 13 +- .../geometries/PlaneBufferGeometry.html | 50 ++++++ .../geometries/SphereBufferGeometry.html | 57 ++++++ .../geometries/TorusBufferGeometry.html | 51 ++++++ docs/list.js | 5 + docs/scenes/js/geometry.js | 162 ++++++++++++++++++ 8 files changed, 431 insertions(+), 9 deletions(-) create mode 100644 docs/api/extras/geometries/BoxBufferGeometry.html create mode 100644 docs/api/extras/geometries/CircleBufferGeometry.html create mode 100644 docs/api/extras/geometries/PlaneBufferGeometry.html create mode 100644 docs/api/extras/geometries/SphereBufferGeometry.html create mode 100644 docs/api/extras/geometries/TorusBufferGeometry.html diff --git a/docs/api/extras/geometries/BoxBufferGeometry.html b/docs/api/extras/geometries/BoxBufferGeometry.html new file mode 100644 index 0000000000..8d3df72e14 --- /dev/null +++ b/docs/api/extras/geometries/BoxBufferGeometry.html @@ -0,0 +1,58 @@ + + + + + + + + + + + [page:BufferGeometry] → + +

[name]

+ +
This is the [page:BufferGeometry] port of [page:BoxGeometry].
+ + + +

Example

+ + var geometry = new THREE.BoxBufferGeometry( 1, 1, 1 ); + var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} ); + var cube = new THREE.Mesh( geometry, material ); + scene.add( cube ); + + +

Constructor

+ + +

[name]([page:Float width], [page:Float height], [page:Float depth], [page:Integer widthSegments], [page:Integer heightSegments], [page:Integer depthSegments])

+
+ width — Width of the sides on the X axis.
+ height — Height of the sides on the Y axis.
+ depth — Depth of the sides on the Z axis.
+ widthSegments — Optional. Number of segmented faces along the width of the sides. Default is 1.
+ heightSegments — Optional. Number of segmented faces along the height of the sides. Default is 1.
+ depthSegments — Optional. Number of segmented faces along the depth of the sides. Default is 1. +
+ + +

Properties

+ +

.parameters

+
+

Using the above example code above as our basis:

+ + geometry.parameters; // outputs an object {width: 1, height: 1, depth: 1, widthSegments: undefined, heightSegments: undefined} + cube.geometry.parameters; // as above + cube.geometry.parameters.width; // === 1 + cube.geometry.parameters.widthSegments // === undefined. + +
+ +

Source

+ + [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] + + diff --git a/docs/api/extras/geometries/CircleBufferGeometry.html b/docs/api/extras/geometries/CircleBufferGeometry.html new file mode 100644 index 0000000000..a6c3844f3e --- /dev/null +++ b/docs/api/extras/geometries/CircleBufferGeometry.html @@ -0,0 +1,44 @@ + + + + + + + + + + + [page:BufferGeometry] → + +

[name]

+ +
This is the [page:BufferGeometry] port of [page:CircleGeometry].
+ +

Example

+ + + + + var geometry = new THREE.CircleBufferGeometry( 5, 32 ); + var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } ); + var circle = new THREE.Mesh( geometry, material ); + scene.add( circle ); + + + +

Constructor

+ +

[name]([page:Float radius], [page:Integer segments], [page:Float thetaStart], [page:Float thetaLength])

+
+ radius — Radius of the circle, default = 50.
+ segments — Number of segments (triangles), minimum = 3, default = 8.
+ thetaStart — Start angle for first segment, default = 0 (three o'clock position).
+ thetaLength — The central angle, often called theta, of the circular sector. The default is 2*Pi, which makes for a complete circle. +
+ + +

Source

+ + [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] + + diff --git a/docs/api/extras/geometries/CircleGeometry.html b/docs/api/extras/geometries/CircleGeometry.html index 107a0e8cde..8b87480ffc 100644 --- a/docs/api/extras/geometries/CircleGeometry.html +++ b/docs/api/extras/geometries/CircleGeometry.html @@ -19,15 +19,10 @@ - var material = new THREE.MeshBasicMaterial({ - color: 0x0000ff - }); - - var radius = 5; - var segments = 32; - - var circleGeometry = new THREE.CircleGeometry( radius, segments ); - var circle = new THREE.Mesh( circleGeometry, material ); + + var geometry = new THREE.CircleGeometry( 5, 32 ); + var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } ); + var circle = new THREE.Mesh( geometry, material ); scene.add( circle ); diff --git a/docs/api/extras/geometries/PlaneBufferGeometry.html b/docs/api/extras/geometries/PlaneBufferGeometry.html new file mode 100644 index 0000000000..e10a388547 --- /dev/null +++ b/docs/api/extras/geometries/PlaneBufferGeometry.html @@ -0,0 +1,50 @@ + + + + + + + + + + + [page:BufferGeometry] → + +

[name]

+ +
This is the [page:BufferGeometry] port of [page:PlaneGeometry].
+ +

Example

+ + + + var geometry = new THREE.PlaneBufferGeometry( 5, 20, 32 ); + var material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} ); + var plane = new THREE.Mesh( geometry, material ); + scene.add( plane ); + + + +

Constructor

+ + +

[name]([page:Float width], [page:Float height], [page:Integer widthSegments], [page:Integer heightSegments])

+
+ width — Width along the X axis.
+ height — Height along the Y axis.
+ widthSegments — Optional. Default is 1.
+ heightSegments — Optional. Default is 1. +
+ + +

Properties

+ +
+ Each of the contructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry. +
+ +

Source

+ + [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] + + diff --git a/docs/api/extras/geometries/SphereBufferGeometry.html b/docs/api/extras/geometries/SphereBufferGeometry.html new file mode 100644 index 0000000000..995266b53e --- /dev/null +++ b/docs/api/extras/geometries/SphereBufferGeometry.html @@ -0,0 +1,57 @@ + + + + + + + + + + + [page:BufferGeometry] → + +

[name]

+ +
This is the [page:BufferGeometry] port of [page:SphereGeometry].
+ +

Example

+ + + + var geometry = new THREE.SphereBufferGeometry( 5, 32, 32 ); + var material = new THREE.MeshBasicMaterial( {color: 0xffff00} ); + var sphere = new THREE.Mesh( geometry, material ); + scene.add( sphere ); + + +

Constructor

+ + +

[name]([page:Float radius], [page:Integer widthSegments], [page:Integer heightSegments], [page:Float phiStart], [page:Float phiLength], [page:Float thetaStart], [page:Float thetaLength])

+ +
+ radius — sphere radius. Default is 50.
+ widthSegments — number of horizontal segments. Minimum value is 3, and the default is 8.
+ heightSegments — number of vertical segments. Minimum value is 2, and the default is 6.
+ phiStart — specify horizontal starting angle. Default is 0.
+ phiLength — specify horizontal sweep angle size. Default is Math.PI * 2.
+ thetaStart — specify vertical starting angle. Default is 0.
+ thetaLength — specify vertical sweep angle size. Default is Math.PI.
+
+ +
+ The geometry is created by sweeping and calculating vertexes around the Y axis (horizontal sweep) and the Z axis (vertical sweep). Thus, incomplete spheres (akin to 'sphere slices') can be created through the use of different values of phiStart, phiLength, thetaStart and thetaLength, in order to define the points in which we start (or end) calculating those vertices. +
+ + +

Properties

+ +
+ Each of the contructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry. +
+ +

Source

+ + [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] + + diff --git a/docs/api/extras/geometries/TorusBufferGeometry.html b/docs/api/extras/geometries/TorusBufferGeometry.html new file mode 100644 index 0000000000..9cc3ace1f2 --- /dev/null +++ b/docs/api/extras/geometries/TorusBufferGeometry.html @@ -0,0 +1,51 @@ + + + + + + + + + + + [page:BufferGeometry] → + +

[name]

+ +
This is the [page:BufferGeometry] port of [page:TorusGeometry].
+ + + +

Example

+ + var geometry = new THREE.TorusBufferGeometry( 10, 3, 16, 100 ); + var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } ); + var torus = new THREE.Mesh( geometry, material ); + scene.add( torus ); + + + +

Constructor

+ + +

[name]([page:Float radius], [page:Float tube], [page:Integer radialSegments], [page:Integer tubularSegments], [page:Float arc])

+
+ radius — Default is 100.
+ tube — Diameter of the tube. Default is 40.
+ radialSegments — Default is 8
+ tubularSegments — Default is 6.
+ arc — Central angle. Default is Math.PI * 2. +
+ + +

Properties

+ +
+ Each of the contructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry. +
+ +

Source

+ + [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] + + diff --git a/docs/list.js b/docs/list.js index 92e47e221f..78ac3d8815 100644 --- a/docs/list.js +++ b/docs/list.js @@ -191,7 +191,9 @@ var list = { ], "Extras / Geometries": [ + [ "BoxBufferGeometry", "api/extras/geometries/BoxBufferGeometry" ], [ "BoxGeometry", "api/extras/geometries/BoxGeometry" ], + [ "CircleBufferGeometry", "api/extras/geometries/CircleBufferGeometry" ], [ "CircleGeometry", "api/extras/geometries/CircleGeometry" ], [ "CylinderGeometry", "api/extras/geometries/CylinderGeometry" ], [ "DodecahedronGeometry", "api/extras/geometries/DodecahedronGeometry" ], @@ -200,13 +202,16 @@ var list = { [ "LatheGeometry", "api/extras/geometries/LatheGeometry" ], [ "OctahedronGeometry", "api/extras/geometries/OctahedronGeometry" ], [ "ParametricGeometry", "api/extras/geometries/ParametricGeometry" ], + [ "PlaneBufferGeometry", "api/extras/geometries/PlaneBufferGeometry" ], [ "PlaneGeometry", "api/extras/geometries/PlaneGeometry" ], [ "PolyhedronGeometry", "api/extras/geometries/PolyhedronGeometry" ], [ "RingGeometry", "api/extras/geometries/RingGeometry" ], [ "ShapeGeometry", "api/extras/geometries/ShapeGeometry" ], + [ "SphereBufferGeometry", "api/extras/geometries/SphereBufferGeometry" ], [ "SphereGeometry", "api/extras/geometries/SphereGeometry" ], [ "TetrahedronGeometry", "api/extras/geometries/TetrahedronGeometry" ], [ "TextGeometry", "api/extras/geometries/TextGeometry" ], + [ "TorusBufferGeometry", "api/extras/geometries/TorusBufferGeometry" ], [ "TorusGeometry", "api/extras/geometries/TorusGeometry" ], [ "TorusKnotGeometry", "api/extras/geometries/TorusKnotGeometry" ], [ "TubeGeometry", "api/extras/geometries/TubeGeometry" ] diff --git a/docs/scenes/js/geometry.js b/docs/scenes/js/geometry.js index dfc5393b09..3a8c974035 100644 --- a/docs/scenes/js/geometry.js +++ b/docs/scenes/js/geometry.js @@ -93,6 +93,40 @@ function updateGroupGeometry( mesh, geometry ) { var guis = { + BoxBufferGeometry : function( mesh ) { + + var data = { + width : 15, + height : 15, + depth : 15, + widthSegments : 1, + heightSegments : 1, + depthSegments : 1 + }; + + function generateGeometry() { + + updateGroupGeometry( mesh, + new THREE.BoxBufferGeometry( + data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments + ) + ); + + } + + var folder = gui.addFolder( 'THREE.BoxBufferGeometry' ); + + folder.add( data, 'width', 1, 30 ).onChange( generateGeometry ); + folder.add( data, 'height', 1, 30 ).onChange( generateGeometry ); + folder.add( data, 'depth', 1, 30 ).onChange( generateGeometry ); + folder.add( data, 'widthSegments', 1, 10 ).step( 1 ).onChange( generateGeometry ); + folder.add( data, 'heightSegments', 1, 10 ).step( 1 ).onChange( generateGeometry ); + folder.add( data, 'depthSegments', 1, 10 ).step( 1 ).onChange( generateGeometry ); + + generateGeometry(); + + }, + BoxGeometry : function( mesh ) { var data = { @@ -173,6 +207,36 @@ var guis = { }, + CircleBufferGeometry : function( mesh ) { + + var data = { + radius : 10, + segments : 32, + thetaStart : 0, + thetaLength : twoPi, + }; + + function generateGeometry() { + + updateGroupGeometry( mesh, + new THREE.CircleBufferGeometry( + data.radius, data.segments, data.thetaStart, data.thetaLength + ) + ); + + } + + var folder = gui.addFolder( 'THREE.CircleBufferGeometry' ); + + folder.add( data, 'radius', 1, 20 ).onChange( generateGeometry ); + folder.add( data, 'segments', 0, 128 ).step( 1 ).onChange( generateGeometry ); + folder.add( data, 'thetaStart', 0, twoPi ).onChange( generateGeometry ); + folder.add( data, 'thetaLength', 0, twoPi ).onChange( generateGeometry ); + + generateGeometry(); + + }, + CircleGeometry : function( mesh ) { var data = { @@ -281,6 +345,36 @@ var guis = { }, + PlaneBufferGeometry : function( mesh ) { + + var data = { + width : 10, + height : 10, + widthSegments : 1, + heightSegments : 1 + }; + + function generateGeometry() { + + updateGroupGeometry( mesh, + new THREE.PlaneBufferGeometry( + data.width, data.height, data.widthSegments, data.heightSegments + ) + ); + + } + + var folder = gui.addFolder( 'THREE.PlaneBufferGeometry' ); + + folder.add( data, 'width', 1, 30 ).onChange( generateGeometry ); + folder.add( data, 'height', 1, 30 ).onChange( generateGeometry ); + folder.add( data, 'widthSegments', 1, 30 ).step( 1 ).onChange( generateGeometry ); + folder.add( data, 'heightSegments', 1, 30 ).step( 1 ).onChange( generateGeometry ); + + generateGeometry(); + + }, + PlaneGeometry : function( mesh ) { var data = { @@ -345,6 +439,42 @@ var guis = { }, + SphereBufferGeometry : function( mesh ) { + + var data = { + radius : 15, + widthSegments : 8, + heightSegments : 6, + phiStart : 0, + phiLength : twoPi, + thetaStart : 0, + thetaLength : Math.PI, + }; + + function generateGeometry() { + + updateGroupGeometry( mesh, + new THREE.SphereBufferGeometry( + data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength + ) + ); + + } + + var folder = gui.addFolder( 'THREE.SphereBufferGeometry' ); + + folder.add( data, 'radius', 1, 30 ).onChange( generateGeometry ); + folder.add( data, 'widthSegments', 3, 32 ).step( 1 ).onChange( generateGeometry ); + folder.add( data, 'heightSegments', 2, 32 ).step( 1 ).onChange( generateGeometry ); + folder.add( data, 'phiStart', 0, twoPi ).onChange( generateGeometry ); + folder.add( data, 'phiLength', 0, twoPi ).onChange( generateGeometry ); + folder.add( data, 'thetaStart', 0, twoPi ).onChange( generateGeometry ); + folder.add( data, 'thetaLength', 0, twoPi ).onChange( generateGeometry ); + + generateGeometry(); + + }, + SphereGeometry : function( mesh ) { var data = { @@ -473,6 +603,38 @@ var guis = { }, + TorusBufferGeometry : function( mesh ) { + + var data = { + radius : 10, + tube : 3, + radialSegments : 16, + tubularSegments : 100, + arc : twoPi + }; + + function generateGeometry() { + + updateGroupGeometry( mesh, + new THREE.TorusBufferGeometry( + data.radius, data.tube, data.radialSegments, data.tubularSegments, data.arc + ) + ); + + } + + var folder = gui.addFolder( 'THREE.TorusBufferGeometry' ); + + folder.add( data, 'radius', 1, 20 ).onChange( generateGeometry ); + folder.add( data, 'tube', 0.1, 10 ).onChange( generateGeometry ); + folder.add( data, 'radialSegments', 2, 30 ).step( 1 ).onChange( generateGeometry ); + folder.add( data, 'tubularSegments', 3, 200 ).step( 1 ).onChange( generateGeometry ); + folder.add( data, 'arc', 0.1, twoPi ).onChange( generateGeometry ); + + generateGeometry(); + + }, + TorusGeometry : function( mesh ) { var data = { -- GitLab