@snaptrude/plugin-core 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +130 -48
- package/CHANGELOG.md +111 -0
- package/api-manifest.full.json +3999 -0
- package/api-manifest.json +3845 -0
- package/dist/api/core/buildings.d.ts +427 -0
- package/dist/api/core/buildings.d.ts.map +1 -0
- package/dist/api/core/comment/index.d.ts +230 -0
- package/dist/api/core/comment/index.d.ts.map +1 -0
- package/dist/api/core/geom/create/index.d.ts +247 -0
- package/dist/api/core/geom/create/index.d.ts.map +1 -0
- package/dist/api/core/geom/delete/index.d.ts +72 -0
- package/dist/api/core/geom/delete/index.d.ts.map +1 -0
- package/dist/api/core/geom/index.d.ts +24 -23
- package/dist/api/core/geom/index.d.ts.map +1 -1
- package/dist/api/core/geom/query/arc.d.ts +169 -0
- package/dist/api/core/geom/query/arc.d.ts.map +1 -0
- package/dist/api/core/geom/query/brep.d.ts +402 -0
- package/dist/api/core/geom/query/brep.d.ts.map +1 -0
- package/dist/api/core/geom/query/circle.d.ts +378 -0
- package/dist/api/core/geom/query/circle.d.ts.map +1 -0
- package/dist/api/core/geom/query/contour.d.ts +450 -0
- package/dist/api/core/geom/query/contour.d.ts.map +1 -0
- package/dist/api/core/geom/query/curve.d.ts +918 -0
- package/dist/api/core/geom/query/curve.d.ts.map +1 -0
- package/dist/api/core/geom/query/edge.d.ts +128 -0
- package/dist/api/core/geom/query/edge.d.ts.map +1 -0
- package/dist/api/core/geom/query/face.d.ts +363 -0
- package/dist/api/core/geom/query/face.d.ts.map +1 -0
- package/dist/api/core/geom/query/halfedge.d.ts +206 -0
- package/dist/api/core/geom/query/halfedge.d.ts.map +1 -0
- package/dist/api/core/geom/query/index.d.ts +61 -0
- package/dist/api/core/geom/query/index.d.ts.map +1 -0
- package/dist/api/core/geom/query/profile.d.ts +410 -0
- package/dist/api/core/geom/query/profile.d.ts.map +1 -0
- package/dist/api/core/geom/query/vertex.d.ts +187 -0
- package/dist/api/core/geom/query/vertex.d.ts.map +1 -0
- package/dist/api/core/geom/update/contour.d.ts +272 -0
- package/dist/api/core/geom/update/contour.d.ts.map +1 -0
- package/dist/api/core/geom/update/curve.d.ts +180 -0
- package/dist/api/core/geom/update/curve.d.ts.map +1 -0
- package/dist/api/core/geom/update/index.d.ts +27 -0
- package/dist/api/core/geom/update/index.d.ts.map +1 -0
- package/dist/api/core/geom/update/profile.d.ts +329 -0
- package/dist/api/core/geom/update/profile.d.ts.map +1 -0
- package/dist/api/core/groups.d.ts +485 -0
- package/dist/api/core/groups.d.ts.map +1 -0
- package/dist/api/core/history/index.d.ts +78 -0
- package/dist/api/core/history/index.d.ts.map +1 -0
- package/dist/api/core/index.d.ts +46 -1
- package/dist/api/core/index.d.ts.map +1 -1
- package/dist/api/core/layers.d.ts +402 -0
- package/dist/api/core/layers.d.ts.map +1 -0
- package/dist/api/core/math/quat.d.ts +111 -128
- package/dist/api/core/math/quat.d.ts.map +1 -1
- package/dist/api/core/math/vec3.d.ts +120 -102
- package/dist/api/core/math/vec3.d.ts.map +1 -1
- package/dist/api/core/project/index.d.ts +399 -0
- package/dist/api/core/project/index.d.ts.map +1 -0
- package/dist/api/core/tags.d.ts +755 -0
- package/dist/api/core/tags.d.ts.map +1 -0
- package/dist/api/core/units/index.d.ts +175 -0
- package/dist/api/core/units/index.d.ts.map +1 -0
- package/dist/api/core/zoom/index.d.ts +45 -0
- package/dist/api/core/zoom/index.d.ts.map +1 -0
- package/dist/api/design/boolean/index.d.ts +168 -0
- package/dist/api/design/boolean/index.d.ts.map +1 -0
- package/dist/api/design/create/index.d.ts +828 -0
- package/dist/api/design/create/index.d.ts.map +1 -0
- package/dist/api/design/delete/index.d.ts +63 -0
- package/dist/api/design/delete/index.d.ts.map +1 -0
- package/dist/api/design/doors/index.d.ts +268 -0
- package/dist/api/design/doors/index.d.ts.map +1 -0
- package/dist/api/design/edit/index.d.ts +49 -0
- package/dist/api/design/edit/index.d.ts.map +1 -0
- package/dist/api/design/erase/index.d.ts +160 -0
- package/dist/api/design/erase/index.d.ts.map +1 -0
- package/dist/api/design/furniture/index.d.ts +123 -0
- package/dist/api/design/furniture/index.d.ts.map +1 -0
- package/dist/api/design/index.d.ts +153 -0
- package/dist/api/design/index.d.ts.map +1 -0
- package/dist/api/design/lock.d.ts +41 -0
- package/dist/api/design/lock.d.ts.map +1 -0
- package/dist/api/design/materials/index.d.ts +297 -0
- package/dist/api/design/materials/index.d.ts.map +1 -0
- package/dist/api/design/query/geometry/index.d.ts +140 -0
- package/dist/api/design/query/geometry/index.d.ts.map +1 -0
- package/dist/api/design/query/index.d.ts +1011 -0
- package/dist/api/design/query/index.d.ts.map +1 -0
- package/dist/api/design/query/spaces.d.ts +221 -0
- package/dist/api/design/query/spaces.d.ts.map +1 -0
- package/dist/api/design/selection/index.d.ts +138 -0
- package/dist/api/design/selection/index.d.ts.map +1 -0
- package/dist/api/design/shared.d.ts +38 -0
- package/dist/api/design/shared.d.ts.map +1 -0
- package/dist/api/design/transform/index.d.ts +87 -0
- package/dist/api/design/transform/index.d.ts.map +1 -0
- package/dist/api/design/update/index.d.ts +178 -0
- package/dist/api/design/update/index.d.ts.map +1 -0
- package/dist/api/design/windows/index.d.ts +189 -0
- package/dist/api/design/windows/index.d.ts.map +1 -0
- package/dist/api/entity/buildableEnvelope.d.ts +261 -0
- package/dist/api/entity/buildableEnvelope.d.ts.map +1 -0
- package/dist/api/entity/department.d.ts +0 -98
- package/dist/api/entity/department.d.ts.map +1 -1
- package/dist/api/entity/index.d.ts +9 -9
- package/dist/api/entity/index.d.ts.map +1 -1
- package/dist/api/entity/referenceLine.d.ts +49 -106
- package/dist/api/entity/referenceLine.d.ts.map +1 -1
- package/dist/api/entity/space.d.ts +482 -249
- package/dist/api/entity/space.d.ts.map +1 -1
- package/dist/api/entity/story.d.ts +49 -39
- package/dist/api/entity/story.d.ts.map +1 -1
- package/dist/api/index.d.ts +17 -12
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/presentation/aiInspiration.d.ts +440 -0
- package/dist/api/presentation/aiInspiration.d.ts.map +1 -0
- package/dist/api/presentation/diagrams.d.ts +81 -0
- package/dist/api/presentation/diagrams.d.ts.map +1 -0
- package/dist/api/presentation/import.d.ts +113 -0
- package/dist/api/presentation/import.d.ts.map +1 -0
- package/dist/api/presentation/index.d.ts +46 -0
- package/dist/api/presentation/index.d.ts.map +1 -0
- package/dist/api/presentation/sheets.d.ts +176 -0
- package/dist/api/presentation/sheets.d.ts.map +1 -0
- package/dist/api/presentation/views.d.ts +296 -0
- package/dist/api/presentation/views.d.ts.map +1 -0
- package/dist/api/program/adjacency.d.ts +155 -0
- package/dist/api/program/adjacency.d.ts.map +1 -0
- package/dist/api/program/areas.d.ts +360 -0
- package/dist/api/program/areas.d.ts.map +1 -0
- package/dist/api/program/classification.d.ts +135 -0
- package/dist/api/program/classification.d.ts.map +1 -0
- package/dist/api/program/cores.d.ts +174 -0
- package/dist/api/program/cores.d.ts.map +1 -0
- package/dist/api/program/departments.d.ts +431 -0
- package/dist/api/program/departments.d.ts.map +1 -0
- package/dist/api/program/index.d.ts +69 -0
- package/dist/api/program/index.d.ts.map +1 -0
- package/dist/api/program/layout.d.ts +63 -0
- package/dist/api/program/layout.d.ts.map +1 -0
- package/dist/api/program/metrics.d.ts +108 -0
- package/dist/api/program/metrics.d.ts.map +1 -0
- package/dist/api/program/site.d.ts +367 -0
- package/dist/api/program/site.d.ts.map +1 -0
- package/dist/api/program/spreadsheet.d.ts +2041 -0
- package/dist/api/program/spreadsheet.d.ts.map +1 -0
- package/dist/handles.d.ts +138 -0
- package/dist/handles.d.ts.map +1 -0
- package/dist/host-utils.d.ts +7 -5
- package/dist/host-utils.d.ts.map +1 -1
- package/dist/index.cjs +4001 -904
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3392 -870
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/scripts/generate-manifest.mjs +193 -0
- package/scripts/generate-manifest.test.mjs +193 -0
- package/src/api/core/buildings.ts +485 -0
- package/src/api/core/comment/index.ts +258 -0
- package/src/api/core/geom/create/index.ts +293 -0
- package/src/api/core/geom/delete/index.ts +78 -0
- package/src/api/core/geom/index.ts +24 -23
- package/src/api/core/geom/query/arc.ts +169 -0
- package/src/api/core/geom/query/brep.ts +444 -0
- package/src/api/core/geom/query/circle.ts +404 -0
- package/src/api/core/geom/query/contour.ts +540 -0
- package/src/api/core/geom/query/curve.ts +1078 -0
- package/src/api/core/geom/query/edge.ts +130 -0
- package/src/api/core/geom/query/face.ts +403 -0
- package/src/api/core/geom/query/halfedge.ts +210 -0
- package/src/api/core/geom/query/index.ts +63 -0
- package/src/api/core/geom/query/profile.ts +473 -0
- package/src/api/core/geom/query/vertex.ts +205 -0
- package/src/api/core/geom/update/contour.ts +315 -0
- package/src/api/core/geom/update/curve.ts +209 -0
- package/src/api/core/geom/update/index.ts +29 -0
- package/src/api/core/geom/update/profile.ts +377 -0
- package/src/api/core/groups.ts +521 -0
- package/src/api/core/history/index.ts +84 -0
- package/src/api/core/index.ts +46 -1
- package/src/api/core/layers.ts +333 -0
- package/src/api/core/math/quat.ts +112 -235
- package/src/api/core/math/vec3.ts +124 -159
- package/src/api/core/project/index.ts +418 -0
- package/src/api/core/tags.ts +808 -0
- package/src/api/core/units/index.ts +164 -0
- package/src/api/core/zoom/index.ts +47 -0
- package/src/api/design/boolean/index.ts +179 -0
- package/src/api/design/create/index.ts +886 -0
- package/src/api/design/delete/index.ts +67 -0
- package/src/api/design/doors/index.ts +285 -0
- package/src/api/design/edit/index.ts +54 -0
- package/src/api/design/erase/index.ts +151 -0
- package/src/api/design/furniture/index.ts +130 -0
- package/src/api/design/index.ts +162 -0
- package/src/api/design/lock.ts +42 -0
- package/src/api/design/materials/index.ts +301 -0
- package/src/api/design/query/geometry/index.ts +166 -0
- package/src/api/design/query/index.ts +937 -0
- package/src/api/design/query/spaces.ts +132 -0
- package/src/api/design/selection/index.ts +144 -0
- package/src/api/design/shared.ts +40 -0
- package/src/api/design/transform/index.ts +93 -0
- package/src/api/design/update/index.ts +117 -0
- package/src/api/design/windows/index.ts +207 -0
- package/src/api/entity/buildableEnvelope.ts +318 -0
- package/src/api/entity/department.ts +0 -113
- package/src/api/entity/index.ts +9 -9
- package/src/api/entity/referenceLine.ts +50 -38
- package/src/api/entity/space.ts +285 -226
- package/src/api/entity/story.ts +53 -42
- package/src/api/index.ts +17 -12
- package/src/api/presentation/aiInspiration.ts +362 -0
- package/src/api/presentation/diagrams.ts +84 -0
- package/src/api/presentation/import.ts +112 -0
- package/src/api/presentation/index.ts +48 -0
- package/src/api/presentation/sheets.ts +198 -0
- package/src/api/presentation/views.ts +303 -0
- package/src/api/program/adjacency.ts +164 -0
- package/src/api/program/areas.ts +335 -0
- package/src/api/program/classification.ts +138 -0
- package/src/api/program/cores.ts +171 -0
- package/src/api/program/departments.ts +465 -0
- package/src/api/program/index.ts +71 -0
- package/src/api/program/layout.ts +68 -0
- package/src/api/program/metrics.ts +120 -0
- package/src/api/program/site.ts +326 -0
- package/src/api/program/spreadsheet.ts +2075 -0
- package/src/handles.ts +148 -0
- package/src/host-utils.ts +10 -6
- package/src/index.ts +1 -0
- package/dist/api/core/geom/arc.d.ts +0 -81
- package/dist/api/core/geom/arc.d.ts.map +0 -1
- package/dist/api/core/geom/curve.d.ts +0 -70
- package/dist/api/core/geom/curve.d.ts.map +0 -1
- package/dist/api/core/geom/line.d.ts +0 -56
- package/dist/api/core/geom/line.d.ts.map +0 -1
- package/dist/api/core/geom/profile.d.ts +0 -121
- package/dist/api/core/geom/profile.d.ts.map +0 -1
- package/dist/api/tools/copy.d.ts +0 -59
- package/dist/api/tools/copy.d.ts.map +0 -1
- package/dist/api/tools/index.d.ts +0 -33
- package/dist/api/tools/index.d.ts.map +0 -1
- package/dist/api/tools/material.d.ts +0 -51
- package/dist/api/tools/material.d.ts.map +0 -1
- package/dist/api/tools/offset.d.ts +0 -43
- package/dist/api/tools/offset.d.ts.map +0 -1
- package/dist/api/tools/selection.d.ts +0 -48
- package/dist/api/tools/selection.d.ts.map +0 -1
- package/dist/api/tools/transform.d.ts +0 -114
- package/dist/api/tools/transform.d.ts.map +0 -1
- package/dist/api/units/index.d.ts +0 -163
- package/dist/api/units/index.d.ts.map +0 -1
- package/src/api/core/geom/arc.ts +0 -70
- package/src/api/core/geom/curve.ts +0 -41
- package/src/api/core/geom/line.ts +0 -53
- package/src/api/core/geom/profile.ts +0 -94
- package/src/api/tools/copy.ts +0 -55
- package/src/api/tools/index.ts +0 -39
- package/src/api/tools/material.ts +0 -49
- package/src/api/tools/offset.ts +0 -43
- package/src/api/tools/selection.ts +0 -51
- package/src/api/tools/transform.ts +0 -117
- package/src/api/units/index.ts +0 -163
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { PluginApiReturn } from "../../../../types";
|
|
3
|
+
import { BrepHandle, FaceHandle, EdgeHandle, VertexHandle, HalfEdgeHandle, Vec3Components, BBoxComponents } from "../../../../handles";
|
|
4
|
+
/**
|
|
5
|
+
* BREP queries — read the topology and geometry of a boundary-representation mesh
|
|
6
|
+
* as plain values / child handles (all-handle model, §11). A {@linkcode BrepHandle}
|
|
7
|
+
* is a session-ephemeral resource handle obtained from `design.query.geometry.getBrep`;
|
|
8
|
+
* it goes stale on undo/redo/re-topologize.
|
|
9
|
+
*
|
|
10
|
+
* Enumerations mint fresh child topology handles ({@linkcode FaceHandle},
|
|
11
|
+
* {@linkcode EdgeHandle}, {@linkcode VertexHandle}, {@linkcode HalfEdgeHandle}); the
|
|
12
|
+
* registry dedupes by identity, so re-enumeration returns the same handles. Position
|
|
13
|
+
* reads return {@linkcode Vec3Components}. No query mutates its inputs.
|
|
14
|
+
*
|
|
15
|
+
* Accessed via `snaptrude.core.geom.query.brep`.
|
|
16
|
+
*/
|
|
17
|
+
export declare abstract class PluginGeomQueryBrepApi {
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* List the faces of a brep.
|
|
21
|
+
* @param brep The brep to query
|
|
22
|
+
* @returns The faces as {@linkcode FaceHandle}`[]`
|
|
23
|
+
*
|
|
24
|
+
* # Example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
27
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
28
|
+
* if (brep) {
|
|
29
|
+
* const faces = await snaptrude.core.geom.query.brep.listFaces(brep)
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
abstract listFaces(brep: BrepHandle): PluginApiReturn<FaceHandle[]>;
|
|
34
|
+
/**
|
|
35
|
+
* List the edges of a brep.
|
|
36
|
+
* @param brep The brep to query
|
|
37
|
+
* @returns The edges as {@linkcode EdgeHandle}`[]`
|
|
38
|
+
*
|
|
39
|
+
* # Example
|
|
40
|
+
* ```ts
|
|
41
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
42
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
43
|
+
* if (brep) {
|
|
44
|
+
* const edges = await snaptrude.core.geom.query.brep.listEdges(brep)
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
abstract listEdges(brep: BrepHandle): PluginApiReturn<EdgeHandle[]>;
|
|
49
|
+
/**
|
|
50
|
+
* List the vertices of a brep.
|
|
51
|
+
* @param brep The brep to query
|
|
52
|
+
* @returns The vertices as {@linkcode VertexHandle}`[]`
|
|
53
|
+
*
|
|
54
|
+
* # Example
|
|
55
|
+
* ```ts
|
|
56
|
+
* const [mass] = await snaptrude.design.query.listMasses()
|
|
57
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(mass)
|
|
58
|
+
* if (brep) {
|
|
59
|
+
* const vertices = await snaptrude.core.geom.query.brep.listVertices(brep)
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
abstract listVertices(brep: BrepHandle): PluginApiReturn<VertexHandle[]>;
|
|
64
|
+
/**
|
|
65
|
+
* List the half-edges of a brep.
|
|
66
|
+
* @param brep The brep to query
|
|
67
|
+
* @returns The half-edges as {@linkcode HalfEdgeHandle}`[]`
|
|
68
|
+
*
|
|
69
|
+
* # Example
|
|
70
|
+
* ```ts
|
|
71
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
72
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
73
|
+
* if (brep) {
|
|
74
|
+
* const halfEdges = await snaptrude.core.geom.query.brep.listHalfEdges(brep)
|
|
75
|
+
* }
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
abstract listHalfEdges(brep: BrepHandle): PluginApiReturn<HalfEdgeHandle[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Get the edge connecting two vertices (by their brep vertex indices).
|
|
81
|
+
* @param brep The brep to query
|
|
82
|
+
* @param vertexIndexA First vertex index
|
|
83
|
+
* @param vertexIndexB Second vertex index
|
|
84
|
+
* @returns The edge as an {@linkcode EdgeHandle}, or `null` if no such edge exists
|
|
85
|
+
*
|
|
86
|
+
* # Example
|
|
87
|
+
* ```ts
|
|
88
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
89
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
90
|
+
* if (brep) {
|
|
91
|
+
* const [va, vb] = await snaptrude.core.geom.query.brep.listVertices(brep)
|
|
92
|
+
* const ia = await snaptrude.core.geom.query.vertex.getIndex(va)
|
|
93
|
+
* const ib = await snaptrude.core.geom.query.vertex.getIndex(vb)
|
|
94
|
+
* const edge = await snaptrude.core.geom.query.brep.getEdge(brep, ia, ib)
|
|
95
|
+
* if (edge) console.log("those two vertices are connected")
|
|
96
|
+
* }
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
abstract getEdge(brep: BrepHandle, vertexIndexA: number, vertexIndexB: number): PluginApiReturn<EdgeHandle | null>;
|
|
100
|
+
/**
|
|
101
|
+
* Test whether an edge connects two vertices (by their brep vertex indices).
|
|
102
|
+
* @param brep The brep to query
|
|
103
|
+
* @param vertexIndexA First vertex index
|
|
104
|
+
* @param vertexIndexB Second vertex index
|
|
105
|
+
* @returns `true` if such an edge exists, otherwise `false`
|
|
106
|
+
*
|
|
107
|
+
* # Example
|
|
108
|
+
* ```ts
|
|
109
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
110
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
111
|
+
* if (brep) {
|
|
112
|
+
* // brep vertex indices (get one from core.geom.query.vertex.getIndex)
|
|
113
|
+
* const connected = await snaptrude.core.geom.query.brep.hasEdge(brep, 0, 1)
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
abstract hasEdge(brep: BrepHandle, vertexIndexA: number, vertexIndexB: number): PluginApiReturn<boolean>;
|
|
118
|
+
/**
|
|
119
|
+
* List every edge connecting two vertices (by their brep vertex indices).
|
|
120
|
+
* @param brep The brep to query
|
|
121
|
+
* @param vertexIndexA First vertex index
|
|
122
|
+
* @param vertexIndexB Second vertex index
|
|
123
|
+
* @returns The edges as {@linkcode EdgeHandle}`[]`
|
|
124
|
+
*
|
|
125
|
+
* # Example
|
|
126
|
+
* ```ts
|
|
127
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
128
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
129
|
+
* if (brep) {
|
|
130
|
+
* // brep vertex indices (get one from core.geom.query.vertex.getIndex)
|
|
131
|
+
* const edges = await snaptrude.core.geom.query.brep.listEdgesBetween(brep, 0, 1)
|
|
132
|
+
* console.log("edges between vertices 0 and 1:", edges.length)
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
abstract listEdgesBetween(brep: BrepHandle, vertexIndexA: number, vertexIndexB: number): PluginApiReturn<EdgeHandle[]>;
|
|
137
|
+
/**
|
|
138
|
+
* Get the position of a vertex within a brep.
|
|
139
|
+
* @param brep The brep to query
|
|
140
|
+
* @param vertex The vertex whose position to read
|
|
141
|
+
* @returns The position as {@linkcode Vec3Components}
|
|
142
|
+
*
|
|
143
|
+
* # Example
|
|
144
|
+
* ```ts
|
|
145
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
146
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
147
|
+
* if (brep) {
|
|
148
|
+
* const [vertex] = await snaptrude.core.geom.query.brep.listVertices(brep)
|
|
149
|
+
* const { x, y, z } = await snaptrude.core.geom.query.brep.getVertexPosition(brep, vertex)
|
|
150
|
+
* }
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
abstract getVertexPosition(brep: BrepHandle, vertex: VertexHandle): PluginApiReturn<Vec3Components>;
|
|
154
|
+
/**
|
|
155
|
+
* List the positions of all vertices in a brep (ordered as {@linkcode PluginGeomQueryBrepApi.listVertices}).
|
|
156
|
+
* @param brep The brep to query
|
|
157
|
+
* @returns The positions as {@linkcode Vec3Components}`[]`
|
|
158
|
+
*
|
|
159
|
+
* @examplePrompt Get the coordinates of every corner of this shape
|
|
160
|
+
* @examplePrompt Give me all the corner points of the selected mass as XYZ coordinates
|
|
161
|
+
*
|
|
162
|
+
* # Example
|
|
163
|
+
* ```ts
|
|
164
|
+
* const [mass] = await snaptrude.design.query.listMasses()
|
|
165
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(mass)
|
|
166
|
+
* if (brep) {
|
|
167
|
+
* const positions = await snaptrude.core.geom.query.brep.listVertexPositions(brep)
|
|
168
|
+
* for (const p of positions) console.log(p.x, p.y, p.z)
|
|
169
|
+
* }
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
abstract listVertexPositions(brep: BrepHandle): PluginApiReturn<Vec3Components[]>;
|
|
173
|
+
/**
|
|
174
|
+
* Get the centroid (mean of all vertex positions) of a brep.
|
|
175
|
+
* @param brep The brep to query
|
|
176
|
+
* @returns The centroid as {@linkcode Vec3Components}
|
|
177
|
+
*
|
|
178
|
+
* @examplePrompt Find the centre point of this shape
|
|
179
|
+
* @examplePrompt What is the centroid of the selected object?
|
|
180
|
+
*
|
|
181
|
+
* # Example
|
|
182
|
+
* ```ts
|
|
183
|
+
* const [mass] = await snaptrude.design.query.listMasses()
|
|
184
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(mass)
|
|
185
|
+
* if (brep) {
|
|
186
|
+
* const centroid = await snaptrude.core.geom.query.brep.getCentroid(brep)
|
|
187
|
+
* console.log(centroid.x, centroid.y, centroid.z)
|
|
188
|
+
* }
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
abstract getCentroid(brep: BrepHandle): PluginApiReturn<Vec3Components>;
|
|
192
|
+
/**
|
|
193
|
+
* Get the number of faces in a brep.
|
|
194
|
+
* @param brep The brep to query
|
|
195
|
+
* @returns The face count as a `number`
|
|
196
|
+
*
|
|
197
|
+
* # Example
|
|
198
|
+
* ```ts
|
|
199
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
200
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
201
|
+
* if (brep) {
|
|
202
|
+
* const faceCount = await snaptrude.core.geom.query.brep.getFaceCount(brep)
|
|
203
|
+
* }
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
abstract getFaceCount(brep: BrepHandle): PluginApiReturn<number>;
|
|
207
|
+
/**
|
|
208
|
+
* Get the number of edges in a brep.
|
|
209
|
+
* @param brep The brep to query
|
|
210
|
+
* @returns The edge count as a `number`
|
|
211
|
+
*
|
|
212
|
+
* # Example
|
|
213
|
+
* ```ts
|
|
214
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
215
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(wall)
|
|
216
|
+
* if (brep) {
|
|
217
|
+
* const edgeCount = await snaptrude.core.geom.query.brep.getEdgeCount(brep)
|
|
218
|
+
* }
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
abstract getEdgeCount(brep: BrepHandle): PluginApiReturn<number>;
|
|
222
|
+
/**
|
|
223
|
+
* Get the number of vertices in a brep.
|
|
224
|
+
* @param brep The brep to query
|
|
225
|
+
* @returns The vertex count as a `number`
|
|
226
|
+
*
|
|
227
|
+
* # Example
|
|
228
|
+
* ```ts
|
|
229
|
+
* const [mass] = await snaptrude.design.query.listMasses()
|
|
230
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(mass)
|
|
231
|
+
* if (brep) {
|
|
232
|
+
* const vertexCount = await snaptrude.core.geom.query.brep.getVertexCount(brep)
|
|
233
|
+
* }
|
|
234
|
+
* ```
|
|
235
|
+
*/
|
|
236
|
+
abstract getVertexCount(brep: BrepHandle): PluginApiReturn<number>;
|
|
237
|
+
/**
|
|
238
|
+
* Get the number of half-edges in a brep.
|
|
239
|
+
* @param brep The brep to query
|
|
240
|
+
* @returns The half-edge count as a `number`
|
|
241
|
+
*
|
|
242
|
+
* # Example
|
|
243
|
+
* ```ts
|
|
244
|
+
* const [mass] = await snaptrude.design.query.listMasses()
|
|
245
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(mass)
|
|
246
|
+
* if (brep) {
|
|
247
|
+
* const halfEdgeCount = await snaptrude.core.geom.query.brep.getHalfEdgeCount(brep)
|
|
248
|
+
* }
|
|
249
|
+
* ```
|
|
250
|
+
*/
|
|
251
|
+
abstract getHalfEdgeCount(brep: BrepHandle): PluginApiReturn<number>;
|
|
252
|
+
/**
|
|
253
|
+
* Get the axis-aligned bounding box of a brep.
|
|
254
|
+
* @param brep The brep to query
|
|
255
|
+
* @returns The bounding box as {@linkcode BBoxComponents}
|
|
256
|
+
*
|
|
257
|
+
* @examplePrompt What is the bounding box of this shape?
|
|
258
|
+
* @examplePrompt How big is this object overall — give me its min and max extents
|
|
259
|
+
*
|
|
260
|
+
* # Example
|
|
261
|
+
* ```ts
|
|
262
|
+
* const [mass] = await snaptrude.design.query.listMasses()
|
|
263
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(mass)
|
|
264
|
+
* if (brep) {
|
|
265
|
+
* const { min, max } = await snaptrude.core.geom.query.brep.getBoundingBox(brep)
|
|
266
|
+
* console.log("size:", max.x - min.x, max.y - min.y, max.z - min.z)
|
|
267
|
+
* }
|
|
268
|
+
* ```
|
|
269
|
+
*/
|
|
270
|
+
abstract getBoundingBox(brep: BrepHandle): PluginApiReturn<BBoxComponents>;
|
|
271
|
+
/**
|
|
272
|
+
* Test whether two breps are geometrically equal.
|
|
273
|
+
* @param brepA First brep
|
|
274
|
+
* @param brepB Second brep
|
|
275
|
+
* @returns `true` if the breps are equal, otherwise `false`
|
|
276
|
+
*
|
|
277
|
+
* @examplePrompt Are these two shapes geometrically identical?
|
|
278
|
+
* @examplePrompt Check whether these two objects have the same geometry
|
|
279
|
+
*
|
|
280
|
+
* # Example
|
|
281
|
+
* ```ts
|
|
282
|
+
* const [a, b] = await snaptrude.design.query.listMasses()
|
|
283
|
+
* const brepA = await snaptrude.design.query.geometry.getBrep(a)
|
|
284
|
+
* const brepB = await snaptrude.design.query.geometry.getBrep(b)
|
|
285
|
+
* if (brepA && brepB) {
|
|
286
|
+
* const same = await snaptrude.core.geom.query.brep.isEqual(brepA, brepB)
|
|
287
|
+
* }
|
|
288
|
+
* ```
|
|
289
|
+
*/
|
|
290
|
+
abstract isEqual(brepA: BrepHandle, brepB: BrepHandle): PluginApiReturn<boolean>;
|
|
291
|
+
}
|
|
292
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.listFaces}. `{ brep: BrepHandle }` */
|
|
293
|
+
export declare const PluginGeomQueryBrepListFacesArgs: z.ZodObject<{
|
|
294
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
295
|
+
}, z.core.$strip>;
|
|
296
|
+
export type PluginGeomQueryBrepListFacesArgs = z.infer<typeof PluginGeomQueryBrepListFacesArgs>;
|
|
297
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.listEdges}. `{ brep: BrepHandle }` */
|
|
298
|
+
export declare const PluginGeomQueryBrepListEdgesArgs: z.ZodObject<{
|
|
299
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
300
|
+
}, z.core.$strip>;
|
|
301
|
+
export type PluginGeomQueryBrepListEdgesArgs = z.infer<typeof PluginGeomQueryBrepListEdgesArgs>;
|
|
302
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.listVertices}. `{ brep: BrepHandle }` */
|
|
303
|
+
export declare const PluginGeomQueryBrepListVerticesArgs: z.ZodObject<{
|
|
304
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
305
|
+
}, z.core.$strip>;
|
|
306
|
+
export type PluginGeomQueryBrepListVerticesArgs = z.infer<typeof PluginGeomQueryBrepListVerticesArgs>;
|
|
307
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.listHalfEdges}. `{ brep: BrepHandle }` */
|
|
308
|
+
export declare const PluginGeomQueryBrepListHalfEdgesArgs: z.ZodObject<{
|
|
309
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
310
|
+
}, z.core.$strip>;
|
|
311
|
+
export type PluginGeomQueryBrepListHalfEdgesArgs = z.infer<typeof PluginGeomQueryBrepListHalfEdgesArgs>;
|
|
312
|
+
/**
|
|
313
|
+
* Arguments for {@linkcode PluginGeomQueryBrepApi.getEdge}.
|
|
314
|
+
*
|
|
315
|
+
* | Property | Type | Description |
|
|
316
|
+
* |---|---|---|
|
|
317
|
+
* | `brep` | {@linkcode BrepHandle} | The brep to query |
|
|
318
|
+
* | `vertexIndexA` | `number` | First vertex index |
|
|
319
|
+
* | `vertexIndexB` | `number` | Second vertex index |
|
|
320
|
+
*/
|
|
321
|
+
export declare const PluginGeomQueryBrepGetEdgeArgs: z.ZodObject<{
|
|
322
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
323
|
+
vertexIndexA: z.ZodNumber;
|
|
324
|
+
vertexIndexB: z.ZodNumber;
|
|
325
|
+
}, z.core.$strip>;
|
|
326
|
+
export type PluginGeomQueryBrepGetEdgeArgs = z.infer<typeof PluginGeomQueryBrepGetEdgeArgs>;
|
|
327
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.hasEdge}. `{ brep, vertexIndexA, vertexIndexB }` */
|
|
328
|
+
export declare const PluginGeomQueryBrepHasEdgeArgs: z.ZodObject<{
|
|
329
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
330
|
+
vertexIndexA: z.ZodNumber;
|
|
331
|
+
vertexIndexB: z.ZodNumber;
|
|
332
|
+
}, z.core.$strip>;
|
|
333
|
+
export type PluginGeomQueryBrepHasEdgeArgs = z.infer<typeof PluginGeomQueryBrepHasEdgeArgs>;
|
|
334
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.listEdgesBetween}. `{ brep, vertexIndexA, vertexIndexB }` */
|
|
335
|
+
export declare const PluginGeomQueryBrepListEdgesBetweenArgs: z.ZodObject<{
|
|
336
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
337
|
+
vertexIndexA: z.ZodNumber;
|
|
338
|
+
vertexIndexB: z.ZodNumber;
|
|
339
|
+
}, z.core.$strip>;
|
|
340
|
+
export type PluginGeomQueryBrepListEdgesBetweenArgs = z.infer<typeof PluginGeomQueryBrepListEdgesBetweenArgs>;
|
|
341
|
+
/**
|
|
342
|
+
* Arguments for {@linkcode PluginGeomQueryBrepApi.getVertexPosition}.
|
|
343
|
+
*
|
|
344
|
+
* | Property | Type | Description |
|
|
345
|
+
* |---|---|---|
|
|
346
|
+
* | `brep` | {@linkcode BrepHandle} | The brep to query |
|
|
347
|
+
* | `vertex` | {@linkcode VertexHandle} | The vertex whose position to read |
|
|
348
|
+
*/
|
|
349
|
+
export declare const PluginGeomQueryBrepGetVertexPositionArgs: z.ZodObject<{
|
|
350
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
351
|
+
vertex: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"vertex">, string>>;
|
|
352
|
+
}, z.core.$strip>;
|
|
353
|
+
export type PluginGeomQueryBrepGetVertexPositionArgs = z.infer<typeof PluginGeomQueryBrepGetVertexPositionArgs>;
|
|
354
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.listVertexPositions}. `{ brep: BrepHandle }` */
|
|
355
|
+
export declare const PluginGeomQueryBrepListVertexPositionsArgs: z.ZodObject<{
|
|
356
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
357
|
+
}, z.core.$strip>;
|
|
358
|
+
export type PluginGeomQueryBrepListVertexPositionsArgs = z.infer<typeof PluginGeomQueryBrepListVertexPositionsArgs>;
|
|
359
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.getCentroid}. `{ brep: BrepHandle }` */
|
|
360
|
+
export declare const PluginGeomQueryBrepGetCentroidArgs: z.ZodObject<{
|
|
361
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
362
|
+
}, z.core.$strip>;
|
|
363
|
+
export type PluginGeomQueryBrepGetCentroidArgs = z.infer<typeof PluginGeomQueryBrepGetCentroidArgs>;
|
|
364
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.getFaceCount}. `{ brep: BrepHandle }` */
|
|
365
|
+
export declare const PluginGeomQueryBrepGetFaceCountArgs: z.ZodObject<{
|
|
366
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
367
|
+
}, z.core.$strip>;
|
|
368
|
+
export type PluginGeomQueryBrepGetFaceCountArgs = z.infer<typeof PluginGeomQueryBrepGetFaceCountArgs>;
|
|
369
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.getEdgeCount}. `{ brep: BrepHandle }` */
|
|
370
|
+
export declare const PluginGeomQueryBrepGetEdgeCountArgs: z.ZodObject<{
|
|
371
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
372
|
+
}, z.core.$strip>;
|
|
373
|
+
export type PluginGeomQueryBrepGetEdgeCountArgs = z.infer<typeof PluginGeomQueryBrepGetEdgeCountArgs>;
|
|
374
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.getVertexCount}. `{ brep: BrepHandle }` */
|
|
375
|
+
export declare const PluginGeomQueryBrepGetVertexCountArgs: z.ZodObject<{
|
|
376
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
377
|
+
}, z.core.$strip>;
|
|
378
|
+
export type PluginGeomQueryBrepGetVertexCountArgs = z.infer<typeof PluginGeomQueryBrepGetVertexCountArgs>;
|
|
379
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.getHalfEdgeCount}. `{ brep: BrepHandle }` */
|
|
380
|
+
export declare const PluginGeomQueryBrepGetHalfEdgeCountArgs: z.ZodObject<{
|
|
381
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
382
|
+
}, z.core.$strip>;
|
|
383
|
+
export type PluginGeomQueryBrepGetHalfEdgeCountArgs = z.infer<typeof PluginGeomQueryBrepGetHalfEdgeCountArgs>;
|
|
384
|
+
/** Arguments for {@linkcode PluginGeomQueryBrepApi.getBoundingBox}. `{ brep: BrepHandle }` */
|
|
385
|
+
export declare const PluginGeomQueryBrepGetBoundingBoxArgs: z.ZodObject<{
|
|
386
|
+
brep: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
387
|
+
}, z.core.$strip>;
|
|
388
|
+
export type PluginGeomQueryBrepGetBoundingBoxArgs = z.infer<typeof PluginGeomQueryBrepGetBoundingBoxArgs>;
|
|
389
|
+
/**
|
|
390
|
+
* Arguments for {@linkcode PluginGeomQueryBrepApi.isEqual}.
|
|
391
|
+
*
|
|
392
|
+
* | Property | Type | Description |
|
|
393
|
+
* |---|---|---|
|
|
394
|
+
* | `brepA` | {@linkcode BrepHandle} | First brep |
|
|
395
|
+
* | `brepB` | {@linkcode BrepHandle} | Second brep |
|
|
396
|
+
*/
|
|
397
|
+
export declare const PluginGeomQueryBrepIsEqualArgs: z.ZodObject<{
|
|
398
|
+
brepA: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
399
|
+
brepB: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
400
|
+
}, z.core.$strip>;
|
|
401
|
+
export type PluginGeomQueryBrepIsEqualArgs = z.infer<typeof PluginGeomQueryBrepIsEqualArgs>;
|
|
402
|
+
//# sourceMappingURL=brep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brep.d.ts","sourceRoot":"","sources":["../../../../../src/api/core/geom/query/brep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACf,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;GAYG;AACH,8BAAsB,sBAAsB;;IAG1C;;;;;;;;;;;;;OAaG;aACa,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;IAE1E;;;;;;;;;;;;;OAaG;aACa,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;IAE1E;;;;;;;;;;;;;OAaG;aACa,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,YAAY,EAAE,CAAC;IAE/E;;;;;;;;;;;;;OAaG;aACa,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC;IAElF;;;;;;;;;;;;;;;;;;;OAmBG;aACa,OAAO,CACrB,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,OAAO,CACrB,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;;OAiBG;aACa,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,eAAe,CAAC,UAAU,EAAE,CAAC;IAEhC;;;;;;;;;;;;;;;OAeG;aACa,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,YAAY,GACnB,eAAe,CAAC,cAAc,CAAC;IAElC;;;;;;;;;;;;;;;;;OAiBG;aACa,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC;IAExF;;;;;;;;;;;;;;;;;OAiBG;aACa,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC;IAE9E;;;;;;;;;;;;;OAaG;aACa,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC;IAEvE;;;;;;;;;;;;;OAaG;aACa,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC;IAEvE;;;;;;;;;;;;;OAaG;aACa,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC;IAEzE;;;;;;;;;;;;;OAaG;aACa,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC;IAE3E;;;;;;;;;;;;;;;;;OAiBG;aACa,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC;IAEjF;;;;;;;;;;;;;;;;;;OAkBG;aACa,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC;CACxF;AASD,yFAAyF;AACzF,eAAO,MAAM,gCAAgC;;iBAAU,CAAA;AACvD,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAE/F,yFAAyF;AACzF,eAAO,MAAM,gCAAgC;;iBAAU,CAAA;AACvD,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAE/F,4FAA4F;AAC5F,eAAO,MAAM,mCAAmC;;iBAAU,CAAA;AAC1D,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAErG,6FAA6F;AAC7F,eAAO,MAAM,oCAAoC;;iBAAU,CAAA;AAC3D,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,oCAAoC,CAC5C,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;iBAAc,CAAA;AACzD,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F,uGAAuG;AACvG,eAAO,MAAM,8BAA8B;;;;iBAAc,CAAA;AACzD,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F,gHAAgH;AAChH,eAAO,MAAM,uCAAuC;;;;iBAAc,CAAA;AAClE,MAAM,MAAM,uCAAuC,GAAG,CAAC,CAAC,KAAK,CAC3D,OAAO,uCAAuC,CAC/C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wCAAwC;;;iBAGnD,CAAA;AACF,MAAM,MAAM,wCAAwC,GAAG,CAAC,CAAC,KAAK,CAC5D,OAAO,wCAAwC,CAChD,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,0CAA0C;;iBAAU,CAAA;AACjE,MAAM,MAAM,0CAA0C,GAAG,CAAC,CAAC,KAAK,CAC9D,OAAO,0CAA0C,CAClD,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,kCAAkC;;iBAAU,CAAA;AACzD,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAEnG,4FAA4F;AAC5F,eAAO,MAAM,mCAAmC;;iBAAU,CAAA;AAC1D,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAErG,4FAA4F;AAC5F,eAAO,MAAM,mCAAmC;;iBAAU,CAAA;AAC1D,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAErG,8FAA8F;AAC9F,eAAO,MAAM,qCAAqC;;iBAAU,CAAA;AAC5D,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,qCAAqC,CAC7C,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,uCAAuC;;iBAAU,CAAA;AAC9D,MAAM,MAAM,uCAAuC,GAAG,CAAC,CAAC,KAAK,CAC3D,OAAO,uCAAuC,CAC/C,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,qCAAqC;;iBAAU,CAAA;AAC5D,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,qCAAqC,CAC7C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA"}
|