rt-sim-training-client/src/jmapNew/shape/Power/ESeparator.js

48 lines
1.4 KiB
JavaScript

import Group from 'zrender/src/container/Group';
import Polyline from 'zrender/src/graphic/shape/Polyline';
/** 分隔符*/
export default class ESeparator extends Group {
constructor(model) {
super();
this.model = model;
this.zlevel = model.zlevel;
this.z = model.z || 6;
this.style = model.style;
this.setType();
}
createModel(points) {
const model = this.model;
this.partition = new Polyline({
zlevel: this.zlevel,
progressive: model.progressive,
z: this.z,
shape: {
points: points
},
style: {
lineWidth: model.width,
stroke: model.stroke
}
});
this.add(this.partition);
}
setType() {
const model = this.model;
if (model && model.traingle) {
const points = [
[model.point.x, model.point.y - (this.style.Power.extendLength)],
[model.point.x, model.point.y + (this.style.Power.extendLength)]
];
this.createModel(points);
}
if (model.traingle) {
this.origin = [model.point.x, model.point.y];
this.rotation = Math.PI * 2 - Math.atan2(model.traingle.absy, model.traingle.absx) * model.traingle.drictx * model.traingle.dricty;
this.dirty(); // 可以无需调用
}
}
}