@anov/3d 0.0.91 → 0.0.93

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.
@@ -1 +1 @@
1
- {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","RegionPlane","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","districtLine","isShow","generateLine","removeHighLightLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","emit","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","tech","defaultFirstPerspectiveControls","enabled","standBy","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","setHighLightLine","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\nimport RegionPlane from './region'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.circle.remove()\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n else\n this.districtLine.removeHighLightLine()\n\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst togglePeopleManagemen = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst toggleSmartInspection = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleSecurityOperation = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleStandBy = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.inspection.defaultFirstPerspectiveControls && (this.inspection.defaultFirstPerspectiveControls.enabled = false)\n this.scene.controls.enableRotate = false\n this.scene.controls.enableZoom = false\n\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n toggleStandBy.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n this.districtLine.generateLine()\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n this.districtLine.setHighLightLine(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
1
+ {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","RegionPlane","SliceManage","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","slice","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","districtLine","isShow","generateLine","removeHighLightLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","emit","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","generateSlice","tech","defaultFirstPerspectiveControls","enabled","standBy","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","setHighLightLine","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\nimport RegionPlane from './region'\nimport SliceManage from './slice'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n if (this.slice)\n this.slice.mesh.visible = true\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.circle.remove()\n if (this.slice)\n this.slice.mesh.visible = false\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n else\n this.districtLine.removeHighLightLine()\n\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst togglePeopleManagemen = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst toggleSmartInspection = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleSecurityOperation = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleStandBy = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\n\n if (!this.slice) {\n this.slice = new SliceManage(this)\n this.slice.generateSlice()\n }\n\n this.toggleSceneStyle(SceneStyle.tech)\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.inspection.defaultFirstPerspectiveControls && (this.inspection.defaultFirstPerspectiveControls.enabled = false)\n this.scene.controls.enableRotate = false\n this.scene.controls.enableZoom = false\n\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n toggleStandBy.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n this.districtLine.generateLine()\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n this.districtLine.setHighLightLine(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
@@ -18,8 +18,8 @@ var storeManagement = utils.storeManagement;
18
18
  var viewInfoPro = {
19
19
  width: 502,
20
20
  height: 256,
21
- top: 110,
22
- left: 40
21
+ top: 170,
22
+ left: 90
23
23
  };
24
24
  var viewInfoDev = {
25
25
  width: 300,
@@ -1 +1 @@
1
- {"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","Vector4","use","utils","RoundLineGeometry","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","DefaultFirstPerspectiveControls","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","createViewElement","onHandleToggleView","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","defaultFirstPerspectiveControls","minCamera","scene","renderer","domElement","enabled","emitter","on","type","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","mapMaterial","depthTest","depthWrite","mesh3","layers","set","groundGroup","add","y","groundCurve","line","anchorMesh","setMapViewAnchorPoint","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","k","s","camera","lookAt","mapCamera","mapViewAnchorPoint","uColor","mapAnchorObject","innerWidth","innerHeight","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, NormalBlending, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, Vector4, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport fragmentShader2 from '../glsl/highway/fragmentShader2'\nimport { observe } from '../../utils/observe'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\nimport DefaultFirstPerspectiveControls from './defaultFirstPerspectiveControls'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 502,\n height: 256,\n top: 110,\n left: 40,\n}\n\nconst viewInfoDev = {\n width: 300,\n height: 200,\n top: 50,\n left: 0,\n}\n\nconst viewInfo = process.env.ENV === 'dev' ? viewInfoDev : viewInfoPro\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 mapAnchorObject: Map<string, Mesh> = new Map()\n anchorGroup: Group\n mapAnchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\n defaultFirstPerspectiveControls\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 this.createViewElement()\n this.onHandleToggleView()\n }\n\n /**\n * create view element, use to switch view [like a button]\n */\n private createViewElement() {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n const handleObserve = () => {\n setTimeout(() => {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n }, 500)\n }\n\n document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), () => {\n handleObserve()\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 private onHandleToggleView() {\n const defaultFirstPerspectiveControls = new DefaultFirstPerspectiveControls(\n this.minCamera,\n this.gobal.scene.renderer.domElement,\n )\n\n this.defaultFirstPerspectiveControls = defaultFirstPerspectiveControls\n\n defaultFirstPerspectiveControls.enabled = false\n\n utils.emitter.on('toggleView', (type: 'Drone' | 'Global') => {\n if (type === 'Drone')\n defaultFirstPerspectiveControls.enabled = true\n\n else\n defaultFirstPerspectiveControls.enabled = false\n })\n }\n\n setSelectedAnchorObject(params: { target: string; highlight: boolean }) {\n const { target, highlight } = params\n const currentAnchor = this.anchorObject.get(target) as any\n\n if (!currentAnchor)\n return\n\n if (highlight) {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n })\n }\n else {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n }\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 demo = []\n // for (let i = 0; i < 1000; i++) {\n // demo.push({\n // x: groundLine.curve.getPointAt(i / 1000).x,\n // y: groundLine.curve.getPointAt(i / 1000).y,\n // z: groundLine.curve.getPointAt(i / 1000).z,\n // })\n // }\n\n // console.log(JSON.stringify(demo, null, 2))\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 mapMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: true,\n depthWrite: false,\n uniforms: {\n u_time: {\n value: 0,\n },\n },\n vertexShader,\n fragmentShader: fragmentShader2,\n })\n\n const mesh3 = new Mesh(tube, mapMaterial)\n\n mesh3.layers.set(5)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh3)\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\n this.setMapViewAnchorPoint()\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 setMapView() {\n const width = 1470\n const height = 800\n const k = width / height\n const s = 273\n\n const camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000)\n\n camera.position.set(0, 400, 0)\n camera.lookAt(0, 0, 0)\n\n camera.layers.set(5)\n\n this.gobal.scene.add(camera)\n\n this.mapCamera = camera\n }\n\n private setMapViewAnchorPoint() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const mapViewAnchorPoint = new Mesh(new CylinderGeometry(20, 20, 2, 64),\n new ShaderMaterial({\n uniforms: {\n uColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n },\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 */ `\n uniform vec4 uColor;\n varying vec2 vUv;\n void main(){\n vec2 center = vec2(0.47, 0.47);\n float radius = 0.4;\n float border = 0.05;\n float dist = distance(vUv, center);\n\n if (dist < radius - border) {\n gl_FragColor = uColor;\n } else if (dist < radius + border) {\n gl_FragColor = vec4(0.6, 0.6, 0.6, 1.0); \n } else {\n gl_FragColor = vec4(.7, .7, .7, 1.0); \n }\n }\n `,\n depthTest: true,\n depthWrite: false,\n transparent: true,\n }))\n\n mapViewAnchorPoint.layers.set(5)\n mapViewAnchorPoint.position.set(demoPoints.x, demoPoints.y + 30, demoPoints.z)\n mapViewAnchorPoint.scale.set(1.3, 1, 1)\n\n anchorGroup.add(mapViewAnchorPoint)\n this.mapAnchorObject.set(key, mapViewAnchorPoint)\n })\n\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(30,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n this.gobal.scene.cutoutArea = { x: viewInfo.left, y: viewInfo.top, width: viewInfo.width, height: viewInfo.height }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n this.minCamera.layers.set(0)\n\n this.setMapView()\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\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","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","Vector4","use","utils","RoundLineGeometry","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","DefaultFirstPerspectiveControls","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","createViewElement","onHandleToggleView","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","defaultFirstPerspectiveControls","minCamera","scene","renderer","domElement","enabled","emitter","on","type","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","mapMaterial","depthTest","depthWrite","mesh3","layers","set","groundGroup","add","y","groundCurve","line","anchorMesh","setMapViewAnchorPoint","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","k","s","camera","lookAt","mapCamera","mapViewAnchorPoint","uColor","mapAnchorObject","innerWidth","innerHeight","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, NormalBlending, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, Vector4, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport fragmentShader2 from '../glsl/highway/fragmentShader2'\nimport { observe } from '../../utils/observe'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\nimport DefaultFirstPerspectiveControls from './defaultFirstPerspectiveControls'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 502,\n height: 256,\n top: 170,\n left: 90,\n}\n\nconst viewInfoDev = {\n width: 300,\n height: 200,\n top: 50,\n left: 0,\n}\n\nconst viewInfo = process.env.ENV === 'dev' ? viewInfoDev : viewInfoPro\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 mapAnchorObject: Map<string, Mesh> = new Map()\n anchorGroup: Group\n mapAnchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\n defaultFirstPerspectiveControls\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 this.createViewElement()\n this.onHandleToggleView()\n }\n\n /**\n * create view element, use to switch view [like a button]\n */\n private createViewElement() {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n const handleObserve = () => {\n setTimeout(() => {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n }, 500)\n }\n\n document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), () => {\n handleObserve()\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 private onHandleToggleView() {\n const defaultFirstPerspectiveControls = new DefaultFirstPerspectiveControls(\n this.minCamera,\n this.gobal.scene.renderer.domElement,\n )\n\n this.defaultFirstPerspectiveControls = defaultFirstPerspectiveControls\n\n defaultFirstPerspectiveControls.enabled = false\n\n utils.emitter.on('toggleView', (type: 'Drone' | 'Global') => {\n if (type === 'Drone')\n defaultFirstPerspectiveControls.enabled = true\n\n else\n defaultFirstPerspectiveControls.enabled = false\n })\n }\n\n setSelectedAnchorObject(params: { target: string; highlight: boolean }) {\n const { target, highlight } = params\n const currentAnchor = this.anchorObject.get(target) as any\n\n if (!currentAnchor)\n return\n\n if (highlight) {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n })\n }\n else {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n }\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 demo = []\n // for (let i = 0; i < 1000; i++) {\n // demo.push({\n // x: groundLine.curve.getPointAt(i / 1000).x,\n // y: groundLine.curve.getPointAt(i / 1000).y,\n // z: groundLine.curve.getPointAt(i / 1000).z,\n // })\n // }\n\n // console.log(JSON.stringify(demo, null, 2))\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 mapMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: true,\n depthWrite: false,\n uniforms: {\n u_time: {\n value: 0,\n },\n },\n vertexShader,\n fragmentShader: fragmentShader2,\n })\n\n const mesh3 = new Mesh(tube, mapMaterial)\n\n mesh3.layers.set(5)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh3)\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\n this.setMapViewAnchorPoint()\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 setMapView() {\n const width = 1470\n const height = 800\n const k = width / height\n const s = 273\n\n const camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000)\n\n camera.position.set(0, 400, 0)\n camera.lookAt(0, 0, 0)\n\n camera.layers.set(5)\n\n this.gobal.scene.add(camera)\n\n this.mapCamera = camera\n }\n\n private setMapViewAnchorPoint() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const mapViewAnchorPoint = new Mesh(new CylinderGeometry(20, 20, 2, 64),\n new ShaderMaterial({\n uniforms: {\n uColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n },\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 */ `\n uniform vec4 uColor;\n varying vec2 vUv;\n void main(){\n vec2 center = vec2(0.47, 0.47);\n float radius = 0.4;\n float border = 0.05;\n float dist = distance(vUv, center);\n\n if (dist < radius - border) {\n gl_FragColor = uColor;\n } else if (dist < radius + border) {\n gl_FragColor = vec4(0.6, 0.6, 0.6, 1.0); \n } else {\n gl_FragColor = vec4(.7, .7, .7, 1.0); \n }\n }\n `,\n depthTest: true,\n depthWrite: false,\n transparent: true,\n }))\n\n mapViewAnchorPoint.layers.set(5)\n mapViewAnchorPoint.position.set(demoPoints.x, demoPoints.y + 30, demoPoints.z)\n mapViewAnchorPoint.scale.set(1.3, 1, 1)\n\n anchorGroup.add(mapViewAnchorPoint)\n this.mapAnchorObject.set(key, mapViewAnchorPoint)\n })\n\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(30,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n this.gobal.scene.cutoutArea = { x: viewInfo.left, y: viewInfo.top, width: viewInfo.width, height: viewInfo.height }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n this.minCamera.layers.set(0)\n\n this.setMapView()\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\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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"}
@@ -0,0 +1,12 @@
1
+ import { Group, ShaderMaterial } from '@anov/3d-core';
2
+ import type Factory3D from '../3d';
3
+ declare class SliceManage {
4
+ private gobal;
5
+ private scene;
6
+ mesh: Group;
7
+ private pointCount;
8
+ constructor(gobal: Factory3D);
9
+ generateSlice(): void;
10
+ createRandomPlane(material: ShaderMaterial): Group;
11
+ }
12
+ export default SliceManage;
@@ -0,0 +1,122 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
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
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
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 { Clock, DoubleSide, Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector3, use } from '@anov/3d-core';
9
+ import { usePath } from "../3d";
10
+ var shader = {
11
+ fragmentShader: "\n uniform float time;\n uniform float meshid;\n uniform float HeatDate[1000];////\u6570\u636E\u8FD9\u5757\u5FC5\u987B\u5199\u6B7B\u7684\u4E2A\u6570 \u4E0D\u7136\u62A5\u9519\n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D texture3;\n uniform sampler2D texture4;\n uniform sampler2D texture5;\n uniform sampler2D texture6;\n uniform sampler2D texture7;\n uniform sampler2D texture8;\n uniform sampler2D texture9;\n varying vec2 vUv;\n varying vec3 Position;\n varying vec3 vNormal;\n varying vec4 worldPosition;\n \n/////-------------------------\nfloat N2(vec2 p) {\t\nvec3 p3 = fract(vec3(p.xyx) * vec3(443.897, 441.423, 437.195));\np3 += dot(p3, p3.yzx + 19.19);\nreturn fract((p3.x + p3.y) * p3.z);\n}\n void main( void ) {\n vec2 uv=vUv;\n // uv*=3.;\n //vec2 uv1=vec2(fract(uv.x),fract(uv.y));\n // uv/=8.;\n vec2 w_uv= worldPosition.xz;\n w_uv *=0.0005;\n w_uv*=20.;\n w_uv =floor(w_uv*10.) /10.;\n\nvec2 gv=fract(w_uv)-0.5;\nvec2 id=floor(w_uv);\n//\nfloat ran = N2(id);\nfloat ran2 = N2(id+64.0); \n\n float num =1.+floor(fract(time*0.15*ran2+ran2)*63.);////1-64\n vec2 pic_xy= vec2(mod(num,8.)-1.,7.-floor((num-1.)/8.));\n vec2 zuv= (mod(uv*1.,1.) + pic_xy) / 8.;\t\t\t\t\t \n // uv*= 2.;\n // vec2 zuv= (mod(uv*1.,1.) + vec2(0.)) / 8.;\t\t\t\n vec4 sequ1 = texture2D( texture1, zuv);\n vec4 sequ2 = texture2D( texture2, zuv);\n vec4 sequ3 = texture2D( texture3, zuv);\n vec4 sequ4 = texture2D( texture4, zuv);\n vec4 sequ5 = texture2D( texture5, zuv);\n vec4 sequ6 = texture2D( texture6, zuv);\n vec4 sequ7 = texture2D( texture7, zuv);\n vec4 sequ8 = texture2D( texture8, zuv);\n vec4 sequ9 = texture2D( texture9, zuv);\n \n vec4 color = vec4 (1.,0.5,0.12,.5);\n vec4 color1 = vec4 (1.,0.2,0.12,.5);\n vec4 color2 = vec4 (1.,0.7,0.12,0.6);\n vec4 color3 = vec4 (1.,0.3,0.12,.6);\n // gl_FragColor =pow(sequ1,vec4(.5,.5,0.5,0.1))*color;\n vec4 coX[9] ;\n coX[0]= pow(texture2D( texture1, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[1]= pow(texture2D( texture2, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[2]= pow(texture2D( texture3, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[3]= pow(texture2D( texture4, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[4]= pow(texture2D( texture5, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[5]= pow(texture2D( texture6, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[6]= pow(texture2D( texture7, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[7]= pow(texture2D( texture8, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[8]= pow(texture2D( texture9, zuv),vec4(.5,.5,0.5,0.1))*color;\n\nfloat Tid =floor(ran2*9.) ;\ngl_FragColor = coX[int(Tid)];\n//gl_FragColor = vec4(ran);\n\n }",
12
+ vertexShader: "varying vec2 vUv;\n varying vec3 vNormal;\n varying vec3 Position;\n varying vec4 worldPosition;\n \n\n void main()\n {\n vUv = uv;\n Position = position;\n \n vNormal =normalize( normal ) ;\n worldPosition = modelMatrix * vec4( position, 1.0 );\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n\n\n }"
13
+ };
14
+ var SliceManage = /*#__PURE__*/function () {
15
+ function SliceManage(gobal) {
16
+ _classCallCheck(this, SliceManage);
17
+ _defineProperty(this, "gobal", void 0);
18
+ _defineProperty(this, "scene", void 0);
19
+ _defineProperty(this, "mesh", void 0);
20
+ _defineProperty(this, "pointCount", 400);
21
+ this.gobal = gobal;
22
+ this.scene = gobal.scene.scene;
23
+ }
24
+ _createClass(SliceManage, [{
25
+ key: "generateSlice",
26
+ value: function generateSlice() {
27
+ var textureLoader = new TextureLoader();
28
+ var uniforms = {
29
+ fogDensity: {
30
+ value: 0.45
31
+ },
32
+ fogColor: {
33
+ value: new Vector3(0, 0, 0)
34
+ },
35
+ time: {
36
+ value: 1.0
37
+ },
38
+ HeatDate: {
39
+ value: []
40
+ },
41
+ texture1: {
42
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi01.png"))
43
+ },
44
+ texture2: {
45
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi02.png"))
46
+ },
47
+ texture3: {
48
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi03.png"))
49
+ },
50
+ texture4: {
51
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi04.png"))
52
+ },
53
+ texture5: {
54
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi05.png"))
55
+ },
56
+ texture6: {
57
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi06.png"))
58
+ },
59
+ texture7: {
60
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi07.png"))
61
+ },
62
+ texture8: {
63
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi08.png"))
64
+ },
65
+ texture9: {
66
+ value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi09.png"))
67
+ },
68
+ meshid: {
69
+ value: 1.0
70
+ }
71
+ };
72
+ uniforms.texture1.value.wrapS = uniforms.texture1.value.wrapT = RepeatWrapping;
73
+ uniforms.texture2.value.wrapS = uniforms.texture2.value.wrapT = RepeatWrapping;
74
+ uniforms.texture3.value.wrapS = uniforms.texture3.value.wrapT = RepeatWrapping;
75
+ uniforms.texture4.value.wrapS = uniforms.texture4.value.wrapT = RepeatWrapping;
76
+ uniforms.texture5.value.wrapS = uniforms.texture5.value.wrapT = RepeatWrapping;
77
+ uniforms.texture6.value.wrapS = uniforms.texture6.value.wrapT = RepeatWrapping;
78
+ uniforms.texture7.value.wrapS = uniforms.texture7.value.wrapT = RepeatWrapping;
79
+ uniforms.texture8.value.wrapS = uniforms.texture8.value.wrapT = RepeatWrapping;
80
+ uniforms.texture9.value.wrapS = uniforms.texture9.value.wrapT = RepeatWrapping;
81
+ var material = new ShaderMaterial({
82
+ uniforms: uniforms,
83
+ vertexShader: shader.vertexShader,
84
+ fragmentShader: shader.fragmentShader,
85
+ transparent: true,
86
+ side: DoubleSide,
87
+ depthTest: false
88
+ });
89
+ this.mesh = this.createRandomPlane(material);
90
+ this.scene.add(this.mesh);
91
+ var clock = new Clock();
92
+ use.useframe(function () {
93
+ uniforms.time.value += clock.getDelta();
94
+ });
95
+ }
96
+ }, {
97
+ key: "createRandomPlane",
98
+ value: function createRandomPlane(material) {
99
+ var size = Math.random() * 25; // 随机高度,最大50
100
+ var group = new Group();
101
+ for (var i = 0; i < this.pointCount; i++) {
102
+ var geometry = new PlaneGeometry(size, size);
103
+ var plane = new Mesh(geometry, material);
104
+ // 随机位置
105
+ var x = void 0,
106
+ y = void 0;
107
+ while (true) {
108
+ x = Math.random() * (100 - 2 * size) + size + Math.floor((Math.random() - 0.5) * 40) * 100;
109
+ y = Math.random() * (100 - 2 * size) + size + Math.floor((Math.random() - 0.5) * 30) * 100;
110
+ if (x > 520 || x < -520 || y > 350 || y < -350) break;
111
+ }
112
+ plane.position.set(x, -0.5, y);
113
+ plane.rotateX(-Math.PI / 2);
114
+ group.add(plane);
115
+ }
116
+ return group;
117
+ }
118
+ }]);
119
+ return SliceManage;
120
+ }();
121
+ export default SliceManage;
122
+ //# sourceMappingURL=slice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Clock","DoubleSide","Group","Mesh","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector3","use","usePath","shader","fragmentShader","vertexShader","SliceManage","gobal","scene","textureLoader","uniforms","fogDensity","value","fogColor","time","HeatDate","texture1","load","texture2","texture3","texture4","texture5","texture6","texture7","texture8","texture9","meshid","wrapS","wrapT","material","transparent","side","depthTest","mesh","createRandomPlane","add","clock","useframe","getDelta","size","Math","random","group","i","pointCount","geometry","plane","x","y","floor","position","set","rotateX","PI"],"sources":["../../../src/factory/unit/slice.ts"],"sourcesContent":["import { Clock, DoubleSide, Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector3, use, utils } from '@anov/3d-core'\nimport type { Scene } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport { usePath } from '../3d'\n\nconst shader = {\n fragmentShader: `\n uniform float time;\n uniform float meshid;\n uniform float HeatDate[1000];////数据这块必须写死的个数 不然报错\n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D texture3;\n uniform sampler2D texture4;\n uniform sampler2D texture5;\n uniform sampler2D texture6;\n uniform sampler2D texture7;\n uniform sampler2D texture8;\n uniform sampler2D texture9;\n varying vec2 vUv;\n varying vec3 Position;\n varying vec3 vNormal;\n varying vec4 worldPosition;\n \n/////-------------------------\nfloat N2(vec2 p) {\t\nvec3 p3 = fract(vec3(p.xyx) * vec3(443.897, 441.423, 437.195));\np3 += dot(p3, p3.yzx + 19.19);\nreturn fract((p3.x + p3.y) * p3.z);\n}\n void main( void ) {\n vec2 uv=vUv;\n // uv*=3.;\n //vec2 uv1=vec2(fract(uv.x),fract(uv.y));\n // uv/=8.;\n vec2 w_uv= worldPosition.xz;\n w_uv *=0.0005;\n w_uv*=20.;\n w_uv =floor(w_uv*10.) /10.;\n\nvec2 gv=fract(w_uv)-0.5;\nvec2 id=floor(w_uv);\n//\nfloat ran = N2(id);\nfloat ran2 = N2(id+64.0); \n\n float num =1.+floor(fract(time*0.15*ran2+ran2)*63.);////1-64\n vec2 pic_xy= vec2(mod(num,8.)-1.,7.-floor((num-1.)/8.));\n vec2 zuv= (mod(uv*1.,1.) + pic_xy) / 8.;\t\t\t\t\t \n // uv*= 2.;\n // vec2 zuv= (mod(uv*1.,1.) + vec2(0.)) / 8.;\t\t\t\n vec4 sequ1 = texture2D( texture1, zuv);\n vec4 sequ2 = texture2D( texture2, zuv);\n vec4 sequ3 = texture2D( texture3, zuv);\n vec4 sequ4 = texture2D( texture4, zuv);\n vec4 sequ5 = texture2D( texture5, zuv);\n vec4 sequ6 = texture2D( texture6, zuv);\n vec4 sequ7 = texture2D( texture7, zuv);\n vec4 sequ8 = texture2D( texture8, zuv);\n vec4 sequ9 = texture2D( texture9, zuv);\n \n vec4 color = vec4 (1.,0.5,0.12,.5);\n vec4 color1 = vec4 (1.,0.2,0.12,.5);\n vec4 color2 = vec4 (1.,0.7,0.12,0.6);\n vec4 color3 = vec4 (1.,0.3,0.12,.6);\n // gl_FragColor =pow(sequ1,vec4(.5,.5,0.5,0.1))*color;\n vec4 coX[9] ;\n coX[0]= pow(texture2D( texture1, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[1]= pow(texture2D( texture2, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[2]= pow(texture2D( texture3, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[3]= pow(texture2D( texture4, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[4]= pow(texture2D( texture5, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[5]= pow(texture2D( texture6, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[6]= pow(texture2D( texture7, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[7]= pow(texture2D( texture8, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[8]= pow(texture2D( texture9, zuv),vec4(.5,.5,0.5,0.1))*color;\n\nfloat Tid =floor(ran2*9.) ;\ngl_FragColor = coX[int(Tid)];\n//gl_FragColor = vec4(ran);\n\n }`,\n vertexShader: `varying vec2 vUv;\n varying vec3 vNormal;\n varying vec3 Position;\n varying vec4 worldPosition;\n \n\n void main()\n {\n vUv = uv;\n Position = position;\n \n vNormal =normalize( normal ) ;\n worldPosition = modelMatrix * vec4( position, 1.0 );\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n\n\n }`,\n}\nclass SliceManage {\n private gobal: Factory3D\n private scene: Scene\n mesh: Group\n private pointCount = 400\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n }\n\n generateSlice() {\n const textureLoader = new TextureLoader()\n const uniforms = {\n fogDensity: { value: 0.45 },\n fogColor: { value: new Vector3(0, 0, 0) },\n time: { value: 1.0 },\n HeatDate: { value: [] },\n texture1: { value: textureLoader.load(`${usePath}p2/sequ/xuebi01.png`) },\n texture2: { value: textureLoader.load(`${usePath}p2/sequ/xuebi02.png`) },\n texture3: { value: textureLoader.load(`${usePath}p2/sequ/xuebi03.png`) },\n texture4: { value: textureLoader.load(`${usePath}p2/sequ/xuebi04.png`) },\n texture5: { value: textureLoader.load(`${usePath}p2/sequ/xuebi05.png`) },\n texture6: { value: textureLoader.load(`${usePath}p2/sequ/xuebi06.png`) },\n texture7: { value: textureLoader.load(`${usePath}p2/sequ/xuebi07.png`) },\n texture8: { value: textureLoader.load(`${usePath}p2/sequ/xuebi08.png`) },\n texture9: { value: textureLoader.load(`${usePath}p2/sequ/xuebi09.png`) },\n meshid: { value: 1.0 },\n }\n\n uniforms.texture1.value.wrapS = uniforms.texture1.value.wrapT = RepeatWrapping\n uniforms.texture2.value.wrapS = uniforms.texture2.value.wrapT = RepeatWrapping\n uniforms.texture3.value.wrapS = uniforms.texture3.value.wrapT = RepeatWrapping\n uniforms.texture4.value.wrapS = uniforms.texture4.value.wrapT = RepeatWrapping\n uniforms.texture5.value.wrapS = uniforms.texture5.value.wrapT = RepeatWrapping\n uniforms.texture6.value.wrapS = uniforms.texture6.value.wrapT = RepeatWrapping\n uniforms.texture7.value.wrapS = uniforms.texture7.value.wrapT = RepeatWrapping\n uniforms.texture8.value.wrapS = uniforms.texture8.value.wrapT = RepeatWrapping\n uniforms.texture9.value.wrapS = uniforms.texture9.value.wrapT = RepeatWrapping\n\n const material = new ShaderMaterial({\n uniforms,\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n transparent: true,\n side: DoubleSide,\n depthTest: false,\n })\n\n this.mesh = this.createRandomPlane(material)\n this.scene.add(this.mesh)\n\n const clock = new Clock()\n use.useframe(() => {\n uniforms.time.value += clock.getDelta()\n })\n }\n\n createRandomPlane(material: ShaderMaterial) {\n const size = Math.random() * 25 // 随机高度,最大50\n const group = new Group()\n for (let i = 0; i < this.pointCount; i++) {\n const geometry = new PlaneGeometry(size, size)\n const plane = new Mesh(geometry, material)\n // 随机位置\n let x, y\n while (true) {\n x = (Math.random()) * (100 - 2 * size) + size + (Math.floor((Math.random() - 0.5) * 40) * 100)\n y = (Math.random()) * (100 - 2 * size) + size + (Math.floor((Math.random() - 0.5) * 30) * 100)\n if (x > 520 || x < -520 || y > 350 || y < -350)\n break\n }\n\n plane.position.set(x, -0.5, y)\n plane.rotateX(-Math.PI / 2)\n group.add(plane)\n }\n return group\n }\n}\n\nexport default SliceManage"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Vector3 } from '@anov/3d-core';
2
2
  import type { BaseModule } from '../../utils/abstract';
3
3
  import type Anov3D from '../../sdkEntry';
4
+ import createTimeSkySystem from './time';
4
5
  declare class Environment implements BaseModule {
5
6
  app: Anov3D;
6
7
  private opts?;
@@ -10,8 +11,9 @@ declare class Environment implements BaseModule {
10
11
  private cloudReturn;
11
12
  private sky;
12
13
  private renderer;
13
- private changeSceneEnvironment;
14
14
  sunPosition: Vector3;
15
+ sun: ReturnType<typeof createTimeSkySystem>['sun'];
16
+ skyControl: ReturnType<typeof createTimeSkySystem>['skyControl'];
15
17
  constructor(app: Anov3D);
16
18
  private initConfigSet;
17
19
  private setWeatherStrategy;
@@ -27,8 +27,9 @@ var Environment = /*#__PURE__*/function () {
27
27
  _defineProperty(this, "cloudReturn", null);
28
28
  _defineProperty(this, "sky", void 0);
29
29
  _defineProperty(this, "renderer", void 0);
30
- _defineProperty(this, "changeSceneEnvironment", void 0);
31
30
  _defineProperty(this, "sunPosition", void 0);
31
+ _defineProperty(this, "sun", void 0);
32
+ _defineProperty(this, "skyControl", void 0);
32
33
  _defineProperty(this, "setWeatherStrategy", {
33
34
  Snow: function Snow() {
34
35
  !_this.snow && (_this.snow = createSnow(15, 10000, {
@@ -66,16 +67,17 @@ var Environment = /*#__PURE__*/function () {
66
67
  }
67
68
  });
68
69
  this.app = app;
69
- this.changeSceneEnvironment = app.changeSceneEnvironment;
70
70
  var _createTimeSkySystem = createTimeSkySystem(new Date(), 40, 116, 100),
71
- _createTimeSkySystem2 = _slicedToArray(_createTimeSkySystem, 3),
72
- setDate = _createTimeSkySystem2[0],
73
- sun = _createTimeSkySystem2[1],
74
- sky = _createTimeSkySystem2[2];
71
+ setDate = _createTimeSkySystem.setDate,
72
+ sun = _createTimeSkySystem.sun,
73
+ sky = _createTimeSkySystem.sky,
74
+ skyControl = _createTimeSkySystem.skyControl;
75
75
  this.renderer = use.useScene().renderer;
76
76
  this.sunPosition = sun.position;
77
77
  this.setDate = setDate;
78
78
  this.sky = sky;
79
+ this.sun = sun;
80
+ this.skyControl = skyControl;
79
81
  this.opts = (_app$opts$environment = app.opts.environment) !== null && _app$opts$environment !== void 0 ? _app$opts$environment : {};
80
82
  this.initConfigSet();
81
83
  }
@@ -109,7 +111,6 @@ var Environment = /*#__PURE__*/function () {
109
111
  date.setHours(0, 0, 0, 0);
110
112
  date.setTime(date.getTime() + Math.floor(86400000 * params.time / 2400));
111
113
  this.setDate(date);
112
- if (this.sunPosition.y <= 0) this.changeSceneEnvironment(false);else this.changeSceneEnvironment(true);
113
114
  return {
114
115
  newTime: params.time
115
116
  };
@@ -1 +1 @@
1
- {"version":3,"names":["use","createRain","createSkyCloud","createSnow","createTimeSkySystem","Environment","app","Snow","snow","x","y","z","renderer","toneMappingExposure","Rain","rain","Cloudy","cloudReturn","Clear_Skies","_","clear","changeSceneEnvironment","Date","setDate","sun","sky","useScene","sunPosition","position","opts","environment","initConfigSet","weather","time","setWeather","weatherType","duration","setTime","params","undefined","Error","date","setHours","getTime","Math","floor","newTime","setWeatherStrategy"],"sources":["../../../src/module/environment/index.ts"],"sourcesContent":["import type { Vector3, WebGLRenderer, lib } from '@anov/3d-core'\nimport { use } from '@anov/3d-core'\nimport { createRain, createSkyCloud, createSnow } from '@anov/3d-ability'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport createTimeSkySystem from './time'\n\ntype EnvironmentOptions = {\n weather?: string\n time?: number\n}\n\nclass Environment implements BaseModule {\n app: Anov3D\n private opts?: EnvironmentOptions\n private setDate: (currentDate?: Date | undefined) => Vector3\n private snow: any = null\n private rain: any = null\n private cloudReturn: ReturnType<typeof createSkyCloud> | null = null\n private sky: lib.Sky\n private renderer: WebGLRenderer\n private changeSceneEnvironment: (openFlag?: boolean) => void\n sunPosition: Vector3\n\n constructor(app: Anov3D) {\n this.app = app\n this.changeSceneEnvironment = app.changeSceneEnvironment\n const [setDate, sun, sky] = createTimeSkySystem(new Date(), 40, 116, 100)\n this.renderer = use.useScene().renderer!\n this.sunPosition = sun.position\n this.setDate = setDate as any\n this.sky = sky\n this.opts = app.opts.environment ?? {}\n this.initConfigSet()\n }\n\n private initConfigSet() {\n const { weather, time } = this.opts as Required<EnvironmentOptions>\n\n if (!weather)\n return\n this.setWeather({ weatherType: weather ?? 'Snow', duration: 0 })\n this.setTime({ time: time ?? 1700, duration: 0 })\n }\n\n private setWeatherStrategy = {\n Snow: () => {\n !this.snow && (this.snow = createSnow(15, 10000, { x: 0, y: 3, z: 0 }, 0.5, 50000))\n this.snow[0]()\n this.renderer.toneMappingExposure = 0.3\n },\n Rain: () => {\n !this.rain && (this.rain = createRain(4, 10000, { x: 0, y: 10, z: 0 }, 0.8, 100000))\n this.rain[0]()\n this.renderer.toneMappingExposure = 0.3\n },\n Cloudy: () => {\n !this.cloudReturn && (this.cloudReturn = createSkyCloud())\n },\n Clear_Skies: () => {\n this.snow?.[1]()\n this.rain?.[1]()\n this.renderer.toneMappingExposure = 0.6\n\n if (this.cloudReturn) {\n const [_, clear] = this.cloudReturn\n clear()\n this.cloudReturn = null\n }\n },\n }\n\n /**\n * setTime\n * @param newTime\n * @param changeTime\n */\n setTime(params: { time: number; duration?: number }) {\n if (params.time === undefined || (params.time > 2400 && params.time < 0))\n throw new Error('time must be between 0 and 2400')\n\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n date.setTime(date.getTime() + Math.floor(86400000 * params.time / 2400))\n this.setDate(date)\n\n if (this.sunPosition.y <= 0)\n this.changeSceneEnvironment(false)\n\n else\n this.changeSceneEnvironment(true)\n\n return {\n newTime: params.time,\n }\n }\n\n /**\n * setWeather\n * @param type\n * @param changeTime\n */\n setWeather(params: { weatherType: string; duration?: number }) {\n // @ts-ignore\n this.setWeatherStrategy[params.weatherType]()\n\n return {\n weatherType: params.weatherType,\n }\n }\n}\n\nexport default Environment"],"mappings":"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"}
1
+ {"version":3,"names":["use","createRain","createSkyCloud","createSnow","createTimeSkySystem","Environment","app","Snow","snow","x","y","z","renderer","toneMappingExposure","Rain","rain","Cloudy","cloudReturn","Clear_Skies","_","clear","Date","setDate","sun","sky","skyControl","useScene","sunPosition","position","opts","environment","initConfigSet","weather","time","setWeather","weatherType","duration","setTime","params","undefined","Error","date","setHours","getTime","Math","floor","newTime","setWeatherStrategy"],"sources":["../../../src/module/environment/index.ts"],"sourcesContent":["import type { Vector3, WebGLRenderer, lib } from '@anov/3d-core'\nimport { use } from '@anov/3d-core'\nimport { createRain, createSkyCloud, createSnow } from '@anov/3d-ability'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport createTimeSkySystem from './time'\n\ntype EnvironmentOptions = {\n weather?: string\n time?: number\n}\n\nclass Environment implements BaseModule {\n app: Anov3D\n private opts?: EnvironmentOptions\n private setDate: (currentDate?: Date | undefined) => Vector3\n private snow: any = null\n private rain: any = null\n private cloudReturn: ReturnType<typeof createSkyCloud> | null = null\n private sky: lib.Sky\n private renderer: WebGLRenderer\n\n sunPosition: Vector3\n\n sun: ReturnType<typeof createTimeSkySystem>['sun']\n skyControl: ReturnType<typeof createTimeSkySystem>['skyControl']\n\n constructor(app: Anov3D) {\n this.app = app\n\n const { setDate, sun, sky, skyControl } = createTimeSkySystem(new Date(), 40, 116, 100)\n\n this.renderer = use.useScene().renderer!\n this.sunPosition = sun.position\n\n this.setDate = setDate as any\n this.sky = sky\n this.sun = sun\n this.skyControl = skyControl\n\n this.opts = app.opts.environment ?? {}\n this.initConfigSet()\n }\n\n private initConfigSet() {\n const { weather, time } = this.opts as Required<EnvironmentOptions>\n\n if (!weather)\n return\n this.setWeather({ weatherType: weather ?? 'Snow', duration: 0 })\n this.setTime({ time: time ?? 1700, duration: 0 })\n }\n\n private setWeatherStrategy = {\n Snow: () => {\n !this.snow && (this.snow = createSnow(15, 10000, { x: 0, y: 3, z: 0 }, 0.5, 50000))\n this.snow[0]()\n this.renderer.toneMappingExposure = 0.3\n },\n Rain: () => {\n !this.rain && (this.rain = createRain(4, 10000, { x: 0, y: 10, z: 0 }, 0.8, 100000))\n this.rain[0]()\n this.renderer.toneMappingExposure = 0.3\n },\n Cloudy: () => {\n !this.cloudReturn && (this.cloudReturn = createSkyCloud())\n },\n Clear_Skies: () => {\n this.snow?.[1]()\n this.rain?.[1]()\n this.renderer.toneMappingExposure = 0.6\n\n if (this.cloudReturn) {\n const [_, clear] = this.cloudReturn\n clear()\n this.cloudReturn = null\n }\n },\n }\n\n /**\n * setTime\n * @param newTime\n * @param changeTime\n */\n setTime(params: { time: number; duration?: number }) {\n if (params.time === undefined || (params.time > 2400 && params.time < 0))\n throw new Error('time must be between 0 and 2400')\n\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n date.setTime(date.getTime() + Math.floor(86400000 * params.time / 2400))\n this.setDate(date)\n\n return {\n newTime: params.time,\n }\n }\n\n /**\n * setWeather\n * @param type\n * @param changeTime\n */\n setWeather(params: { weatherType: string; duration?: number }) {\n // @ts-ignore\n this.setWeatherStrategy[params.weatherType]()\n\n return {\n weatherType: params.weatherType,\n }\n }\n}\n\nexport default Environment"],"mappings":"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"}
@@ -6,7 +6,5 @@
6
6
  * @param sunRadius
7
7
  * @returns
8
8
  */
9
- declare const createTimeSkySystem: (date: Date, latitude?: number, longitude?: number, sunRadius?: number) => [(currentDate?: Date) => import("@anov/3d-core").Vector3, import("@anov/3d-core/dist/core/group").default & {
10
- sunPosition: import("@anov/3d-core").Vector3;
11
- }, any];
9
+ declare const createTimeSkySystem: (date: Date, latitude?: number, longitude?: number, sunRadius?: number) => any;
12
10
  export default createTimeSkySystem;
@@ -1,9 +1,3 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
1
  import { createSkySystem } from '@anov/3d-ability';
8
2
 
9
3
  /**
@@ -19,11 +13,16 @@ var createTimeSkySystem = function createTimeSkySystem(date) {
19
13
  var longitude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 116;
20
14
  var sunRadius = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 100;
21
15
  var _createSkySystem = createSkySystem(date, latitude, longitude, sunRadius),
22
- _createSkySystem2 = _slicedToArray(_createSkySystem, 3),
23
- setDate = _createSkySystem2[0],
24
- sun = _createSkySystem2[1],
25
- sky = _createSkySystem2[2];
26
- return [setDate, sun, sky];
16
+ setDate = _createSkySystem.setDate,
17
+ sun = _createSkySystem.skyGroup,
18
+ sky = _createSkySystem.sky,
19
+ skyControl = _createSkySystem.skyControl;
20
+ return {
21
+ setDate: setDate,
22
+ sun: sun,
23
+ sky: sky,
24
+ skyControl: skyControl
25
+ };
27
26
  };
28
27
  export default createTimeSkySystem;
29
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSkySystem","createTimeSkySystem","date","latitude","longitude","sunRadius","setDate","sun","sky"],"sources":["../../../../src/module/environment/time/index.ts"],"sourcesContent":["import { createSkySystem } from '@anov/3d-ability'\n\n/**\n * create time sky system\n * @param date\n * @param latitude\n * @param longitude\n * @param sunRadius\n * @returns\n */\nconst createTimeSkySystem = (date: Date, latitude = 40, longitude = 116, sunRadius = 100) => {\n const [setDate, sun, sky] = createSkySystem(date, latitude, longitude, sunRadius)\n\n return [setDate, sun, sky] as [typeof setDate, typeof sun, typeof sky]\n}\n\nexport default createTimeSkySystem"],"mappings":";;;;;;AAAA,SAASA,eAAe,QAAQ,kBAAkB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIC,IAAU,EAAsD;EAAA,IAApDC,QAAQ,uEAAG,EAAE;EAAA,IAAEC,SAAS,uEAAG,GAAG;EAAA,IAAEC,SAAS,uEAAG,GAAG;EACtF,uBAA4BL,eAAe,CAACE,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,CAAC;IAAA;IAA1EC,OAAO;IAAEC,GAAG;IAAEC,GAAG;EAExB,OAAO,CAACF,OAAO,EAAEC,GAAG,EAAEC,GAAG,CAAC;AAC5B,CAAC;AAED,eAAeP,mBAAmB"}
1
+ {"version":3,"names":["createSkySystem","createTimeSkySystem","date","latitude","longitude","sunRadius","setDate","sun","skyGroup","sky","skyControl"],"sources":["../../../../src/module/environment/time/index.ts"],"sourcesContent":["import { createSkySystem } from '@anov/3d-ability'\n\n/**\n * create time sky system\n * @param date\n * @param latitude\n * @param longitude\n * @param sunRadius\n * @returns\n */\nconst createTimeSkySystem = (date: Date, latitude = 40, longitude = 116, sunRadius = 100) => {\n const {\n setDate, skyGroup: sun, sky, skyControl,\n } = createSkySystem(date, latitude, longitude, sunRadius)\n\n return {\n setDate,\n sun,\n sky,\n skyControl,\n } as ReturnType<typeof createTimeSkySystem>\n}\n\nexport default createTimeSkySystem"],"mappings":"AAAA,SAASA,eAAe,QAAQ,kBAAkB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIC,IAAU,EAAsD;EAAA,IAApDC,QAAQ,uEAAG,EAAE;EAAA,IAAEC,SAAS,uEAAG,GAAG;EAAA,IAAEC,SAAS,uEAAG,GAAG;EACtF,uBAEIL,eAAe,CAACE,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,CAAC;IADvDC,OAAO,oBAAPA,OAAO;IAAYC,GAAG,oBAAbC,QAAQ;IAAOC,GAAG,oBAAHA,GAAG;IAAEC,UAAU,oBAAVA,UAAU;EAGzC,OAAO;IACLJ,OAAO,EAAPA,OAAO;IACPC,GAAG,EAAHA,GAAG;IACHE,GAAG,EAAHA,GAAG;IACHC,UAAU,EAAVA;EACF,CAAC;AACH,CAAC;AAED,eAAeT,mBAAmB"}
@@ -1,8 +1,11 @@
1
1
  import type { GrowOption } from '@anov/3d-ability';
2
- export declare class Scene {
2
+ import type { BaseModule } from '../../utils/abstract';
3
+ import type Anov3D from '../../sdkEntry';
4
+ export declare class Scene implements BaseModule {
5
+ app: Anov3D;
3
6
  private grow;
4
7
  private opt;
5
- constructor();
8
+ constructor(app: Anov3D);
6
9
  growInit(opt?: GrowOption): Promise<unknown>;
7
10
  growIn(): Promise<unknown>;
8
11
  growOut(): Promise<unknown>;
@@ -10,10 +10,12 @@ import { MessageType, sendToMessage } from "../../utils/messageFn";
10
10
  import { EMessageStatus } from "../../messageStatus";
11
11
  import factoryGlobalObject from "../../factory/globalControl";
12
12
  export var Scene = /*#__PURE__*/function () {
13
- function Scene() {
13
+ function Scene(app) {
14
14
  _classCallCheck(this, Scene);
15
+ _defineProperty(this, "app", void 0);
15
16
  _defineProperty(this, "grow", void 0);
16
17
  _defineProperty(this, "opt", void 0);
18
+ this.app = app;
17
19
  this.grow = null;
18
20
  this.opt = {};
19
21
  }
@@ -98,6 +100,13 @@ export var Scene = /*#__PURE__*/function () {
98
100
  key: "toPage",
99
101
  value: function toPage(params) {
100
102
  console.log('params:', params);
103
+ if (params.name === 'Person') {
104
+ // @ts-ignore
105
+ this.app.environment.skyControl.disabledSun();
106
+ } else {
107
+ // @ts-ignore
108
+ this.app.environment.skyControl.enabledSun();
109
+ }
101
110
  factoryGlobalObject.factory3D.toggleTag(params.name);
102
111
  }
103
112
  }]);