99 lines
1.9 KiB
JavaScript
99 lines
1.9 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports["default"] = exports.process = exports.TYPE = void 0;
|
||
|
|
||
|
var _common = _interopRequireDefault(require("./common"));
|
||
|
|
||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||
|
|
||
|
var TYPE = 'SPLINE';
|
||
|
exports.TYPE = TYPE;
|
||
|
|
||
|
var process = function process(tuples) {
|
||
|
var controlPoint;
|
||
|
return tuples.reduce(function (entity, tuple) {
|
||
|
var type = tuple[0];
|
||
|
var value = tuple[1];
|
||
|
|
||
|
switch (type) {
|
||
|
case 10:
|
||
|
controlPoint = {
|
||
|
x: value,
|
||
|
y: 0
|
||
|
};
|
||
|
entity.controlPoints.push(controlPoint);
|
||
|
break;
|
||
|
|
||
|
case 20:
|
||
|
controlPoint.y = value;
|
||
|
break;
|
||
|
|
||
|
case 30:
|
||
|
controlPoint.z = value;
|
||
|
break;
|
||
|
|
||
|
case 40:
|
||
|
entity.knots.push(value);
|
||
|
break;
|
||
|
|
||
|
case 42:
|
||
|
entity.knotTolerance = value;
|
||
|
break;
|
||
|
|
||
|
case 43:
|
||
|
entity.controlPointTolerance = value;
|
||
|
break;
|
||
|
|
||
|
case 44:
|
||
|
entity.fitTolerance = value;
|
||
|
break;
|
||
|
|
||
|
case 70:
|
||
|
// Spline flag (bit coded):
|
||
|
// 1 = Closed spline
|
||
|
// 2 = Periodic spline
|
||
|
// 4 = Rational spline
|
||
|
// 8 = Planar
|
||
|
// 16 = Linear (planar bit is also set)
|
||
|
entity.flag = value;
|
||
|
entity.closed = (value & 1) === 1;
|
||
|
break;
|
||
|
|
||
|
case 71:
|
||
|
entity.degree = value;
|
||
|
break;
|
||
|
|
||
|
case 72:
|
||
|
entity.numberOfKnots = value;
|
||
|
break;
|
||
|
|
||
|
case 73:
|
||
|
entity.numberOfControlPoints = value;
|
||
|
break;
|
||
|
|
||
|
case 74:
|
||
|
entity.numberOfFitPoints = value;
|
||
|
break;
|
||
|
|
||
|
default:
|
||
|
Object.assign(entity, (0, _common["default"])(type, value));
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
return entity;
|
||
|
}, {
|
||
|
type: TYPE,
|
||
|
controlPoints: [],
|
||
|
knots: []
|
||
|
});
|
||
|
};
|
||
|
|
||
|
exports.process = process;
|
||
|
var _default = {
|
||
|
TYPE: TYPE,
|
||
|
process: process
|
||
|
};
|
||
|
exports["default"] = _default;
|