Skip to content
Shapemetry

Path2d

Public 2D filled/stroked document: { curves: PolyCurve2d[], transformation? } (4×4 plane-in-world). Wasm path2d_*. Legacy untagged shapes still accepted on read at the door.

import { Path2d } from '@huukhanhnguyen/geometry'

API reference

Path2d.addPoints

Path2d.addPoints(shape_json: string, points: Float64Array): string

Wasm: path2d_add_points

Path2d.addShape

Path2d.addShape(shape_json: string, contour_json: string): string

Wasm: path2d_add_shape

Path2d.area

Path2d.area(shape_json: string, tolerance: number): number

Wasm: path2d_area

Path2d.boolean

Path2d.boolean(subject_json: string, clip_json: string, operation: string, tolerance: number): string

Wasm: path2d_boolean

Path2d.boundingBox

Path2d.boundingBox(shape_json: string): Float64Array

Wasm: path2d_bounding_box

Path2d.chamfer

Path2d.chamfer(shape_json: string, distance1: number, distance2: number): string

Wasm: path2d_chamfer

Path2d.circle

Path2d.circle(cx: number, cy: number, radius: number, use_transformation: boolean, transformation: Float64Array): string

Wasm: path2d_circle

Path2d.cleanup

Path2d.cleanup(shape_json: string, tolerance: number): string

Wasm: path2d_cleanup

Path2d.containsPoint

Path2d.containsPoint(shape_json: string, x: number, y: number, tolerance: number): boolean

Wasm: path2d_contains_point

Path2d.ellipse

Path2d.ellipse(cx: number, cy: number, x_axis_x: number, x_axis_y: number, y_axis_x: number, y_axis_y: number, use_transformation: boolean, transformation: Float64Array): string

Wasm: path2d_ellipse

Path2d.fillet

Path2d.fillet(shape_json: string, radius: number): string

Wasm: path2d_fillet

Path2d.fromPolyline

Path2d.fromPolyline(points: Float64Array, use_transformation: boolean, transformation: Float64Array): string

Wasm: path2d_from_polyline

Path2d.fromRegions

Path2d.fromRegions(regions_json: string, use_transformation: boolean, transformation: Float64Array): string

Wasm: path2d_from_regions

Path2d.fromRings

Path2d.fromRings(rings_json: string, use_transformation: boolean, transformation: Float64Array): string

Wasm: path2d_from_rings

Path2d.isClosed

Path2d.isClosed(shape_json: string): boolean

Wasm: path2d_is_closed

Path2d.length

Path2d.length(shape_json: string): number

Wasm: path2d_length

Path2d.offset

Path2d.offset(shape_json: string, distance: number, cap: string): string

Wasm: path2d_offset

Path2d.plane

Path2d.plane(shape_json: string): Float64Array

Wasm: path2d_plane

Path2d.rectangle

Path2d.rectangle(cx: number, cy: number, width: number, height: number, use_transformation: boolean, transformation: Float64Array): string

Wasm: path2d_rectangle

Path2d.regularPolygon

Path2d.regularPolygon(cx: number, cy: number, radius: number, sides: number, use_transformation: boolean, transformation: Float64Array): string

Wasm: path2d_regular_polygon

Path2d.reverse

Path2d.reverse(shape_json: string): string

Wasm: path2d_reverse

Path2d.ringSignedArea

Path2d.ringSignedArea(ring: Float64Array): number

Wasm: path2d_ring_signed_area

Path2d.shapeStraightSkeleton

Path2d.shapeStraightSkeleton(shape_json: string, tolerance: number): string

Wasm: path2d_shape_straight_skeleton

Path2d.signedArea

Path2d.signedArea(shape_json: string, tolerance: number): number

Wasm: path2d_signed_area

Path2d.straightSkeleton

Path2d.straightSkeleton(loops_json: string): string

Wasm: path2d_straight_skeleton

Path2d.tessellate

Path2d.tessellate(shape_json: string, tolerance: number): string

Wasm: path2d_tessellate

Path2d.thicken

Path2d.thicken(shape_json: string, distance: number, join_type: string, end_type: string, miter_limit: number, merge_connected: boolean): string

Wasm: path2d_thicken

Path2d.toNurbsCurves

Path2d.toNurbsCurves(shape_json: string): string

Wasm: path2d_to_nurbs_curves

Path2d.toRegions

Path2d.toRegions(shape_json: string, tolerance: number): string

Wasm: path2d_to_regions

Path2d.toRings

Path2d.toRings(shape_json: string, tolerance: number): string

Wasm: path2d_to_rings

Path2d.transform

Path2d.transform(shape_json: string, elements: Float64Array): string

Wasm: path2d_transform

Path2d.triangulate

Path2d.triangulate(shape_json: string, tolerance: number): Float64Array

Wasm: path2d_triangulate

Path2d.unionAll

Path2d.unionAll(regions_json: string, tolerance: number, fill_rule: string): string

Wasm: path2d_union_all

Path2d.voronoi

Path2d.voronoi(shape_json: string, options_json: string): string

Wasm: path2d_voronoi

See GEOMETRY_CATALOG.md for catalog ownership.

Last updated: 📖 1 min readEdit on GitHub