sync
This commit is contained in:
71
src/svgmap/SvgNodes.js
Normal file
71
src/svgmap/SvgNodes.js
Normal file
@@ -0,0 +1,71 @@
|
||||
import SvgNode from "./SvgNode";
|
||||
|
||||
export default {
|
||||
// sector(r, a0, a1) {
|
||||
// const k = Math.PI / 180;
|
||||
// let s0 = -Math.sin(a0 * k) * r;
|
||||
// let c0 = Math.cos(a0 * k) * r;
|
||||
// let s1 = -Math.sin(a1 * k) * r;
|
||||
// let c1 = Math.cos(a1 * k) * r;
|
||||
|
||||
// var aa = a1 - a0 > 180 ? 1 : 0;
|
||||
// // var p = new TimalSvg.Data.SvgPath(string.Format("M0 0 L{0} 0 A {0} {0} 0 {3} 0 {1} {2} z", FN(r), ca, sa, aa));
|
||||
// // p.Transform = string.Format("rotate({0})", FN(ang / 2));
|
||||
|
||||
// return `<path d="M0 0 L${c0} ${s0} A ${r} ${r} 0 ${aa} 0 ${c1} ${s1} z" stroke-width="3" stroke="#f00" fill="#0f0"/>`;
|
||||
// },
|
||||
|
||||
svg(){
|
||||
return new SvgNode('svg', {
|
||||
version: "1.1",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
// viewBox: "0 0 2000 2000"
|
||||
})
|
||||
},
|
||||
|
||||
group(items){
|
||||
return new SvgNode("g", null, items)
|
||||
},
|
||||
|
||||
circle(r) {
|
||||
return new SvgNode("circle", {r})
|
||||
},
|
||||
|
||||
sector(r, a0, a1) {
|
||||
const k = Math.PI / 180;
|
||||
let s0 = -Math.sin(a0 * k) * r;
|
||||
let c0 = Math.cos(a0 * k) * r;
|
||||
let s1 = -Math.sin(a1 * k) * r;
|
||||
let c1 = Math.cos(a1 * k) * r;
|
||||
|
||||
var aa = a1 - a0 > 180 ? 1 : 0;
|
||||
// var p = new TimalSvg.Data.SvgPath(string.Format("M0 0 L{0} 0 A {0} {0} 0 {3} 0 {1} {2} z", FN(r), ca, sa, aa));
|
||||
// p.Transform = string.Format("rotate({0})", FN(ang / 2));
|
||||
|
||||
return new SvgNode("path", { d: `M0 0 L${c0} ${s0} A ${r} ${r} 0 ${aa} 0 ${c1} ${s1} z` });
|
||||
},
|
||||
|
||||
ring_sector(r0, r1, a0, a1) {
|
||||
const k = Math.PI / 180;
|
||||
let s0 = -Math.sin(a0 * k);
|
||||
let c0 = Math.cos(a0 * k);
|
||||
let s1 = -Math.sin(a1 * k);
|
||||
let c1 = Math.cos(a1 * k);
|
||||
|
||||
var aa = a1 - a0 > 180 ? 1 : 0;
|
||||
|
||||
return new SvgNode("path", {
|
||||
d: `M${c0 * r0} ${s0 * r0}
|
||||
A ${r0} ${r0} 0 ${aa} 0 ${c1 * r0} ${s1 * r0}
|
||||
L${c1 * r1} ${s1 * r1}
|
||||
A ${r1} ${r1} 0 ${aa} 1 ${c0 * r1} ${s0 * r1} z`,
|
||||
});
|
||||
},
|
||||
|
||||
text(text) {
|
||||
let node = new SvgNode("text");
|
||||
node.items = [text];
|
||||
node.set_attrs({x: 0, y: 0})
|
||||
return node;
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user