1
import { getOC } from "./oclib.js";
14
let CURVE_TYPES_MAP: Map<any, CurveType> | null = null;
16
const getCurveTypesMap = (refresh?: boolean): Map<any, CurveType> => {
17
if (CURVE_TYPES_MAP && !refresh) return CURVE_TYPES_MAP;
20
const ga = oc.GeomAbs_CurveType;
22
CURVE_TYPES_MAP = new Map([
23
[ga.GeomAbs_Line, "LINE"],
24
[ga.GeomAbs_Circle, "CIRCLE"],
25
[ga.GeomAbs_Ellipse, "ELLIPSE"],
26
[ga.GeomAbs_Hyperbola, "HYPERBOLA"],
27
[ga.GeomAbs_Parabola, "PARABOLA"],
28
[ga.GeomAbs_BezierCurve, "BEZIER_CURVE"],
29
[ga.GeomAbs_BSplineCurve, "BSPLINE_CURVE"],
30
[ga.GeomAbs_OffsetCurve, "OFFSET_CURVE"],
31
[ga.GeomAbs_OtherCurve, "OTHER_CURVE"],
33
return CURVE_TYPES_MAP;
36
export const findCurveType = (type: any): CurveType => {
37
let shapeType = getCurveTypesMap().get(type);
38
if (!shapeType) shapeType = getCurveTypesMap(true).get(type);
39
if (!shapeType) throw new Error("unknown type");