Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andrewisen-tikab/three-line-network
Create line networks in three.js
https://github.com/andrewisen-tikab/three-line-network
Last synced: 4 days ago
JSON representation
Create line networks in three.js
- Host: GitHub
- URL: https://github.com/andrewisen-tikab/three-line-network
- Owner: andrewisen-tikab
- Created: 2024-08-10T17:29:40.000Z (3 months ago)
- Default Branch: dev
- Last Pushed: 2024-08-26T06:21:18.000Z (3 months ago)
- Last Synced: 2024-10-12T15:51:42.540Z (about 1 month ago)
- Language: TypeScript
- Homepage: https://andrewisen-tikab.github.io/three-line-network/examples/
- Size: 238 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# three-line-network
`three-line-network` (TLN) is a library to create line networks in three.js.
A line network is a set of lines that are connected to each other.The network can be a road network, a river network, a network of power lines, etc.
The library is designed to be simple and easy to use. It is not meant to be a full-featured library.
## Installation
```bash
yarn add three-line-network
```## Usage
```typescript
import { LineNetwork, type Node, Link } from "three-line-network";const network = new LineNetwork();
const nodes: Node[] = [
// A - B
new Node(1, new THREE.Vector3(0, 0, 0)),
new Node(2, new THREE.Vector3(10, 0, 0)),
// B - C
new Node(3, new THREE.Vector3(20, 0, 5)),
// C - E
new Node(4, new THREE.Vector3(30, 0, 5)),
// B - D
new Node(5, new THREE.Vector3(20, 0, -5)),
// D - F
new Node(6, new THREE.Vector3(30, 0, -5)),
];const links: Link[] = [
// A - B
new Link(1, 1, 2),
// B - C
new Link(2, 2, 3),
// B - D
new Link(3, 2, 5),
// C - E
new Link(4, 5, 6),
// D - F
new Link(5, 3, 4),
// Connect
new Link(6, 4, 6),
];network.init(nodes, links, example.group);
```## Example
Examples can be found in the `examples` folder.
## Demo
Deployed demo can be found at:
[https://andrewisen-tikab.github.io/three-line-network/examples/](https://andrewisen-tikab.github.io/three-line-network/examples/)
## Docs
Auto-generated docs can be found at:
[https://andrewisen-tikab.github.io/three-line-network/docs/](https://andrewisen-tikab.github.io/three-line-network/docs/)