diff --git a/packages/modeling/src/primitives/arc.js b/packages/modeling/src/primitives/arc.js index 1962f8cff..4a2a7c986 100644 --- a/packages/modeling/src/primitives/arc.js +++ b/packages/modeling/src/primitives/arc.js @@ -7,7 +7,9 @@ import * as path2 from '../geometries/path2/index.js' import { isGT, isGTE, isNumberArray } from './commonChecks.js' /** + * * Construct an arc in two dimensional space where all points are at the same distance from the center. + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0]] - center of arc * @param {number} [options.radius=1] - radius of arc diff --git a/packages/modeling/src/primitives/circle.js b/packages/modeling/src/primitives/circle.js index c3124b0fb..ed741c91d 100644 --- a/packages/modeling/src/primitives/circle.js +++ b/packages/modeling/src/primitives/circle.js @@ -7,6 +7,7 @@ import { isGTE } from './commonChecks.js' /** * Construct a circle in two dimensional space where all points are at the same distance from the center. * @see [ellipse]{@link module:modeling/primitives.ellipse} for more options + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0]] - center of circle * @param {number} [options.radius=1] - radius of circle diff --git a/packages/modeling/src/primitives/cube.js b/packages/modeling/src/primitives/cube.js index f0d09b850..86573e61e 100644 --- a/packages/modeling/src/primitives/cube.js +++ b/packages/modeling/src/primitives/cube.js @@ -4,6 +4,7 @@ import { isGTE } from './commonChecks.js' /** * Construct an axis-aligned solid cube in three dimensional space with six square faces. * @see [cuboid]{@link module:modeling/primitives.cuboid} for more options + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0,0]] - center of cube * @param {number} [options.size=2] - dimension of cube diff --git a/packages/modeling/src/primitives/cuboid.js b/packages/modeling/src/primitives/cuboid.js index 1e412380e..3e359908a 100644 --- a/packages/modeling/src/primitives/cuboid.js +++ b/packages/modeling/src/primitives/cuboid.js @@ -5,6 +5,7 @@ import { isNumberArray } from './commonChecks.js' /** * Construct an axis-aligned solid cuboid in three dimensional space. + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0,0]] - center of cuboid * @param {Array} [options.size=[2,2,2]] - dimensions of cuboid; width, depth, height diff --git a/packages/modeling/src/primitives/cylinder.js b/packages/modeling/src/primitives/cylinder.js index 8096b8291..148f2a220 100644 --- a/packages/modeling/src/primitives/cylinder.js +++ b/packages/modeling/src/primitives/cylinder.js @@ -5,6 +5,7 @@ import * as geom3 from '../geometries/geom3/index.js' /** * Construct a Z axis-aligned cylinder in three dimensional space. * @see [cylinderElliptic]{@link module:modeling/primitives.cylinderElliptic} for more options + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0,0]] - center of cylinder * @param {number} [options.height=2] - height of cylinder diff --git a/packages/modeling/src/primitives/cylinderElliptic.js b/packages/modeling/src/primitives/cylinderElliptic.js index e1260d9ee..0dfa1c4e1 100644 --- a/packages/modeling/src/primitives/cylinderElliptic.js +++ b/packages/modeling/src/primitives/cylinderElliptic.js @@ -11,6 +11,7 @@ import { isGT, isGTE, isNumberArray } from './commonChecks.js' /** * Construct a Z axis-aligned elliptic cylinder in three dimensional space. + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0,0]] - center of cylinder * @param {number} [options.height=2] - height of cylinder diff --git a/packages/modeling/src/primitives/ellipse.js b/packages/modeling/src/primitives/ellipse.js index f0e493ebf..7f8c818c5 100644 --- a/packages/modeling/src/primitives/ellipse.js +++ b/packages/modeling/src/primitives/ellipse.js @@ -11,6 +11,7 @@ import { isGTE, isNumberArray } from './commonChecks.js' /** * Construct an axis-aligned ellipse in two dimensional space. * @see https://en.wikipedia.org/wiki/Ellipse + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0]] - center of ellipse * @param {Array} [options.radius=[1,1]] - radius of ellipse, along X and Y diff --git a/packages/modeling/src/primitives/ellipsoid.js b/packages/modeling/src/primitives/ellipsoid.js index e3c1127a8..0577e9954 100644 --- a/packages/modeling/src/primitives/ellipsoid.js +++ b/packages/modeling/src/primitives/ellipsoid.js @@ -9,6 +9,7 @@ import { isGTE, isNumberArray } from './commonChecks.js' /** * Construct an axis-aligned ellipsoid in three dimensional space. + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0,0]] - center of ellipsoid * @param {Array} [options.radius=[1,1,1]] - radius of ellipsoid, along X, Y and Z diff --git a/packages/modeling/src/primitives/geodesicSphere.js b/packages/modeling/src/primitives/geodesicSphere.js index 8f9c81b15..906af4de9 100644 --- a/packages/modeling/src/primitives/geodesicSphere.js +++ b/packages/modeling/src/primitives/geodesicSphere.js @@ -8,6 +8,7 @@ import { isGTE } from './commonChecks.js' /** * Construct a geodesic sphere based on icosahedron symmetry. + * @function * @param {object} [options] - options for construction * @param {number} [options.radius=1] - target radius of sphere * @param {number} [options.frequency=6] - subdivision frequency per face, multiples of 6 diff --git a/packages/modeling/src/primitives/line.js b/packages/modeling/src/primitives/line.js index dc0c0314d..ed60b66b1 100644 --- a/packages/modeling/src/primitives/line.js +++ b/packages/modeling/src/primitives/line.js @@ -3,6 +3,7 @@ import * as path2 from '../geometries/path2/index.js' /** * Construct a new line in two dimensional space from the given points. * The points must be provided as an array, where each element is a 2D point. + * @function * @param {Array} points - array of points from which to create the path * @returns {Path2} new 2D path * @alias module:modeling/primitives.line diff --git a/packages/modeling/src/primitives/polygon.js b/packages/modeling/src/primitives/polygon.js index 646894a8c..f2d802036 100644 --- a/packages/modeling/src/primitives/polygon.js +++ b/packages/modeling/src/primitives/polygon.js @@ -4,7 +4,7 @@ import * as geom2 from '../geometries/geom2/index.js' * Construct a polygon in two dimensional space from a list of points, or a list of points and paths. * * NOTE: The ordering of points is important, and must define a counter clockwise rotation of points. - * + * @function * @param {object} options - options for construction * @param {Array} options.points - points of the polygon : either flat or nested array of 2D points * @param {Array} [options.paths] - paths of the polygon : either flat or nested array of point indexes diff --git a/packages/modeling/src/primitives/polyhedron.js b/packages/modeling/src/primitives/polyhedron.js index 41bf7d607..090aa0798 100644 --- a/packages/modeling/src/primitives/polyhedron.js +++ b/packages/modeling/src/primitives/polyhedron.js @@ -8,6 +8,7 @@ import { isNumberArray } from './commonChecks.js' * * The faces can define outward or inward facing polygons (orientation). * However, each face must define a counterclockwise rotation of vertices which follows the right hand rule. + * @function * @param {object} options - options for construction * @param {Array} options.points - list of points in 3D space * @param {Array} options.faces - list of faces, where each face is a set of indexes into the points diff --git a/packages/modeling/src/primitives/rectangle.js b/packages/modeling/src/primitives/rectangle.js index 6b45a2771..77fb58b60 100644 --- a/packages/modeling/src/primitives/rectangle.js +++ b/packages/modeling/src/primitives/rectangle.js @@ -6,6 +6,7 @@ import { isNumberArray } from './commonChecks.js' /** * Construct an axis-aligned rectangle in two dimensional space with four sides at right angles. + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0]] - center of rectangle * @param {Array} [options.size=[2,2]] - dimension of rectangle, width and length diff --git a/packages/modeling/src/primitives/roundedCuboid.js b/packages/modeling/src/primitives/roundedCuboid.js index f6fea3a3a..4b5c24480 100644 --- a/packages/modeling/src/primitives/roundedCuboid.js +++ b/packages/modeling/src/primitives/roundedCuboid.js @@ -115,6 +115,7 @@ const stitchSides = (bottomCorners, topCorners) => { /** * Construct an axis-aligned solid cuboid in three dimensional space with rounded corners. + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0,0]] - center of rounded cube * @param {Array} [options.size=[2,2,2]] - dimension of rounded cube; width, depth, height diff --git a/packages/modeling/src/primitives/roundedCylinder.js b/packages/modeling/src/primitives/roundedCylinder.js index 294ee3077..0e7477ac4 100644 --- a/packages/modeling/src/primitives/roundedCylinder.js +++ b/packages/modeling/src/primitives/roundedCylinder.js @@ -12,6 +12,7 @@ import { cylinder } from './cylinder.js' /** * Construct a Z axis-aligned solid cylinder in three dimensional space with rounded ends. + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0,0]] - center of cylinder * @param {number} [options.height=2] - height of cylinder diff --git a/packages/modeling/src/primitives/roundedRectangle.js b/packages/modeling/src/primitives/roundedRectangle.js index 1042c83fc..8e15f7fb3 100644 --- a/packages/modeling/src/primitives/roundedRectangle.js +++ b/packages/modeling/src/primitives/roundedRectangle.js @@ -10,6 +10,7 @@ import { rectangle } from './rectangle.js' /** * Construct an axis-aligned rectangle in two dimensional space with rounded corners. + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0]] - center of rounded rectangle * @param {Array} [options.size=[2,2]] - dimension of rounded rectangle; width and length diff --git a/packages/modeling/src/primitives/sphere.js b/packages/modeling/src/primitives/sphere.js index 915552309..1be25c9f8 100644 --- a/packages/modeling/src/primitives/sphere.js +++ b/packages/modeling/src/primitives/sphere.js @@ -4,6 +4,7 @@ import { isGTE } from './commonChecks.js' /** * Construct a sphere in three dimensional space where all vertices are at the same distance from the center. * @see [ellipsoid]{@link module:modeling/primitives.ellipsoid} for more options + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0,0]] - center of sphere * @param {number} [options.radius=1] - radius of sphere diff --git a/packages/modeling/src/primitives/square.js b/packages/modeling/src/primitives/square.js index f667eb3be..33fc792df 100644 --- a/packages/modeling/src/primitives/square.js +++ b/packages/modeling/src/primitives/square.js @@ -4,6 +4,7 @@ import { isGTE } from './commonChecks.js' /** * Construct an axis-aligned square in two dimensional space with four equal sides at right angles. * @see [rectangle]{@link module:modeling/primitives.rectangle} for more options + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0]] - center of square * @param {number} [options.size=2] - dimension of square diff --git a/packages/modeling/src/primitives/star.js b/packages/modeling/src/primitives/star.js index 2551fdc60..4b78420ee 100644 --- a/packages/modeling/src/primitives/star.js +++ b/packages/modeling/src/primitives/star.js @@ -29,6 +29,7 @@ const getPoints = (vertices, radius, startAngle, center) => { /** * Construct a star in two dimensional space. * @see https://en.wikipedia.org/wiki/Star_polygon + * @function * @param {object} [options] - options for construction * @param {Array} [options.center=[0,0]] - center of star * @param {number} [options.vertices=5] - number of vertices (P) on the star diff --git a/packages/modeling/src/primitives/torus.js b/packages/modeling/src/primitives/torus.js index 9bb867ced..544855da3 100644 --- a/packages/modeling/src/primitives/torus.js +++ b/packages/modeling/src/primitives/torus.js @@ -10,6 +10,7 @@ import { isGT, isGTE } from './commonChecks.js' /** * Construct a torus by revolving a small circle (inner) about the circumference of a large (outer) circle. + * @function * @param {object} [options] - options for construction * @param {number} [options.innerRadius=1] - radius of small (inner) circle * @param {number} [options.outerRadius=4] - radius of large (outer) circle diff --git a/packages/modeling/src/primitives/triangle.js b/packages/modeling/src/primitives/triangle.js index d779b1156..c4449567a 100644 --- a/packages/modeling/src/primitives/triangle.js +++ b/packages/modeling/src/primitives/triangle.js @@ -117,6 +117,7 @@ const createTriangle = (A, B, C, a, b, c) => { * Construct a triangle in two dimensional space from the given options. * The triangle is always constructed CCW from the origin, [0, 0, 0]. * @see https://www.mathsisfun.com/algebra/trig-solving-triangles.html + * @function * @param {object} [options] - options for construction * @param {string} [options.type='SSS'] - type of triangle to construct; A ~ angle, S ~ side * @param {Array} [options.values=[1,1,1]] - angle (radians) of corners or length of sides diff --git a/packages/utils/regl-renderer/README.md b/packages/utils/regl-renderer/README.md index b74c69fdc..e8e3d6f35 100644 --- a/packages/utils/regl-renderer/README.md +++ b/packages/utils/regl-renderer/README.md @@ -63,7 +63,10 @@ The source code of the demo can be found in 'demo-cli.js' This module has been tested using several browsers, includig Firefox, Chrome, Safari, etc. For an exmple of how to use the module, please see 'demo.es.html' -NOTE: 'demo.es.html' cannot be opened from the local file system. This is due to CORS security limitiations. See the next section. +NOTE: + +* 'demo.es.html' cannot be opened from the local file system. This is due to CORS security limitiations. See the next section. +* One needs to link/copy the file `jscad-dpdeling.es.js` in this directory. For example in Linux: `ln -s ../../modeling/dist/jscad-modeling.es.js`. ### Developers diff --git a/packages/utils/regl-renderer/demo.es.html b/packages/utils/regl-renderer/demo.es.html index 8373c9e61..cafaf538c 100644 --- a/packages/utils/regl-renderer/demo.es.html +++ b/packages/utils/regl-renderer/demo.es.html @@ -1,8 +1,8 @@ - +
-