abstract-3d 0.1.2
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/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +7 -0
- package/lib/abstract-3d.d.ts +317 -0
- package/lib/abstract-3d.d.ts.map +1 -0
- package/lib/abstract-3d.js +333 -0
- package/lib/abstract-3d.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +19 -0
- package/lib/index.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding.d.ts +7 -0
- package/lib/renderers/dxf/dxf-encoding.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding.js +343 -0
- package/lib/renderers/dxf/dxf-encoding.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js +52 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +54 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +62 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +38 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +61 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +61 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -0
- package/lib/renderers/dxf/dxf.d.ts +3 -0
- package/lib/renderers/dxf/dxf.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf.js +64 -0
- package/lib/renderers/dxf/dxf.js.map +1 -0
- package/lib/renderers/dxf/index.d.ts +2 -0
- package/lib/renderers/dxf/index.d.ts.map +1 -0
- package/lib/renderers/dxf/index.js +18 -0
- package/lib/renderers/dxf/index.js.map +1 -0
- package/lib/renderers/index.d.ts +5 -0
- package/lib/renderers/index.d.ts.map +1 -0
- package/lib/renderers/index.js +21 -0
- package/lib/renderers/index.js.map +1 -0
- package/lib/renderers/react/index.d.ts +6 -0
- package/lib/renderers/react/index.d.ts.map +1 -0
- package/lib/renderers/react/index.js +21 -0
- package/lib/renderers/react/index.js.map +1 -0
- package/lib/renderers/react/react-camera.d.ts +60 -0
- package/lib/renderers/react/react-camera.d.ts.map +1 -0
- package/lib/renderers/react/react-camera.js +132 -0
- package/lib/renderers/react/react-camera.js.map +1 -0
- package/lib/renderers/react/react-dimension.d.ts +12 -0
- package/lib/renderers/react/react-dimension.d.ts.map +1 -0
- package/lib/renderers/react/react-dimension.js +39 -0
- package/lib/renderers/react/react-dimension.js.map +1 -0
- package/lib/renderers/react/react-group.d.ts +18 -0
- package/lib/renderers/react/react-group.d.ts.map +1 -0
- package/lib/renderers/react/react-group.js +62 -0
- package/lib/renderers/react/react-group.js.map +1 -0
- package/lib/renderers/react/react-hotspot.d.ts +30 -0
- package/lib/renderers/react/react-hotspot.d.ts.map +1 -0
- package/lib/renderers/react/react-hotspot.js +71 -0
- package/lib/renderers/react/react-hotspot.js.map +1 -0
- package/lib/renderers/react/react-material.d.ts +13 -0
- package/lib/renderers/react/react-material.d.ts.map +1 -0
- package/lib/renderers/react/react-material.js +85 -0
- package/lib/renderers/react/react-material.js.map +1 -0
- package/lib/renderers/react/react-mesh.d.ts +10 -0
- package/lib/renderers/react/react-mesh.d.ts.map +1 -0
- package/lib/renderers/react/react-mesh.js +238 -0
- package/lib/renderers/react/react-mesh.js.map +1 -0
- package/lib/renderers/react/react-scene.d.ts +20 -0
- package/lib/renderers/react/react-scene.d.ts.map +1 -0
- package/lib/renderers/react/react-scene.js +44 -0
- package/lib/renderers/react/react-scene.js.map +1 -0
- package/lib/renderers/react/react.d.ts +30 -0
- package/lib/renderers/react/react.d.ts.map +1 -0
- package/lib/renderers/react/react.js +48 -0
- package/lib/renderers/react/react.js.map +1 -0
- package/lib/renderers/shared.d.ts +6 -0
- package/lib/renderers/shared.d.ts.map +1 -0
- package/lib/renderers/shared.js +93 -0
- package/lib/renderers/shared.js.map +1 -0
- package/lib/renderers/stl/index.d.ts +2 -0
- package/lib/renderers/stl/index.d.ts.map +1 -0
- package/lib/renderers/stl/index.js +18 -0
- package/lib/renderers/stl/index.js.map +1 -0
- package/lib/renderers/stl/stl-encoding.d.ts +4 -0
- package/lib/renderers/stl/stl-encoding.d.ts.map +1 -0
- package/lib/renderers/stl/stl-encoding.js +26 -0
- package/lib/renderers/stl/stl-encoding.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-box.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-box.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-box.js +57 -0
- package/lib/renderers/stl/stl-geometries/stl-box.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-cone.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-cone.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-cone.js +54 -0
- package/lib/renderers/stl/stl-geometries/stl-cone.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-cylinder.js +62 -0
- package/lib/renderers/stl/stl-geometries/stl-cylinder.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-plane.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-plane.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-plane.js +44 -0
- package/lib/renderers/stl/stl-geometries/stl-plane.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-polygon.js +59 -0
- package/lib/renderers/stl/stl-geometries/stl-polygon.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-shape.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-shape.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-shape.js +59 -0
- package/lib/renderers/stl/stl-geometries/stl-shape.js.map +1 -0
- package/lib/renderers/stl/stl.d.ts +3 -0
- package/lib/renderers/stl/stl.d.ts.map +1 -0
- package/lib/renderers/stl/stl.js +57 -0
- package/lib/renderers/stl/stl.js.map +1 -0
- package/lib/renderers/svg/index.d.ts +3 -0
- package/lib/renderers/svg/index.d.ts.map +1 -0
- package/lib/renderers/svg/index.js +18 -0
- package/lib/renderers/svg/index.js.map +1 -0
- package/lib/renderers/svg/svg-encoding.d.ts +14 -0
- package/lib/renderers/svg/svg-encoding.d.ts.map +1 -0
- package/lib/renderers/svg/svg-encoding.js +27 -0
- package/lib/renderers/svg/svg-encoding.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/shared.d.ts +12 -0
- package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/shared.js +12 -0
- package/lib/renderers/svg/svg-geometries/shared.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-box.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-box.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-box.js +70 -0
- package/lib/renderers/svg/svg-geometries/svg-box.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-cone.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-cone.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-cone.js +64 -0
- package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-cylinder.js +69 -0
- package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-line.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-line.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-line.js +39 -0
- package/lib/renderers/svg/svg-geometries/svg-line.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-plane.d.ts +5 -0
- package/lib/renderers/svg/svg-geometries/svg-plane.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-plane.js +57 -0
- package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-polygon.js +20 -0
- package/lib/renderers/svg/svg-geometries/svg-polygon.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-shape.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-shape.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-shape.js +20 -0
- package/lib/renderers/svg/svg-geometries/svg-shape.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-text.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-text.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-text.js +46 -0
- package/lib/renderers/svg/svg-geometries/svg-text.js.map +1 -0
- package/lib/renderers/svg/svg.d.ts +10 -0
- package/lib/renderers/svg/svg.d.ts.map +1 -0
- package/lib/renderers/svg/svg.js +98 -0
- package/lib/renderers/svg/svg.js.map +1 -0
- package/package.json +31 -0
- package/src/abstract-3d.ts +578 -0
- package/src/index.ts +2 -0
- package/src/renderers/dxf/dxf-encoding.ts +348 -0
- package/src/renderers/dxf/dxf-geometries/dxf-box.ts +27 -0
- package/src/renderers/dxf/dxf-geometries/dxf-cone.ts +31 -0
- package/src/renderers/dxf/dxf-geometries/dxf-cylinder.ts +45 -0
- package/src/renderers/dxf/dxf-geometries/dxf-plane.ts +16 -0
- package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +36 -0
- package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +36 -0
- package/src/renderers/dxf/dxf.ts +38 -0
- package/src/renderers/dxf/index.ts +1 -0
- package/src/renderers/index.ts +4 -0
- package/src/renderers/react/index.ts +5 -0
- package/src/renderers/react/react-camera.tsx +208 -0
- package/src/renderers/react/react-dimension.tsx +76 -0
- package/src/renderers/react/react-group.tsx +133 -0
- package/src/renderers/react/react-hotspot.tsx +116 -0
- package/src/renderers/react/react-material.tsx +159 -0
- package/src/renderers/react/react-mesh.tsx +380 -0
- package/src/renderers/react/react-scene.tsx +137 -0
- package/src/renderers/react/react.tsx +118 -0
- package/src/renderers/shared.ts +111 -0
- package/src/renderers/stl/index.ts +1 -0
- package/src/renderers/stl/stl-encoding.ts +22 -0
- package/src/renderers/stl/stl-geometries/stl-box.ts +33 -0
- package/src/renderers/stl/stl-geometries/stl-cone.ts +37 -0
- package/src/renderers/stl/stl-geometries/stl-cylinder.ts +45 -0
- package/src/renderers/stl/stl-geometries/stl-plane.ts +16 -0
- package/src/renderers/stl/stl-geometries/stl-polygon.ts +35 -0
- package/src/renderers/stl/stl-geometries/stl-shape.ts +35 -0
- package/src/renderers/stl/stl.ts +33 -0
- package/src/renderers/svg/index.ts +2 -0
- package/src/renderers/svg/svg-encoding.ts +46 -0
- package/src/renderers/svg/svg-geometries/shared.ts +10 -0
- package/src/renderers/svg/svg-geometries/svg-box.ts +61 -0
- package/src/renderers/svg/svg-geometries/svg-cone.ts +52 -0
- package/src/renderers/svg/svg-geometries/svg-cylinder.ts +58 -0
- package/src/renderers/svg/svg-geometries/svg-line.ts +20 -0
- package/src/renderers/svg/svg-geometries/svg-plane.ts +44 -0
- package/src/renderers/svg/svg-geometries/svg-polygon.ts +25 -0
- package/src/renderers/svg/svg-geometries/svg-shape.ts +25 -0
- package/src/renderers/svg/svg-geometries/svg-text.ts +28 -0
- package/src/renderers/svg/svg.ts +201 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.bounds3Overlap = exports.bounds3ToSize = exports.bounds3Zero = exports.bounds2Zero = exports.boundsZero = exports.bounds3 = exports.bounds2 = exports.bounds = exports.less = exports.leq = exports.greater = exports.geq = exports.isZero = exports.equals = exports.vec3Greater = exports.vec3ZMean = exports.vec3YMean = exports.vec3XMean = exports.vec3Equals = exports.vec2Equals = exports.vec3Dupl = exports.vec2Dupl = exports.vec3Mult = exports.vec2Mult = exports.vec2Greater = exports.vec3Normalize = exports.vec2Normalize = exports.vec3Length = exports.vec2Length = exports.vec3Dot = exports.vec2Dot = exports.vec3Sub = exports.vec2Sub = exports.vec3Add = exports.vec2Add = exports.vec3Scale = exports.vec2Scale = exports.vec3Flip = exports.vec2Flip = exports.vec2Zero = exports.vec3NegZ = exports.vec3PosZ = exports.vec3NegY = exports.vec3PosY = exports.vec3NegX = exports.vec3PosX = exports.vec3Zero = exports.vec2 = exports.vec3 = exports.views = void 0;
|
|
27
|
+
exports.splineCurve = exports.circleCurve = exports.tube = exports.text = exports.line = exports.lineGeo = exports.lineMesh = exports.polygon = exports.shape = exports.sphere = exports.cylinder = exports.cone = exports.plane = exports.squareHole = exports.roundHole = exports.box = exports.boxGeometry = exports.boxMesh = exports.group = exports.polygonRotTrans = exports.polygonTrans = exports.polygonRot = exports.lineRotTrans = exports.lineTrans = exports.lineRot = exports.sphereRotTrans = exports.geoTransRot = exports.geoTrans = exports.geoRot = exports.vec3TransRot = exports.vec3Rot = exports.vec3RotCombine = exports.bounds3FromVec3Array = exports.bounds3Merge = exports.bounds2Merge = exports.bounds3FromPosAndSize = exports.bounds2FromPosAndSize = exports.bounds3Center = exports.boundsXOverlapX = exports.bounds2OverlapY = exports.boundsOverlap = void 0;
|
|
28
|
+
const THREE = __importStar(require("three"));
|
|
29
|
+
exports.views = ["front", "back", "top", "bottom", "left", "right"];
|
|
30
|
+
const vec3 = (x, y, z) => ({ x, y, z });
|
|
31
|
+
exports.vec3 = vec3;
|
|
32
|
+
const vec2 = (x, y) => ({ x, y });
|
|
33
|
+
exports.vec2 = vec2;
|
|
34
|
+
exports.vec3Zero = (0, exports.vec3)(0, 0, 0);
|
|
35
|
+
exports.vec3PosX = (0, exports.vec3)(1, 0, 0);
|
|
36
|
+
exports.vec3NegX = (0, exports.vec3)(-1, 0, 0);
|
|
37
|
+
exports.vec3PosY = (0, exports.vec3)(0, 1, 0);
|
|
38
|
+
exports.vec3NegY = (0, exports.vec3)(0, -1, 0);
|
|
39
|
+
exports.vec3PosZ = (0, exports.vec3)(0, 1, 0);
|
|
40
|
+
exports.vec3NegZ = (0, exports.vec3)(0, -1, 0);
|
|
41
|
+
exports.vec2Zero = (0, exports.vec2)(0, 0);
|
|
42
|
+
const vec2Flip = (v) => (0, exports.vec2)(-v.x, -v.y);
|
|
43
|
+
exports.vec2Flip = vec2Flip;
|
|
44
|
+
const vec3Flip = (v) => (0, exports.vec3)(-v.x, -v.y, -v.z);
|
|
45
|
+
exports.vec3Flip = vec3Flip;
|
|
46
|
+
const vec2Scale = (v, s) => (0, exports.vec2)(v.x * s, v.y * s);
|
|
47
|
+
exports.vec2Scale = vec2Scale;
|
|
48
|
+
const vec3Scale = (v, s) => (0, exports.vec3)(v.x * s, v.y * s, v.z * s);
|
|
49
|
+
exports.vec3Scale = vec3Scale;
|
|
50
|
+
const vec2Add = (a, b) => (0, exports.vec2)(a.x + b.x, a.y + b.y);
|
|
51
|
+
exports.vec2Add = vec2Add;
|
|
52
|
+
const vec3Add = (a, b) => (0, exports.vec3)(a.x + b.x, a.y + b.y, a.z + b.z);
|
|
53
|
+
exports.vec3Add = vec3Add;
|
|
54
|
+
const vec2Sub = (a, b) => (0, exports.vec2)(a.x - b.x, a.y - b.y);
|
|
55
|
+
exports.vec2Sub = vec2Sub;
|
|
56
|
+
const vec3Sub = (a, b) => (0, exports.vec3)(a.x - b.x, a.y - b.y, a.z - b.z);
|
|
57
|
+
exports.vec3Sub = vec3Sub;
|
|
58
|
+
const vec2Dot = (a, b) => a.x * b.x + a.y * b.y;
|
|
59
|
+
exports.vec2Dot = vec2Dot;
|
|
60
|
+
const vec3Dot = (a, b) => a.x * b.x + a.y * b.y + a.z * b.z;
|
|
61
|
+
exports.vec3Dot = vec3Dot;
|
|
62
|
+
const vec2Length = (v) => Math.sqrt(v.x * v.x + v.y * v.y);
|
|
63
|
+
exports.vec2Length = vec2Length;
|
|
64
|
+
const vec3Length = (v) => Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
|
|
65
|
+
exports.vec3Length = vec3Length;
|
|
66
|
+
const vec2Normalize = (v) => (0, exports.vec2Scale)(v, 1 / (0, exports.vec2Length)(v));
|
|
67
|
+
exports.vec2Normalize = vec2Normalize;
|
|
68
|
+
const vec3Normalize = (v) => (0, exports.vec3Scale)(v, 1 / (0, exports.vec3Length)(v));
|
|
69
|
+
exports.vec3Normalize = vec3Normalize;
|
|
70
|
+
const vec2Greater = (a, b) => (0, exports.vec2)(a.x > b.x ? a.x : b.x, a.y > b.y ? a.y : b.y);
|
|
71
|
+
exports.vec2Greater = vec2Greater;
|
|
72
|
+
const vec2Mult = (a, b) => (0, exports.vec2)(a.x * b.x, a.y * b.y);
|
|
73
|
+
exports.vec2Mult = vec2Mult;
|
|
74
|
+
const vec3Mult = (a, b) => (0, exports.vec3)(a.x * b.x, a.y * b.y, a.z * b.z);
|
|
75
|
+
exports.vec3Mult = vec3Mult;
|
|
76
|
+
const vec2Dupl = (num) => (0, exports.vec2)(num, num);
|
|
77
|
+
exports.vec2Dupl = vec2Dupl;
|
|
78
|
+
const vec3Dupl = (num) => (0, exports.vec3)(num, num, num);
|
|
79
|
+
exports.vec3Dupl = vec3Dupl;
|
|
80
|
+
const vec2Equals = (a, b) => (0, exports.equals)(a.x, b.x) && (0, exports.equals)(a.y, b.y);
|
|
81
|
+
exports.vec2Equals = vec2Equals;
|
|
82
|
+
const vec3Equals = (a, b) => (0, exports.equals)(a.x, b.x) && (0, exports.equals)(a.y, b.y) && (0, exports.equals)(a.z, b.z);
|
|
83
|
+
exports.vec3Equals = vec3Equals;
|
|
84
|
+
const vec3XMean = (...v) => v.reduce((a, c) => a + c.x, 0) / v.length;
|
|
85
|
+
exports.vec3XMean = vec3XMean;
|
|
86
|
+
const vec3YMean = (...v) => v.reduce((a, c) => a + c.y, 0) / v.length;
|
|
87
|
+
exports.vec3YMean = vec3YMean;
|
|
88
|
+
const vec3ZMean = (...v) => v.reduce((a, c) => a + c.z, 0) / v.length;
|
|
89
|
+
exports.vec3ZMean = vec3ZMean;
|
|
90
|
+
const vec3Greater = (a, b) => (0, exports.vec3)(a.x > b.x ? a.x : b.x, a.y > b.y ? a.y : b.y, a.z > b.z ? a.z : b.z);
|
|
91
|
+
exports.vec3Greater = vec3Greater;
|
|
92
|
+
const equals = (num1, num2, equailty = Number.EPSILON) => Math.abs(num1 - num2) < equailty;
|
|
93
|
+
exports.equals = equals;
|
|
94
|
+
const isZero = (num, equailty = Number.EPSILON) => Math.abs(num) <= equailty;
|
|
95
|
+
exports.isZero = isZero;
|
|
96
|
+
const geq = (num1, num2, equailty = Number.EPSILON) => num1 >= num2 - equailty;
|
|
97
|
+
exports.geq = geq;
|
|
98
|
+
const greater = (num1, num2, equailty = Number.EPSILON) => num1 > num2 + equailty;
|
|
99
|
+
exports.greater = greater;
|
|
100
|
+
const leq = (num1, num2, equailty = Number.EPSILON) => num1 <= num2 + equailty;
|
|
101
|
+
exports.leq = leq;
|
|
102
|
+
const less = (num1, num2, equailty = Number.EPSILON) => num1 < num2 - equailty;
|
|
103
|
+
exports.less = less;
|
|
104
|
+
// -- Bounds
|
|
105
|
+
const bounds = (min, max) => ({ min, max });
|
|
106
|
+
exports.bounds = bounds;
|
|
107
|
+
const bounds2 = (min, max) => ({ min, max });
|
|
108
|
+
exports.bounds2 = bounds2;
|
|
109
|
+
const bounds3 = (min, max) => ({ min, max });
|
|
110
|
+
exports.bounds3 = bounds3;
|
|
111
|
+
exports.boundsZero = (0, exports.bounds)(0, 0);
|
|
112
|
+
exports.bounds2Zero = (0, exports.bounds2)(exports.vec2Zero, exports.vec2Zero);
|
|
113
|
+
exports.bounds3Zero = (0, exports.bounds3)(exports.vec3Zero, exports.vec3Zero);
|
|
114
|
+
const bounds3ToSize = (bounds) => (0, exports.vec3)(bounds.max.x - bounds.min.x, bounds.max.y - bounds.min.y, bounds.max.z - bounds.min.z);
|
|
115
|
+
exports.bounds3ToSize = bounds3ToSize;
|
|
116
|
+
const bounds3Overlap = (a, b, equailty = Number.EPSILON) => !(0, exports.leq)(a.max.x, b.min.x, equailty) &&
|
|
117
|
+
!(0, exports.geq)(a.min.x, b.max.x, equailty) &&
|
|
118
|
+
!(0, exports.leq)(a.max.y, b.min.y, equailty) &&
|
|
119
|
+
!(0, exports.geq)(a.min.y, b.max.y, equailty) &&
|
|
120
|
+
!(0, exports.leq)(a.max.z, b.min.z, equailty) &&
|
|
121
|
+
!(0, exports.geq)(a.min.z, b.max.z, equailty);
|
|
122
|
+
exports.bounds3Overlap = bounds3Overlap;
|
|
123
|
+
const boundsOverlap = (a, b) => ((0, exports.greater)(a.max, b.min) && (0, exports.less)(a.min, b.max)) || ((0, exports.greater)(b.max, a.min) && (0, exports.less)(b.min, a.max));
|
|
124
|
+
exports.boundsOverlap = boundsOverlap;
|
|
125
|
+
const bounds2OverlapY = (a, b) => ((0, exports.greater)(a.max.y, b.min.y) && (0, exports.less)(a.min.y, b.max.y)) || ((0, exports.greater)(b.max.y, a.min.y) && (0, exports.less)(b.min.y, a.max.y));
|
|
126
|
+
exports.bounds2OverlapY = bounds2OverlapY;
|
|
127
|
+
const boundsXOverlapX = (a, b) => ((0, exports.greater)(a.max.x, b.min.x) && (0, exports.less)(a.min.x, b.max.x)) || ((0, exports.greater)(b.max.x, a.min.x) && (0, exports.less)(b.min.x, a.max.x));
|
|
128
|
+
exports.boundsXOverlapX = boundsXOverlapX;
|
|
129
|
+
const bounds3Center = (bounds) => (0, exports.vec3)((bounds.min.x + bounds.max.x) / 2, (bounds.min.y + bounds.max.y) / 2, (bounds.min.z + bounds.max.z) / 2);
|
|
130
|
+
exports.bounds3Center = bounds3Center;
|
|
131
|
+
function bounds2FromPosAndSize(pos, size) {
|
|
132
|
+
const halfX = size.x * 0.5;
|
|
133
|
+
const halfY = size.y * 0.5;
|
|
134
|
+
return (0, exports.bounds2)((0, exports.vec2)(pos.x - halfX, pos.y - halfY), (0, exports.vec2)(pos.x + halfX, pos.y + halfY));
|
|
135
|
+
}
|
|
136
|
+
exports.bounds2FromPosAndSize = bounds2FromPosAndSize;
|
|
137
|
+
function bounds3FromPosAndSize(pos, size) {
|
|
138
|
+
const halfX = size.x * 0.5;
|
|
139
|
+
const halfY = size.y * 0.5;
|
|
140
|
+
const halfZ = size.z * 0.5;
|
|
141
|
+
return (0, exports.bounds3)((0, exports.vec3)(pos.x - halfX, pos.y - halfY, pos.z - halfZ), (0, exports.vec3)(pos.x + halfX, pos.y + halfY, pos.z + halfZ));
|
|
142
|
+
}
|
|
143
|
+
exports.bounds3FromPosAndSize = bounds3FromPosAndSize;
|
|
144
|
+
const bounds2Merge = (a, b) => {
|
|
145
|
+
return (0, exports.bounds2)((0, exports.vec2)(Math.min(a.min.x, b.min.x), Math.min(a.min.y, b.min.y)), (0, exports.vec2)(Math.max(a.max.x, b.max.x), Math.max(a.max.y, b.max.y)));
|
|
146
|
+
};
|
|
147
|
+
exports.bounds2Merge = bounds2Merge;
|
|
148
|
+
const bounds3Merge = (...bounds) => {
|
|
149
|
+
if (bounds.length === 0) {
|
|
150
|
+
return exports.bounds3Zero;
|
|
151
|
+
}
|
|
152
|
+
const min = (0, exports.vec3Dupl)(Number.MAX_VALUE);
|
|
153
|
+
const max = (0, exports.vec3Dupl)(-Number.MAX_VALUE);
|
|
154
|
+
bounds.forEach((b) => {
|
|
155
|
+
if (b.min.x < min.x) {
|
|
156
|
+
min.x = b.min.x;
|
|
157
|
+
}
|
|
158
|
+
if (b.min.y < min.y) {
|
|
159
|
+
min.y = b.min.y;
|
|
160
|
+
}
|
|
161
|
+
if (b.min.z < min.z) {
|
|
162
|
+
min.z = b.min.z;
|
|
163
|
+
}
|
|
164
|
+
if (b.max.x > max.x) {
|
|
165
|
+
max.x = b.max.x;
|
|
166
|
+
}
|
|
167
|
+
if (b.max.y > max.y) {
|
|
168
|
+
max.y = b.max.y;
|
|
169
|
+
}
|
|
170
|
+
if (b.max.z > max.z) {
|
|
171
|
+
max.z = b.max.z;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
return (0, exports.bounds3)(min, max);
|
|
175
|
+
};
|
|
176
|
+
exports.bounds3Merge = bounds3Merge;
|
|
177
|
+
function bounds3FromVec3Array(vec3Array) {
|
|
178
|
+
const min = (0, exports.vec3Dupl)(Number.MAX_VALUE);
|
|
179
|
+
const max = (0, exports.vec3Dupl)(-Number.MAX_VALUE);
|
|
180
|
+
vec3Array.forEach((v) => {
|
|
181
|
+
if (v.x < min.x) {
|
|
182
|
+
min.x = v.x;
|
|
183
|
+
}
|
|
184
|
+
if (v.y < min.y) {
|
|
185
|
+
min.y = v.y;
|
|
186
|
+
}
|
|
187
|
+
if (v.z < min.z) {
|
|
188
|
+
min.z = v.z;
|
|
189
|
+
}
|
|
190
|
+
if (v.x > max.x) {
|
|
191
|
+
max.x = v.x;
|
|
192
|
+
}
|
|
193
|
+
if (v.y > max.y) {
|
|
194
|
+
max.y = v.y;
|
|
195
|
+
}
|
|
196
|
+
if (v.z > max.z) {
|
|
197
|
+
max.z = v.z;
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
return (0, exports.bounds3)(min, max);
|
|
201
|
+
}
|
|
202
|
+
exports.bounds3FromVec3Array = bounds3FromVec3Array;
|
|
203
|
+
// -- Transformations
|
|
204
|
+
const quaternion1 = new THREE.Quaternion();
|
|
205
|
+
const quaternion2 = new THREE.Quaternion();
|
|
206
|
+
const euler1 = new THREE.Euler();
|
|
207
|
+
const euler2 = new THREE.Euler();
|
|
208
|
+
const vector = new THREE.Vector3();
|
|
209
|
+
function vec3RotCombine(outer, inner) {
|
|
210
|
+
euler1.set(outer.x, outer.y, outer.z);
|
|
211
|
+
quaternion1.setFromEuler(euler1);
|
|
212
|
+
euler2.set(inner.x, inner.y, inner.z);
|
|
213
|
+
quaternion2.setFromEuler(euler2);
|
|
214
|
+
quaternion1.multiply(quaternion2);
|
|
215
|
+
euler1.setFromQuaternion(quaternion1);
|
|
216
|
+
return (0, exports.vec3)(euler1.x, euler1.y, euler1.z);
|
|
217
|
+
}
|
|
218
|
+
exports.vec3RotCombine = vec3RotCombine;
|
|
219
|
+
function vec3Rot(point, origin, rotation) {
|
|
220
|
+
euler1.set(rotation.x, rotation.y, rotation.z);
|
|
221
|
+
quaternion1.setFromEuler(euler1);
|
|
222
|
+
vector.set(point.x - origin.x, point.y - origin.y, point.z - origin.z);
|
|
223
|
+
vector.applyQuaternion(quaternion1);
|
|
224
|
+
return (0, exports.vec3)(vector.x + origin.x, vector.y + origin.y, vector.z + origin.z);
|
|
225
|
+
}
|
|
226
|
+
exports.vec3Rot = vec3Rot;
|
|
227
|
+
const vec3TransRot = (p, pos, rot) => vec3Rot((0, exports.vec3Add)(p, pos), pos, rot);
|
|
228
|
+
exports.vec3TransRot = vec3TransRot;
|
|
229
|
+
function geoRot(g, origin, rot) {
|
|
230
|
+
var _a;
|
|
231
|
+
return Object.assign(Object.assign({}, g), { pos: vec3Rot(g.pos, origin, rot), rot: vec3RotCombine(rot, (_a = g.rot) !== null && _a !== void 0 ? _a : exports.vec3Zero) });
|
|
232
|
+
}
|
|
233
|
+
exports.geoRot = geoRot;
|
|
234
|
+
function geoTrans(g, translate) {
|
|
235
|
+
return Object.assign(Object.assign({}, g), { pos: (0, exports.vec3Add)(g.pos, translate) });
|
|
236
|
+
}
|
|
237
|
+
exports.geoTrans = geoTrans;
|
|
238
|
+
function geoTransRot(g, origin, rot) {
|
|
239
|
+
var _a;
|
|
240
|
+
return Object.assign(Object.assign({}, g), { pos: vec3Rot((0, exports.vec3Add)(g.pos, origin), origin, rot), rot: vec3RotCombine(rot, (_a = g.rot) !== null && _a !== void 0 ? _a : exports.vec3Zero) });
|
|
241
|
+
}
|
|
242
|
+
exports.geoTransRot = geoTransRot;
|
|
243
|
+
function sphereRotTrans(s, origin, rot) {
|
|
244
|
+
return Object.assign(Object.assign({}, s), { pos: vec3Rot((0, exports.vec3Add)(s.pos, origin), origin, rot) });
|
|
245
|
+
}
|
|
246
|
+
exports.sphereRotTrans = sphereRotTrans;
|
|
247
|
+
const lineRot = (l, origin, rot) => (Object.assign(Object.assign({}, l), { start: vec3Rot(l.start, origin, rot), end: vec3Rot(l.end, origin, rot) }));
|
|
248
|
+
exports.lineRot = lineRot;
|
|
249
|
+
const lineTrans = (l, translation) => (Object.assign(Object.assign({}, l), { start: (0, exports.vec3Add)(l.start, translation), end: (0, exports.vec3Add)(l.end, translation) }));
|
|
250
|
+
exports.lineTrans = lineTrans;
|
|
251
|
+
const lineRotTrans = (l, origin, rot) => (Object.assign(Object.assign({}, l), { start: (0, exports.vec3TransRot)(l.start, origin, rot), end: vec3Rot(l.end, origin, rot) }));
|
|
252
|
+
exports.lineRotTrans = lineRotTrans;
|
|
253
|
+
const polygonRot = (p, origin, rot) => (Object.assign(Object.assign({}, p), { points: p.points.map((p) => vec3Rot(p, origin, rot)) }));
|
|
254
|
+
exports.polygonRot = polygonRot;
|
|
255
|
+
const polygonTrans = (p, translation) => (Object.assign(Object.assign({}, p), { points: p.points.map((p) => (0, exports.vec3Add)(p, translation)) }));
|
|
256
|
+
exports.polygonTrans = polygonTrans;
|
|
257
|
+
const polygonRotTrans = (p, origin, rot) => (Object.assign(Object.assign({}, p), { points: p.points.map((p) => (0, exports.vec3TransRot)(p, origin, rot)) }));
|
|
258
|
+
exports.polygonRotTrans = polygonRotTrans;
|
|
259
|
+
// -- Constructors
|
|
260
|
+
const group = (meshes, pos = exports.vec3Zero, rot = exports.vec3Zero, groups = Array(), data = {}, animation = undefined) => ({ meshes, pos, rot, data, groups, animation: animation });
|
|
261
|
+
exports.group = group;
|
|
262
|
+
const boxMesh = (box, material) => ({ geometry: box, material });
|
|
263
|
+
exports.boxMesh = boxMesh;
|
|
264
|
+
const boxGeometry = (size, pos = exports.vec3Zero, rot = exports.vec3Zero, holes = []) => ({
|
|
265
|
+
type: "Box",
|
|
266
|
+
pos,
|
|
267
|
+
rot,
|
|
268
|
+
size,
|
|
269
|
+
holes,
|
|
270
|
+
});
|
|
271
|
+
exports.boxGeometry = boxGeometry;
|
|
272
|
+
const box = (size, material, pos = exports.vec3Zero, rot = exports.vec3Zero, holes = []) => ({
|
|
273
|
+
geometry: { type: "Box", pos, rot, size, holes },
|
|
274
|
+
material,
|
|
275
|
+
});
|
|
276
|
+
exports.box = box;
|
|
277
|
+
const roundHole = (pos, radius) => ({ type: "RoundHole", pos, radius });
|
|
278
|
+
exports.roundHole = roundHole;
|
|
279
|
+
const squareHole = (pos, size) => ({ type: "SquareHole", pos, size });
|
|
280
|
+
exports.squareHole = squareHole;
|
|
281
|
+
const plane = (pos, size, material, rot = exports.vec3Zero, holes = []) => ({
|
|
282
|
+
geometry: { type: "Plane", pos, rot, size, holes },
|
|
283
|
+
material,
|
|
284
|
+
});
|
|
285
|
+
exports.plane = plane;
|
|
286
|
+
const cone = (pos, radius, length, material, rot = exports.vec3Zero) => ({
|
|
287
|
+
geometry: { type: "Cone", pos, radius, length, rot },
|
|
288
|
+
material,
|
|
289
|
+
});
|
|
290
|
+
exports.cone = cone;
|
|
291
|
+
const cylinder = (pos, radius, length, material, rot = exports.vec3Zero, holes = []) => ({ geometry: { type: "Cylinder", pos, radius, length, rot, holes }, material });
|
|
292
|
+
exports.cylinder = cylinder;
|
|
293
|
+
const sphere = (radius, material, pos = exports.vec3Zero) => ({
|
|
294
|
+
geometry: { type: "Sphere", pos, radius },
|
|
295
|
+
material,
|
|
296
|
+
});
|
|
297
|
+
exports.sphere = sphere;
|
|
298
|
+
const shape = (points, pos, material, thickness = 0, rot = exports.vec3Zero, holes = []) => ({ geometry: { type: "Shape", points, pos, rot, thickness, holes }, material });
|
|
299
|
+
exports.shape = shape;
|
|
300
|
+
const polygon = (points, material, pos = exports.vec3Zero, rot = exports.vec3Zero) => ({
|
|
301
|
+
geometry: { type: "Polygon", points, pos, rot },
|
|
302
|
+
material,
|
|
303
|
+
});
|
|
304
|
+
exports.polygon = polygon;
|
|
305
|
+
const lineMesh = (line, material) => ({ geometry: line, material });
|
|
306
|
+
exports.lineMesh = lineMesh;
|
|
307
|
+
const lineGeo = (start, end, thickness) => ({ type: "Line", start, end, thickness });
|
|
308
|
+
exports.lineGeo = lineGeo;
|
|
309
|
+
const line = (start, end, thickness, material) => ({
|
|
310
|
+
geometry: { type: "Line", start, end, thickness },
|
|
311
|
+
material,
|
|
312
|
+
});
|
|
313
|
+
exports.line = line;
|
|
314
|
+
const text = (pos, text, fontSize, material, rot = exports.vec3Zero) => ({
|
|
315
|
+
geometry: { type: "Text", pos, text, fontSize, rot },
|
|
316
|
+
material,
|
|
317
|
+
});
|
|
318
|
+
exports.text = text;
|
|
319
|
+
const tube = (curve, radius, material, pos = exports.vec3Zero, rot = exports.vec3Zero) => ({
|
|
320
|
+
geometry: { type: "Tube", curve, radius, pos, rot },
|
|
321
|
+
material,
|
|
322
|
+
});
|
|
323
|
+
exports.tube = tube;
|
|
324
|
+
const circleCurve = (radius, angleStart, angleLength) => ({
|
|
325
|
+
type: "CircleCurve",
|
|
326
|
+
radius,
|
|
327
|
+
angleLength,
|
|
328
|
+
angleStart,
|
|
329
|
+
});
|
|
330
|
+
exports.circleCurve = circleCurve;
|
|
331
|
+
const splineCurve = (points) => ({ type: "SplineCurve", points });
|
|
332
|
+
exports.splineCurve = splineCurve;
|
|
333
|
+
//# sourceMappingURL=abstract-3d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-3d.js","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./renderers"), exports);
|
|
18
|
+
__exportStar(require("./abstract-3d"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Vec3 } from "../../abstract-3d";
|
|
2
|
+
export declare const dxf3DFACE: (vec1: Vec3, vec2: Vec3, vec3: Vec3, vec4: Vec3, color: string | undefined) => string;
|
|
3
|
+
export declare const dxfPOLYLINE: (vertices: ReadonlyArray<Vec3>, color: string) => string;
|
|
4
|
+
export declare const dxfText: (pos: Vec3, fontSize: number, text: string, color: string) => string;
|
|
5
|
+
export declare const dxfHeader: (size: Vec3, center: Vec3) => string;
|
|
6
|
+
export declare const dxfFooter = " 0\nENDBLK\n 0\nENDSEC\n 0\nSECTION\n 2\nENTITIES\n 0\nINSERT\n 8\nA3D\n 6\nCONTINUOUS\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 2\nA3D_Group\n 0\nENDSEC\n 0\nEOF\n";
|
|
7
|
+
//# sourceMappingURL=dxf-encoding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dxf-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,eAAO,MAAM,SAAS,SAAU,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,SAAS,MAAM,GAAG,SAAS,KAAG,MAiCrG,CAAC;AAEF,eAAO,MAAM,WAAW,aAAc,cAAc,IAAI,CAAC,SAAS,MAAM,KAAG,MAwB1E,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,IAAI,YAAY,MAAM,QAAQ,MAAM,SAAS,MAAM,KAAG,MAuBlF,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,IAAI,UAAU,IAAI,KAAG,MAuOpD,CAAC;AAEF,eAAO,MAAM,SAAS,yKA0BrB,CAAC"}
|