PageSourceSearch

https://www.drawtonomy.com/assets/catalogEntryResolver-DrdBF0FU.js

js drawtonomy.com collected 2026-10-02 01:28:24 UTC 2,990 bytes, 1 lines download raw bytes

1import{X as P}from"./index-tUqbAMuH.js";const b={ignoreAttributes:!1,attributeNamePrefix:"",parseAttributeValue:!1,trimValues:!0};function f(e){return e==null?[]:Array.isArray(e)?e:[e]}function d(e,i){var c;const t={...i??{}},r=f((c=e==null?void 0:e.ParameterDeclarations)==null?void 0:c.ParameterDeclaration);for(const o of r)(o==null?void 0:o.name)!=null&&(o==null?void 0:o.value)!=null&&(t[String(o.name)]=String(o.value));return t}function u(e,i){if(e==null)return NaN;if(typeof e=="number")return e;const t=String(e).trim();if(t.length===0)return NaN;const r=Number(t);if(Number.isFinite(r)&&!/^\$/.test(t))return r;const c=t.match(/^\$(\w+)$/);if(c&&i[c[1]]!==void 0)return u(i[c[1]],i);const o=t.match(/^\$\{\s*(.+?)\s*\}$/);if(o){const m=o[1].replace(/\$(\w+)/g,(n,s)=>i[s]!==void 0?String(u(i[s],i)):"NaN");if(/^[\d.\s+\-*/()]+$/.test(m))try{const n=Function(`"use strict";return (${m})`)();if(Number.isFinite(n))return n}catch{}}return NaN}function g(e,i){if(e==null||typeof e!="object")return;const t=e.Center??{},r=e.Dimensions??e.Dimension;if(r==null||typeof r!="object")return;const c=u(r.width,i),o=u(r.length,i),m=u(r.height,i);if(!Number.isFinite(c)||!Number.isFinite(o)||c<=0||o<=0)return;const n={centerX:u(t.x,i)||0,centerY:u(t.y,i)||0,centerZ:u(t.z,i)||0,width:c,length:o,height:Number.isFinite(m)&&m>0?m:0},s=h=>{if(typeof h!="string")return;const N=h.match(/^\$(\w+)$/);return N?N[1]:void 0},l={length:s(r.length),width:s(r.width),height:s(r.height)},a=l.length||l.width||l.height;return{box:n,dimParams:a?l:void 0}}function y(e,i){var o,m;let t;try{t=new P(b).parse(e)}catch{return}const r=((o=t==null?void 0:t.OpenSCENARIO)==null?void 0:o.Catalog)??((m=t==null?void 0:t.OpenScenario)==null?void 0:m.Catalog);if(r==null)return;const c=d(r);for(const n of f(r.Vehicle)){const s=(n==null?void 0:n.name)!=null?String(n.name):void 0;if(!s)continue;const l=d(n,c),a=g(n.BoundingBox,l);a&&i.set(s,{entryName:s,kind:"vehicle",boundingBox:a.box,...a.dimParams?{dimParams:a.dimParams}:{},...n.model3d!=null?{model3d:String(n.model3d)}:{}})}for(const n of f(r.Pedestrian)){const s=(n==null?void 0:n.name)!=null?String(n.name):void 0;if(!s)continue;const l=d(n,c),a=g(n.BoundingBox,l);a&&i.set(s,{entryName:s,kind:"pedestrian",boundingBox:a.box,...a.dimParams?{dimParams:a.dimParams}:{},...n.model!=null?{pedestrianModel:String(n.model)}:{},...n.model3d!=null?{pedestrianModel3d:String(n.model3d)}:{},...n.mass!=null?{pedestrianMass:u(n.mass,l)}:{}})}for(const n of f(r.MiscObject)){const s=(n==null?void 0:n.name)!=null?String(n.name):void 0;if(!s)continue;const l=d(n,c),a=g(n.BoundingBox,l);a&&i.set(s,{entryName:s,kind:"miscObject",boundingBox:a.box,...a.dimParams?{dimParams:a.dimParams}:{},...n.miscObjectCategory!=null?{miscObjectCategory:String(n.miscObjectCategory)}:{},...n.model3d!=null?{model3d:String(n.model3d)}:{}})}}function x(e){const i=new Map;for(const t of e)t&&typeof t.xml=="string"&&t.xml.length>0&&y(t.xml,i);return i}export{x as buildCatalogEntryMap};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.