@anov/3d 0.0.46 → 0.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/applicationApi.d.ts +1 -1
- package/dist/applicationApi.js +2 -0
- package/dist/applicationApi.js.map +1 -1
- package/dist/factory/3d.d.ts +1 -1
- package/dist/factory/3d.js +1 -1
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/unit/inspection/index.js +12 -7
- package/dist/factory/unit/inspection/index.js.map +1 -1
- package/dist/factory/unit/layer/rise.js +17 -17
- package/dist/factory/unit/layer/rise.js.map +1 -1
- package/package.json +2 -2
package/dist/applicationApi.d.ts
CHANGED
package/dist/applicationApi.js
CHANGED
|
@@ -13,6 +13,7 @@ import { MessageType, sendToMessage } from "./utils/messageFn";
|
|
|
13
13
|
import { EMessageStatus } from "./messageStatus";
|
|
14
14
|
import Factory3D from "./factory/3d";
|
|
15
15
|
import Anov3D, { defaultCameraParams } from "./index";
|
|
16
|
+
var storeManagement = utils.storeManagement;
|
|
16
17
|
var Application = /*#__PURE__*/function () {
|
|
17
18
|
function Application(opts) {
|
|
18
19
|
_classCallCheck(this, Application);
|
|
@@ -54,6 +55,7 @@ var Application = /*#__PURE__*/function () {
|
|
|
54
55
|
});
|
|
55
56
|
this.iEngine = anov3D;
|
|
56
57
|
this.iEngine.zoomRatio = (_set$zoomRatio = set === null || set === void 0 ? void 0 : set.zoomRatio) !== null && _set$zoomRatio !== void 0 ? _set$zoomRatio : 1;
|
|
58
|
+
storeManagement.set('container', this.container);
|
|
57
59
|
var caseInstance = this.loadCase(anov3D, params);
|
|
58
60
|
|
|
59
61
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Factory3D","Anov3D","defaultCameraParams","Application","opts","container","el","Api","Success","params","id","camera","set","cameraParams","fov","near","far","position","target","anov3D","model","case","size","width","clientWidth","height","clientHeight","environment","weather","time","controls","iEngine","zoomRatio","caseInstance","loadCase","loadingManager","onLoad","onProgress","_","loaded","total","progress","Event","undefined","error","EventHandleFailed","console","req","name","init","Error","fn","res","Promise","resolve","then","failMessage","message","eventName","cb","
|
|
1
|
+
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Factory3D","Anov3D","defaultCameraParams","storeManagement","Application","opts","container","el","Api","Success","params","id","camera","set","cameraParams","fov","near","far","position","target","anov3D","model","case","size","width","clientWidth","height","clientHeight","environment","weather","time","controls","iEngine","zoomRatio","caseInstance","loadCase","loadingManager","onLoad","onProgress","_","loaded","total","progress","Event","undefined","error","EventHandleFailed","console","req","name","init","Error","fn","res","Promise","resolve","then","failMessage","message","eventName","cb","option","factory","envMaps","imgBox","decoderPath","renderScene","sceneControl","createInstance"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport Factory3D from './factory/3d'\nimport Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n}\n\nexport type InitOptions = {\n case?: string // 案例名称,用于兼容init直接加载项目\n camera?: {\n fov?: number\n near?: number\n far?: number\n position?: [\n number,\n number,\n number,\n ]\n target?: [\n number,\n number,\n number,\n ]\n }\n model?: string\n decoderPath?: string // DRACO压缩 资源文件路径\n size?: {\n width: number\n height: number\n }\n environment?: {\n weather?: string\n time?: number\n }\n envMaps: {\n use?: boolean\n imgBox?: Array<string> | string\n }\n controls: {\n // 相机缩放范围\n minDistance?: number\n maxDistance?: number\n // 上下旋转范围\n minPolarAngle?: number// 默认值0\n maxPolarAngle?: number\n // 左右旋转范围\n minAzimuthAngle?: number\n maxAzimuthAngle?: number\n }\n set?: {\n zoomRatio?: number\n }\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D | undefined\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\n\n sendToMessage(MessageType.Api, 'engineReady', EMessageStatus.Success)\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n fov: camera.fov ?? defaultCameraParams.fov,\n near: camera.near ?? defaultCameraParams.near,\n far: camera.far ?? defaultCameraParams.far,\n position: camera.position,\n target: camera.target,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n model: params.case ? '' : params?.model, // temporary solution by LM\n size: {\n width: params?.size?.width ?? this.container.clientWidth,\n height: params?.size?.height ?? this.container.clientHeight,\n },\n camera: {\n ...cameraParams,\n },\n environment: {\n weather: params?.environment?.weather,\n time: params?.environment?.time,\n },\n controls: params.controls,\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n storeManagement.set('container', this.container)\n const caseInstance = this.loadCase(anov3D, params)\n\n // @ts-ignore\n this.iEngine.caseInstance = caseInstance\n\n caseInstance.loadingManager.onLoad = () => {\n sendToMessage(MessageType.Api, 'core.init', EMessageStatus.Success, id)\n }\n\n caseInstance.loadingManager.onProgress = (_, loaded, total) => {\n const progress = loaded / total\n\n sendToMessage(MessageType.Event, 'onInitProgress', EMessageStatus.Success, undefined, {\n progress,\n })\n }\n }\n catch (error) {\n sendToMessage(MessageType.Api, 'core.init', EMessageStatus.EventHandleFailed)\n console.error(error)\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n\n if (!this.iEngine)\n throw new Error('please init first!')\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\n\n Promise.resolve(res).then((res) => {\n sendToMessage(MessageType.Api, req.name, EMessageStatus.Success, req.id, res)\n })\n }\n catch (error: any) {\n sendToMessage(MessageType.Api, req.name, EMessageStatus.EventHandleFailed, req.id, {\n failMessage: error.message,\n })\n }\n }\n\n receiveMessage(eventName: string, cb: (params: any) => void) {\n utils.storeManagement.set(eventName, cb)\n }\n\n // 此方法 用于直接加载案例\n private loadCase(anov3D: Anov3D, option: InitOptions) {\n switch (option.case) {\n case 'factory':\n\n // eslint-disable-next-line no-case-declarations\n const factory = new Factory3D({ model: option.model, environment: option.envMaps.imgBox as string, decoderPath: option.decoderPath, controls: option.controls })\n factory.renderScene(anov3D.sceneControl)\n return factory\n }\n }\n}\n\n/**\n * createInstance\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions): Application => {\n return new Application(opts)\n}\n"],"mappings":"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"}
|
package/dist/factory/3d.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ declare type factory3dOption = {
|
|
|
16
16
|
controls?: any;
|
|
17
17
|
};
|
|
18
18
|
export declare const loadingManager: LoadingManager;
|
|
19
|
-
export declare const usePath = "
|
|
19
|
+
export declare const usePath = "./";
|
|
20
20
|
declare class Factory3D {
|
|
21
21
|
position: Vector3;
|
|
22
22
|
scene: SceneControl;
|
package/dist/factory/3d.js
CHANGED
|
@@ -25,7 +25,7 @@ var rgbeLoader = new lib.RGBELoader(loadingManager);
|
|
|
25
25
|
var emitter = utils.emitter;
|
|
26
26
|
var resourcePath = './';
|
|
27
27
|
var resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/';
|
|
28
|
-
export var usePath =
|
|
28
|
+
export var usePath = resourcePath;
|
|
29
29
|
var _Texture = new TextureLoader().load("".concat(usePath, "demo03.jpg"));
|
|
30
30
|
_Texture.wrapS = RepeatWrapping;
|
|
31
31
|
_Texture.wrapT = RepeatWrapping;
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","ModelLoader","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","wrapS","wrapT","uniforms","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","scale","text","repeat","opacity","renderOrder","depthTest","map","offset","x","tech","techModel","texture1","value","texture2","uvScale","depthWrite","thermaLimaging","pipeline","realGroundModel","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","cutoutCamera","inspection","minCamera","mainCamera","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }else{\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = resourcePath2\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\nconst uniforms = {\n\n}\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n child.visible = false\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n child.renderOrder = -1\n // @ts-ignore\n child.material.depthTest = false\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n depthTest: false,\n depthWrite: false,\n })\n\n child.layers.set(2)\n }\n })\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.scene.environment = this.boxSkeyTexture\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView() {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n this.scene.cutoutCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'main',\n // })\n }\n else {\n const mainCamera = this.scene.cutoutCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'sub',\n // })\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":";;;;;;;AACA,SAAsBA,KAAK,EAAEC,gCAAgC,EAAEC,kBAAkB,EAAEC,cAAc,EAA2BC,WAAW,EAAiBC,cAAc,EAAEC,cAAc,EAAEC,WAAW,EAAEC,cAAc,EAAEC,aAAa,EAAEC,OAAO,EAAEC,OAAO,EAAWC,GAAG,EAAgBC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AACnT,SAASC,MAAM,QAAkD,kBAAkB;AACnF,SAASC,eAAe;AACxB,OAAOC,UAAU,IAAIC,SAAS,IAATA,UAAS;AAQ9B,SAASC,YAAY;AACrB,SAASC,UAAU,EAAEC,QAAQ;AAE7B,OAAOC,mBAAmB;AAE1B,OAAOC,eAAe;AAEtB,OAAOC,IAAI;AACX,OAAOC,IAAI;AASX,IAAMC,YAAY,eAChBnB,WAAW,CAACoB,uBAAuB,yWAY3BpB,WAAW,CAACqB,kBAAkB,cAEvC;;AAED;AACA,IAAMC,cAAc,iBAChBtB,WAAW,CAACuB,yBAAyB,oVAa/BvB,WAAW,CAACwB,oBAAoB,cAEzC;AAED,OAAO,IAAMC,cAAc,GAAG,IAAI7B,cAAc,EAAE;AAClD,IAAM8B,IAAI,GAAG,IAAI7B,WAAW,CAAC4B,cAAc,CAAC;AAC5C,IAAME,UAAU,GAAG,IAAItB,GAAG,CAACuB,UAAU,CAACH,cAAc,CAAC;AACrD,IAAQI,OAAO,GAAKtB,KAAK,CAAjBsB,OAAO;AAEf,IAAMC,YAAY,GAAG,IAAI;AACzB,IAAMC,aAAa,GAAG,+DAA+D;AAErF,OAAO,IAAMC,OAAO,GAAGD,aAAa;AAEpC,IAAME,QAAQ,GAAG,IAAI/B,aAAa,EAAE,CAACwB,IAAI,WAAIM,OAAO,gBAAa;AAEjEC,QAAQ,CAACC,KAAK,GAAGpC,cAAc;AAC/BmC,QAAQ,CAACE,KAAK,GAAGrC,cAAc;AAE/B,IAAMsC,QAAQ,GAAG,CAEjB,CAAC;AAED,IAAMC,QAAQ,GAAG,IAAIpC,cAAc,CAAC;EAClCmC,QAAQ,EAARA,QAAQ;EACRjB,YAAY,EAAZA,YAAY;EACZG,cAAc,EAAdA,cAAc;EACdgB,WAAW,EAAE;AACf,CAAC,CAAC;AAAA,IAEIC,SAAS;EA+Bb,mBAAYC,MAAuB,EAAE;IAAA;IAAA,kCA9BjB,IAAIpC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAAA;IAAA;IAAA;IAAA,wCAKhBqB,cAAc;IAAA,6BACzBX,QAAQ,CAAC2B,QAAQ;IAAA,+BACH5B,UAAU,CAAC6B,IAAI;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,iCAUhCV,OAAO;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,uCAQ8C,IAAIW,GAAG,EAAE;IAAA;IAAA;IAMtE,IAAI,CAACH,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACI,iBAAiB,EAAE;IACxB7B,mBAAmB,CAAC8B,UAAU,CAAC,IAAI,CAAC;EACtC;;EAEA;AACF;AACA;EAFE;IAAA;IAAA,OAGA,qBAAYC,KAAmB,EAAE;MAAA;MAC/B,OAAO,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAK;QAC9B,KAAI,CAACF,KAAK,GAAGA,KAAK;QAElB,KAAI,CAACG,UAAU,GAAG,IAAIzC,MAAM,CAACsC,KAAK,CAACI,MAAM,EAAGJ,KAAK,CAACK,QAAQ,EAAGL,KAAK,CAAC;QACnE,KAAI,CAACM,OAAO,GAAGN,KAAK,CAACK,QAAS;QAC9BL,KAAK,CAACI,MAAM,CAACG,MAAM,CAACC,GAAG,CAAC,CAAC,CAAC;QAE1B5B,IAAI,CAAC6B,QAAQ,WAAI,KAAI,CAACvB,OAAO,oBAAiB,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAACwB,IAAI,EAAK;UAC/E,KAAI,CAACC,aAAa,GAAID,IAAI,CAACV,KAAe;;UAE1C;;UAEA;UACA;UACA;UACA;UACAA,KAAK,CAACY,GAAG,CAAC,KAAI,CAACD,aAAa,CAAC;UAE7B,OAAOD,IAAI;QACb,CAAC,CAAC;QAEF,IAAMG,kBAAkB,GAAG,IAAIhE,kBAAkB,CAC/C,KAAI,CAACmD,KAAK,CAACc,QAAQ,EACnB,KAAI,CAACd,KAAK,CAACI,MAAM,EACjB,KAAI,CAACJ,KAAK,CAACc,QAAQ,CAACC,UAAU,CAC/B,CADiC;QACjC;;QAED,KAAI,CAACF,kBAAkB,GAAGA,kBAAkB;QAE5CpD,KAAK,CAACuD,eAAe,CAACR,GAAG,CAAC,oBAAoB,EAAEK,kBAAkB,CAAC;QAEnErD,GAAG,CAACyD,QAAQ,CAAC,YAAM;UACjBJ,kBAAkB,CAACK,MAAM,EAAE;QAC7B,CAAC,CAAC;QAEF,KAAI,CAACC,SAAS,EAAE;QAEhBxC,cAAc,CAACyC,MAAM,GAAG,YAAM;UAC5BlB,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC;QAEDF,KAAK,CAACc,QAAQ,CAACO,mBAAmB,GAAG,GAAG;MAC1C,CAAC,CAAC;IACJ;EAAC;IAAA;IAAA,OAED,qBAAoB;MAAA;MAClB;MACAzC,IAAI,CAAC6B,QAAQ,WAAI,IAAI,CAACvB,OAAO,cAAW,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAACwB,IAAI,EAAK;QACzE,MAAI,CAACV,KAAK,CAACY,GAAG,CAACF,IAAI,CAACV,KAAK,CAAC;QAE1BU,IAAI,CAACV,KAAK,CAACsB,OAAO,GAAGvD,UAAU,CAAC6B,IAAI,KAAK,MAAI,CAAC2B,KAAK;QAEnD,MAAI,CAACC,QAAQ,GAAGd,IAAI,CAACV,KAAc;;QAEnC;;QAEA;QACA;QACA;QACA;;QAEApC,UAAU,CAAC6D,IAAI,CAAC,MAAI,CAAC;QAErB,OAAOf,IAAI;MACb,CAAC,CAAC;;MAEF;MACA9B,IAAI,CAAC6B,QAAQ,WAAI,IAAI,CAACvB,OAAO,eAAY,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAACwB,IAAI,EAAK;QAC1E,IAAMgB,KAAK,GAAGhB,IAAI,CAACV,KAAK;QACxB0B,KAAK,CAACC,QAAQ,CAAC,UAACC,KAAK,EAAK;UACxB;UACA,IAAIA,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;YACzB,IAAID,KAAK,CAACE,IAAI,KAAK,IAAI,EAAE;cACvBF,KAAK,CAACN,OAAO,GAAG,KAAK;YACvB,CAAC,MAEI;cACH;cACAM,KAAK,CAACrC,QAAQ,GAAG5B,eAAe;YAClC;UACF;QACF,CAAC,CAAC;QAEFiB,IAAI,CAAC6B,QAAQ,WAAI,MAAI,CAACvB,OAAO,gBAAa,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAACwB,IAAI,EAAK;UAC3EA,IAAI,CAACV,KAAK,CAAC+B,KAAK,CAACvB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;UAEnC,IAAMwB,IAAI,GAAG,IAAI5E,aAAa,EAAE,CAACwB,IAAI,WAAI,MAAI,CAACM,OAAO,cAAW;UAEhE8C,IAAI,CAAC5C,KAAK,GAAGpC,cAAc;UAC3BgF,IAAI,CAAC3C,KAAK,GAAGrC,cAAc;UAE3BgF,IAAI,CAACC,MAAM,CAACzB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;UAErBE,IAAI,CAACV,KAAK,CAAC2B,QAAQ,CAAC,UAACC,KAAK,EAAK;YAC7B,IAAIA,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;cACzB;cACAD,KAAK,CAACrC,QAAQ,CAACC,WAAW,GAAG,IAAI;cACjC;cACAoC,KAAK,CAACrC,QAAQ,CAAC2C,OAAO,GAAG,CAAC;cAC1BN,KAAK,CAACO,WAAW,GAAG,CAAC,CAAC;cACtB;cACAP,KAAK,CAACrC,QAAQ,CAAC6C,SAAS,GAAG,KAAK;;cAEhC;cACAR,KAAK,CAACrC,QAAQ,CAAC8C,GAAG,GAAGL,IAAI;YAC3B;UACF,CAAC,CAAC;UAEFxE,GAAG,CAACyD,QAAQ,CAAC,YAAM;YACjBe,IAAI,CAACM,MAAM,CAACC,CAAC,IAAI,IAAI;UACvB,CAAC,CAAC;UAEFb,KAAK,CAACd,GAAG,CAACF,IAAI,CAACV,KAAK,CAAC;UAErB,OAAOU,IAAI;QACb,CAAC,CAAC;QAEFxC,eAAe,EAAE;QAEjB,MAAI,CAAC8B,KAAK,CAACY,GAAG,CAACc,KAAK,CAAC;QAErBA,KAAK,CAACJ,OAAO,GAAGvD,UAAU,CAACyE,IAAI,KAAK,MAAI,CAACjB,KAAK;QAC9C,MAAI,CAACkB,SAAS,GAAGf,KAAc;QAE/B,OAAOhB,IAAI;MACb,CAAC,CAAC;;MAEF;MACA9B,IAAI,CAAC6B,QAAQ,WAAI,IAAI,CAACvB,OAAO,eAAY,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAACwB,IAAI,EAAK;QAC1E,IAAMgB,KAAK,GAAGhB,IAAI,CAACV,KAAK;QACxB0B,KAAK,CAACC,QAAQ,CAAC,UAACC,KAAK,EAAK;UACxB,IAAIA,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;YACzB;YACAD,KAAK,CAACrC,QAAQ,GAAG,IAAIpC,cAAc,CAAC;cAClCkB,YAAY,EAAED,IAAI;cAClBI,cAAc,EAAEL,IAAI;cACpBmB,QAAQ,EAAE;gBACRoD,QAAQ,EAAE;kBAAEC,KAAK,EAAE,IAAIvF,aAAa,CAAC,MAAI,CAACuB,cAAc,CAAC,CAACC,IAAI,WAAI,MAAI,CAACM,OAAO;gBAAc,CAAC;gBAC7F0D,QAAQ,EAAE;kBAAED,KAAK,EAAE,IAAIvF,aAAa,CAAC,MAAI,CAACuB,cAAc,CAAC,CAACC,IAAI,WAAI,MAAI,CAACM,OAAO;gBAAc,CAAC;gBAC7F2D,OAAO,EAAE;kBAAEF,KAAK,EAAE,IAAItF,OAAO,CAAC,CAAC,EAAE,CAAC;gBAAE;cACtC,CAAC;cACD+E,SAAS,EAAE,KAAK;cAChBU,UAAU,EAAE;YACd,CAAC,CAAC;YAEFlB,KAAK,CAACrB,MAAM,CAACC,GAAG,CAAC,CAAC,CAAC;UACrB;QACF,CAAC,CAAC;QAEF,MAAI,CAACR,KAAK,CAACY,GAAG,CAACc,KAAK,CAAC;QAErB,MAAI,CAACqB,cAAc,GAAGrB,KAAc;QAEpC,OAAOhB,IAAI;MACb,CAAC,CAAC;MAEF9B,IAAI,CAAC6B,QAAQ,WAAI,IAAI,CAACvB,OAAO,kBAAe,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAACwB,IAAI,EAAK;QAC7E,MAAI,CAACV,KAAK,CAACY,GAAG,CAACF,IAAI,CAACV,KAAK,CAAC;QAE1B,MAAI,CAACgD,QAAQ,GAAGtC,IAAI,CAACV,KAAc;QACnC,OAAOU,IAAI;MACb,CAAC,CAAC;;MAEF;MACA9B,IAAI,CAAC6B,QAAQ,WAAI,IAAI,CAACvB,OAAO,mBAAgB,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAACwB,IAAI,EAAK;QAC9E,MAAI,CAACV,KAAK,CAACY,GAAG,CAACF,IAAI,CAACV,KAAK,CAAC;;QAE1B;;QAEA;QACA;QACA;QACA;;QAEA,MAAI,CAACiD,eAAe,GAAGvC,IAAI,CAACV,KAAc;QAC1C,OAAOU,IAAI;MACb,CAAC,CAAC;MACF7B,UAAU,CAACqE,OAAO,WAAI,IAAI,CAAChE,OAAO,EAAG,CAACN,IAAI,CAAC,UAAU,EAAE,UAACuE,OAAO,EAAK;QAClEA,OAAO,CAACC,OAAO,GAAGxG,gCAAgC;QAElDuG,OAAO,CAACE,UAAU,GAAGpG,cAAc;QACnC,MAAI,CAACqG,cAAc,GAAGH,OAAO;QAC7B,MAAI,CAACnD,KAAK,CAACA,KAAK,CAACuD,WAAW,GAAGJ,OAAO;QACtC,MAAI,CAACnD,KAAK,CAACA,KAAK,CAACwD,UAAU,GAAG,IAAI7G,KAAK,CAAC,MAAM,CAAC;MACjD,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,0BAAiB8G,MAAkB,EAAE;MACnC,IAAI,IAAI,CAAClC,KAAK,KAAKkC,MAAM,EACvB;MAEF,IAAI,CAAClC,KAAK,GAAGkC,MAAM;MAEnB,IAAI,IAAI,CAAClC,KAAK,KAAKxD,UAAU,CAACyE,IAAI,EAAE;QAClC,IAAI,CAACQ,QAAQ,CAAC1B,OAAO,GAAG,KAAK;QAC7B,IAAI,CAACmB,SAAS,CAACnB,OAAO,GAAG,IAAI;QAC7B,IAAI,CAACE,QAAQ,CAACF,OAAO,GAAG,KAAK;QAC7B,IAAI,CAACX,aAAa,CAACW,OAAO,GAAG,KAAK;QAClC,IAAI,CAACtB,KAAK,CAACA,KAAK,CAACwD,UAAU,GAAG,IAAI;QAClC,IAAI,CAACP,eAAe,KAAK,IAAI,CAACA,eAAe,CAAC3B,OAAO,GAAG,KAAK,CAAC;QAE9D,IAAI,CAACtB,KAAK,CAACc,QAAQ,CAACO,mBAAmB,GAAG,GAAG;MAC/C;MAEA,IAAIoC,MAAM,KAAK1F,UAAU,CAAC6B,IAAI,EAAE;QAC9B,IAAI,CAACoD,QAAQ,CAAC1B,OAAO,GAAG,IAAI;QAC5B,IAAI,CAACmB,SAAS,CAACnB,OAAO,GAAG,KAAK;QAC9B,IAAI,CAACE,QAAQ,CAACF,OAAO,GAAG,IAAI;QAC5B,IAAI,CAAC2B,eAAe,KAAK,IAAI,CAACA,eAAe,CAAC3B,OAAO,GAAG,IAAI,CAAC;QAC7D,IAAI,CAACX,aAAa,KAAK,IAAI,CAACA,aAAa,CAACW,OAAO,GAAG,IAAI,CAAC;QACzD,IAAI,CAACtB,KAAK,CAACA,KAAK,CAACwD,UAAU,GAAG,IAAI7G,KAAK,CAAC,MAAM,CAAC;QAC/C,IAAI,CAACqD,KAAK,CAACA,KAAK,CAACuD,WAAW,GAAG,IAAI,CAACD,cAAc;QAElD,IAAI,CAACtD,KAAK,CAACc,QAAQ,CAACO,mBAAmB,GAAG,GAAG;MAC/C;IACF;EAAC;IAAA;IAAA,OAED,mBAAiBqC,GAAa,EAAE;MAC9B,IAAI,IAAI,CAACA,GAAG,KAAKA,GAAG,EAClB;MACF7F,UAAS,CAAC6F,GAAG,CAAC,CAACC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACpC;EAAC;IAAA;IAAA,OAED,6BAA4B;MAAA;MAC1B7F,YAAY,CAAC8F,OAAO,CAAC,UAACC,QAAQ,EAAK;QACjC9E,OAAO,CAAC+E,EAAE,CAACD,QAAQ,EAAE,UAACE,IAAI,EAAK;UAAA;UAC7B,+BAAI,CAACC,aAAa,CAACC,GAAG,CAACJ,QAAQ,CAAC,0DAAhC,sBAAkCD,OAAO,CAAC,UAACM,EAAE,EAAK;YAChDA,EAAE,CAACH,IAAI,CAAC;UACV,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;EAFE;IAAA;IAAA,OAGA,sBAAa;MACX,IAAI,IAAI,CAAC/D,KAAK,CAACmE,YAAY,KAAK,IAAI,CAACC,UAAU,CAACC,SAAS,EAAE;QACzD,IAAMF,YAAY,GAAG,IAAI,CAACC,UAAU,CAACC,SAAS;QAC9C,IAAI,CAACrE,KAAK,CAACmE,YAAY,GAAG,IAAI,CAACnE,KAAK,CAACI,MAAM;QAC3C,IAAI,CAACJ,KAAK,CAACI,MAAM,GAAG+D,YAAY;QAChC;QACA;QACA;MACF,CAAC,MACI;QACH,IAAMG,UAAU,GAAG,IAAI,CAACtE,KAAK,CAACmE,YAAY;QAC1C,IAAMA,aAAY,GAAG,IAAI,CAACC,UAAU,CAACC,SAAS;QAE9C,IAAI,CAACrE,KAAK,CAACI,MAAM,GAAGkE,UAAU;QAC9B,IAAI,CAACtE,KAAK,CAACmE,YAAY,GAAGA,aAAY;;QAEtC;QACA;QACA;MACF;IACF;EAAC;IAAA;IAAA,OAED,0BAAiBI,SAAiB,EAAEC,QAA8B,EAAE;MAClE,IAAI,IAAI,CAACR,aAAa,CAACC,GAAG,CAACM,SAAS,CAAC,EACnC,IAAI,CAACP,aAAa,CAACC,GAAG,CAACM,SAAS,CAAC,CAACE,IAAI,CAACD,QAAQ,CAAC,MAGhD,IAAI,CAACR,aAAa,CAACxD,GAAG,CAAC+D,SAAS,EAAE,CAACC,QAAQ,CAAC,CAAC;IACjD;EAAC;EAAA;AAAA;AAGH,eAAe/E,SAAS"}
|
|
1
|
+
{"version":3,"names":["Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","ModelLoader","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","wrapS","wrapT","uniforms","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","scale","text","repeat","opacity","renderOrder","depthTest","map","offset","x","tech","techModel","texture1","value","texture2","uvScale","depthWrite","thermaLimaging","pipeline","realGroundModel","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","cutoutCamera","inspection","minCamera","mainCamera","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }else{\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = resourcePath\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\nconst uniforms = {\n\n}\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n child.visible = false\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n child.renderOrder = -1\n // @ts-ignore\n child.material.depthTest = false\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n depthTest: false,\n depthWrite: false,\n })\n\n child.layers.set(2)\n }\n })\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.scene.environment = this.boxSkeyTexture\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView() {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n this.scene.cutoutCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'main',\n // })\n }\n else {\n const mainCamera = this.scene.cutoutCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'sub',\n // })\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
@@ -5,12 +5,13 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
7
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
-
import { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, PerspectiveCamera, ShaderMaterial, TubeGeometry, use } from '@anov/3d-core';
|
|
8
|
+
import { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, PerspectiveCamera, ShaderMaterial, TubeGeometry, use, utils } from '@anov/3d-core';
|
|
9
9
|
import { RoundLineGeometry, initPostEffects } from '@anov/3d-ability';
|
|
10
10
|
import fragmentShader from "../glsl/highway/fragmentShader";
|
|
11
11
|
import vertexShader from "../glsl/highway/vertexShader";
|
|
12
12
|
import { flyLinePoints, groundLinePoints, targetProgresspoints } from "./lineData";
|
|
13
13
|
import InspectionObject from "./InspectionObject";
|
|
14
|
+
var storeManagement = utils.storeManagement;
|
|
14
15
|
var Inspection = /*#__PURE__*/function () {
|
|
15
16
|
function Inspection(gobal) {
|
|
16
17
|
var _this = this;
|
|
@@ -34,12 +35,14 @@ var Inspection = /*#__PURE__*/function () {
|
|
|
34
35
|
this.inspectionObject = new InspectionObject(this);
|
|
35
36
|
this.startInspection(this.curve);
|
|
36
37
|
this.hide();
|
|
38
|
+
var container = storeManagement.get('container');
|
|
37
39
|
var viewElement = document.createElement('div');
|
|
38
40
|
viewElement.style.position = 'absolute';
|
|
39
|
-
viewElement.style.width = '
|
|
41
|
+
viewElement.style.width = '500px';
|
|
40
42
|
viewElement.style.height = '200px';
|
|
41
|
-
viewElement.style.top = '100px';
|
|
42
43
|
viewElement.style.cursor = 'pointer';
|
|
44
|
+
viewElement.style.top = "".concat(container.offsetTop, "px");
|
|
45
|
+
viewElement.style.left = "".concat(container.offsetLeft, "px");
|
|
43
46
|
viewElement.addEventListener('click', function () {
|
|
44
47
|
_this.gobal.toggleView();
|
|
45
48
|
});
|
|
@@ -131,6 +134,7 @@ var Inspection = /*#__PURE__*/function () {
|
|
|
131
134
|
}, {
|
|
132
135
|
key: "setInspectionCamera",
|
|
133
136
|
value: function setInspectionCamera() {
|
|
137
|
+
var _app$envServer$scaleR, _window, _window$app, _window$app$envServer;
|
|
134
138
|
var minCamera;
|
|
135
139
|
if (this.minCamera) {
|
|
136
140
|
minCamera = this.minCamera;
|
|
@@ -138,11 +142,12 @@ var Inspection = /*#__PURE__*/function () {
|
|
|
138
142
|
minCamera = new PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000);
|
|
139
143
|
}
|
|
140
144
|
this.gobal.scene.cutoutCamera = minCamera;
|
|
145
|
+
var scale = (_app$envServer$scaleR = (_window = window) === null || _window === void 0 ? void 0 : (_window$app = _window.app) === null || _window$app === void 0 ? void 0 : (_window$app$envServer = _window$app.envServer) === null || _window$app$envServer === void 0 ? void 0 : _window$app$envServer.scaleRatio) !== null && _app$envServer$scaleR !== void 0 ? _app$envServer$scaleR : 1;
|
|
141
146
|
this.gobal.scene.cutoutArea = {
|
|
142
|
-
x:
|
|
143
|
-
y:
|
|
144
|
-
width:
|
|
145
|
-
height: 200
|
|
147
|
+
x: 40 / scale,
|
|
148
|
+
y: 100 / scale,
|
|
149
|
+
width: 500 / scale,
|
|
150
|
+
height: 200 / scale
|
|
146
151
|
};
|
|
147
152
|
this.gobal.scene.add(minCamera);
|
|
148
153
|
this.minCamera = minCamera;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","PerspectiveCamera","ShaderMaterial","TubeGeometry","use","RoundLineGeometry","initPostEffects","fragmentShader","vertexShader","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","viewElement","document","createElement","style","position","width","height","top","cursor","addEventListener","toggleView","flyLine","radius","close","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","groundGroup","add","y","groundCurve","line","scene","anchorMesh","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","color","cylinder1","name","set","x","z","anchorObject","minCamera","window","innerWidth","innerHeight","cutoutCamera","cutoutArea","layers","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","camera","renderer","type","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D, Vector3 } from '@anov/3d-core'\nimport { BoxGeometry, Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, PerspectiveCamera, PlaneGeometry, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, lib, use } from '@anov/3d-core'\nimport { RoundLineGeometry, addColorifyPass, createBloomSelectedTool, createHighSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport { usePath } from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\n\nclass Inspection {\n gobal: Factory3D\n inspectionObject\n curve\n groundCurve\n line: Group\n viewElement: HTMLDivElement\n isHide = true\n anchorObject: Map<string, Group> = new Map()\n anchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n this.hide()\n\n const viewElement = document.createElement('div')\n\n viewElement.style.position = 'absolute'\n viewElement.style.width = '200px'\n viewElement.style.height = '200px'\n viewElement.style.top = '100px'\n viewElement.style.cursor = 'pointer'\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color(0xFFFFFF),\n },\n sideColor: {\n value: new Color('#F75332'),\n },\n otherColor: {\n value: new Color('#D23F22'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const mesh2 = new Mesh(tube, groundMaterial)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n this.groundMaterial = groundMaterial\n\n this.anchorMesh()\n }\n\n private anchorMesh() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const singleAnchorGroup = new Group()\n\n const cylinder = new Mesh(new CylinderGeometry(10, 10, 2, 64), new MeshBasicMaterial({ color: new Color('#cdccca') }))\n const cylinder1 = new Mesh(new CylinderGeometry(5, 5, 1, 64), new MeshBasicMaterial({ color: new Color('#fff') }))\n cylinder1.position.y = 2\n\n cylinder.name = 'cylinder'\n cylinder1.name = 'cylinder1'\n\n singleAnchorGroup.add(cylinder, cylinder1)\n singleAnchorGroup.position.set(demoPoints.x, demoPoints.y + 5, demoPoints.z)\n\n this.anchorObject.set(targetProgresspoints[key].name, singleAnchorGroup)\n anchorGroup.add(singleAnchorGroup)\n })\n this.anchorGroup = anchorGroup\n this.gobal.scene.add(anchorGroup)\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(60,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n this.gobal.scene.cutoutArea = { x: 0, y: 0, width: 200, height: 200 }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n\n this.minCamera.layers.set(0)\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n this.isHide = false\n\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.anchorGroup.visible = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n this.isHide = true\n\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n if (this.gobal.scene.camera === this.minCamera) {\n this.gobal.scene.camera = this.gobal.scene.cutoutCamera\n this.gobal.scene.cutoutCamera = this.minCamera\n\n initPostEffects(this.gobal.scene.scene, this.gobal.scene.renderer, this.gobal.scene.cutoutCamera, {\n type: 'sub',\n })\n }\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n this.anchorGroup.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","PerspectiveCamera","ShaderMaterial","TubeGeometry","use","utils","RoundLineGeometry","initPostEffects","fragmentShader","vertexShader","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","storeManagement","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","container","get","viewElement","document","createElement","style","position","width","height","cursor","top","offsetTop","left","offsetLeft","addEventListener","toggleView","flyLine","radius","close","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","groundGroup","add","y","groundCurve","line","scene","anchorMesh","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","color","cylinder1","name","set","x","z","anchorObject","minCamera","window","innerWidth","innerHeight","cutoutCamera","scale","app","envServer","scaleRatio","cutoutArea","layers","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","camera","renderer","type","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D, Vector3 } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, PerspectiveCamera, PlaneGeometry, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, lib, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry, addColorifyPass, createBloomSelectedTool, createHighSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport { usePath } from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\n\nconst { storeManagement } = utils\n\nclass Inspection {\n gobal: Factory3D\n inspectionObject\n curve\n groundCurve\n line: Group\n viewElement: HTMLDivElement\n isHide = true\n anchorObject: Map<string, Group> = new Map()\n anchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n this.hide()\n\n const container = storeManagement.get<HTMLElement>('container')\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = '500px'\n viewElement.style.height = '200px'\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${container.offsetTop}px`\n viewElement.style.left = `${container.offsetLeft}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color(0xFFFFFF),\n },\n sideColor: {\n value: new Color('#F75332'),\n },\n otherColor: {\n value: new Color('#D23F22'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const mesh2 = new Mesh(tube, groundMaterial)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n this.groundMaterial = groundMaterial\n\n this.anchorMesh()\n }\n\n private anchorMesh() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const singleAnchorGroup = new Group()\n\n const cylinder = new Mesh(new CylinderGeometry(10, 10, 2, 64), new MeshBasicMaterial({ color: new Color('#cdccca') }))\n const cylinder1 = new Mesh(new CylinderGeometry(5, 5, 1, 64), new MeshBasicMaterial({ color: new Color('#fff') }))\n cylinder1.position.y = 2\n\n cylinder.name = 'cylinder'\n cylinder1.name = 'cylinder1'\n\n singleAnchorGroup.add(cylinder, cylinder1)\n singleAnchorGroup.position.set(demoPoints.x, demoPoints.y + 5, demoPoints.z)\n\n this.anchorObject.set(targetProgresspoints[key].name, singleAnchorGroup)\n anchorGroup.add(singleAnchorGroup)\n })\n this.anchorGroup = anchorGroup\n this.gobal.scene.add(anchorGroup)\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(60,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n\n this.gobal.scene.cutoutArea = { x: 40 / scale, y: 100 / scale, width: 500 / scale, height: 200 / scale }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n\n this.minCamera.layers.set(0)\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n this.isHide = false\n\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.anchorGroup.visible = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n this.isHide = true\n\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n if (this.gobal.scene.camera === this.minCamera) {\n this.gobal.scene.camera = this.gobal.scene.cutoutCamera\n this.gobal.scene.cutoutCamera = this.minCamera\n\n initPostEffects(this.gobal.scene.scene, this.gobal.scene.renderer, this.gobal.scene.cutoutCamera, {\n type: 'sub',\n })\n }\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n this.anchorGroup.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
|
|
@@ -1,22 +1,5 @@
|
|
|
1
1
|
import { ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, use } from '@anov/3d-core';
|
|
2
2
|
import { usePath } from "../../3d";
|
|
3
|
-
var riseSpriteMaterial = new ShaderMaterial({
|
|
4
|
-
uniforms: {
|
|
5
|
-
_TintColor: {
|
|
6
|
-
value: new Vector4(1, 1, 1, 1)
|
|
7
|
-
},
|
|
8
|
-
_MainTex: {
|
|
9
|
-
value: new TextureLoader().load("".concat(usePath, "/test03.png"))
|
|
10
|
-
},
|
|
11
|
-
_InvFade: {
|
|
12
|
-
value: 0.5
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
depthTest: false,
|
|
16
|
-
transparent: true,
|
|
17
|
-
vertexShader: /* glsl */"\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
|
|
18
|
-
fragmentShader: /* glsl */"\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n \n}\n "
|
|
19
|
-
});
|
|
20
3
|
var lookAtOnYAxis = function lookAtOnYAxis(mesh, targetPosition) {
|
|
21
4
|
var direction = new Vector3().subVectors(targetPosition, mesh.position);
|
|
22
5
|
direction.y = 0;
|
|
@@ -124,6 +107,23 @@ var createRiseLayer = function createRiseLayer(riseLayer) {
|
|
|
124
107
|
scene = _use$useScene.scene,
|
|
125
108
|
camera = _use$useScene.camera;
|
|
126
109
|
var RiseLayer = riseLayer !== null && riseLayer !== void 0 ? riseLayer : 28;
|
|
110
|
+
var riseSpriteMaterial = new ShaderMaterial({
|
|
111
|
+
uniforms: {
|
|
112
|
+
_TintColor: {
|
|
113
|
+
value: new Vector4(1, 1, 1, 1)
|
|
114
|
+
},
|
|
115
|
+
_MainTex: {
|
|
116
|
+
value: new TextureLoader().load("".concat(usePath, "test03.png"))
|
|
117
|
+
},
|
|
118
|
+
_InvFade: {
|
|
119
|
+
value: 0.5
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
depthTest: false,
|
|
123
|
+
transparent: true,
|
|
124
|
+
vertexShader: /* glsl */"\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
|
|
125
|
+
fragmentShader: /* glsl */"\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n \n}\n "
|
|
126
|
+
});
|
|
127
127
|
position.forEach(function (item) {
|
|
128
128
|
var sprite = new Sprite(riseSpriteMaterial);
|
|
129
129
|
sprite.scale.set(30, 30, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ShaderMaterial","Sprite","TextureLoader","Vector3","Vector4","use","usePath","
|
|
1
|
+
{"version":3,"names":["ShaderMaterial","Sprite","TextureLoader","Vector3","Vector4","use","usePath","lookAtOnYAxis","mesh","targetPosition","direction","subVectors","position","y","normalize","rotationY","Math","atan2","z","x","PI","rotation","createRiseLayer","riseLayer","useScene","scene","camera","RiseLayer","riseSpriteMaterial","uniforms","_TintColor","value","_MainTex","load","_InvFade","depthTest","transparent","vertexShader","fragmentShader","forEach","item","sprite","scale","set","rotateZ","random","layers","useframe","add"],"sources":["../../../../src/factory/unit/layer/rise.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, lib, use } from '@anov/3d-core'\nimport { usePath } from '../../3d'\n\nconst lookAtOnYAxis = (mesh: Object3D, targetPosition: Vector3) => {\n const direction = new Vector3().subVectors(targetPosition, mesh.position)\n direction.y = 0\n direction.normalize()\n\n let rotationY = Math.atan2(-direction.z, direction.x)\n\n rotationY -= Math.PI / 2\n\n mesh.rotation.y = rotationY + Math.PI\n}\n\nconst position = [{ x: -498.20348353985537, y: 1.724138326633124, z: -281.23472454616785 },\n { x: -563.1644534597008, y: -7.638570902979723, z: -149.5955833695798 },\n { x: -539.9109368199106, y: -0.7796363631222221, z: 4.303779590985869 },\n { x: -534.3300967431978, y: -1.9484837019957695, z: 207.03842215576515 },\n { x: -442.78992295689204, y: -0.9124291814532626, z: 284.6781114942187 },\n { x: -283.09754160435295, y: -0.8067932128907387, z: 284.7632588661927 },\n { x: -17.793886943446523, y: -0.8170822284307633, z: 278.6614163511422 },\n { x: 179.67836454455573, y: -0.7142971925655957, z: 277.5182969378766 },\n { x: 508.9391424549631, y: -0.06078556583531736, z: 270.6384956562051 },\n { x: 533.1529366899049, y: -0.3130418997158131, z: 175.59337885556306 },\n { x: 533.9192918796916, y: -0.595400047193607, z: 70.85117576185621 },\n { x: 558.8072691291136, y: 5.982457089229797, z: -47.46377685009156 },\n { x: 536.4516296924203, y: 1.629037413908577, z: -152.78540121590413 },\n { x: 555.1397274226065, y: 0.23968594510984076, z: -307.35056881373566 },\n { x: 476.2494806852892, y: -0.8084288516456581, z: -345.36949523013845 },\n { x: 216.87888929400197, y: -0.5794669817644262, z: -332.7211786339103 },\n { x: 175.22031507466454, y: -0.5724182128905113, z: -341.87163811528535 },\n { x: -35.18223117258549, y: -0.6265496863107956, z: -379.64710400924196 },\n { x: -356.44488560882746, y: -0.8819180034963665, z: -351.6907599590395 },\n { x: -237.58163560440826, y: 1.1368683772161603e-13, z: -128.96463232189376 },\n { x: 196.42648060764338, y: 1.1368683772161603e-13, z: 55.58793681693976 },\n { x: -235.24785890696023, y: 0, z: 187.57190736438497 },\n]\n\n/**\n * todo: other page remove animation\n * @param riseLayer\n */\nconst createRiseLayer = (riseLayer?: number) => {\n const { scene, camera } = use.useScene()\n const RiseLayer = riseLayer ?? 28\n\n const riseSpriteMaterial = new ShaderMaterial(\n {\n uniforms: {\n _TintColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n _MainTex: {\n value: new TextureLoader().load(`${usePath}test03.png`),\n },\n _InvFade: {\n value: 0.5,\n },\n },\n depthTest: false,\n transparent: true,\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n \n}\n `,\n\n },\n )\n\n position.forEach((item) => {\n const sprite = new Sprite(\n riseSpriteMaterial as any,\n )\n\n sprite.scale.set(30, 30, 1)\n sprite.rotateZ(-Math.PI / 2)\n\n sprite.position.set(item.x, item.y + Math.random() * 300, item.z)\n sprite.layers.set(RiseLayer)\n\n use.useframe(() => {\n lookAtOnYAxis(sprite, camera!.position)\n\n if (sprite.position.y > 300)\n sprite.position.y = 0\n\n sprite.position.y += 1.5\n })\n\n scene!.add(sprite)\n })\n}\n\nexport default createRiseLayer"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.48",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"anov-heat-map": "^0.0.1",
|
|
22
22
|
"localforage": "^1.10.0",
|
|
23
23
|
"uuid": "^9.0.1",
|
|
24
|
-
"@anov/3d-core": "^0.0.
|
|
24
|
+
"@anov/3d-core": "^0.0.12",
|
|
25
25
|
"@anov/3d-ability": "^0.0.13"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|