@wework/floormap-utils
Advanced tools
Comparing version 1.0.1-next.39 to 1.0.1-next.40
@@ -59,2 +59,10 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
var wallHeight = 6; | ||
var _programType; | ||
if (typeof programType === 'string') { | ||
_programType = programType.toUpperCase(); | ||
} | ||
var _subType; | ||
if (typeof subType === 'string') { | ||
_subType = subType.toUpperCase(); | ||
} | ||
var side = 'BACK'; | ||
@@ -66,10 +74,10 @@ var outlineOnly = false; | ||
var showRoomNumber = false; | ||
var extrude = getExtrude(programType, wallHeight); | ||
var zed = getZed(programType, wallHeight); | ||
var color = getColor(programType); | ||
var img = getImage(programType, subType); | ||
var extrude = getExtrude(_programType, wallHeight); | ||
var zed = getZed(_programType, wallHeight); | ||
var color = getColor(_programType); | ||
var img = getImage(_programType, _subType); | ||
var zOrder = 0; | ||
if (type === 'object') { | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'CHAIR': | ||
@@ -103,6 +111,6 @@ color = 'rgb(206,206,206)'; | ||
only: outlineOnly, | ||
color: outlineColor, | ||
color: outlineColor | ||
}; | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'HALLWAY': | ||
@@ -121,7 +129,7 @@ case 'ELEV LOBBY': | ||
} | ||
switch (programType) { | ||
switch (_programType) { | ||
case 'MEET': | ||
// outlineColor = '#474747' | ||
showRoomNumber = true; | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'NOOK': | ||
@@ -154,4 +162,4 @@ case 'PHONE BOOTH': | ||
default: | ||
if (programType) { | ||
console.log('invalid programType:', programType); | ||
if (_programType) { | ||
console.log('invalid programType:', _programType); | ||
} | ||
@@ -176,3 +184,3 @@ break | ||
_rotation = { | ||
z: locationAngle, | ||
z: locationAngle | ||
}; | ||
@@ -203,3 +211,3 @@ _instancingId = instancingId; | ||
outline: outline, | ||
opacity: opacity, | ||
opacity: opacity | ||
}, | ||
@@ -212,3 +220,3 @@ points: points, | ||
visible: true, | ||
zOrder: zOrder, | ||
zOrder: zOrder | ||
}; | ||
@@ -245,5 +253,5 @@ if (_instancingId) { | ||
color: 'black', | ||
fontWeight: 'bold', | ||
fontWeight: 'bold' | ||
}, | ||
interactable: false, | ||
interactable: false | ||
}); | ||
@@ -278,5 +286,5 @@ } | ||
img: img, | ||
maxWidth: maxWidth$1, | ||
maxWidth: maxWidth$1 | ||
}, | ||
interactable: false, | ||
interactable: false | ||
}); | ||
@@ -379,3 +387,3 @@ } | ||
y: parseFloat(b[1]), | ||
z: parseFloat(b[2]), | ||
z: parseFloat(b[2]) | ||
}); | ||
@@ -382,0 +390,0 @@ }); |
@@ -1,2 +0,2 @@ | ||
Object.defineProperty(exports,"__esModule",{value:!0});var nook="https://cdn.spacemob.co/img/nook@2x.png",meeting="https://cdn.spacemob.co/img/meeting_room@2x.png",gameRoom="https://cdn.spacemob.co/img/gameroom@2x.png",women="https://cdn.spacemob.co/img/wc_f@2x.png",men="https://cdn.spacemob.co/img/wc_m@2x.png",shower="https://cdn.spacemob.co/img/shower@2x.png",itRoom="https://cdn.spacemob.co/img/IT_room@2x.png",printer="https://cdn.spacemob.co/img/printer@2x.png",phoneBooth="https://cdn.spacemob.co/img/phone_booth@2x.png",mechanical="https://cdn.spacemob.co/img/mechanical@2x.png",storage="https://cdn.spacemob.co/img/storage@2x.png",trash="https://cdn.spacemob.co/img/trash@2x.png",pantry="https://cdn.spacemob.co/img/pantry@2x.png",motherRoom="https://cdn.spacemob.co/img/motherroom@2x.png",mail="https://cdn.spacemob.co/img/mail_room@2x.png",serviceLift="https://cdn.spacemob.co/img/servicelift@2x.png",wellness="https://cdn.spacemob.co/img/wellnessroom@2x.png",electrical="https://cdn.spacemob.co/img/electrical@2x.png",fire="https://cdn.spacemob.co/img/fire_extinguisher@2x.png",maintenance="https://cdn.spacemob.co/img/maintenance@2x.png",getCenter=function(e){for(var t=1/0,a=1/0,c=-1/0,s=-1/0,n=0;n<e.length;n++)t=Math.min(t,e[n].x),a=Math.min(a,e[n].y),c=Math.max(c,e[n].x),s=Math.max(s,e[n].y);return{x:(c+t)/2,y:(s+a)/2}},createRenderObjects=function(e){var s=e.id,t=e.shapes,a=e.type,c=e.subType,n=e.programType,r=e.roomNumber,o=e.hasWindow,i=e.locationAngle,p=e.centroid,g=e.instancingId,l=[],E="BACK",h="#474747",m=1,O=!0,d=!1,b=getExtrude(n,6),R=getZed(n,6),T=getColor(n),u=getImage(n,c),M=0;if("object"===a)switch(c){case"CHAIR":T="rgb(206,206,206)",E="FRONT",R=-(6-(b=1))/2,h="rgb(150,150,150)";break;case"TABLE":case"HOTDESK_TABLE":T="rgb(246,241,241)",E="FRONT",b=.5,R=-1.5,m=.8,h="rgb(150,150,150)",M=1}else"space"===a||"room"===a||console.warn("invalid type:",a);var A={only:!1,color:h};switch(c){case"HALLWAY":case"ELEV LOBBY":A=null}switch(n){case"MEET":switch(d=!0,c){case"NOOK":case"PHONE BOOTH":case"wt":d=!1}break;case"WORK":d=!0,o&&(T="rgb(228,243,247)");break;case"WASH":case"SERVE":break;case"OPERATE":case"WE":break;case"CIRCULATE":A=null;break;default:n&&console.log("invalid programType:",n)}A&&(A.color=h);var I=t,y={z:R},S=null,f=null;if(g&&(p?((y=p).z=R,f=g,O=!(S={z:i})):console.warn("centroid is not available",JSON.stringify(e))),I&&0!==I.length){if(I.forEach(function(e,t){var a=s;0!==t&&(a=s+"/"+t);var c={id:a,type:"MESH",style:{color:T,side:E,outline:A,opacity:m},points:e,interactable:O,extrude:b,position:y,rotation:S,visible:!0,zOrder:M};f&&(c.instancingId=f),l.push(c)}),d&&r){var x=getCenter(I[0]),C={x:.5,y:.5};u&&(C.y=1.25);var N=getSize(I[0]).width/2*.8;3<N&&(N=2.9),l.push({id:s+"_TEXT",type:"TEXT",text:r,position:x,scalar:N,center:C,style:{color:"black",fontWeight:"bold"},interactable:!1})}if(u){var L=getCenter(I[0]),v={x:.5,y:.5};p&&((L=p).z=0),d&&r&&(v.y=.25);var w=3,k=getSize(I[0]);w>k.width?w=k.width-.1:w>k.height&&(w=k.height-.1),l.push({id:s+"_SPRITE",type:"SPRITE",position:L,scalar:1,center:v,style:{img:u,maxWidth:w},interactable:!1})}return l}console.warn("Invalid shapes",JSON.stringify(e))},getExtrude=function(e,t){switch(e){case"CIRCULATE":case"WE":return.1;default:return t}},getZed=function(e,t){switch(e){case"WORK":return 0;case"MEET":return-.01;case"WASH":return-.02;case"OPERATE":return-.03;case"WE":return-(t/2+.01);case"CIRCULATE":return-(t/2+.02);default:return 0}},getColor=function(e){switch(e){case"WORK":return"rgb(171,221,231)";case"CIRCULATE":return"rgb(255,247,223)";case"MEET":return"rgb(183,240,217)";case"WE":return"rgb(255,210,106)";case"OPERATE":return"rgb(226,226,226)";case"WASH":return"rgb(195,195,195)";default:return"rgb(253,235,236)"}},stringArrayToPoints=function(e){if(e&&e.constructor===Array){var t=[];return e.forEach(function(e){e&&e.constructor===Array&&3===e.length&&t.push({x:parseFloat(e[0]),y:parseFloat(e[1]),z:parseFloat(e[2])})}),t}},getImage=function(e,t){var a=null;switch(t.toUpperCase()){case"PHONE BOOTH":a=phoneBooth;break;case"WT":case"NOOK":case"BOOTH":case"BOOTHS":a=nook;break;case"LOUNGE":case"HONESTY MKT":case"HONESTY MARKET":case"PANTRY":case"BAR":case"BEER ISLAND":case"COMMUNITY BAR":a=pantry;break;case"GAME RM":case"GAME ROOM":case"DART BOARD":a=gameRoom;break;case"WOMEN WC":case"WOMENS WC":case"W RESTROOM":case"RESTROOM":case"UNISEX RESTROOM":case"UNISEX":case"ADA RESTROOM":case"ADA WC":a=women;break;case"MEN WC":case"MENS WC":case"MALE WC":case"M RESTROOM":a=men;break;case"IT":a=itRoom;break;case"PRINTER":case"PRINT":case"PRINTER NOOK":case"PRINTING ALCOVE":a=printer;break;case"MECH":case"MECHANICAL CLOSET":a=mechanical;break;case"STOR":case"STORE":case"STORAGE":case"BIKE STORAGE":case"F&B STORAGE":case"CLEANING STORAGE":case"COAT CLOSET":a=storage;break;case"TRASH":case"TRASH ROOM":a=trash;break;case"MOTHER RM":case"MOTHERS ROOM":a=motherRoom;break;case"F&B":a=pantry;break;case"MAIL":case"MAIL & PACKAGE ROOM":a=mail;break;case"SHOWER":case"SHOWERS":a=shower;break;case"SERVICE LIFT":case"ELEVATOR FOYER":a=serviceLift;break;case"WELLNESS RM":case"WELLNESS ROOM":case"FITNESS RM":a=wellness;break;case"ELEC":case"ELECTRICAL CLOSET":a=electrical;break;case"FIRE":case"FIRE COMMAND CENTER":a=fire;break;case"MOP":case"JC":case"JANITOR":case"MOP CLOSET":a=maintenance;break;case"CONV. BOOTH":a=meeting}if(t.startsWith("IT ")&&(a=itRoom),!a)switch(e){case"MEET":a=meeting}return a},getSize=function(e){for(var t=1/0,a=1/0,c=-1/0,s=-1/0,n=0;n<e.length;n++)t=Math.min(t,e[n].x),a=Math.min(a,e[n].y),c=Math.max(c,e[n].x),s=Math.max(s,e[n].y);return{width:c-t,height:s-a}},applyInstancing=function(c,s){var n=new Map,r=function(){for(var e=0;e<c.length;e++){var t=c[e];if(t.instancingId){var a=n.get(t.instancingId);a||(a=[]),a.push(t),n.set(t.instancingId,a),c.splice(e,1),r()}}};r(),n.forEach(function(e,t,a){toInstancedMesh(e,t,s)})},toInstancedMesh=function(e,t,a){if(0!==e.length){var c=e[0];if(a.createInstancedMesh({id:t,mesh:{points:c.points,extrude:c.extrude,opacity:c.style?c.style.opacity:1}}),e.forEach(function(e){a.addToInstancedMesh({id:e.id,instancingId:t,style:{color:e.style.color},position:e.position,rotation:e.rotation,interactable:e.interactable,visible:e.visible})}),a.drawInstancedMesh({id:t}),c.style.outline&&c.style.outline.color){var s=t+"_OUTLINE";a.createInstancedMesh({id:s,mesh:{style:{outline:{color:c.style.outline.color,only:!0}},points:c.points,extrude:c.extrude,zOrder:c.zOrder}}),e.forEach(function(e){a.addToInstancedMesh({id:e.id+"_outline",instancingId:s,style:{color:e.style.color},position:e.position,rotation:e.rotation,visible:e.visible})}),a.drawInstancedMesh({id:s})}}};exports.createRenderObjects=createRenderObjects,exports.getCenter=getCenter,exports.getSize=getSize,exports.stringArrayToPoints=stringArrayToPoints,exports.applyInstancing=applyInstancing; | ||
Object.defineProperty(exports,"__esModule",{value:!0});var nook="https://cdn.spacemob.co/img/nook@2x.png",meeting="https://cdn.spacemob.co/img/meeting_room@2x.png",gameRoom="https://cdn.spacemob.co/img/gameroom@2x.png",women="https://cdn.spacemob.co/img/wc_f@2x.png",men="https://cdn.spacemob.co/img/wc_m@2x.png",shower="https://cdn.spacemob.co/img/shower@2x.png",itRoom="https://cdn.spacemob.co/img/IT_room@2x.png",printer="https://cdn.spacemob.co/img/printer@2x.png",phoneBooth="https://cdn.spacemob.co/img/phone_booth@2x.png",mechanical="https://cdn.spacemob.co/img/mechanical@2x.png",storage="https://cdn.spacemob.co/img/storage@2x.png",trash="https://cdn.spacemob.co/img/trash@2x.png",pantry="https://cdn.spacemob.co/img/pantry@2x.png",motherRoom="https://cdn.spacemob.co/img/motherroom@2x.png",mail="https://cdn.spacemob.co/img/mail_room@2x.png",serviceLift="https://cdn.spacemob.co/img/servicelift@2x.png",wellness="https://cdn.spacemob.co/img/wellnessroom@2x.png",electrical="https://cdn.spacemob.co/img/electrical@2x.png",fire="https://cdn.spacemob.co/img/fire_extinguisher@2x.png",maintenance="https://cdn.spacemob.co/img/maintenance@2x.png",getCenter=function(e){for(var t=1/0,a=1/0,s=-1/0,c=-1/0,n=0;n<e.length;n++)t=Math.min(t,e[n].x),a=Math.min(a,e[n].y),s=Math.max(s,e[n].x),c=Math.max(c,e[n].y);return{x:(s+t)/2,y:(c+a)/2}},createRenderObjects=function(e){var t,a,c=e.id,s=e.shapes,n=e.type,r=e.subType,o=e.programType,i=e.roomNumber,p=e.hasWindow,g=e.locationAngle,l=e.centroid,E=e.instancingId,h=[];"string"==typeof o&&(t=o.toUpperCase()),"string"==typeof r&&(a=r.toUpperCase());var m="BACK",O="#474747",d=1,b=!0,R=!1,T=getExtrude(t,6),u=getZed(t,6),M=getColor(t),A=getImage(t,a),y=0;if("object"===n)switch(a){case"CHAIR":M="rgb(206,206,206)",m="FRONT",u=-(6-(T=1))/2,O="rgb(150,150,150)";break;case"TABLE":case"HOTDESK_TABLE":M="rgb(246,241,241)",m="FRONT",T=.5,u=-1.5,d=.8,O="rgb(150,150,150)",y=1}else"space"===n||"room"===n||console.warn("invalid type:",n);var I={only:!1,color:O};switch(a){case"HALLWAY":case"ELEV LOBBY":I=null}switch(t){case"MEET":switch(R=!0,a){case"NOOK":case"PHONE BOOTH":case"wt":R=!1}break;case"WORK":R=!0,p&&(M="rgb(228,243,247)");break;case"WASH":case"SERVE":break;case"OPERATE":case"WE":break;case"CIRCULATE":I=null;break;default:t&&console.log("invalid programType:",t)}I&&(I.color=O);var S=s,f={z:u},x=null,C=null;if(E&&(l?((f=l).z=u,C=E,b=!(x={z:g})):console.warn("centroid is not available",JSON.stringify(e))),S&&0!==S.length){if(S.forEach(function(e,t){var a=c;0!==t&&(a=c+"/"+t);var s={id:a,type:"MESH",style:{color:M,side:m,outline:I,opacity:d},points:e,interactable:b,extrude:T,position:f,rotation:x,visible:!0,zOrder:y};C&&(s.instancingId=C),h.push(s)}),R&&i){var N=getCenter(S[0]),v={x:.5,y:.5};A&&(v.y=1.25);var L=getSize(S[0]).width/2*.8;3<L&&(L=2.9),h.push({id:c+"_TEXT",type:"TEXT",text:i,position:N,scalar:L,center:v,style:{color:"black",fontWeight:"bold"},interactable:!1})}if(A){var w=getCenter(S[0]),k={x:.5,y:.5};l&&((w=l).z=0),R&&i&&(k.y=.25);var W=3,H=getSize(S[0]);W>H.width?W=H.width-.1:W>H.height&&(W=H.height-.1),h.push({id:c+"_SPRITE",type:"SPRITE",position:w,scalar:1,center:k,style:{img:A,maxWidth:W},interactable:!1})}return h}console.warn("Invalid shapes",JSON.stringify(e))},getExtrude=function(e,t){switch(e){case"CIRCULATE":case"WE":return.1;default:return t}},getZed=function(e,t){switch(e){case"WORK":return 0;case"MEET":return-.01;case"WASH":return-.02;case"OPERATE":return-.03;case"WE":return-(t/2+.01);case"CIRCULATE":return-(t/2+.02);default:return 0}},getColor=function(e){switch(e){case"WORK":return"rgb(171,221,231)";case"CIRCULATE":return"rgb(255,247,223)";case"MEET":return"rgb(183,240,217)";case"WE":return"rgb(255,210,106)";case"OPERATE":return"rgb(226,226,226)";case"WASH":return"rgb(195,195,195)";default:return"rgb(253,235,236)"}},stringArrayToPoints=function(e){if(e&&e.constructor===Array){var t=[];return e.forEach(function(e){e&&e.constructor===Array&&3===e.length&&t.push({x:parseFloat(e[0]),y:parseFloat(e[1]),z:parseFloat(e[2])})}),t}},getImage=function(e,t){var a=null;switch(t.toUpperCase()){case"PHONE BOOTH":a=phoneBooth;break;case"WT":case"NOOK":case"BOOTH":case"BOOTHS":a=nook;break;case"LOUNGE":case"HONESTY MKT":case"HONESTY MARKET":case"PANTRY":case"BAR":case"BEER ISLAND":case"COMMUNITY BAR":a=pantry;break;case"GAME RM":case"GAME ROOM":case"DART BOARD":a=gameRoom;break;case"WOMEN WC":case"WOMENS WC":case"W RESTROOM":case"RESTROOM":case"UNISEX RESTROOM":case"UNISEX":case"ADA RESTROOM":case"ADA WC":a=women;break;case"MEN WC":case"MENS WC":case"MALE WC":case"M RESTROOM":a=men;break;case"IT":a=itRoom;break;case"PRINTER":case"PRINT":case"PRINTER NOOK":case"PRINTING ALCOVE":a=printer;break;case"MECH":case"MECHANICAL CLOSET":a=mechanical;break;case"STOR":case"STORE":case"STORAGE":case"BIKE STORAGE":case"F&B STORAGE":case"CLEANING STORAGE":case"COAT CLOSET":a=storage;break;case"TRASH":case"TRASH ROOM":a=trash;break;case"MOTHER RM":case"MOTHERS ROOM":a=motherRoom;break;case"F&B":a=pantry;break;case"MAIL":case"MAIL & PACKAGE ROOM":a=mail;break;case"SHOWER":case"SHOWERS":a=shower;break;case"SERVICE LIFT":case"ELEVATOR FOYER":a=serviceLift;break;case"WELLNESS RM":case"WELLNESS ROOM":case"FITNESS RM":a=wellness;break;case"ELEC":case"ELECTRICAL CLOSET":a=electrical;break;case"FIRE":case"FIRE COMMAND CENTER":a=fire;break;case"MOP":case"JC":case"JANITOR":case"MOP CLOSET":a=maintenance;break;case"CONV. BOOTH":a=meeting}if(t.startsWith("IT ")&&(a=itRoom),!a)switch(e){case"MEET":a=meeting}return a},getSize=function(e){for(var t=1/0,a=1/0,s=-1/0,c=-1/0,n=0;n<e.length;n++)t=Math.min(t,e[n].x),a=Math.min(a,e[n].y),s=Math.max(s,e[n].x),c=Math.max(c,e[n].y);return{width:s-t,height:c-a}},applyInstancing=function(s,c){var n=new Map,r=function(){for(var e=0;e<s.length;e++){var t=s[e];if(t.instancingId){var a=n.get(t.instancingId);a||(a=[]),a.push(t),n.set(t.instancingId,a),s.splice(e,1),r()}}};r(),n.forEach(function(e,t,a){toInstancedMesh(e,t,c)})},toInstancedMesh=function(e,t,a){if(0!==e.length){var s=e[0];if(a.createInstancedMesh({id:t,mesh:{points:s.points,extrude:s.extrude,opacity:s.style?s.style.opacity:1}}),e.forEach(function(e){a.addToInstancedMesh({id:e.id,instancingId:t,style:{color:e.style.color},position:e.position,rotation:e.rotation,interactable:e.interactable,visible:e.visible})}),a.drawInstancedMesh({id:t}),s.style.outline&&s.style.outline.color){var c=t+"_OUTLINE";a.createInstancedMesh({id:c,mesh:{style:{outline:{color:s.style.outline.color,only:!0}},points:s.points,extrude:s.extrude,zOrder:s.zOrder}}),e.forEach(function(e){a.addToInstancedMesh({id:e.id+"_outline",instancingId:c,style:{color:e.style.color},position:e.position,rotation:e.rotation,visible:e.visible})}),a.drawInstancedMesh({id:c})}}};exports.createRenderObjects=createRenderObjects,exports.getCenter=getCenter,exports.getSize=getSize,exports.stringArrayToPoints=stringArrayToPoints,exports.applyInstancing=applyInstancing; | ||
//# sourceMappingURL=floormap-utils.cjs.min.js.map |
@@ -57,2 +57,10 @@ var nook = 'https://cdn.spacemob.co/img/nook@2x.png'; | ||
var wallHeight = 6; | ||
var _programType; | ||
if (typeof programType === 'string') { | ||
_programType = programType.toUpperCase(); | ||
} | ||
var _subType; | ||
if (typeof subType === 'string') { | ||
_subType = subType.toUpperCase(); | ||
} | ||
var side = 'BACK'; | ||
@@ -64,10 +72,10 @@ var outlineOnly = false; | ||
var showRoomNumber = false; | ||
var extrude = getExtrude(programType, wallHeight); | ||
var zed = getZed(programType, wallHeight); | ||
var color = getColor(programType); | ||
var img = getImage(programType, subType); | ||
var extrude = getExtrude(_programType, wallHeight); | ||
var zed = getZed(_programType, wallHeight); | ||
var color = getColor(_programType); | ||
var img = getImage(_programType, _subType); | ||
var zOrder = 0; | ||
if (type === 'object') { | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'CHAIR': | ||
@@ -101,6 +109,6 @@ color = 'rgb(206,206,206)'; | ||
only: outlineOnly, | ||
color: outlineColor, | ||
color: outlineColor | ||
}; | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'HALLWAY': | ||
@@ -119,7 +127,7 @@ case 'ELEV LOBBY': | ||
} | ||
switch (programType) { | ||
switch (_programType) { | ||
case 'MEET': | ||
// outlineColor = '#474747' | ||
showRoomNumber = true; | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'NOOK': | ||
@@ -152,4 +160,4 @@ case 'PHONE BOOTH': | ||
default: | ||
if (programType) { | ||
console.log('invalid programType:', programType); | ||
if (_programType) { | ||
console.log('invalid programType:', _programType); | ||
} | ||
@@ -174,3 +182,3 @@ break | ||
_rotation = { | ||
z: locationAngle, | ||
z: locationAngle | ||
}; | ||
@@ -201,3 +209,3 @@ _instancingId = instancingId; | ||
outline: outline, | ||
opacity: opacity, | ||
opacity: opacity | ||
}, | ||
@@ -210,3 +218,3 @@ points: points, | ||
visible: true, | ||
zOrder: zOrder, | ||
zOrder: zOrder | ||
}; | ||
@@ -243,5 +251,5 @@ if (_instancingId) { | ||
color: 'black', | ||
fontWeight: 'bold', | ||
fontWeight: 'bold' | ||
}, | ||
interactable: false, | ||
interactable: false | ||
}); | ||
@@ -276,5 +284,5 @@ } | ||
img: img, | ||
maxWidth: maxWidth$1, | ||
maxWidth: maxWidth$1 | ||
}, | ||
interactable: false, | ||
interactable: false | ||
}); | ||
@@ -377,3 +385,3 @@ } | ||
y: parseFloat(b[1]), | ||
z: parseFloat(b[2]), | ||
z: parseFloat(b[2]) | ||
}); | ||
@@ -380,0 +388,0 @@ }); |
@@ -63,2 +63,10 @@ (function (global, factory) { | ||
var wallHeight = 6; | ||
var _programType; | ||
if (typeof programType === 'string') { | ||
_programType = programType.toUpperCase(); | ||
} | ||
var _subType; | ||
if (typeof subType === 'string') { | ||
_subType = subType.toUpperCase(); | ||
} | ||
var side = 'BACK'; | ||
@@ -70,10 +78,10 @@ var outlineOnly = false; | ||
var showRoomNumber = false; | ||
var extrude = getExtrude(programType, wallHeight); | ||
var zed = getZed(programType, wallHeight); | ||
var color = getColor(programType); | ||
var img = getImage(programType, subType); | ||
var extrude = getExtrude(_programType, wallHeight); | ||
var zed = getZed(_programType, wallHeight); | ||
var color = getColor(_programType); | ||
var img = getImage(_programType, _subType); | ||
var zOrder = 0; | ||
if (type === 'object') { | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'CHAIR': | ||
@@ -107,6 +115,6 @@ color = 'rgb(206,206,206)'; | ||
only: outlineOnly, | ||
color: outlineColor, | ||
color: outlineColor | ||
}; | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'HALLWAY': | ||
@@ -125,7 +133,7 @@ case 'ELEV LOBBY': | ||
} | ||
switch (programType) { | ||
switch (_programType) { | ||
case 'MEET': | ||
// outlineColor = '#474747' | ||
showRoomNumber = true; | ||
switch (subType) { | ||
switch (_subType) { | ||
case 'NOOK': | ||
@@ -158,4 +166,4 @@ case 'PHONE BOOTH': | ||
default: | ||
if (programType) { | ||
console.log('invalid programType:', programType); | ||
if (_programType) { | ||
console.log('invalid programType:', _programType); | ||
} | ||
@@ -180,3 +188,3 @@ break | ||
_rotation = { | ||
z: locationAngle, | ||
z: locationAngle | ||
}; | ||
@@ -207,3 +215,3 @@ _instancingId = instancingId; | ||
outline: outline, | ||
opacity: opacity, | ||
opacity: opacity | ||
}, | ||
@@ -216,3 +224,3 @@ points: points, | ||
visible: true, | ||
zOrder: zOrder, | ||
zOrder: zOrder | ||
}; | ||
@@ -249,5 +257,5 @@ if (_instancingId) { | ||
color: 'black', | ||
fontWeight: 'bold', | ||
fontWeight: 'bold' | ||
}, | ||
interactable: false, | ||
interactable: false | ||
}); | ||
@@ -282,5 +290,5 @@ } | ||
img: img, | ||
maxWidth: maxWidth$1, | ||
maxWidth: maxWidth$1 | ||
}, | ||
interactable: false, | ||
interactable: false | ||
}); | ||
@@ -383,3 +391,3 @@ } | ||
y: parseFloat(b[1]), | ||
z: parseFloat(b[2]), | ||
z: parseFloat(b[2]) | ||
}); | ||
@@ -386,0 +394,0 @@ }); |
@@ -1,2 +0,2 @@ | ||
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports):"function"==typeof define&&define.amd?define(["exports"],a):a(e.FloormapUtils={})}(this,function(e){function w(e){for(var a=1/0,c=1/0,t=-1/0,s=-1/0,n=0;n<e.length;n++)a=Math.min(a,e[n].x),c=Math.min(c,e[n].y),t=Math.max(t,e[n].x),s=Math.max(s,e[n].y);return{x:(t+a)/2,y:(s+c)/2}}var t="https://cdn.spacemob.co/img/meeting_room@2x.png",s="https://cdn.spacemob.co/img/IT_room@2x.png",n="https://cdn.spacemob.co/img/pantry@2x.png",H=function(e,a){switch(e){case"CIRCULATE":case"WE":return.1;default:return a}},B=function(e,a){switch(e){case"WORK":return 0;case"MEET":return-.01;case"WASH":return-.02;case"OPERATE":return-.03;case"WE":return-(a/2+.01);case"CIRCULATE":return-(a/2+.02);default:return 0}},P=function(e){switch(e){case"WORK":return"rgb(171,221,231)";case"CIRCULATE":return"rgb(255,247,223)";case"MEET":return"rgb(183,240,217)";case"WE":return"rgb(255,210,106)";case"OPERATE":return"rgb(226,226,226)";case"WASH":return"rgb(195,195,195)";default:return"rgb(253,235,236)"}},_=function(e,a){var c=null;switch(a.toUpperCase()){case"PHONE BOOTH":c="https://cdn.spacemob.co/img/phone_booth@2x.png";break;case"WT":case"NOOK":case"BOOTH":case"BOOTHS":c="https://cdn.spacemob.co/img/nook@2x.png";break;case"LOUNGE":case"HONESTY MKT":case"HONESTY MARKET":case"PANTRY":case"BAR":case"BEER ISLAND":case"COMMUNITY BAR":c=n;break;case"GAME RM":case"GAME ROOM":case"DART BOARD":c="https://cdn.spacemob.co/img/gameroom@2x.png";break;case"WOMEN WC":case"WOMENS WC":case"W RESTROOM":case"RESTROOM":case"UNISEX RESTROOM":case"UNISEX":case"ADA RESTROOM":case"ADA WC":c="https://cdn.spacemob.co/img/wc_f@2x.png";break;case"MEN WC":case"MENS WC":case"MALE WC":case"M RESTROOM":c="https://cdn.spacemob.co/img/wc_m@2x.png";break;case"IT":c=s;break;case"PRINTER":case"PRINT":case"PRINTER NOOK":case"PRINTING ALCOVE":c="https://cdn.spacemob.co/img/printer@2x.png";break;case"MECH":case"MECHANICAL CLOSET":c="https://cdn.spacemob.co/img/mechanical@2x.png";break;case"STOR":case"STORE":case"STORAGE":case"BIKE STORAGE":case"F&B STORAGE":case"CLEANING STORAGE":case"COAT CLOSET":c="https://cdn.spacemob.co/img/storage@2x.png";break;case"TRASH":case"TRASH ROOM":c="https://cdn.spacemob.co/img/trash@2x.png";break;case"MOTHER RM":case"MOTHERS ROOM":c="https://cdn.spacemob.co/img/motherroom@2x.png";break;case"F&B":c=n;break;case"MAIL":case"MAIL & PACKAGE ROOM":c="https://cdn.spacemob.co/img/mail_room@2x.png";break;case"SHOWER":case"SHOWERS":c="https://cdn.spacemob.co/img/shower@2x.png";break;case"SERVICE LIFT":case"ELEVATOR FOYER":c="https://cdn.spacemob.co/img/servicelift@2x.png";break;case"WELLNESS RM":case"WELLNESS ROOM":case"FITNESS RM":c="https://cdn.spacemob.co/img/wellnessroom@2x.png";break;case"ELEC":case"ELECTRICAL CLOSET":c="https://cdn.spacemob.co/img/electrical@2x.png";break;case"FIRE":case"FIRE COMMAND CENTER":c="https://cdn.spacemob.co/img/fire_extinguisher@2x.png";break;case"MOP":case"JC":case"JANITOR":case"MOP CLOSET":c="https://cdn.spacemob.co/img/maintenance@2x.png";break;case"CONV. BOOTH":c=t}if(a.startsWith("IT ")&&(c=s),!c)switch(e){case"MEET":c=t}return c},F=function(e){for(var a=1/0,c=1/0,t=-1/0,s=-1/0,n=0;n<e.length;n++)a=Math.min(a,e[n].x),c=Math.min(c,e[n].y),t=Math.max(t,e[n].x),s=Math.max(s,e[n].y);return{width:t-a,height:s-c}},o=function(e,a,c){if(0!==e.length){var t=e[0];if(c.createInstancedMesh({id:a,mesh:{points:t.points,extrude:t.extrude,opacity:t.style?t.style.opacity:1}}),e.forEach(function(e){c.addToInstancedMesh({id:e.id,instancingId:a,style:{color:e.style.color},position:e.position,rotation:e.rotation,interactable:e.interactable,visible:e.visible})}),c.drawInstancedMesh({id:a}),t.style.outline&&t.style.outline.color){var s=a+"_OUTLINE";c.createInstancedMesh({id:s,mesh:{style:{outline:{color:t.style.outline.color,only:!0}},points:t.points,extrude:t.extrude,zOrder:t.zOrder}}),e.forEach(function(e){c.addToInstancedMesh({id:e.id+"_outline",instancingId:s,style:{color:e.style.color},position:e.position,rotation:e.rotation,visible:e.visible})}),c.drawInstancedMesh({id:s})}}};e.createRenderObjects=function(e){var s=e.id,a=e.shapes,c=e.type,t=e.subType,n=e.programType,r=e.roomNumber,o=e.hasWindow,i=e.locationAngle,p=e.centroid,E=e.instancingId,l=[],d="BACK",O="#474747",g=1,h=!0,b=!1,T=H(n,6),u=B(n,6),m=P(n),R=_(n,t),M=0;if("object"===c)switch(t){case"CHAIR":m="rgb(206,206,206)",d="FRONT",u=-(6-(T=1))/2,O="rgb(150,150,150)";break;case"TABLE":case"HOTDESK_TABLE":m="rgb(246,241,241)",d="FRONT",T=.5,u=-1.5,g=.8,O="rgb(150,150,150)",M=1}else"space"===c||"room"===c||console.warn("invalid type:",c);var f={only:!1,color:O};switch(t){case"HALLWAY":case"ELEV LOBBY":f=null}switch(n){case"MEET":switch(b=!0,t){case"NOOK":case"PHONE BOOTH":case"wt":b=!1}break;case"WORK":b=!0,o&&(m="rgb(228,243,247)");break;case"WASH":case"SERVE":break;case"OPERATE":case"WE":break;case"CIRCULATE":f=null;break;default:n&&console.log("invalid programType:",n)}f&&(f.color=O);var A=a,y={z:u},I=null,S=null;if(E&&(p?((y=p).z=u,S=E,h=!(I={z:i})):console.warn("centroid is not available",JSON.stringify(e))),A&&0!==A.length){if(A.forEach(function(e,a){var c=s;0!==a&&(c=s+"/"+a);var t={id:c,type:"MESH",style:{color:m,side:d,outline:f,opacity:g},points:e,interactable:h,extrude:T,position:y,rotation:I,visible:!0,zOrder:M};S&&(t.instancingId=S),l.push(t)}),b&&r){var x=w(A[0]),C={x:.5,y:.5};R&&(C.y=1.25);var N=F(A[0]).width/2*.8;3<N&&(N=2.9),l.push({id:s+"_TEXT",type:"TEXT",text:r,position:x,scalar:N,center:C,style:{color:"black",fontWeight:"bold"},interactable:!1})}if(R){var L=w(A[0]),v={x:.5,y:.5};p&&((L=p).z=0),b&&r&&(v.y=.25);var W=3,k=F(A[0]);W>k.width?W=k.width-.1:W>k.height&&(W=k.height-.1),l.push({id:s+"_SPRITE",type:"SPRITE",position:L,scalar:1,center:v,style:{img:R,maxWidth:W},interactable:!1})}return l}console.warn("Invalid shapes",JSON.stringify(e))},e.getCenter=w,e.getSize=F,e.stringArrayToPoints=function(e){if(e&&e.constructor===Array){var a=[];return e.forEach(function(e){e&&e.constructor===Array&&3===e.length&&a.push({x:parseFloat(e[0]),y:parseFloat(e[1]),z:parseFloat(e[2])})}),a}},e.applyInstancing=function(t,s){var n=new Map,r=function(){for(var e=0;e<t.length;e++){var a=t[e];if(a.instancingId){var c=n.get(a.instancingId);c||(c=[]),c.push(a),n.set(a.instancingId,c),t.splice(e,1),r()}}};r(),n.forEach(function(e,a,c){o(e,a,s)})},Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports):"function"==typeof define&&define.amd?define(["exports"],a):a(e.FloormapUtils={})}(this,function(e){function B(e){for(var a=1/0,t=1/0,c=-1/0,s=-1/0,n=0;n<e.length;n++)a=Math.min(a,e[n].x),t=Math.min(t,e[n].y),c=Math.max(c,e[n].x),s=Math.max(s,e[n].y);return{x:(c+a)/2,y:(s+t)/2}}var c="https://cdn.spacemob.co/img/meeting_room@2x.png",s="https://cdn.spacemob.co/img/IT_room@2x.png",n="https://cdn.spacemob.co/img/pantry@2x.png",P=function(e,a){switch(e){case"CIRCULATE":case"WE":return.1;default:return a}},_=function(e,a){switch(e){case"WORK":return 0;case"MEET":return-.01;case"WASH":return-.02;case"OPERATE":return-.03;case"WE":return-(a/2+.01);case"CIRCULATE":return-(a/2+.02);default:return 0}},F=function(e){switch(e){case"WORK":return"rgb(171,221,231)";case"CIRCULATE":return"rgb(255,247,223)";case"MEET":return"rgb(183,240,217)";case"WE":return"rgb(255,210,106)";case"OPERATE":return"rgb(226,226,226)";case"WASH":return"rgb(195,195,195)";default:return"rgb(253,235,236)"}},U=function(e,a){var t=null;switch(a.toUpperCase()){case"PHONE BOOTH":t="https://cdn.spacemob.co/img/phone_booth@2x.png";break;case"WT":case"NOOK":case"BOOTH":case"BOOTHS":t="https://cdn.spacemob.co/img/nook@2x.png";break;case"LOUNGE":case"HONESTY MKT":case"HONESTY MARKET":case"PANTRY":case"BAR":case"BEER ISLAND":case"COMMUNITY BAR":t=n;break;case"GAME RM":case"GAME ROOM":case"DART BOARD":t="https://cdn.spacemob.co/img/gameroom@2x.png";break;case"WOMEN WC":case"WOMENS WC":case"W RESTROOM":case"RESTROOM":case"UNISEX RESTROOM":case"UNISEX":case"ADA RESTROOM":case"ADA WC":t="https://cdn.spacemob.co/img/wc_f@2x.png";break;case"MEN WC":case"MENS WC":case"MALE WC":case"M RESTROOM":t="https://cdn.spacemob.co/img/wc_m@2x.png";break;case"IT":t=s;break;case"PRINTER":case"PRINT":case"PRINTER NOOK":case"PRINTING ALCOVE":t="https://cdn.spacemob.co/img/printer@2x.png";break;case"MECH":case"MECHANICAL CLOSET":t="https://cdn.spacemob.co/img/mechanical@2x.png";break;case"STOR":case"STORE":case"STORAGE":case"BIKE STORAGE":case"F&B STORAGE":case"CLEANING STORAGE":case"COAT CLOSET":t="https://cdn.spacemob.co/img/storage@2x.png";break;case"TRASH":case"TRASH ROOM":t="https://cdn.spacemob.co/img/trash@2x.png";break;case"MOTHER RM":case"MOTHERS ROOM":t="https://cdn.spacemob.co/img/motherroom@2x.png";break;case"F&B":t=n;break;case"MAIL":case"MAIL & PACKAGE ROOM":t="https://cdn.spacemob.co/img/mail_room@2x.png";break;case"SHOWER":case"SHOWERS":t="https://cdn.spacemob.co/img/shower@2x.png";break;case"SERVICE LIFT":case"ELEVATOR FOYER":t="https://cdn.spacemob.co/img/servicelift@2x.png";break;case"WELLNESS RM":case"WELLNESS ROOM":case"FITNESS RM":t="https://cdn.spacemob.co/img/wellnessroom@2x.png";break;case"ELEC":case"ELECTRICAL CLOSET":t="https://cdn.spacemob.co/img/electrical@2x.png";break;case"FIRE":case"FIRE COMMAND CENTER":t="https://cdn.spacemob.co/img/fire_extinguisher@2x.png";break;case"MOP":case"JC":case"JANITOR":case"MOP CLOSET":t="https://cdn.spacemob.co/img/maintenance@2x.png";break;case"CONV. BOOTH":t=c}if(a.startsWith("IT ")&&(t=s),!t)switch(e){case"MEET":t=c}return t},K=function(e){for(var a=1/0,t=1/0,c=-1/0,s=-1/0,n=0;n<e.length;n++)a=Math.min(a,e[n].x),t=Math.min(t,e[n].y),c=Math.max(c,e[n].x),s=Math.max(s,e[n].y);return{width:c-a,height:s-t}},o=function(e,a,t){if(0!==e.length){var c=e[0];if(t.createInstancedMesh({id:a,mesh:{points:c.points,extrude:c.extrude,opacity:c.style?c.style.opacity:1}}),e.forEach(function(e){t.addToInstancedMesh({id:e.id,instancingId:a,style:{color:e.style.color},position:e.position,rotation:e.rotation,interactable:e.interactable,visible:e.visible})}),t.drawInstancedMesh({id:a}),c.style.outline&&c.style.outline.color){var s=a+"_OUTLINE";t.createInstancedMesh({id:s,mesh:{style:{outline:{color:c.style.outline.color,only:!0}},points:c.points,extrude:c.extrude,zOrder:c.zOrder}}),e.forEach(function(e){t.addToInstancedMesh({id:e.id+"_outline",instancingId:s,style:{color:e.style.color},position:e.position,rotation:e.rotation,visible:e.visible})}),t.drawInstancedMesh({id:s})}}};e.createRenderObjects=function(e){var a,t,s=e.id,c=e.shapes,n=e.type,r=e.subType,o=e.programType,i=e.roomNumber,p=e.hasWindow,E=e.locationAngle,l=e.centroid,g=e.instancingId,d=[];"string"==typeof o&&(a=o.toUpperCase()),"string"==typeof r&&(t=r.toUpperCase());var O="BACK",h="#474747",b=1,T=!0,u=!1,m=P(a,6),R=_(a,6),M=F(a),f=U(a,t),A=0;if("object"===n)switch(t){case"CHAIR":M="rgb(206,206,206)",O="FRONT",R=-(6-(m=1))/2,h="rgb(150,150,150)";break;case"TABLE":case"HOTDESK_TABLE":M="rgb(246,241,241)",O="FRONT",m=.5,R=-1.5,b=.8,h="rgb(150,150,150)",A=1}else"space"===n||"room"===n||console.warn("invalid type:",n);var y={only:!1,color:h};switch(t){case"HALLWAY":case"ELEV LOBBY":y=null}switch(a){case"MEET":switch(u=!0,t){case"NOOK":case"PHONE BOOTH":case"wt":u=!1}break;case"WORK":u=!0,p&&(M="rgb(228,243,247)");break;case"WASH":case"SERVE":break;case"OPERATE":case"WE":break;case"CIRCULATE":y=null;break;default:a&&console.log("invalid programType:",a)}y&&(y.color=h);var I=c,S={z:R},x=null,C=null;if(g&&(l?((S=l).z=R,C=g,T=!(x={z:E})):console.warn("centroid is not available",JSON.stringify(e))),I&&0!==I.length){if(I.forEach(function(e,a){var t=s;0!==a&&(t=s+"/"+a);var c={id:t,type:"MESH",style:{color:M,side:O,outline:y,opacity:b},points:e,interactable:T,extrude:m,position:S,rotation:x,visible:!0,zOrder:A};C&&(c.instancingId=C),d.push(c)}),u&&i){var N=B(I[0]),v={x:.5,y:.5};f&&(v.y=1.25);var L=K(I[0]).width/2*.8;3<L&&(L=2.9),d.push({id:s+"_TEXT",type:"TEXT",text:i,position:N,scalar:L,center:v,style:{color:"black",fontWeight:"bold"},interactable:!1})}if(f){var W=B(I[0]),k={x:.5,y:.5};l&&((W=l).z=0),u&&i&&(k.y=.25);var w=3,H=K(I[0]);w>H.width?w=H.width-.1:w>H.height&&(w=H.height-.1),d.push({id:s+"_SPRITE",type:"SPRITE",position:W,scalar:1,center:k,style:{img:f,maxWidth:w},interactable:!1})}return d}console.warn("Invalid shapes",JSON.stringify(e))},e.getCenter=B,e.getSize=K,e.stringArrayToPoints=function(e){if(e&&e.constructor===Array){var a=[];return e.forEach(function(e){e&&e.constructor===Array&&3===e.length&&a.push({x:parseFloat(e[0]),y:parseFloat(e[1]),z:parseFloat(e[2])})}),a}},e.applyInstancing=function(c,s){var n=new Map,r=function(){for(var e=0;e<c.length;e++){var a=c[e];if(a.instancingId){var t=n.get(a.instancingId);t||(t=[]),t.push(a),n.set(a.instancingId,t),c.splice(e,1),r()}}};r(),n.forEach(function(e,a,t){o(e,a,s)})},Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=floormap-utils.umd.min.js.map |
{ | ||
"name": "@wework/floormap-utils", | ||
"version": "1.0.1-next.39+b64c0d6", | ||
"version": "1.0.1-next.40+36be733", | ||
"jsnext:main": "dist/floormap-utils.es.js", | ||
@@ -73,3 +73,3 @@ "module": "dist/floormap-utils.es.js", | ||
}, | ||
"gitHead": "b64c0d65e1e7b50c3677b2ace76e852c4391007f" | ||
"gitHead": "36be7337d179897d31d07c0bb77c329da9e02e85" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
104573
1815