1
0
mirror of https://github.com/Pomax/BezierInfo-2.git synced 2025-09-30 10:09:02 +02:00

this rename is absolutely stupid

This commit is contained in:
Pomax
2020-08-20 13:01:32 -07:00
parent 59fdafb2c5
commit d92e370bd1
470 changed files with 22 additions and 9 deletions

View File

@@ -0,0 +1,43 @@
/**
* A complex shape, represented as a collection of paths
* that can be either polygon, Catmull-Rom curves, or
* cubic Bezier curves.
*/
class Shape {
constructor(type, factor) {
this.first = false;
this.segments = [];
this.addSegment(type, factor);
}
addSegment(type, factor) {
this.currentSegment = new Segment(type, factor);
this.segments.push(this.currentSegment);
}
vertex(p) {
if (!this.first) this.first = p;
else this.currentSegment.add(p);
}
}
/**
* Pathing type constants
*/
Shape.POLYGON = `Polygon`;
Shape.CURVE = `CatmullRom`;
Shape.BEZIER = `Bezier`;
/**
* A shape subpath
*/
class Segment {
constructor(type, factor) {
this.type = type;
this.factor = factor;
this.points = [];
}
add(p) {
this.points.push(p);
}
}
export { Shape, Segment };