API
Classes
Members
- createGrid ⇒
Grid
Create a grid
- createGrid3D ⇒
Grid3D
- createPoint ⇒
GridPoint
Functions
- getPoints() ⇒
Array.<Array.<GridPoint>>
Get all the current points on the grid warning: gets the points array by reference. Changes to individual points will be reflected in the original grid object. To get a deep copy use grid.copy(). eg. grid.copy.get()
- set() ⇒
void
Replaces all the current points on the grid warning: sets a reference to the provided points. Changes in made by this grid object to the points will be reflected in the provided points array.
- getPoint(col, row) ⇒
GridPoint
Gets a point from from indeces [col, row]
- getFlat() ⇒
Array.<GridPoint>
returns a one dimensional array of GridPoints of the grid. One column pushed after the other.
draw(func, condition) ⇒Grid
Loops over the points in the grid, passing each point to the provided func parameter Provide a drawing function
- every(func, condition) ⇒
Grid
Loops over the points in the grid, passing each point to the provided func parameter
- transform(func, condition) ⇒
Grid
Transforms x, y values of points on the grid using the supplied transform function. control which points are getting affected by supplying a condition
- translate(x, y, [condition]) ⇒
Grid
Translates the entire grid by x en y coordinates
- copy() ⇒
Grid
Creates a deep copy of the current grid object
- setPoint(col, row, layer, point)
- every(func, condition) ⇒
Grid3D
Loops over the points in the grid, passing each point to the provided func parameter
- transform(func, condition) ⇒
Grid3D
Transforms x, y, z values of points on the grid using the supplied transform function. control which points are getting affected by supplying a condition
Grid
Kind: global class
new Grid(cols, rows, width, height, [shape])
The main Grid class containing all a two dimensional array of GridPoints and methods to manipulate the GridPoints on grid.
Param | Type | Description |
---|---|---|
cols | number | the amount of columns the grid needs to contain |
rows | number | the amount of rows the grid needs to contain |
width | number | the width of the grid |
height | number | the height of the grid |
[shape] | GridShape | the shape of the grid (RECTANGLE or ELLIPSE). Defaults to a rectangular shaped grid. |
Grid3D
Kind: global class
new Grid3D(cols, rows, layers, width, height, depth)
The main Grid class containing all a two dimensional array of GridPoints and methods to manipulate the GridPoints on grid.
Param | Type | Description |
---|---|---|
cols | number | the amount of columns the grid needs to contain |
rows | number | the amount of rows the grid needs to contain |
layers | number | the amount of layers the grid needs to contain |
width | number | the width of the grid |
height | number | the height of the grid |
depth | number | the depth of the grid |
GridPoint
Kind: global class
Properties
Name | Type | Description |
---|---|---|
x | number | the x coordinate of the point |
y | number | the y coordinate of the point |
z | number | the y coordinate of the point |
new GridPoint(x, y, [z])
Represent a single point on the grid.
Param | Type | Description |
---|---|---|
x | number | the x coordinate of the point |
y | number | the y coordinate of the point |
[z] | number | the y coordinate of the point |
createGrid ⇒ Grid
Create a grid
Kind: global variable
Param | Type |
---|---|
options | GridOptions |
Example
const grid = createGrid({cols: 3, rows: 5, width 1080, height: 1080});
createGrid3D ⇒ Grid3D
Kind: global variable
Param |
---|
options |
Example
const grid = createGrid({cols: 3, rows: 5, layers: 8 , width 1080, height: 1080, depth: 1080});
createPoint ⇒ GridPoint
Kind: global variable
Returns: GridPoint
- a point on a the x, y, z plane. Can be set to a specific index on the grid using the Grid
or Grid3D
setPoint
methods
Param |
---|
x |
y |
z |
Example
// Create and set a point on a grid
const grid = createGrid({cols:5, rows: 8, width 1920, height: 1080});
const firstPoint = createPoint(-10, -10);
grid.setPoint(0, 0, firstPoint);
GridShape : enum
Enum used to determine the grid shape in the Grid constructor. Values: RECTANGLE or ELLIPSE.
Kind: global enum
Read only: true
getPoints() ⇒ Array.<Array.<GridPoint>>
Get all the current points on the grid warning: gets the points array by reference. Changes to individual points will be reflected in the original grid object. To get a deep copy use grid.copy(). eg. grid.copy.get()
Kind: global function
set() ⇒ void
Replaces all the current points on the grid
warning: sets a reference to the provided points. Changes in made by this grid object to the points will be reflected in the provided points array.Kind: global function
getPoint(col, row) ⇒ GridPoint
Gets a point from from indeces [col, row]
Kind: global function
Param | Type | Description |
---|---|---|
col | number | the col index |
row | number | the row index |
getFlat() ⇒ Array.<GridPoint>
returns a one dimensional array of GridPoints of the grid. One column pushed after the other.
Kind: global function
draw(func, condition) ⇒ Grid
Grid
Deprecated
Loops over the points in the grid, passing each point to the provided func parameter Provide a drawing function
Kind: global function
Returns: Grid
- returns @this Grid Object. Used for chaining Grid methods
Param | Type | Description |
---|---|---|
func | GridFunction | a function that handles drawing of each individual point |
condition | Condition | an optional condition for which points to draw |
every(func, condition) ⇒ Grid
Loops over the points in the grid, passing each point to the provided func parameter
Kind: global function
Returns: Grid
- returns @this Grid Object. Used for chaining Grid methods
Param | Type | Description |
---|---|---|
func | GridFunction | a function to access each point and row/col indices |
condition | Condition | an optional condition for which points to execute func over |
transform(func, condition) ⇒ Grid
Transforms x, y values of points on the grid using the supplied transform function. control which points are getting affected by supplying a condition
Kind: global function
Returns: Grid
- returns @this Grid Object. Used for chaining Grid methods
- @example // Translates the grid on the x-axis by 5 and on the y-axis by 8 grid.transform((point) => { point.x += 5; point.y += 8; return point; // Make sure to return the transformed point })
Param | Type | Description |
---|---|---|
func | TransformFunction | a function to transform the point's x, y values. Must return the transformed point. |
condition | Condition | an optional condition for which points to be affected |
translate(x, y, [condition]) ⇒ Grid
Translates the entire grid by x en y coordinates
Kind: global function
Returns: Grid
- returns @this Grid Object. Used for chaining Grid methods
Param | Type | Description |
---|---|---|
x | number | the x coordinates to translate the points with |
y | number | the y coordinates to translate the points with |
[condition] | Condition | an optional condition for which points to translate |
copy() ⇒ Grid
Creates a deep copy of the current grid object
Kind: global function
Returns: Grid
- a new instance of Grid of with the same coordinate values as @this Grid
setPoint(col, row, layer, point)
Kind: global function
Param |
---|
col |
row |
layer |
point |
Example
// Create and set a point on a grid
const grid = createGrid({cols: 3, rows: 5, layers: 8 , width 1080, height: 1080, depth: 1080});
const firstPoint = createPoint(-540, -540, -540);
grid.setPoint(0, 0, 0, firstPoint);
every(func, condition) ⇒ Grid3D
Loops over the points in the grid, passing each point to the provided func parameter
Kind: global function
Returns: Grid3D
- returns @this Grid3D Object. Used for chaining Grid methods
Param | Type | Description |
---|---|---|
func | GridFunction | a function to access each point and row/col indices |
condition | Condition | an optional condition for which points to execute func over |
Example
// draw a spheres on the grid where the size depends on the position on the grid
// sphere is a pseudo function to draw spheres to a html canvas.
grid.every((point, col, row, layer) => {
const radius = (col + row + layer + 1) * 5;
sphere(point.x, point.y, point.z, radius);
})
transform(func, condition) ⇒ Grid3D
Transforms x, y, z values of points on the grid using the supplied transform function. control which points are getting affected by supplying a condition
Kind: global function
Returns: Grid3D
- returns @this Grid3D Object. Used for chaining Grid methods
Param | Type | Description |
---|---|---|
func | TransformFunction | a function to transform the point's x, y values. Must return the transformed point. |
condition | Condition | an optional condition for which points to be affected |
Example
// Translates the grid on the y-axis by 10 and on the z-axis by 5
grid.transform((point) => {
point.y += 10;
point.z += 5;
return point; // Make sure to return the transformed point
})