import SvgNode from "./SvgNode.js"; import SvgNodes from "./SvgNodes.js"; export default { wellhead: { name(text, ppu, styles) { return SvgNodes.text(text) .move(styles["wellhead-name"].dx * ppu, styles["wellhead-name"].dy * ppu) .add_style(styles["wellhead-name"]); }, wlp(wlf, ppu, styles) { return SvgNodes.text(`${Math.round(wlf * 1000) / 10 || ""}%`) .move(styles.wlf.dx * ppu, styles.wlf.dy * ppu) .add_style(styles.wlf); }, /** * Добывающая скважина * @param {*} ppu * @param {*} styles * @returns */ prod(ppu, styles) { return SvgNodes.circle(1.5 * ppu).add_style(styles["wellhead-black"]); }, /** * Нагнетательная * @param {*} ppu * @param {*} styles * @returns */ inj(ppu, styles) { const style_spike = { "stroke-width": "0", fill: '#00f' } const style_blue = { "stroke-width": Math.round(styles._units["1pt"]), stroke: '#00f', } return SvgNodes.group([ SvgNodes.group([ SvgNodes.spike1(1.8 * ppu, 1.7 * ppu, 0).move(2 * ppu, 0), SvgNodes.spike1(1.8 * ppu, 1.7 * ppu, 90).move(0, -2 * ppu), SvgNodes.spike1(1.8 * ppu, 1.7 * ppu, 180).move(-2 * ppu, 0), SvgNodes.spike1(1.8 * ppu, 1.7 * ppu, 270).move(0, 2 * ppu), ]).add_style(style_spike), new SvgNode("line", { x1: -2 * ppu, x2: 2 * ppu, y1: 0, y2: 0 }), new SvgNode("line", { y1: -2 * ppu, y2: 2 * ppu, x1: 0, x2: 0 }), SvgNodes.circle(1.5 * ppu) .add_style(style_blue) .add_style(styles["white-body"]), ]).add_style(style_blue); }, /** * Серая с треугольником с малым дебитом/нагнетанием * @param {*} ppu * @param {*} styles * @returns */ gray(ppu, styles) { return SvgNodes.group([ SvgNodes.circle(1.5 * ppu).add_style(styles["wellhead-gray"]), SvgNodes.ngon(1.5 * ppu, 3, 0).add_style(styles["wellhead-black"]), ]); }, }, ring: { pt(wopt, wwpt, rmm, ppu, styles) { return SvgNodes.ring_sectors(1.5 * ppu, rmm * ppu, [ { v: wopt, style: styles.opt }, { v: wwpt, style: styles.wpt }, ]); }, it(rmm, ppu, styles) { return SvgNodes.circle(rmm * ppu) .add_style(styles.wit) } }, };