123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- window.grendCAD = (function grendCAD() {
- let initFloor
- let initDOM
- let point, dire
- window.cad = {
- setSign: function(p, d) {
- point = p
- dire = d
- }
- }
- function loadDOM($parent) {
- if (initDOM) return initDOM;
- let $layer = document.createElement('div')
- let $cad = document.createElement('div')
- $layer.className = 'cad'
- $cad.id = 'cad'
- $layer.appendChild($cad)
- let style = document.createElement('style')
- style.innerHTML = `
- .cad {
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- right: 10px;
- }
- #cad{
- width: 100%;
- height: 100%;
- }
- .cad > div >svg > g g:not(.sign){
- opacity: 0;
- }
- `
- document.documentElement.appendChild(style)
- document.documentElement.appendChild($layer)
- $parent.appendChild(style)
- $parent.appendChild($layer)
- return $layer
- }
- function setStyle(signColor, borderColor, borderWidth) {
- cad.setDefaultPointStyle({
- fillColor: "rgba(0,0,0,0)",
- storkeColor: "rgba(0,0,0,0)"
- });
- console.log(borderWidth)
- cad.setDefaultLineStyle({
- width: borderWidth,
- color: borderColor
- });
- cad.setDefaultSignStyle({
- color: signColor,
- r: 6,
- })
- }
- return function(floor, $parent, signColor, borderColor, borderWidth) {
- // if (initFloor) {
- // console.log('cache')
- // return setStyle(signColor, borderColor, borderWidth)
- // }
- console.log('load')
- initFloor = floor
- let $layer = loadDOM($parent)
- $layer.style.visibility = 'hidden'
- window.cad = structureCAD({
- data: {
- block: [],
- column: [],
- door: [],
- hole: [],
- segment: [],
- "vertex-xy": [],
- "vertex-z": [],
- },
- layer: $layer.querySelector('#cad'),
- edit: false
- });
-
- setStyle(signColor, borderColor, borderWidth)
- cad.hideDire()
- cad.hideGauge()
-
- console.log('loadData')
- cad.loadData(initFloor);
- if (point && dire) {
- window.cad.setSign(point, dire)
- }
- $layer.style.visibility = 'visible'
- }
- })();
- $.ajax({
- url: `floor/floor.json`,
- method: "GET",
- success(res) {
- grendCAD(res, document.querySelector('.cadmap'), "#D32424", "#ffffff", "1px");
- },
- });
|