UNPKG

@csi-foxbyte/cityjson-to-3d-tiles

Version:

A Node.js library that converts CityJSON files into Cesium 3D Tiles—complete with automatic texture atlas packing, Basis compression, three LOD levels, and customizable threading.

2 lines • 2.12 kB
import {ExtensionProperty,TextureInfo,PropertyType,RefSet}from'@gltf-transform/core';const t="EXT_mesh_features";class T extends ExtensionProperty{init(){this.extensionName=t,this.propertyType="MeshFeatures",this.parentTypes=[PropertyType.PRIMITIVE];}getDefaults(){return Object.assign(super.getDefaults(),{featureIds:new RefSet})}listFeatureIds(){return this.listRefs("featureIds")}addFeatureId(e){return this.addRef("featureIds",e)}removeFeatureId(e){return this.removeRef("featureIds",e)}}class x extends ExtensionProperty{init(){this.extensionName=t,this.propertyType="FeatureId",this.parentTypes=["MeshFeatures"];}getDefaults(){return Object.assign(super.getDefaults(),{nullFeatureId:null,label:null,attribute:null,texture:null,propertyTable:null})}getFeatureCount(){return this.get("featureCount")}setFeatureCount(e){return this.set("featureCount",e)}getNullFeatureId(){return this.get("nullFeatureId")}setNullFeatureId(e){return this.set("nullFeatureId",e)}getLabel(){return this.get("label")}setLabel(e){return this.set("label",e)}getAttribute(){return this.get("attribute")}setAttribute(e){return this.set("attribute",e)}getTexture(){return this.getRef("texture")}setTexture(e){return this.setRef("texture",e)}getPropertyTable(){return this.getRef("propertyTable")}setPropertyTable(e){return this.setRef("propertyTable",e)}}class l extends ExtensionProperty{init(){this.extensionName=t,this.propertyType="FeatureIdTexture",this.parentTypes=["FeatureId"];}getDefaults(){const e=new TextureInfo(this.graph,"textureInfo");return e.setMinFilter(TextureInfo.MagFilter.NEAREST),e.setMagFilter(TextureInfo.MagFilter.NEAREST),Object.assign(super.getDefaults(),{channels:[0],texture:null,textureInfo:e})}getChannels(){return this.get("channels")}setChannels(e){return this.set("channels",e)}getTexture(){return this.getRef("texture")}setTexture(e){return this.setRef("texture",e)}getTextureInfo(){return this.getRef("texture")?this.getRef("textureInfo"):null}}l.EXTENSION_NAME=t;export{x as FeatureId,l as FeatureIdTexture,T as MeshFeatures};//# sourceMappingURL=MeshFeatures.js.map //# sourceMappingURL=MeshFeatures.js.map