flow like the river
This commit is contained in:
commit
013fe673f3
42435 changed files with 5764238 additions and 0 deletions
21
VISUALIZACION/node_modules/three-forcegraph/LICENSE
generated
vendored
Executable file
21
VISUALIZACION/node_modules/three-forcegraph/LICENSE
generated
vendored
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2017 Vasco Asturiano
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
145
VISUALIZACION/node_modules/three-forcegraph/README.md
generated
vendored
Executable file
145
VISUALIZACION/node_modules/three-forcegraph/README.md
generated
vendored
Executable file
|
|
@ -0,0 +1,145 @@
|
|||
ThreeJS Force-Directed Graph
|
||||
============================
|
||||
|
||||
[![NPM package][npm-img]][npm-url]
|
||||
[![Build Size][build-size-img]][build-size-url]
|
||||
[![NPM Downloads][npm-downloads-img]][npm-downloads-url]
|
||||
|
||||
<p align="center">
|
||||
<a href="https://observablehq.com/@vasturiano/3d-force-directed-graph"><img width="80%" src="https://vasturiano.github.io/three-forcegraph/example/preview.png"></a>
|
||||
</p>
|
||||
|
||||
A [ThreeJS](https://threejs.org/) WebGL class to represent a graph data structure in a 3-dimensional space using a force-directed iterative layout.
|
||||
Uses either [d3-force-3d](https://github.com/vasturiano/d3-force-3d) or [ngraph](https://github.com/anvaka/ngraph.forcelayout3d) for the underlying physics engine.
|
||||
|
||||
See also the [standalone version](https://github.com/vasturiano/3d-force-graph).
|
||||
|
||||
## Quick start
|
||||
|
||||
```js
|
||||
import ThreeForceGraph from 'three-forcegraph';
|
||||
```
|
||||
or using a *script* tag
|
||||
```html
|
||||
<script src="//unpkg.com/three-forcegraph"></script>
|
||||
```
|
||||
then
|
||||
```js
|
||||
const myGraph = new ThreeForceGraph()
|
||||
.graphData(myData);
|
||||
|
||||
const myScene = new THREE.Scene();
|
||||
myScene.add(myGraph);
|
||||
|
||||
...
|
||||
|
||||
// on animation frame
|
||||
myGraph.tickFrame();
|
||||
```
|
||||
|
||||
## API reference
|
||||
|
||||
| Method | Description | Default |
|
||||
| --- | --- | :--: |
|
||||
| <b>graphData</b>([<i>data</i>]) | Getter/setter for graph data structure (see below for syntax details). Can also be used to apply [incremental updates](https://observablehq.com/@vasturiano/dynamic-3d-graph). | `{ nodes: [], links: [] }` |
|
||||
| <b>jsonUrl</b>([<i>url</i>]) | URL of JSON file to load graph data directly from, as an alternative to specifying <i>graphData</i> directly. | |
|
||||
| <b>numDimensions</b>([<i>int</i>]) | Getter/setter for number of dimensions to run the force simulation on (1, 2 or 3). | 3 |
|
||||
| <b>dagMode</b>([<i>str</i>]) | Apply layout constraints based on the graph directionality. Only works correctly for [DAG](https://en.wikipedia.org/wiki/Directed_acyclic_graph) graph structures (without cycles). Choice between `td` (top-down), `bu` (bottom-up), `lr` (left-to-right), `rl` (right-to-left), `zout` (near-to-far), `zin` (far-to-near), `radialout` (outwards-radially) or `radialin` (inwards-radially). | |
|
||||
| <b>dagLevelDistance</b>([<i>num</i>]) | If `dagMode` is engaged, this specifies the distance between the different graph depths. | *auto-derived from the number of nodes* |
|
||||
| <b>dagNodeFilter</b>([<i>fn</i>]) | Node accessor function to specify nodes to ignore during the DAG layout processing. This accessor method receives a node object and should return a `boolean` value indicating whether the node is to be included. Excluded nodes will be left unconstrained and free to move in any direction. | `node => true` |
|
||||
| <b>onDagError</b>([<i>fn</i>]) | Callback to invoke if a cycle is encountered while processing the data structure for a DAG layout. The loop segment of the graph is included for information, as an array of node ids. By default an exception will be thrown whenever a loop is encountered. You can override this method to handle this case externally and allow the graph to continue the DAG processing. Strict graph directionality is not guaranteed if a loop is encountered and the result is a best effort to establish a hierarchy. | *throws exception* |
|
||||
| <b>nodeRelSize</b>([<i>num</i>]) | Getter/setter for the ratio of node sphere volume (cubic px) per value unit. | 4 |
|
||||
| <b>nodeId</b>([<i>str</i>]) | Node object accessor attribute for unique node id (used in link objects source/target). | `id` |
|
||||
| <b>nodeVal</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Node object accessor function, attribute or a numeric constant for the node numeric value (affects sphere volume). | `val` |
|
||||
| <b>nodeResolution</b>([<i>num</i>]) | Getter/setter for the geometric resolution of each node, expressed in how many slice segments to divide the circumference. Higher values yield smoother spheres. | 8 |
|
||||
| <b>nodeVisibility</b>([<i>boolean</i>, <i>str</i> or <i>fn</i>]) | Node object accessor function, attribute or a boolean constant for whether to display the node. | `true` |
|
||||
| <b>nodeColor</b>([<i>str</i> or <i>fn</i>]) | Node object accessor function or attribute for node color (affects sphere color). | `color` |
|
||||
| <b>nodeAutoColorBy</b>([<i>str</i> or <i>fn</i>]) | Node object accessor function (`fn(node)`) or attribute (e.g. `'type'`) to automatically group colors by. Only affects nodes without a color attribute. | |
|
||||
| <b>nodeOpacity</b>([<i>num</i>]) | Getter/setter for all the nodes sphere opacity, between [0,1]. | 0.75 |
|
||||
| <b>nodeThreeObject</b>([<i>Object3d</i>, <i>str</i> or <i>fn</i>]) | Node object accessor function or attribute for generating a custom 3d object to render as graph nodes. Should return an instance of [ThreeJS Object3d](https://threejs.org/docs/index.html#api/core/Object3D). If a <i>falsy</i> value is returned, the default 3d object type will be used instead for that node. | *default node object is a sphere, sized according to `val` and styled according to `color`.* |
|
||||
| <b>nodeThreeObjectExtend</b>([<i>bool</i>, <i>str</i> or <i>fn</i>]) | Node object accessor function, attribute or a boolean value for whether to replace the default node when using a custom `nodeThreeObject` (`false`) or to extend it (`true`). | `false` |
|
||||
| <b>nodePositionUpdate</b>([<i>fn(nodeObject, coords, node)</i>]) | Getter/setter for the custom function to call for updating the position of nodes at every render iteration. It receives the respective node `ThreeJS Object3d`, the coordinates of the node (`{x,y,z}` each), and the node's `data`. If the function returns a truthy value, the regular position update function will not run for that node. | |
|
||||
| <b>linkSource</b>([<i>str</i>]) | Link object accessor attribute referring to id of source node. | `source` |
|
||||
| <b>linkTarget</b>([<i>str</i>]) | Link object accessor attribute referring to id of target node. | `target` |
|
||||
| <b>linkVisibility</b>([<i>boolean</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a boolean constant for whether to display the link line. A value of `false` maintains the link force without rendering it. | `true` |
|
||||
| <b>linkColor</b>([<i>str</i> or <i>fn</i>]) | Link object accessor function or attribute for line color. | `color` |
|
||||
| <b>linkAutoColorBy</b>([<i>str</i> or <i>fn</i>]) | Link object accessor function (`fn(link)`) or attribute (e.g. `'type'`) to automatically group colors by. Only affects links without a color attribute. | |
|
||||
| <b>linkOpacity</b>([<i>num</i>]) | Getter/setter for line opacity of all the links, between [0,1]. | 0.2 |
|
||||
| <b>linkWidth</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a numeric constant for the link line width. A value of zero will render a [ThreeJS Line](https://threejs.org/docs/#api/objects/Line) whose width is constant (`1px`) regardless of distance. Values are rounded to the nearest decimal for indexing purposes. | 0 |
|
||||
| <b>linkResolution</b>([<i>num</i>]) | Getter/setter for the geometric resolution of each link, expressed in how many radial segments to divide the cylinder. Higher values yield smoother cylinders. Applicable only to links with positive width. | 6 |
|
||||
| <b>linkCurvature</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a numeric constant for the curvature radius of the link line. Curved lines are represented as 3D bezier curves, and any numeric value is accepted. A value of `0` renders a straight line. `1` indicates a radius equal to half of the line length, causing the curve to approximate a semi-circle. For self-referencing links (`source` equal to `target`) the curve is represented as a loop around the node, with length proportional to the curvature value. Lines are curved clockwise for positive values, and counter-clockwise for negative values. Note that rendering curved lines is purely a visual effect and does not affect the behavior of the underlying forces. | 0 |
|
||||
| <b>linkCurveRotation</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a numeric constant for the rotation along the line axis to apply to the curve. Has no effect on straight lines. At `0` rotation, the curve is oriented in the direction of the intersection with the `XY` plane. The rotation angle (in radians) will rotate the curved line clockwise around the "start-to-end" axis from this reference orientation. | 0 |
|
||||
| <b>linkMaterial</b>([<i>Material</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function or attribute for specifying a custom material to style the graph links with. Should return an instance of [ThreeJS Material](https://threejs.org/docs/#api/materials/Material). If a <i>falsy</i> value is returned, the default material will be used instead for that link. | *default link material is [MeshLambertMaterial](https://threejs.org/docs/#api/materials/MeshLambertMaterial) styled according to `color` and `opacity`.* |
|
||||
| <b>linkThreeObject</b>([<i>Object3d</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function or attribute for generating a custom 3d object to render as graph links. Should return an instance of [ThreeJS Object3d](https://threejs.org/docs/index.html#api/core/Object3D). If a <i>falsy</i> value is returned, the default 3d object type will be used instead for that link. | *default link object is a line or cylinder, sized according to `width` and styled according to `material`.* |
|
||||
| <b>linkThreeObjectExtend</b>([<i>bool</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a boolean value for whether to replace the default link when using a custom `linkThreeObject` (`false`) or to extend it (`true`). | `false` |
|
||||
| <b>linkPositionUpdate</b>([<i>fn(linkObject, { start, end }, link)</i>]) | Getter/setter for the custom function to call for updating the position of links at every render iteration. It receives the respective link `ThreeJS Object3d`, the `start` and `end` coordinates of the link (`{x,y,z}` each), and the link's `data`. If the function returns a truthy value, the regular position update function will not run for that link. | |
|
||||
| <b>linkDirectionalArrowLength</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a numeric constant for the length of the arrow head indicating the link directionality. The arrow is displayed directly over the link line, and points in the direction of `source` > `target`. A value of `0` hides the arrow. | 0 |
|
||||
| <b>linkDirectionalArrowColor</b>([<i>str</i> or <i>fn</i>]) | Link object accessor function or attribute for the color of the arrow head. | `color` |
|
||||
| <b>linkDirectionalArrowRelPos</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a numeric constant for the longitudinal position of the arrow head along the link line, expressed as a ratio between `0` and `1`, where `0` indicates immediately next to the `source` node, `1` next to the `target` node, and `0.5` right in the middle. | 0.5 |
|
||||
| <b>linkDirectionalArrowResolution</b>([<i>num</i>]) | Getter/setter for the geometric resolution of the arrow head, expressed in how many slice segments to divide the cone base circumference. Higher values yield smoother arrows. | 8 |
|
||||
| <b>linkDirectionalParticles</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a numeric constant for the number of particles (small spheres) to display over the link line. The particles are distributed equi-spaced along the line, travel in the direction `source` > `target`, and can be used to indicate link directionality. | 0 |
|
||||
| <b>linkDirectionalParticleSpeed</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a numeric constant for the directional particles speed, expressed as the ratio of the link length to travel per frame. Values above `0.5` are discouraged. | 0.01 |
|
||||
| <b>linkDirectionalParticleWidth</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Link object accessor function, attribute or a numeric constant for the directional particles width. Values are rounded to the nearest decimal for indexing purposes. | 0.5 |
|
||||
| <b>linkDirectionalParticleColor</b>([<i>str</i> or <i>fn</i>]) | Link object accessor function or attribute for the directional particles color. | `color` |
|
||||
| <b>linkDirectionalParticleResolution</b>([<i>num</i>]) | Getter/setter for the geometric resolution of each directional particle, expressed in how many slice segments to divide the circumference. Higher values yield smoother particles. | 4 |
|
||||
| <b>emitParticle</b>(<i>link</i>) | An alternative mechanism for generating particles, this method emits a non-cyclical single particle within a specific link. The emitted particle shares the styling (speed, width, color) of the regular particle props. A valid `link` object that is included in `graphData` should be passed as a single parameter. ||
|
||||
| <b>getGraphBbox</b>([<i>nodeFilterFn</i>]) | Returns the current bounding box of the nodes in the graph, formatted as `{ x: [<num>, <num>], y: [<num>, <num>], z: [<num>, <num>] }`. If no nodes are found, returns `null`. Accepts an optional argument to define a custom node filter: `node => <boolean>`, which should return a truthy value if the node is to be included. This can be useful to calculate the bounding box of a portion of the graph. ||
|
||||
| <b>forceEngine</b>([<i>str</i>]) | Getter/setter for which force-simulation engine to use ([*d3*](https://github.com/vasturiano/d3-force-3d) or [*ngraph*](https://github.com/anvaka/ngraph.forcelayout)). | `d3` |
|
||||
| <b>d3ReheatSimulation</b>() | Reheats the force simulation engine, by setting the `alpha` value to `1`. Only applicable if using the d3 simulation engine. | |
|
||||
| <b>d3AlphaMin</b>([<i>num</i>]) | Getter/setter for the [simulation alpha min](https://github.com/vasturiano/d3-force-3d#simulation_alphaMin) parameter, only applicable if using the d3 simulation engine. | `0` |
|
||||
| <b>d3AlphaDecay</b>([<i>num</i>]) | Getter/setter for the [simulation intensity decay](https://github.com/vasturiano/d3-force-3d#simulation_alphaDecay) parameter, only applicable if using the d3 simulation engine. | `0.0228` |
|
||||
| <b>d3AlphaTarget</b>([<i>num</i>]) | Getter/setter for the [simulation alpha target](https://github.com/vasturiano/d3-force-3d#simulation_alphaTarget) parameter, only applicable if using the d3 simulation engine. | `0` |
|
||||
| <b>d3VelocityDecay</b>([<i>num</i>]) | Getter/setter for the nodes' [velocity decay](https://github.com/vasturiano/d3-force-3d#simulation_velocityDecay) that simulates the medium resistance, only applicable if using the d3 simulation engine. | `0.4` |
|
||||
| <b>d3Force</b>(<i>str</i>, [<i>fn</i>]) | Getter/setter for the internal forces that control the d3 simulation engine. Follows the same interface as `d3-force-3d`'s [simulation.force](https://github.com/vasturiano/d3-force-3d#simulation_force). Three forces are included by default: `'link'` (based on [forceLink](https://github.com/vasturiano/d3-force-3d#forceLink)), `'charge'` (based on [forceManyBody](https://github.com/vasturiano/d3-force-3d#forceManyBody)) and `'center'` (based on [forceCenter](https://github.com/vasturiano/d3-force-3d#forceCenter)). Each of these forces can be reconfigured, or new forces can be added to the system. This method is only applicable if using the d3 simulation engine. | |
|
||||
| <b>ngraphPhysics</b>([<i>object</i>]) | Specify custom physics configuration for ngraph, according to its [configuration object](https://github.com/anvaka/ngraph.forcelayout#physics-simulator) syntax. This method is only applicable if using the ngraph simulation engine. | *ngraph default* |
|
||||
| <b>warmupTicks</b>([<i>int</i>]) | Getter/setter for number of layout engine cycles to dry-run at ignition before starting to render. | 0 |
|
||||
| <b>cooldownTicks</b>([<i>int</i>]) | Getter/setter for how many build-in frames to render before stopping and freezing the layout engine. | Infinity |
|
||||
| <b>cooldownTime</b>([<i>num</i>]) | Getter/setter for how long (ms) to render for before stopping and freezing the layout engine. | 15000 |
|
||||
| <b>resetCountdown</b>() | Resets the engine countdown timer to the initial value. Useful when you want to keep the engine ticking for a while after the last user interaction. ||
|
||||
| <b>onEngineTick</b>(<i>fn</i>) | Callback function invoked at every tick of the simulation engine. | - |
|
||||
| <b>onEngineStop</b>(<i>fn</i>) | Callback function invoked when the simulation engine stops and the layout is frozen. | - |
|
||||
| <b>onLoading</b>(<i>fn</i>) | Callback function for notification that data is being loaded asynchronously based on `jsonUrl`. | - |
|
||||
| <b>onFinishLoading</b>(<i>fn</i>) | Callback function for notification that the component has finished loading data asynchronously. | - |
|
||||
| <b>onUpdate</b>(<i>fn</i>) | Callback function for notification that the component has started updating and the simulation engine is temporarily paused. | - |
|
||||
| <b>onFinishUpdate</b>(<i>fn</i>) | Callback function for notification that the component has finished updating, done iterating through the warmup phase (if needed) and the simulation engine has been resumed. | - |
|
||||
| <b>tickFrame</b>() | This method should be called on each cycle of the global renderer to iterate the underlying force simulation engine and update the nodes/links objects' positions. ||
|
||||
| <b>resetProps</b>() | Reset all object properties to their default value. ||
|
||||
| <b>refresh</b>() | Redraws all the nodes/links. ||
|
||||
|
||||
### Input JSON syntax
|
||||
|
||||
```json
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "id1",
|
||||
"name": "name1",
|
||||
"val": 1
|
||||
},
|
||||
{
|
||||
"id": "id2",
|
||||
"name": "name2",
|
||||
"val": 10
|
||||
},
|
||||
...
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"source": "id1",
|
||||
"target": "id2"
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Giving Back
|
||||
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=L398E7PKP47E8¤cy_code=USD&source=url) If this project has helped you and you'd like to contribute back, you can always [buy me a ☕](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=L398E7PKP47E8¤cy_code=USD&source=url)!
|
||||
|
||||
[npm-img]: https://img.shields.io/npm/v/three-forcegraph
|
||||
[npm-url]: https://npmjs.org/package/three-forcegraph
|
||||
[build-size-img]: https://img.shields.io/bundlephobia/minzip/three-forcegraph
|
||||
[build-size-url]: https://bundlephobia.com/result?p=three-forcegraph
|
||||
[npm-downloads-img]: https://img.shields.io/npm/dt/three-forcegraph
|
||||
[npm-downloads-url]: https://www.npmtrends.com/three-forcegraph
|
||||
255
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.d.ts
generated
vendored
Executable file
255
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.d.ts
generated
vendored
Executable file
|
|
@ -0,0 +1,255 @@
|
|||
import { Object3D, Material } from 'three';
|
||||
|
||||
interface GraphData {
|
||||
nodes: NodeObject[];
|
||||
links: LinkObject[];
|
||||
}
|
||||
|
||||
type NodeObject = object & {
|
||||
/**
|
||||
* Node id
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* The node’s zero-based index into *nodes*
|
||||
*/
|
||||
index?: number;
|
||||
|
||||
/**
|
||||
* The node’s current *x*-position.
|
||||
* This value may be subsequently modified by forces and by the simulation.
|
||||
* If it is *NaN*, the position is initialized in a 3D [phyllotaxis arrangement](https://observablehq.com/@d3/force-layout-phyllotaxis) arrangement,
|
||||
* so chosen to ensure a deterministic, uniform distribution around the origin.
|
||||
*/
|
||||
x?: number;
|
||||
/**
|
||||
* The node’s current *y*-position.
|
||||
* This value may be subsequently modified by forces and by the simulation.
|
||||
* If it is *NaN*, the position is initialized in a 3D [phyllotaxis arrangement](https://observablehq.com/@d3/force-layout-phyllotaxis) arrangement,
|
||||
* so chosen to ensure a deterministic, uniform distribution around the origin.
|
||||
*/
|
||||
y?: number;
|
||||
/**
|
||||
* The node’s current *z*-position.
|
||||
* This value may be subsequently modified by forces and by the simulation.
|
||||
* If it is *NaN*, the position is initialized in a 3D [phyllotaxis arrangement](https://observablehq.com/@d3/force-layout-phyllotaxis) arrangement,
|
||||
* so chosen to ensure a deterministic, uniform distribution around the origin.
|
||||
*/
|
||||
z?: number;
|
||||
|
||||
/**
|
||||
* The node’s current *x*-velocity.
|
||||
* This value may be subsequently modified by forces and by the simulation.
|
||||
* @default 0
|
||||
*/
|
||||
vx?: number;
|
||||
/**
|
||||
* The node’s current *y*-velocity.
|
||||
* This value may be subsequently modified by forces and by the simulation.
|
||||
* @default 0
|
||||
*/
|
||||
vy?: number;
|
||||
/**
|
||||
* The node’s current *z*-velocity.
|
||||
* This value may be subsequently modified by forces and by the simulation.
|
||||
* @default 0
|
||||
*/
|
||||
vz?: number;
|
||||
|
||||
/**
|
||||
* The node’s fixed *x*-position.
|
||||
* At the end of each tick, after the application of any forces, a node with a defined *node*.fx has *node*.x reset to this value and *node*.vx set to zero.
|
||||
* To unfix a node that was previously fixed, set *node*.fx to null, or delete this property.
|
||||
* @default undefined
|
||||
*/
|
||||
fx?: number;
|
||||
/**
|
||||
* The node’s fixed *y*-position.
|
||||
* At the end of each tick, after the application of any forces, a node with a defined *node*.fy has *node*.y reset to this value and *node*.vy set to zero.
|
||||
* To unfix a node that was previously fixed, set *node*.fy to null, or delete this property.
|
||||
* @default undefined
|
||||
*/
|
||||
fy?: number;
|
||||
/**
|
||||
* The node’s fixed *z*-position.
|
||||
* At the end of each tick, after the application of any forces, a node with a defined *node*.fz has *node*.z reset to this value and *node*.vz set to zero.
|
||||
* To unfix a node that was previously fixed, set *node*.fz to null, or delete this property.
|
||||
* @default undefined
|
||||
*/
|
||||
fz?: number;
|
||||
};
|
||||
|
||||
type LinkObject = object & {
|
||||
/**
|
||||
* The link’s source node.
|
||||
* When the link force is initialized (or re-initialized, as when the nodes or links change), any *link*.source property which is *not* an object is replaced by an object reference to
|
||||
* the corresponding *node* with the given identifier.
|
||||
*/
|
||||
source?: string | number | NodeObject;
|
||||
|
||||
/**
|
||||
* The link’s target node.
|
||||
* When the link force is initialized (or re-initialized, as when the nodes or links change), any *link*.target property which is *not* an object is replaced by an object reference to
|
||||
* the corresponding *node* with the given identifier.
|
||||
*/
|
||||
target?: string | number | NodeObject;
|
||||
|
||||
/**
|
||||
* The zero-based index into links
|
||||
*/
|
||||
index?: number;
|
||||
};
|
||||
|
||||
type Accessor<In, Out> = Out | string | ((obj: In) => Out);
|
||||
type NodeAccessor<T> = Accessor<NodeObject, T>;
|
||||
type LinkAccessor<T> = Accessor<LinkObject, T>;
|
||||
|
||||
type DagMode = 'td' | 'bu' | 'lr' | 'rl' | 'zout' | 'zin' | 'radialout' | 'radialin';
|
||||
|
||||
type ForceEngine = 'd3' | 'ngraph';
|
||||
|
||||
interface ForceFn {
|
||||
(alpha: number): void;
|
||||
initialize?: (nodes: NodeObject[], ...args: any[]) => void;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
type Coords = { x: number; y: number; z: number; }
|
||||
|
||||
type NodePositionUpdateFn = (obj: Object3D, coords: Coords, node: NodeObject) => void | null | boolean;
|
||||
type LinkPositionUpdateFn = (obj: Object3D, coords: { start: Coords, end: Coords }, link: LinkObject) => void | null | boolean;
|
||||
|
||||
declare class ThreeForceGraphGeneric<ChainableInstance> extends Object3D {
|
||||
constructor();
|
||||
|
||||
// Data input
|
||||
graphData(): GraphData;
|
||||
graphData(data: GraphData): ChainableInstance;
|
||||
jsonUrl(): string | null;
|
||||
jsonUrl(url: string | null): ChainableInstance;
|
||||
nodeId(): string;
|
||||
nodeId(id: string): ChainableInstance;
|
||||
linkSource(): string;
|
||||
linkSource(source: string): ChainableInstance;
|
||||
linkTarget(): string;
|
||||
linkTarget(target: string): ChainableInstance;
|
||||
|
||||
// Node styling
|
||||
nodeRelSize(): number;
|
||||
nodeRelSize(size: number): ChainableInstance;
|
||||
nodeVal(): NodeAccessor<number>;
|
||||
nodeVal(valAccessor: NodeAccessor<number>): ChainableInstance;
|
||||
nodeVisibility(): NodeAccessor<boolean>;
|
||||
nodeVisibility(visibilityAccessor: NodeAccessor<boolean>): ChainableInstance;
|
||||
nodeColor(): NodeAccessor<string>;
|
||||
nodeColor(colorAccessor: NodeAccessor<string>): ChainableInstance;
|
||||
nodeAutoColorBy(): NodeAccessor<string | null>;
|
||||
nodeAutoColorBy(colorByAccessor: NodeAccessor<string | null>): ChainableInstance;
|
||||
nodeOpacity(): number;
|
||||
nodeOpacity(opacity: number): ChainableInstance;
|
||||
nodeResolution(): number;
|
||||
nodeResolution(resolution: number): ChainableInstance;
|
||||
nodeThreeObject(): NodeAccessor<Object3D>;
|
||||
nodeThreeObject(objAccessor: NodeAccessor<Object3D>): ChainableInstance;
|
||||
nodeThreeObjectExtend(): NodeAccessor<boolean>;
|
||||
nodeThreeObjectExtend(extendAccessor: NodeAccessor<boolean>): ChainableInstance;
|
||||
nodePositionUpdate(): NodePositionUpdateFn | null;
|
||||
nodePositionUpdate(updateFn: NodePositionUpdateFn): ChainableInstance;
|
||||
|
||||
// Link styling
|
||||
linkVisibility(): LinkAccessor<boolean>;
|
||||
linkVisibility(visibilityAccessor: LinkAccessor<boolean>): ChainableInstance;
|
||||
linkColor(): LinkAccessor<string>;
|
||||
linkColor(colorAccessor: LinkAccessor<string>): ChainableInstance;
|
||||
linkAutoColorBy(): LinkAccessor<string | null>;
|
||||
linkAutoColorBy(colorByAccessor: LinkAccessor<string | null>): ChainableInstance;
|
||||
linkOpacity(): number;
|
||||
linkOpacity(opacity: number): ChainableInstance;
|
||||
linkWidth(): LinkAccessor<number>;
|
||||
linkWidth(widthAccessor: LinkAccessor<number>): ChainableInstance;
|
||||
linkResolution(): number;
|
||||
linkResolution(resolution: number): ChainableInstance;
|
||||
linkCurvature(): LinkAccessor<number>;
|
||||
linkCurvature(curvatureAccessor: LinkAccessor<number>): ChainableInstance;
|
||||
linkCurveRotation(): LinkAccessor<number>;
|
||||
linkCurveRotation(curveRotationAccessor: LinkAccessor<number>): ChainableInstance;
|
||||
linkMaterial(): LinkAccessor<Material | boolean | null>;
|
||||
linkMaterial(materialAccessor: LinkAccessor<Material | boolean | null>): ChainableInstance;
|
||||
linkThreeObject(): LinkAccessor<Object3D>;
|
||||
linkThreeObject(objAccessor: LinkAccessor<Object3D>): ChainableInstance;
|
||||
linkThreeObjectExtend(): LinkAccessor<boolean>;
|
||||
linkThreeObjectExtend(extendAccessor: LinkAccessor<boolean>): ChainableInstance;
|
||||
linkPositionUpdate(): LinkPositionUpdateFn | null;
|
||||
linkPositionUpdate(updateFn: LinkPositionUpdateFn): ChainableInstance;
|
||||
linkDirectionalArrowLength(): LinkAccessor<number>;
|
||||
linkDirectionalArrowLength(lengthAccessor: LinkAccessor<number>): ChainableInstance;
|
||||
linkDirectionalArrowColor(): LinkAccessor<string>;
|
||||
linkDirectionalArrowColor(colorAccessor: LinkAccessor<string>): ChainableInstance;
|
||||
linkDirectionalArrowRelPos(): LinkAccessor<number>;
|
||||
linkDirectionalArrowRelPos(fractionAccessor: LinkAccessor<number>): ChainableInstance;
|
||||
linkDirectionalArrowResolution(): number;
|
||||
linkDirectionalArrowResolution(resolution: number): ChainableInstance;
|
||||
linkDirectionalParticles(): LinkAccessor<number>;
|
||||
linkDirectionalParticles(numParticlesAccessor: LinkAccessor<number>): ChainableInstance;
|
||||
linkDirectionalParticleSpeed(): LinkAccessor<number>;
|
||||
linkDirectionalParticleSpeed(relDistancePerFrameAccessor: LinkAccessor<number>): ChainableInstance;
|
||||
linkDirectionalParticleWidth(): LinkAccessor<number>;
|
||||
linkDirectionalParticleWidth(widthAccessor: LinkAccessor<number>): ChainableInstance;
|
||||
linkDirectionalParticleColor(): LinkAccessor<string>;
|
||||
linkDirectionalParticleColor(colorAccessor: LinkAccessor<string>): ChainableInstance;
|
||||
linkDirectionalParticleResolution(): number;
|
||||
linkDirectionalParticleResolution(resolution: number): ChainableInstance;
|
||||
emitParticle(link: LinkObject): ChainableInstance;
|
||||
|
||||
// Force engine configuration
|
||||
forceEngine(): ForceEngine;
|
||||
forceEngine(engine: ForceEngine): ChainableInstance;
|
||||
numDimensions(): 1 | 2 | 3;
|
||||
numDimensions(dimensions: 1 | 2 | 3): ChainableInstance;
|
||||
dagMode(): DagMode;
|
||||
dagMode(mode: DagMode): ChainableInstance;
|
||||
dagLevelDistance(): number | null;
|
||||
dagLevelDistance(distance: number): ChainableInstance;
|
||||
dagNodeFilter(): (node: NodeObject) => boolean;
|
||||
dagNodeFilter(filterFn: (node: NodeObject) => boolean): ChainableInstance;
|
||||
onDagError(): (loopNodeIds: (string | number)[]) => void;
|
||||
onDagError(errorHandleFn: (loopNodeIds: (string | number)[]) => void): ChainableInstance;
|
||||
d3AlphaMin(): number;
|
||||
d3AlphaMin(alphaMin: number): ChainableInstance;
|
||||
d3AlphaDecay(): number;
|
||||
d3AlphaDecay(alphaDecay: number): ChainableInstance;
|
||||
d3AlphaTarget(): number;
|
||||
d3AlphaTarget(alphaTarget: number): ChainableInstance;
|
||||
d3VelocityDecay(): number;
|
||||
d3VelocityDecay(velocityDecay: number): ChainableInstance;
|
||||
d3Force(forceName: 'link' | 'charge' | 'center' | string): ForceFn | undefined;
|
||||
d3Force(forceName: 'link' | 'charge' | 'center' | string, forceFn: ForceFn | null): ChainableInstance;
|
||||
d3ReheatSimulation(): ChainableInstance;
|
||||
ngraphPhysics(physics: object): ChainableInstance;
|
||||
warmupTicks(): number;
|
||||
warmupTicks(ticks: number): ChainableInstance;
|
||||
cooldownTicks(): number;
|
||||
cooldownTicks(ticks: number): ChainableInstance;
|
||||
cooldownTime(): number;
|
||||
cooldownTime(milliseconds: number): ChainableInstance;
|
||||
resetCountdown(): ChainableInstance;
|
||||
|
||||
// Lifecycle methods
|
||||
onEngineTick(callback: () => void): ChainableInstance;
|
||||
onEngineStop(callback: () => void): ChainableInstance;
|
||||
onLoading(callback: () => void): ChainableInstance;
|
||||
onFinishLoading(callback: () => void): ChainableInstance;
|
||||
onUpdate(callback: () => void): ChainableInstance;
|
||||
onFinishUpdate(callback: () => void): ChainableInstance;
|
||||
tickFrame(): ChainableInstance;
|
||||
resetProps(): ChainableInstance;
|
||||
refresh(): ChainableInstance;
|
||||
|
||||
// Utilities
|
||||
getGraphBbox(nodeFilter?: (node: NodeObject) => boolean): { x: [number, number], y: [number, number], z: [number,number] };
|
||||
}
|
||||
|
||||
declare class ThreeForceGraph extends ThreeForceGraphGeneric<ThreeForceGraph> {}
|
||||
|
||||
export { type GraphData, type LinkObject, type NodeObject, ThreeForceGraphGeneric, ThreeForceGraph as default };
|
||||
8476
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.js
generated
vendored
Executable file
8476
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.js
generated
vendored
Executable file
File diff suppressed because it is too large
Load diff
1
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.js.map
generated
vendored
Executable file
1
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.js.map
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
5
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.min.js
generated
vendored
Executable file
5
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.min.js
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
1486
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.mjs
generated
vendored
Executable file
1486
VISUALIZACION/node_modules/three-forcegraph/dist/three-forcegraph.mjs
generated
vendored
Executable file
File diff suppressed because it is too large
Load diff
78
VISUALIZACION/node_modules/three-forcegraph/package.json
generated
vendored
Executable file
78
VISUALIZACION/node_modules/three-forcegraph/package.json
generated
vendored
Executable file
|
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"name": "three-forcegraph",
|
||||
"version": "1.41.14",
|
||||
"description": "Force-directed graph as a ThreeJS 3d object",
|
||||
"type": "module",
|
||||
"unpkg": "dist/three-forcegraph.min.js",
|
||||
"main": "dist/three-forcegraph.mjs",
|
||||
"module": "dist/three-forcegraph.mjs",
|
||||
"types": "dist/three-forcegraph.d.ts",
|
||||
"exports": {
|
||||
"types": "./dist/three-forcegraph.d.ts",
|
||||
"umd": "./dist/three-forcegraph.min.js",
|
||||
"default": "./dist/three-forcegraph.mjs"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vasturiano/three-forcegraph.git"
|
||||
},
|
||||
"homepage": "https://github.com/vasturiano/three-forcegraph",
|
||||
"keywords": [
|
||||
"3d",
|
||||
"force",
|
||||
"simulation",
|
||||
"graph",
|
||||
"three",
|
||||
"d3",
|
||||
"ngraph",
|
||||
"webgl"
|
||||
],
|
||||
"author": {
|
||||
"name": "Vasco Asturiano",
|
||||
"url": "https://github.com/vasturiano"
|
||||
},
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vasturiano/three-forcegraph/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rimraf dist && rollup -c",
|
||||
"dev": "rollup -w -c rollup.config.dev.js",
|
||||
"prepare": "npm run build"
|
||||
},
|
||||
"files": [
|
||||
"dist/**/*"
|
||||
],
|
||||
"dependencies": {
|
||||
"accessor-fn": "1",
|
||||
"d3-array": "1 - 3",
|
||||
"d3-force-3d": "2 - 3",
|
||||
"d3-scale": "1 - 4",
|
||||
"d3-scale-chromatic": "1 - 3",
|
||||
"data-joint": "1",
|
||||
"kapsule": "1",
|
||||
"ngraph.forcelayout": "3",
|
||||
"ngraph.graph": "20",
|
||||
"tinycolor2": "1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"three": ">=0.118.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.23.9",
|
||||
"@babel/preset-env": "^7.23.9",
|
||||
"@rollup/plugin-babel": "^6.0.4",
|
||||
"@rollup/plugin-commonjs": "^25.0.7",
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@rollup/plugin-terser": "^0.4.4",
|
||||
"@types/three": ">=0.118.3",
|
||||
"rimraf": "^5.0.5",
|
||||
"rollup": "^4.9.6",
|
||||
"rollup-plugin-dts": "^6.1.0",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue