jakke-graphics-ts
Version:
My common graphics utils for building my aec apps.
16 lines • 803 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LineManipulationUtils = void 0;
const vectorUtils_1 = require("./vectorUtils");
function OffsetLine(line, dist, side) {
const dirLine = vectorUtils_1.VectorUtils.normalize(vectorUtils_1.VectorUtils.subtract(line.p1, line.p0));
const directionFactor = side === 'left' ? 1 : -1;
const rotatedDir = vectorUtils_1.VectorUtils.chain(dirLine).rotateOnXY(Math.PI * 0.5 * directionFactor).normalize().scale(dist).value();
const p0Offset = vectorUtils_1.VectorUtils.add(line.p0, rotatedDir);
const p1Offset = vectorUtils_1.VectorUtils.add(line.p1, rotatedDir);
return { p0: p0Offset, p1: p1Offset };
}
exports.LineManipulationUtils = {
OffsetLine
};
//# sourceMappingURL=lineManipluationUtils.js.map