Repository: SHAILAB-IPEC/OpenFly-Platform Branch: main Commit: c075075497a7 Files: 620 Total size: 8.0 MB Directory structure: gitextract_i_rseys9/ ├── .gitignore ├── .vscode/ │ ├── c_cpp_properties.json │ └── settings.json ├── LICENSE ├── README.md ├── configs/ │ ├── env_airsim_16.yaml │ ├── env_airsim_18.yaml │ ├── env_airsim_23.yaml │ ├── env_airsim_26.yaml │ ├── env_airsim_gz.yaml │ ├── env_airsim_sh.yaml │ ├── env_game_gtav.yaml │ ├── env_gs_ecust.yaml │ ├── env_gs_nwpu01.yaml │ ├── env_gs_nwpu02.yaml │ ├── env_gs_sjtu01.yaml │ ├── env_gs_sjtu02.yaml │ ├── env_ue_bigcity.yaml │ ├── env_ue_smallcity.yaml │ └── eval_test.json ├── envs/ │ ├── airsim/ │ │ └── AirSim/ │ │ └── settings.json │ ├── gs/ │ │ └── SIBR_viewers/ │ │ ├── .vscode/ │ │ │ ├── c_cpp_properties.json │ │ │ └── settings.json │ │ ├── CMakeLists.txt │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── cmake/ │ │ │ ├── linux/ │ │ │ │ ├── MSVCsetUserCommand.cmake │ │ │ │ ├── Modules/ │ │ │ │ │ ├── FindASSIMP.cmake │ │ │ │ │ ├── FindEGL.cmake │ │ │ │ │ ├── FindEmbree.cmake │ │ │ │ │ ├── FindFFMPEG.cmake │ │ │ │ │ └── FindGLFW.cmake │ │ │ │ ├── Win3rdParty.cmake │ │ │ │ ├── cmake_policies.cmake │ │ │ │ ├── dependencies.cmake │ │ │ │ ├── downloadAndExtractZipFile.cmake │ │ │ │ ├── git_describe.cmake │ │ │ │ ├── include_once.cmake │ │ │ │ ├── install_runtime.cmake │ │ │ │ ├── parse_arguments_multi.cmake │ │ │ │ └── sibr_library.cmake │ │ │ └── windows/ │ │ │ ├── MSVCsetUserCommand.cmake │ │ │ ├── Modules/ │ │ │ │ ├── FindASSIMP.cmake │ │ │ │ ├── FindEmbree.cmake │ │ │ │ └── FindFFmpeg.cmake │ │ │ ├── Win3rdParty.cmake │ │ │ ├── cmake_policies.cmake │ │ │ ├── dependencies.cmake │ │ │ ├── downloadAndExtractZipFile.cmake │ │ │ ├── git_describe.cmake │ │ │ ├── include_once.cmake │ │ │ ├── install_runtime.cmake │ │ │ ├── parse_arguments_multi.cmake │ │ │ └── sibr_library.cmake │ │ ├── docs/ │ │ │ ├── CMakeLists.txt │ │ │ ├── doxyfile.in │ │ │ ├── doxygen_prebuild.cmake.in │ │ │ ├── layout.xml.in │ │ │ └── pages/ │ │ │ ├── 1_Getting_Started.dox │ │ │ ├── 2_Projects.dox │ │ │ ├── 2_Projects.dox.in │ │ │ ├── 3_Tutorials.dox │ │ │ ├── 4_Architecture.dox │ │ │ └── Tutorials/ │ │ │ ├── How to generate your dataset/ │ │ │ │ ├── How_to_create_dataset_from_colmap.dox │ │ │ │ └── How_to_create_dataset_from_realitycapture.dox │ │ │ ├── How to setup your own project/ │ │ │ │ ├── Configuring_your_project.dox │ │ │ │ ├── Creating_your_library.dox │ │ │ │ ├── Documenting_a_project.dox │ │ │ │ └── Project_structure.dox │ │ │ ├── How_to_generate_your_dataset.dox │ │ │ ├── How_to_setup_your_own_project.dox │ │ │ ├── Paths_and_cameras.dox │ │ │ └── Useful_sibr_elements.dox │ │ └── src/ │ │ ├── CMakeLists.txt │ │ ├── core/ │ │ │ ├── assets/ │ │ │ │ ├── ActiveImageFile.cpp │ │ │ │ ├── ActiveImageFile.hpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CameraRecorder.cpp │ │ │ │ ├── CameraRecorder.hpp │ │ │ │ ├── Config.hpp │ │ │ │ ├── IFileLoader.hpp │ │ │ │ ├── ImageListFile.cpp │ │ │ │ ├── ImageListFile.hpp │ │ │ │ ├── InputCamera.cpp │ │ │ │ ├── InputCamera.hpp │ │ │ │ ├── Resources.cpp │ │ │ │ ├── Resources.hpp │ │ │ │ ├── UVUnwrapper.cpp │ │ │ │ ├── UVUnwrapper.hpp │ │ │ │ ├── colmapheader.h │ │ │ │ └── sibr_assets.dox │ │ │ ├── graphics/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Camera.cpp │ │ │ │ ├── Camera.hpp │ │ │ │ ├── Config.hpp │ │ │ │ ├── Frustum.cpp │ │ │ │ ├── Frustum.hpp │ │ │ │ ├── GPUQuery.cpp │ │ │ │ ├── GPUQuery.hpp │ │ │ │ ├── GUI.cpp │ │ │ │ ├── GUI.hpp │ │ │ │ ├── Image.cpp │ │ │ │ ├── Image.hpp │ │ │ │ ├── Input.cpp │ │ │ │ ├── Input.hpp │ │ │ │ ├── MaterialMesh.cpp │ │ │ │ ├── MaterialMesh.hpp │ │ │ │ ├── Mesh.cpp │ │ │ │ ├── Mesh.hpp │ │ │ │ ├── MeshBufferGL.cpp │ │ │ │ ├── MeshBufferGL.hpp │ │ │ │ ├── RenderTarget.cpp │ │ │ │ ├── RenderTarget.hpp │ │ │ │ ├── RenderUtility.cpp │ │ │ │ ├── RenderUtility.hpp │ │ │ │ ├── Shader.cpp │ │ │ │ ├── Shader.hpp │ │ │ │ ├── Shader.inl │ │ │ │ ├── Texture.cpp │ │ │ │ ├── Texture.hpp │ │ │ │ ├── Types.hpp │ │ │ │ ├── Utils.cpp │ │ │ │ ├── Utils.hpp │ │ │ │ ├── Viewport.cpp │ │ │ │ ├── Viewport.hpp │ │ │ │ ├── Window.cpp │ │ │ │ ├── Window.hpp │ │ │ │ ├── resources/ │ │ │ │ │ └── imgui_default.ini │ │ │ │ └── sibr_graphics.dox │ │ │ ├── imgproc/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Config.hpp │ │ │ │ ├── CropScaleImageUtility.cpp │ │ │ │ ├── CropScaleImageUtility.hpp │ │ │ │ ├── DistordCropUtility.cpp │ │ │ │ ├── DistordCropUtility.hpp │ │ │ │ ├── MRFSolver.cpp │ │ │ │ ├── MRFSolver.h │ │ │ │ ├── MeshTexturing.cpp │ │ │ │ ├── MeshTexturing.hpp │ │ │ │ ├── PoissonReconstruction.cpp │ │ │ │ ├── PoissonReconstruction.hpp │ │ │ │ └── sibr_imgproc.dox │ │ │ ├── raycaster/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CameraRaycaster.cpp │ │ │ │ ├── CameraRaycaster.hpp │ │ │ │ ├── Config.hpp │ │ │ │ ├── Intersector2D.cpp │ │ │ │ ├── Intersector2D.h │ │ │ │ ├── KdTree.hpp │ │ │ │ ├── PlaneEstimator.cpp │ │ │ │ ├── PlaneEstimator.hpp │ │ │ │ ├── Ray.cpp │ │ │ │ ├── Ray.hpp │ │ │ │ ├── Raycaster.cpp │ │ │ │ ├── Raycaster.hpp │ │ │ │ ├── VoxelGrid.cpp │ │ │ │ ├── VoxelGrid.hpp │ │ │ │ └── sibr_raycaster.dox │ │ │ ├── renderer/ │ │ │ │ ├── AddShadowRenderer.cpp │ │ │ │ ├── AddShadowRenderer.hpp │ │ │ │ ├── BinaryMeshRenderer.cpp │ │ │ │ ├── BinaryMeshRenderer.hpp │ │ │ │ ├── BlurRenderer.cpp │ │ │ │ ├── BlurRenderer.hpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── ColoredMeshRenderer.cpp │ │ │ │ ├── ColoredMeshRenderer.hpp │ │ │ │ ├── Config.hpp │ │ │ │ ├── CopyRenderer.cpp │ │ │ │ ├── CopyRenderer.hpp │ │ │ │ ├── DepthRenderer.cpp │ │ │ │ ├── DepthRenderer.hpp │ │ │ │ ├── NormalRenderer.cpp │ │ │ │ ├── NormalRenderer.hpp │ │ │ │ ├── PointBasedRenderer.cpp │ │ │ │ ├── PointBasedRenderer.hpp │ │ │ │ ├── PoissonRenderer.cpp │ │ │ │ ├── PoissonRenderer.hpp │ │ │ │ ├── PositionRender.cpp │ │ │ │ ├── PositionRender.hpp │ │ │ │ ├── RenderMaskHolder.cpp │ │ │ │ ├── RenderMaskHolder.hpp │ │ │ │ ├── ShadowMapRenderer.cpp │ │ │ │ ├── ShadowMapRenderer.hpp │ │ │ │ ├── TexturedMeshRenderer.cpp │ │ │ │ ├── TexturedMeshRenderer.hpp │ │ │ │ ├── shaders/ │ │ │ │ │ ├── addshadow.frag │ │ │ │ │ ├── blur.frag │ │ │ │ │ ├── colored_mesh.frag │ │ │ │ │ ├── colored_mesh.vert │ │ │ │ │ ├── copy.frag │ │ │ │ │ ├── copy_depth.frag │ │ │ │ │ ├── depthRenderer.fp │ │ │ │ │ ├── depthRenderer.vp │ │ │ │ │ ├── emotive_relight.frag │ │ │ │ │ ├── emotive_relight.vert │ │ │ │ │ ├── hdrEnvMap.frag │ │ │ │ │ ├── hdrEnvMap.vert │ │ │ │ │ ├── longlat.gp │ │ │ │ │ ├── longlat.tcs │ │ │ │ │ ├── longlat.tes │ │ │ │ │ ├── longlat.vp │ │ │ │ │ ├── longlatColor.fp │ │ │ │ │ ├── longlatDepth.fp │ │ │ │ │ ├── noproj.vert │ │ │ │ │ ├── normalRenderer.fp │ │ │ │ │ ├── normalRenderer.vp │ │ │ │ │ ├── normalRendererGen.gp │ │ │ │ │ ├── normalRendererGen.vp │ │ │ │ │ ├── poisson_diverg.frag │ │ │ │ │ ├── poisson_interp.frag │ │ │ │ │ ├── poisson_jacobi.frag │ │ │ │ │ ├── poisson_restrict.frag │ │ │ │ │ ├── positionReflectedDirRenderer.frag │ │ │ │ │ ├── positionReflectedDirRenderer.vert │ │ │ │ │ ├── positionRenderer.frag │ │ │ │ │ ├── positionRenderer.vert │ │ │ │ │ ├── shadowMapRenderer.fp │ │ │ │ │ ├── shadowMapRenderer.vp │ │ │ │ │ ├── texture-invert.frag │ │ │ │ │ ├── texture.frag │ │ │ │ │ ├── texture.vert │ │ │ │ │ ├── textured_mesh.frag │ │ │ │ │ ├── textured_mesh.vert │ │ │ │ │ └── textured_mesh_flipY.vert │ │ │ │ └── sibr_renderer.dox │ │ │ ├── scene/ │ │ │ │ ├── BasicIBRScene.cpp │ │ │ │ ├── BasicIBRScene.hpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CalibratedCameras.cpp │ │ │ │ ├── CalibratedCameras.hpp │ │ │ │ ├── Config.hpp │ │ │ │ ├── ICalibratedCameras.hpp │ │ │ │ ├── IIBRScene.hpp │ │ │ │ ├── IInputImages.hpp │ │ │ │ ├── IParseData.hpp │ │ │ │ ├── IProxyMesh.hpp │ │ │ │ ├── InputImages.cpp │ │ │ │ ├── InputImages.hpp │ │ │ │ ├── ParseData.cpp │ │ │ │ ├── ParseData.hpp │ │ │ │ ├── ProxyMesh.cpp │ │ │ │ ├── ProxyMesh.hpp │ │ │ │ ├── RenderTargetTextures.cpp │ │ │ │ ├── RenderTargetTextures.hpp │ │ │ │ └── sibr_scene.dox │ │ │ ├── system/ │ │ │ │ ├── Array2d.hpp │ │ │ │ ├── ByteStream.cpp │ │ │ │ ├── ByteStream.hpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CommandLineArgs.cpp │ │ │ │ ├── CommandLineArgs.hpp │ │ │ │ ├── Config.cpp │ │ │ │ ├── Config.hpp │ │ │ │ ├── LoadingProgress.cpp │ │ │ │ ├── LoadingProgress.hpp │ │ │ │ ├── MD5.h │ │ │ │ ├── Matrix.cpp │ │ │ │ ├── Matrix.hpp │ │ │ │ ├── MatrixBasePlugin.hpp │ │ │ │ ├── MatrixPlugin.hpp │ │ │ │ ├── Quaternion.cpp │ │ │ │ ├── Quaternion.hpp │ │ │ │ ├── Rect.hpp │ │ │ │ ├── SimpleTimer.hpp │ │ │ │ ├── String.cpp │ │ │ │ ├── String.hpp │ │ │ │ ├── ThreadIdWorker.cpp │ │ │ │ ├── ThreadIdWorker.hpp │ │ │ │ ├── Transform3.hpp │ │ │ │ ├── Utils.cpp │ │ │ │ ├── Utils.hpp │ │ │ │ ├── Vector.cpp │ │ │ │ ├── Vector.hpp │ │ │ │ ├── VectorUtils.cpp │ │ │ │ ├── VectorUtils.hpp │ │ │ │ ├── XMLTree.cpp │ │ │ │ ├── XMLTree.h │ │ │ │ └── sibr_system.dox │ │ │ ├── video/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Config.hpp │ │ │ │ ├── FFmpegVideoEncoder.cpp │ │ │ │ ├── FFmpegVideoEncoder.hpp │ │ │ │ ├── MultipleVideoDecoder.hpp │ │ │ │ ├── Video.cpp │ │ │ │ ├── Video.hpp │ │ │ │ ├── VideoUtils.cpp │ │ │ │ ├── VideoUtils.hpp │ │ │ │ └── sibr_video.dox │ │ │ └── view/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Config.hpp │ │ │ ├── DatasetView.cpp │ │ │ ├── DatasetView.hpp │ │ │ ├── FPSCamera.cpp │ │ │ ├── FPSCamera.hpp │ │ │ ├── FPSCounter.cpp │ │ │ ├── FPSCounter.hpp │ │ │ ├── IBRBasicUtils.cpp │ │ │ ├── IBRBasicUtils.hpp │ │ │ ├── ICameraHandler.cpp │ │ │ ├── ICameraHandler.hpp │ │ │ ├── ImageView.cpp │ │ │ ├── ImageView.hpp │ │ │ ├── ImagesGrid.cpp │ │ │ ├── ImagesGrid.hpp │ │ │ ├── InteractiveCameraHandler.cpp │ │ │ ├── InteractiveCameraHandler.hpp │ │ │ ├── MultiMeshManager.cpp │ │ │ ├── MultiMeshManager.hpp │ │ │ ├── MultiViewManager.cpp │ │ │ ├── MultiViewManager.hpp │ │ │ ├── Orbit.cpp │ │ │ ├── Orbit.hpp │ │ │ ├── RenderingMode.cpp │ │ │ ├── RenderingMode.hpp │ │ │ ├── SceneDebugView.cpp │ │ │ ├── SceneDebugView.hpp │ │ │ ├── Skybox.cpp │ │ │ ├── Skybox.hpp │ │ │ ├── TrackBall.cpp │ │ │ ├── TrackBall.h │ │ │ ├── UIShortcuts.cpp │ │ │ ├── UIShortcuts.hpp │ │ │ ├── ViewBase.cpp │ │ │ ├── ViewBase.hpp │ │ │ ├── httplib.h │ │ │ ├── interface/ │ │ │ │ ├── Interface.cpp │ │ │ │ ├── Interface.h │ │ │ │ ├── InterfaceUtils.cpp │ │ │ │ ├── InterfaceUtils.h │ │ │ │ ├── MeshViewer.cpp │ │ │ │ └── MeshViewer.h │ │ │ ├── shaders/ │ │ │ │ ├── alpha_colored_mesh.frag │ │ │ │ ├── alpha_colored_mesh.vert │ │ │ │ ├── alpha_colored_per_triangle_normals.geom │ │ │ │ ├── alpha_colored_per_triangle_normals.vert │ │ │ │ ├── alpha_colored_per_vertex_normals.geom │ │ │ │ ├── alpha_colored_per_vertex_normals.vert │ │ │ │ ├── alpha_points.frag │ │ │ │ ├── alpha_points.vert │ │ │ │ ├── alpha_uv_tex.frag │ │ │ │ ├── alpha_uv_tex_array.frag │ │ │ │ ├── alphaimgview.fp │ │ │ │ ├── alphaimgview.vp │ │ │ │ ├── anaglyph.fp │ │ │ │ ├── anaglyph.vp │ │ │ │ ├── axisgizmo.fp │ │ │ │ ├── axisgizmo.vp │ │ │ │ ├── camstub.fp │ │ │ │ ├── camstub.vp │ │ │ │ ├── depth.fp │ │ │ │ ├── depth.vp │ │ │ │ ├── depthonly.fp │ │ │ │ ├── depthonly.vp │ │ │ │ ├── image_viewer.frag │ │ │ │ ├── image_viewer.vert │ │ │ │ ├── mesh_color.fp │ │ │ │ ├── mesh_color.vp │ │ │ │ ├── mesh_debugview.fp │ │ │ │ ├── mesh_debugview.vp │ │ │ │ ├── mesh_normal.fp │ │ │ │ ├── mesh_normal.vp │ │ │ │ ├── number.fp │ │ │ │ ├── number.vp │ │ │ │ ├── skybox.fp │ │ │ │ ├── skybox.vp │ │ │ │ ├── text-imgui.fp │ │ │ │ ├── text-imgui.vp │ │ │ │ ├── texture.fp │ │ │ │ ├── texture.vp │ │ │ │ ├── topview.fp │ │ │ │ ├── topview.vp │ │ │ │ └── uv_mesh.vert │ │ │ └── sibr_view.dox │ │ └── projects/ │ │ ├── basic/ │ │ │ ├── CMakeLists.txt │ │ │ ├── apps/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── pointBased/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ └── texturedMesh/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── main.cpp │ │ │ │ └── resources/ │ │ │ │ └── sibr_texturedMesh_app.ini │ │ │ └── renderer/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Config.hpp │ │ │ ├── PointBasedView.cpp │ │ │ ├── PointBasedView.hpp │ │ │ ├── TexturedMeshView.cpp │ │ │ └── TexturedMeshView.hpp │ │ ├── dataset_tools/ │ │ │ ├── CMakeLists.txt │ │ │ ├── documentation/ │ │ │ │ ├── dataset_tools.dox │ │ │ │ ├── dataset_tools_doc.cmake │ │ │ │ └── fullColmapProcess.dox │ │ │ ├── preprocess/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── alignMeshes/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── cameraConverter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── clippingPlanes/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── converters/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bundle.py │ │ │ │ │ ├── colmap2sibr.py │ │ │ │ │ ├── generate_list_images.py │ │ │ │ │ ├── get_image_size.py │ │ │ │ │ ├── ibr_convert_old_to_new.py │ │ │ │ │ ├── ibr_preprocess_rc_to_sibr.py │ │ │ │ │ ├── meshlab/ │ │ │ │ │ │ ├── simplify.mlx │ │ │ │ │ │ ├── simplify200.mlx │ │ │ │ │ │ ├── simplify250.mlx │ │ │ │ │ │ ├── simplify300.mlx │ │ │ │ │ │ ├── simplify350.mlx │ │ │ │ │ │ └── wedge_to_vertex_uvs.mlx │ │ │ │ │ ├── simplify_mesh.py │ │ │ │ │ └── wedge_to_vertex_uvs.py │ │ │ │ ├── cropFromCenter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── distordCrop/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── fullColmapProcess/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ColmapProcessSteps.json │ │ │ │ │ ├── ColmapQualityParameters.json │ │ │ │ │ ├── SelectiveColmapProcessSteps.json │ │ │ │ │ ├── colmap2nerf.py │ │ │ │ │ ├── fullColmapProcess.py │ │ │ │ │ ├── read_write_model.py │ │ │ │ │ ├── selectiveColmapProcess.py │ │ │ │ │ ├── selective_colmap_process.py │ │ │ │ │ └── textureOnly.py │ │ │ │ ├── meshroomPythonScripts/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── ULR.py │ │ │ │ ├── nvmToSIBR/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── prepareColmap4Sibr/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── realityCaptureTools/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── SetVariables.bat │ │ │ │ │ ├── exportModel.xml │ │ │ │ │ ├── fixup.bat │ │ │ │ │ ├── processRCSteps.json │ │ │ │ │ ├── rc_tools.py │ │ │ │ │ ├── registrationConfig.xml │ │ │ │ │ └── runRC.bat │ │ │ │ ├── textureMesh/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── tonemapper/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ ├── unwrapMesh/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ └── utils/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── TaskPipeline.py │ │ │ │ ├── color.py │ │ │ │ ├── commands.py │ │ │ │ ├── convert.py │ │ │ │ ├── datasets.py │ │ │ │ └── paths.py │ │ │ └── scripts/ │ │ │ └── processRC.py │ │ ├── gaussianviewer/ │ │ │ ├── CMakeLists.txt │ │ │ ├── apps/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── gaussianViewer/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ └── renderer/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Config.hpp │ │ │ ├── GaussianSurfaceRenderer.cpp │ │ │ ├── GaussianSurfaceRenderer.hpp │ │ │ ├── GaussianView.cpp │ │ │ ├── GaussianView.hpp │ │ │ └── shaders/ │ │ │ ├── copy.frag │ │ │ ├── copy.vert │ │ │ ├── gaussian_surface.frag │ │ │ └── gaussian_surface.vert │ │ ├── hierarchyviewer/ │ │ │ ├── CMakeLists.txt │ │ │ ├── apps/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── gaussianHierarchyViewer/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── json.hpp │ │ │ └── renderer/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Config.hpp │ │ │ ├── HierarchyView.cpp │ │ │ ├── HierarchyView.hpp │ │ │ ├── common.h │ │ │ └── shaders/ │ │ │ ├── copy.frag │ │ │ ├── copy.vert │ │ │ ├── copy2.frag │ │ │ └── copy2.vert │ │ ├── remote/ │ │ │ ├── CMakeLists.txt │ │ │ ├── apps/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── remoteGaussianUI/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── main.cpp │ │ │ ├── json.hpp │ │ │ └── renderer/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Config.hpp │ │ │ ├── RemotePointView.cpp │ │ │ └── RemotePointView.hpp │ │ └── ulr/ │ │ ├── CMakeLists.txt │ │ ├── apps/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ulr/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── main.cpp │ │ │ │ └── resources/ │ │ │ │ └── sibr_ulr_app.ini │ │ │ └── ulrv2/ │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cpp │ │ │ └── resources/ │ │ │ └── sibr_ulrv2_app.ini │ │ ├── documentation/ │ │ │ ├── IBR_ULR.dox │ │ │ └── ulr_doc.cmake │ │ └── renderer/ │ │ ├── CMakeLists.txt │ │ ├── Config.hpp │ │ ├── ULRRenderer.cpp │ │ ├── ULRRenderer.hpp │ │ ├── ULRV2Renderer.cpp │ │ ├── ULRV2Renderer.hpp │ │ ├── ULRV2View.cpp │ │ ├── ULRV2View.hpp │ │ ├── ULRV3Renderer.cpp │ │ ├── ULRV3Renderer.hpp │ │ ├── ULRV3View.cpp │ │ ├── ULRV3View.hpp │ │ ├── ULRView.cpp │ │ ├── ULRView.hpp │ │ └── shaders/ │ │ ├── ulr.vert │ │ ├── ulr1.frag │ │ ├── ulr2.frag │ │ ├── ulr_intersect.frag │ │ ├── ulr_intersect.vert │ │ ├── ulr_v2.frag │ │ ├── ulr_v2.vert │ │ ├── ulr_v2_alt.frag │ │ ├── ulr_v3.frag │ │ ├── ulr_v3.vert │ │ ├── ulr_v3_alt.frag │ │ └── ulr_v3_fast.frag │ └── ue/ │ └── save_ue_sim_here.txt ├── requirements.txt ├── scene_data/ │ ├── pcd_map/ │ │ └── save_pcd_here.txt │ └── seg_map/ │ ├── env_airsim_16.jsonl │ ├── env_airsim_18.jsonl │ ├── env_airsim_23.jsonl │ ├── env_airsim_26.jsonl │ ├── env_airsim_gz.jsonl │ ├── env_airsim_sh.jsonl │ ├── env_game_gtav.jsonl │ ├── env_gs_ecust.jsonl │ ├── env_gs_nwpu01.jsonl │ ├── env_gs_nwpu02.jsonl │ ├── env_gs_sjtu01.jsonl │ ├── env_gs_sjtu02.jsonl │ ├── env_ue_bigcity.jsonl │ └── env_ue_smallcity.jsonl ├── scripts/ │ ├── sim/ │ │ ├── airsim_bridge.py │ │ ├── common.py │ │ ├── env_bridge.py │ │ ├── gs_bridge.py │ │ ├── gtav_bridge.py │ │ └── ue_bridge.py │ └── toolchain/ │ ├── pcdgen_tool.sh │ ├── seggen_tool.sh │ └── trajgen_tool.sh ├── tool_ws/ │ └── src/ │ ├── ins_gen/ │ │ ├── gpt.py │ │ ├── gpt_api_config.json │ │ ├── gpt_generation.py │ │ └── process.py │ ├── pcd_gen/ │ │ ├── scripts/ │ │ │ ├── airsim_pointcloud.py │ │ │ └── gtav_pointcloud.py │ │ └── tmp_pcd_map/ │ │ └── save_tmp_pcd_here.txt │ ├── seg_gen/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── loadpcdmap.hpp │ │ ├── launch/ │ │ │ ├── bev_seg_launch.py │ │ │ └── manual_seg_launch.py │ │ ├── package.xml │ │ ├── rviz/ │ │ │ └── seg_gen.rviz │ │ ├── scripts/ │ │ │ └── bev_seg_gen.py │ │ └── src/ │ │ ├── bev_seg.cc │ │ ├── bev_seg_node.cc │ │ └── manual_seg_node.cc │ └── traj_gen/ │ ├── CMakeLists.txt │ ├── include/ │ │ ├── base/ │ │ │ ├── common.h │ │ │ ├── eigen_types.h │ │ │ ├── geometry_eigen_vector.hpp │ │ │ ├── logs.h │ │ │ ├── math.hpp │ │ │ ├── parameter.h │ │ │ └── tcpserver.hpp │ │ ├── common.h │ │ ├── map/ │ │ │ ├── loadpcdmap.hpp │ │ │ ├── seggridmap.hpp │ │ │ ├── voxel_dilater.hpp │ │ │ └── voxel_map.hpp │ │ └── navi/ │ │ └── pathsearch.hpp │ ├── launch/ │ │ └── traj_gen_launch.py │ ├── package.xml │ ├── rviz/ │ │ └── traj_gen.rviz │ └── src/ │ ├── traj_gen.cc │ └── traj_gen_node.cc └── train/ ├── common.py ├── dataset_builder/ │ └── vln/ │ ├── __init__.py │ ├── vln_dataset_builder.py │ └── vln_dataset_builder_test.py ├── datasets/ │ ├── __init__.py │ ├── data_collector.py │ ├── data_utils.py │ └── dataset.py ├── eval.py ├── eval_gtav.py ├── extern/ │ ├── __init__.py │ └── hf/ │ ├── __init__.py │ ├── configuration_prismatic.py │ ├── modeling_prismatic.py │ └── processing_prismatic.py ├── model/ │ ├── __init__.py │ ├── action_tokenizer.py │ ├── base_prompter.py │ ├── config.py │ ├── llm_backbone.py │ ├── load_model.py │ ├── metrics.py │ ├── overwatch/ │ │ ├── __init__.py │ │ └── overwatch.py │ ├── prismatic.py │ ├── prompt_llama2.py │ ├── strategy.py │ └── vision_backbone.py ├── train.py └── train.sh ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ __pycache__/ **/__pycache__/ build/ install/ log/ **.pcd uav_vln_data/ env_seg_info/ image/ test/ env_*/ uav_vln_data/ google/ datagen/ extlibs/ build/ install/ src/projects/* extlibs/* ================================================ FILE: .vscode/c_cpp_properties.json ================================================ { "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/usr/include/eigen3", "/usr/include/**", "/opt/ros/humble/include/**" ], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "c17", "cppStandard": "gnu++17", "intelliSenseMode": "linux-gcc-x64" } ], "version": 4 } ================================================ FILE: .vscode/settings.json ================================================ { "files.associations": { "eigen": "cpp", "iostream": "cpp", "cctype": "cpp", "clocale": "cpp", "cmath": "cpp", "csignal": "cpp", "cstdarg": "cpp", "cstddef": "cpp", "cstdio": "cpp", "cstdlib": "cpp", "cstring": "cpp", "ctime": "cpp", "cwchar": "cpp", "cwctype": "cpp", "any": "cpp", "array": "cpp", "atomic": "cpp", "strstream": "cpp", "bit": "cpp", "*.tcc": "cpp", "bitset": "cpp", "chrono": "cpp", "codecvt": "cpp", "compare": "cpp", "complex": "cpp", "concepts": "cpp", "condition_variable": "cpp", "cstdint": "cpp", "deque": "cpp", "forward_list": "cpp", "list": "cpp", "map": "cpp", "set": "cpp", "string": "cpp", "unordered_map": "cpp", "unordered_set": "cpp", "vector": "cpp", "exception": "cpp", "algorithm": "cpp", "functional": "cpp", "iterator": "cpp", "memory": "cpp", "memory_resource": "cpp", "numeric": "cpp", "optional": "cpp", "random": "cpp", "ratio": "cpp", "string_view": "cpp", "system_error": "cpp", "tuple": "cpp", "type_traits": "cpp", "utility": "cpp", "fstream": "cpp", "future": "cpp", "initializer_list": "cpp", "iomanip": "cpp", "iosfwd": "cpp", "istream": "cpp", "limits": "cpp", "mutex": "cpp", "new": "cpp", "numbers": "cpp", "ostream": "cpp", "semaphore": "cpp", "shared_mutex": "cpp", "sstream": "cpp", "stdexcept": "cpp", "stop_token": "cpp", "streambuf": "cpp", "thread": "cpp", "cfenv": "cpp", "cinttypes": "cpp", "typeindex": "cpp", "typeinfo": "cpp", "valarray": "cpp", "variant": "cpp", "core": "cpp", "*.ipp": "cpp", "coroutine": "cpp", "source_location": "cpp", "ranges": "cpp", "__nullptr": "cpp", "filesystem": "cpp", "regex": "cpp", "hash_map": "cpp", "*.inc": "cpp", "adolcforward": "cpp", "specialfunctions": "cpp", "alignedvector3": "cpp" }, "idf.pythonInstallPath": "/usr/bin/python3" } ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2025 Shanghai Artificial Intelligence Laboratory Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # OpenFly-Platform [![Python](https://img.shields.io/badge/python-3.10-4B8BBE.svg)](https://docs.python.org/3/whatsnew/3.10.html) [![ROS2](https://img.shields.io/badge/ROS2-Humble-F39C12.svg)](https://docs.ros.org/en/humble/index.html) [![WebSite](https://img.shields.io/badge/Website-online-27AE60.svg)](https://shailab-ipec.github.io/openfly/) [![Arxiv](https://img.shields.io/badge/Arxiv-Preprint-A42C24.svg)](https://arxiv.org/abs/2502.18041) ## Introduction OpenFly is an innovative platform designed to advance research in outdoor aerial Vision-Language Navigation (VLN) by providing a highly automated toolchain for data collection and a large-scale benchmark dataset. It includes 100k diverse flight trajectories, high-quality visual data generated using cutting-edge rendering techniques, and OpenFly-Agent, a keyframe-aware VLN model, all of which will be open-sourced to support the community. ![cover](images/cover.png) ## Table of Contents 1. [Prerequisites](#prerequisites) 2. [Installation](#installation) 3. [Simulation](#Simulation) 4. [Toolchain](#Toolchain) 5. [Training](#Training) 6. [Evaluation](#Evaluation) 7. [Test](#Test) 8. [License](#license) ## Prerequisites - Operating System: Linux (Ubuntu 22.04 recommended) Windows (For GTAV) - CUDA - Python 3.8 or higher (3.10 recommended) - ROS2(Humble) ## Installation ### Step 1: Clone the Repository ```bash git clone https://github.com/SHAILAB-IPEC/OpenFly-Platform.git cd OpenFly-Platform ``` ### Step 2: Set Up Python Environment It is recommended to use a conda environment to manage dependencies. ```bash conda create -n openfly python=3.10 -y conda activate openfly pip install -r requirements.txt pip install packaging ninja pip install "flash-attn==2.5.5" --no-build-isolation git clone https://github.com/kvablack/dlimp cd dlimp pip install -e . ``` ### Step 3: Install Dependencies ```bash sudo apt install xvfb # for headless rendering sudo apt install libgoogle-glog-dev sudo apt install ros-humble-pcl-ros sudo apt install nlohmann-json3-dev ``` ### Step 4: Build ```bash cd tool_ws colcon build --cmake-args -DPython3_EXECUTABLE=/usr/bin/python3 ``` ## Simulation - ​**Simulation Configuration**: All configuration files for simulation scenes are located in: [`/OpenFly-Platform/configs/`](./configs/) Files are ​**named after their corresponding scenario** (e.g., `env_airsim_16.yaml`). ​These YAML files define simulation parameters including IP addresses, ports for scene orchestration, and communication ports for toolchain integration. 1. UE (env_ue_xxx) * Download files from Huggingface [link](https://huggingface.co/datasets/IPEC-COMMUNITY/OpenFly_DataGen/tree/main/ue) and unzip, or For custom UE scenes, configure them through UnrealCV plugin integration by following the [doc](http://docs.unrealcv.org/en/master/tutorials/getting_started.html) * Move env_ue_xxx/ folders to OpenFly-Platform/envs/ue/ 2. AirSim (env_airsim_xxx) * Download files from Huggingface [link](https://huggingface.co/datasets/IPEC-COMMUNITY/OpenFly_DataGen/tree/main/airsim) and unzip * Move env_airsim_xxx/ folders to OpenFly-Platform/envs/airsim/ 3. 3DGS (env_gs_xxx) * Prepare SIBR_viewers [Refer to this project](https://github.com/graphdeco-inria/hierarchical-3d-gaussians?tab=readme-ov-file#compiling-the-real-time-viewer) ```bash # For Ubuntu 22.04, install dependencies: sudo apt install -y cmake libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev #​ return to the ./OpenFly-Platform directory​ cd envs/gs/SIBR_viewers cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_IBR_HIERARCHYVIEWER=ON -DBUILD_IBR_ULR=OFF -DBUILD_IBR_DATASET_TOOLS=OFF -DBUILD_IBR_GAUSSIANVIEWER=OFF cmake --build build -j --target install --config Release ``` * Download files from Huggingface link (Coming soon), or you can generate custom env following [Hierarchial 3DGS](https://github.com/graphdeco-inria/hierarchical-3d-gaussians) * Move env_gs_xxx/ folders to OpenFly-Platform/envs/gs/ 4. GTAV (env_game_xxx) ( **! You should configure it under Windows** ) - Installation of DeepGTAV following this [repo](https://github.com/David0tt/DeepGTAV) - Set the game in windowed mode - In the graphics setting MSAA has to be disabled, otherwise no objects are detected. The correct settings should be loaded by replacing the files in `Documents/Rockstar Games/GTA V/Profiles/`, but keep this in mind if you modify the game settings - If you have a 4k screen and want to capture 4k data (very hardware hungry, but runs smooth on an RTX3090): Set the screen resolution to "7680x4320DSR" in NVIDIA GeForce Experience. This increases the buffer sizes for pixel perfect 4k segmentation data. - ​**Simulation Usage**: 1. For UE, AirSim and 3DGS, launch the env_bridge, and wait for around 20 seconds until you see 'ready to be connected'. ```bash #​ return to the ./OpenFly-Platform directory​ conda activate openfly python scripts/sim/env_bridge.py --env env_xx_xxx #such as env_airsim_16b # wait for 20s ``` Due to the GPU-intensive nature of rendering in UE projects, we start it in headless mode. If you want to view the UE rendering screen, please comment out the headless-related code in `envs/ue/env_ue_xxx/CitySample.sh`. Note that this may cause the rendering interface to crash. 2. For GTAV - ```pip install pyautogui``` - Clone the DeepGTAV repo, put the compiled plugin to the root directory of GTAV. - Start GTA V and enter story mode. Change camera to First-per view (by pressing V) (preferred) - In settings, set the screen resolution to "7680x4320DSR" and place the window on top-left corner of your screen - Run [eval_gtav.py](https://github.com/SHAILAB-IPEC/OpenFly-Platform/blob/main/train/eval_gtav.py) for evaluation. ## Toolchain - ​**Toolchain Configuration**: All configuration files for Toolchain are located in: [`/OpenFly-Platform/configs/`](./configs/) Files are ​**named after their corresponding scenario** (e.g., `env_airsim_16.yaml`). ​For each scenario, the simulation and toolchain share the same configuration file. For the toolchain, the configuration file includes the occupancy map information, trajectory generation parameters, etc. The specific meaning of each parameter can be found in the configuration file [`/OpenFly-Platform/configs/env_airsim_16.yaml`](./configs/env_airsim_16.yaml) . 1. Scene data files * Download files from Huggingface [link](https://huggingface.co/datasets/IPEC-COMMUNITY/OpenFly_DataGen/tree/main/pcd_map) and unzip,or generate point cloud data by following the toolchain configuration. * Move env_xx_xx.pcd files to OpenFly-Platform/scene_data/pcd_map. Raw point cloud files (PCD format) for scenes are stored in: [`/OpenFly-Platform/scene_data/pcd_map/`](./scene_data/pcd_map/). Processed segmentation data (e.g., semantic labels, region partitions) is stored in: [`/OpenFly-Platform/scene_data/seg_map/`](./scene_data/seg_map/). - ​**Toolchain Usage**: 1. point cloud generation: UE: * We utilized the dataset provided by [this project](https://github.com/city-super/MatrixCity), using depth maps and pose information, and synthesized point clouds according to [this code](https://github.com/city-super/MatrixCity/blob/main/scripts/rgbd2pc.py). AirSim: * We traversed the simulated environment through a grid, collected lidar point clouds, and transformed the coordinates to the world coordinate system. Finally, we merged all the point clouds to obtain the point cloud of the entire scene. You can adjust the scanning range *MapBound* and interval *LidarDelta* in the corresponding configs/env_airsim_xx.yaml. ```bash #​ return to the ./OpenFly-Platform directory​ conda activate openfly bash scripts/toolchain/pcdgen_tool.sh env_xx_xxx #such as env_airsim_16 ``` 3DGS: * We directly utilized the sparse point cloud synthesized by colmap, with the file path at <3dgs_dataset>/camera_calibration/aligned/sparse/0/points3D.ply. GTAV(Coming soon) 2. segmentation generation: UE, AirSim, and 3DGS: * Executing the simulation, run the shell script responsible for generation the segmentation.We provide two selectable modes: ​​BEV generation​​ and ​​manual annotation​​. ```bash #​ return to the ./OpenFly-Platform directory​ #BEV generation bash scripts/toolchain/seggen_tool.sh env_xx_xxx bev #such as env_airsim_16 ​#manual annotation​ bash scripts/toolchain/seggen_tool.sh env_xx_xxx manual #such as env_airsim_16 ``` Due to the high GPU requirements for rendering urban scenes in UE, to avoid program crashes, the uploaded binary files are configured to use the lowest rendering settings by default (we found that this does not affect the quality of the generated images). If you wish to render images with higher quality, you can refer to `env_ue_xxx/City_UE52/Saved/Config/Linux/GameUserSettings_best.ini` to modify `GameUserSettings.ini`. GTAV(Coming soon) 3. trajectory generation: UE, AirSim, and 3DGS: * Executing the simulation, run the shell script responsible for generating the trajectory. ```bash #​ return to the ./OpenFly-Platform directory​ bash scripts/toolchain/trajgen_tool.sh env_xx_xxx #such as env_airsim_16 ``` GTAV(Coming soon) 4. instruction generation: Our OpenFly dataset has been converted to parquet format. If you want to use this code, you need to convert parquet back to uncompressed format. So we recommend that you use this code to generate your own trajectory instructions. You need to prepare: 1. OpenAI's API 2. Traj in the same format as the OpenFly dataset (a series of images and a jsonl file that records actions) * When using GPT to generate instructions, first configure the "key" and "model" in the [`/OpenFly-Platform/tool_ws/src/ins_gen/gpt_api_config.json`](./tool_ws/src/ins_gen/gpt_api_config.json) file, modify the data directory in [`/OpenFly-Platform/tool_ws/src/ins_gen/gpt_generation.py`](./tool_ws/src/ins_gen/gpt_generation.py). And use a json file to store all the traj directories you want to generate instructions Then run the shell script responsible for generating the instructions. ```bash #​ return to the ./OpenFly-Platform directory​ conda activate openfly python3 tool_ws/src/ins_gen/gpt_generation.py --json Your json PATH --type train/test # ``` ## Training: #### Data Preparation The dataset we use for finetuning openfly-agent is available at [here](https://huggingface.co/datasets/IPEC-COMMUNITY/OpenFly/tree/main). For your custom datasets, make sure that you pre-build all the required [TensorFlow Datasets](https://www.tensorflow.org/datasets) (TFDS) datasets. 1. Firstly, prepare the train.json with following format: ~~~json [ { 'image_path': '', 'gpt_instruction': 'Proceed towards a medium ...', 'action': [9, ...], 'index_list': ['image_2', ...], 'pos': [[-93.81, 536.11, 74.86], ... ], 'yaw': [1.57, 1.57, 1.57, 1.57] }, ... ] ~~~ 2. Now you can run [`train/datasets_builder/vln/vln_dataset_builder.py`](./train/dataset_builder/vln/vln_dataset_builder.py) which is used to transfer the generated data format to rlds format. 3. ~~~ cd train/datasets/vln tfds build --data_dir ~~~ 4. For custom dataset, you need to change the data mixture after transferring the data format in [`train/datasets/dataset.py`](./train/datasets/dataset.py) to specify the names of datasets. ```python OXE_NAMED_MIXTURES: Dict[str, List[Tuple[str, float]]] = { "vln_mix" : [ ("vln_scene1", 1.0), ("vln_scene2", 1.0), ], } ``` #### Download Pretrained Weights We released our pretrained weights of Openfly-Agent which is trained by full fine-tuning [OpenVLA model checkpoint](https://huggingface.co/openvla/openvla-7b-prismatic). Now you can download the weights and directly finetuning your data. | Model | Link | | ------------- | ------------------------------------------------------- | | Openfly-Agent | [huggingface](https://huggingface.co/IPEC-COMMUNITY/openfly-agent-7b) | #### Train The training script are [`train/train.sh`](./train/train.sh). And you need to change following parameters: 1. **grid_size** :refers to the token compress ratio. 2. **history_frames** :refers to the number of frame as history information, which should be corresponded to your custom dataset setting. 3. **model_name_or_path** :path to the pretrained VLM weights Other hyperparameters like "batch_size", "save_steps" could be customized according to your computation resources. ## Evaluation For ease of comparison, the evaluation results for each scene are shown in the table below. | Scene | NE/m | SR/% | OSR/% | SPL/% | | ------------ | ----- | ----- | ----- | ----- | | airsim_16 | 178.9 | 10.6 | 57.9 | 8.30 | | airsim_18 | 77.4 | 39.4 | 65.5 | 27.0 | | airsim_26 | 113.9 | 30.7 | 55.9 | 15.2 | | airsim_gz | 89.9 | 32.0 | 63.5 | 17.2 | | airsim_sh | 100.2 | 30.0 | 57.1 | 16.5 | | airsim_23 | 138.6 | 24.0 | 63.5 | 21.0 | | ue_bigcity | 133.9 | 35.2 | 80.0 | 26.5 | | nwpu01 | 75.16 | 33.3 | 62.3 | 30.2 | | nwpu02 | 66.9 | 43.8 | 70.4 | 40.8 | | sjtu01 | 85.09 | 31.7 | 59.8 | 31.9 | | ecust | 67.13 | 35.1 | 72.0 | 30.5 | | stju02 | 129.4 | 22.5 | 53.9 | 22.4 | | ue_smallcity | 164.4 | 26.2 | 68.8 | 18.0 | | GTA | 167.2 | 19.0 | 46.0 | 17.0 | You can refer to our evaluation script `train/eval.py` to evaluate your openfly-agent. We use the `eval_test.json` file as a demonstration to configure the environments that need to be evaluated. You can customize an evaluation configuration file based on the json files available at https://huggingface.co/datasets/IPEC-COMMUNITY/OpenFly/tree/main/Annotation ## Test Make sure your trained checkpoint dir has two files: "data_statistics.json". If not, please copy them from downloaded openfly-agent weights or this [link](https://huggingface.co/IPEC-COMMUNITY/spatialvla-4b-224-sft-fractal). ```python from typing import Dict, List, Optional, Union from pathlib import Path import numpy as np import torch import cv2 from PIL import Image from transformers import LlamaTokenizerFast from transformers import AutoConfig, AutoImageProcessor, AutoModelForVision2Seq, AutoProcessor import os, json from model.prismatic import PrismaticVLM from model.overwatch import initialize_overwatch from model.action_tokenizer import ActionTokenizer from model.vision_backbone import DinoSigLIPViTBackbone, DinoSigLIPImageTransform from model.llm_backbone import LLaMa2LLMBackbone from extern.hf.configuration_prismatic import OpenFlyConfig from extern.hf.modeling_prismatic import OpenVLAForActionPrediction from extern.hf.processing_prismatic import PrismaticImageProcessor, PrismaticProcessor AutoConfig.register("openvla", OpenFlyConfig) AutoImageProcessor.register(OpenFlyConfig, PrismaticImageProcessor) AutoProcessor.register(OpenFlyConfig, PrismaticProcessor) AutoModelForVision2Seq.register(OpenFlyConfig, OpenVLAForActionPrediction) model_name_or_path="IPEC-COMMUNITY/openfly-agent-7b" processor = AutoProcessor.from_pretrained(model_name_or_path) model = AutoModelForVision2Seq.from_pretrained( model_name_or_path, attn_implementation="flash_attention_2", # [Optional] Requires `flash_attn` torch_dtype=torch.bfloat16, low_cpu_mem_usage=True, trust_remote_code=True, ).to("cuda:0") image = Image.fromarray(cv2.imread("example.png")) prompt = "Take off, go straight pass the river" inputs = processor(prompt, [image, image, image]).to("cuda:0", dtype=torch.bfloat16) action = model.predict_action(**inputs, unnorm_key="vln_norm", do_sample=False) print(action) ``` ## Citation ``` @article{OpenFly, author = {Yunpeng Gao and Chenhui Li and Zhongrui You and Junli Liu and Zhen Li and Pengan Chen and Qizhi Chen and Zhonghan Tang and Liansheng Wang and Penghui Yang and Yiwen Tang and Yuhang Tang and Shuai Liang and Songyi Zhu and Ziqin Xiong and Yifei Su and Xinyi Ye and Jianan Li and Yan Ding and Dong Wang and Zhigang Wang and Bin Zhao and Xuelong Li}, title = {OpenFly: A Comprehensive Platform for Aerial Vision-Language Navigation}, journal = {CoRR}, volume = {abs/2502.18041}, year = {2025} } ``` ## License ================================================ FILE: configs/env_airsim_16.yaml ================================================ datagen: env: "env_airsim_16" # Environment name, please keep it the same as the file name data_type: "low_long" # Trajectory type, create a folder with this type as the folder name to store trajectory freq: 2 # Image sampling frequency traj_map: DilateRadius: 3 # Map dilation radius VoxelWidth: 1.5 # Voxel map resolution MapBound: [-1300, 1000, -600, 1000, -200, 200] # Global voxel map range, within which trajectory generation is also performed. LidarDelta: [200, 200, 50] # Step size of gridded point cloud sampling pcd_scale_ratio: 1 # The scale between the point cloud and the unified coordinate system. traj_scale_ratio: 1 # The scale between motion actions and the unified coordinate system. map_elevation: 0 # The horizontal height of the ground in the environment min_height_thresh: 6 # Minimum altitude threshold for drone flight distance from the ground seg_map: bev_voxel_size: 4.0 # Voxel resolution during semantic segmentation thread_params: # Multi-threaded configuration, which allows setting up multiple threads for concurrent data collection and supports parallel simulation scenarios on either a single PC or across multiple PCs. - name: "thread_1" # Thread ID nums: 1000 # Number of collected trajectories min_dis: 150 # The shortest distance from the landmark, multiple landmarks will accumulate max_dis: 180 # The longest distance from the landmark, multiple landmarks will accumulate height_min: 5 # The minimum ground clearance of the generated trajectory. height_max: 10 # The maximum ground clearance of the generated trajectory. aim_port: 9999 # The port that receives commands from the trajectory planner. listen_port: 9998 # The port that receives commands from the simulator. sim_ip: "127.0.0.1" # The IP address where the simulation is located can be local or other PCs within the local area network. sim_port: 9000 # The port for connecting to the simulation. aimlandmark_nums: 1 # The number of destinations in a single trajectory. add_takeoff_land: true # Whether to include takeoff and landing phases (not applicable in GS scenarios). with_turn: true # Whether to enforce mandatory turns within a trajectory segment. # - name: "thread_2" # nums: 1000 # min_dis: 150 # max_dis: 180 # height_min: 36 # height_max: 66 # aim_port: 9997 # listen_port: 9996 # sim_ip: "192.168.31.100" # ue_port: 9000 # aimmark_nums: 1 # add_takeoff_land: true ================================================ FILE: configs/env_airsim_18.yaml ================================================ datagen: env: "env_airsim_18" data_type: "test" freq: 2 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-1000, 2000, -1000, 1500, -100, 100] LidarDelta: [30, 30, 50] pcd_scale_ratio: 1 traj_scale_ratio: 1 map_elevation: -48 min_height_thresh: 6 seg_map: bev_voxel_size: 4.0 thread_params: - name: "thread_1" nums: 1000 min_dis: 150 max_dis: 180 height_min: 20 height_max: 50 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: true with_turn: true ================================================ FILE: configs/env_airsim_23.yaml ================================================ datagen: env: "env_airsim_23" data_type: "low_long" freq: 2 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-400, 300, -300, 400, -250, 300] LidarDelta: [30, 30, 50] pcd_scale_ratio: 1 traj_scale_ratio: 1 map_elevation: -6 min_height_thresh: 6 seg_map: bev_voxel_size: 4.0 thread_params: - name: "thread_1" nums: 500 min_dis: 150 max_dis: 180 height_min: 20 height_max: 50 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: false with_turn: true ================================================ FILE: configs/env_airsim_26.yaml ================================================ datagen: env: "env_airsim_26" data_type: "low_short" freq: 2 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-1500, 1500, -4000, -1000, -300, 250] LidarDelta: [30, 30, 50] pcd_scale_ratio: 1 traj_scale_ratio: 1 map_elevation: -315 min_height_thresh: 10 seg_map: bev_voxel_size: 4.0 thread_params: - name: "thread_1" nums: 2000 min_dis: 60 max_dis: 100 height_min: 20 height_max: 50 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: false with_turn: false ================================================ FILE: configs/env_airsim_gz.yaml ================================================ datagen: env: "env_airsim_gz" data_type: "low_average" freq: 2 traj_map: DilateRadius: 4 VoxelWidth: 2 MapBound: [-3000, 5000, -3000, 2500, -50, 300] LidarDelta: [50, 50, 30] pcd_scale_ratio: 1 traj_scale_ratio: 1 map_elevation: 10 min_height_thresh: 6 seg_map: bev_voxel_size: 4.0 thread_params: - name: "thread_1" nums: 4000 min_dis: 100 max_dis: 150 height_min: 20 height_max: 50 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: false with_turn: true ================================================ FILE: configs/env_airsim_sh.yaml ================================================ datagen: env: "env_airsim_sh" data_type: "low_long" freq: 2 traj_map: DilateRadius: 4 VoxelWidth: 2 MapBound: [-1800, 1800, -1800, 1800, -50, 100] LidarDelta: [100, 100, 50] pcd_scale_ratio: 1 traj_scale_ratio: 1 map_elevation: 12 min_height_thresh: 6 seg_map: bev_voxel_size: 4.0 thread_params: - name: "thread_1" nums: 4000 min_dis: 150 max_dis: 180 height_min: 50 height_max: 80 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: false with_turn: true ================================================ FILE: configs/env_game_gtav.yaml ================================================ datagen: env: "env_game_gtav" data_type: "low_long" freq: 2 traj_map: DilateRadius: 4 VoxelWidth: 2 MapBound: [-1800, 1800, -1800, 1800, -50, 200] LidarDelta: [100, 100, 50] pcd_scale_ratio: 1 traj_scale_ratio: 1 map_elevation: 50 min_height_thresh: 6 seg_map: bev_voxel_size: 4.0 thread_params: - name: "thread_1" nums: 4000 min_dis: 150 max_dis: 180 height_min: 0 height_max: 50 aim_port: 9999 listen_port: 9998 sim_ip: "192.168.31.143" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: false with_turn: false ================================================ FILE: configs/env_gs_ecust.yaml ================================================ datagen: env: "env_gs_ecust" data_type: "long" freq: 2 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-1000, 500, -600, 800, -100, 100] LidarDelta: [30, 30, 50] pcd_scale_ratio: 5.6 traj_scale_ratio: 1 map_elevation: -50 min_height_thresh: 6 seg_map: bev_voxel_size: 5 thread_params: - name: "thread_1" nums: 5000 min_dis: 50 max_dis: 80 height_min: 60 height_max: 70 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 2 add_takeoff_land: false with_turn: false ================================================ FILE: configs/env_gs_nwpu01.yaml ================================================ datagen: env: "env_gs_nwpu01" data_type: "short" freq: 2 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-1000, 500, -600, 800, -100, 100] LidarDelta: [30, 30, 50] pcd_scale_ratio: 6.65 traj_scale_ratio: 1 map_elevation: -50 min_height_thresh: 6 seg_map: bev_voxel_size: 5 thread_params: - name: "thread_1" nums: 2000 min_dis: 50 max_dis: 80 height_min: 70 height_max: 80 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: false with_turn: false ================================================ FILE: configs/env_gs_nwpu02.yaml ================================================ datagen: env: "env_gs_nwpu02" data_type: "long" freq: 2 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-1000, 2000, -1000, 1000, -100, 100] LidarDelta: [30, 30, 50] pcd_scale_ratio: 5.15 traj_scale_ratio: 1 map_elevation: -50 min_height_thresh: 6 seg_map: bev_voxel_size: 5 thread_params: - name: "thread_1" nums: 4000 min_dis: 80 max_dis: 120 height_min: 60 height_max: 70 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: false with_turn: false ================================================ FILE: configs/env_gs_sjtu01.yaml ================================================ datagen: env: "env_gs_sjtu01" data_type: "long" freq: 2 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-1000, 500, -600, 800, -100, 100] LidarDelta: [30, 30, 50] pcd_scale_ratio: 5.42 traj_scale_ratio: 1 map_elevation: -50 min_height_thresh: 6 seg_map: bev_voxel_size: 5 thread_params: - name: "thread_1" nums: 5000 min_dis: 50 max_dis: 80 height_min: 60 height_max: 70 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 2 add_takeoff_land: false with_turn: false ================================================ FILE: configs/env_gs_sjtu02.yaml ================================================ datagen: env: "env_gs_sjtu02" data_type: "low_long" freq: 2 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-2000, 2000, -2000, 2000, -100, 100] LidarDelta: [30, 30, 50] pcd_scale_ratio: 4.75 # sim2real 1:4.75 traj_scale_ratio: 1 # sim2real 1:4.75 map_elevation: -20 min_height_thresh: 6 seg_map: bev_voxel_size: 5 thread_params: - name: "thread_1" nums: 5000 min_dis: 60 max_dis: 120 height_min: 55 height_max: 60 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: false with_turn: false ================================================ FILE: configs/env_ue_bigcity.yaml ================================================ datagen: env: "env_ue_bigcity" data_type: "low_short" freq: 0.5 traj_map: DilateRadius: 4 VoxelWidth: 2 MapBound: [-2000, 2000, -2000, 2000, -100, 100] LidarDelta: [30, 30, 50] pcd_scale_ratio: 100 # sim2real 1:4.75 traj_scale_ratio: 100 # sim2real 1:4.75 map_elevation: 0 min_height_thresh: 6 seg_map: bev_voxel_size: 3 thread_params: - name: "thread_1" nums: 6000 min_dis: 60 max_dis: 100 height_min: 50 height_max: 70 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: true with_turn: false ================================================ FILE: configs/env_ue_smallcity.yaml ================================================ datagen: env: "env_ue_smallcity" data_type: "low_short" freq: 0.5 traj_map: DilateRadius: 3 VoxelWidth: 1.5 MapBound: [-2000, 2000, -2000, 2000, -100, 100] LidarDelta: [30, 30, 50] pcd_scale_ratio: 100 # sim2real 1:4.75 traj_scale_ratio: 100 # sim2real 1:4.75 map_elevation: 0 min_height_thresh: 6 seg_map: bev_voxel_size: 3 thread_params: - name: "thread_1" nums: 4000 min_dis: 60 max_dis: 100 height_min: 5 height_max: 25 aim_port: 9999 listen_port: 9998 sim_ip: "127.0.0.1" sim_port: 9000 aimlandmark_nums: 1 add_takeoff_land: true with_turn: false ================================================ FILE: configs/eval_test.json ================================================ [ { "image_path": "env_airsim_16/astar_data/medium_average/2025-1-9_13-18-9_387451659", "gpt_instruction": "Proceed in a straight line toward the large brown building with rectangular windows . Then , slightly turn right and advance forward to the gray building adorned with numerous large rectangular windows . Finally , make a slight left and continue straight to the gray office building characterized by horizontal window blinds and described as mid-rise .", "action": [ 9, 9, 9, 9, 9, 9, 9, 3, 9, 1, 2, 9, 9, 9, 9, 0 ], "index_list": [ "20250109_131812_2", "20250109_131813_5", "20250109_131815_8", "20250109_131816_11", "20250109_131818_14", "20250109_131819_17", "20250109_131820_20", "20250109_131821_21", "20250109_131822_24", "20250109_131823_25", "20250109_131823_26", "20250109_131824_29", "20250109_131826_32", "20250109_131827_35", "20250109_131828_38", "20250109_131829_39" ], "pos": [ [ -1081.489625285631, -209.81771694551878, 30.45824585413169 ], [ -1081.489625285631, -200.81771694551878, 30.45824585413169 ], [ -1081.489625285631, -191.81771694551878, 30.45824585413169 ], [ -1081.489625285631, -182.81771694551878, 30.45824585413169 ], [ -1081.489625285631, -173.81771694551878, 30.45824585413169 ], [ -1081.489625285631, -164.81771694551878, 30.45824585413169 ], [ -1081.489625285631, -155.81771694551878, 30.45824585413169 ], [ -1081.489625285631, -152.81771694551878, 30.45824585413169 ], [ -1078.489625285631, -147.62156452281215, 30.45824585413169 ], [ -1076.989625285631, -145.02348831145883, 30.45824585413169 ], [ -1075.489625285631, -142.42541210010552, 30.45824585413169 ], [ -1075.489625285631, -136.42541210010552, 30.45824585413169 ], [ -1075.489625285631, -127.42541210010552, 30.45824585413169 ], [ -1075.489625285631, -118.42541210010552, 30.45824585413169 ], [ -1075.489625285631, -109.42541210010552, 30.45824585413169 ], [ -1075.489625285631, -106.42541210010552, 30.45824585413169 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_16/astar_data/low_average/2025-1-1_0-49-51_970925433", "gpt_instruction": "Proceed directly towards the tall gray skyscraper featuring a clock tower on top , then make a slight left turn and advance towards the medium - sized beige commercial building with symmetrical windows and a large billboard .", "action": [ 9, 2, 8, 0 ], "index_list": [ "20250101_004954_2", "20250101_004955_3", "20250101_004956_5", "20250101_004956_6" ], "pos": [ [ -184.52495401797705, -594.2453859630077, 23.016633069974613 ], [ -183.02495401797705, -596.8434621743611, 23.016633069974613 ], [ -180.42687780662374, -598.3434621743611, 23.016633069974613 ], [ -177.82880159527042, -599.8434621743611, 23.016633069974613 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_16/astar_data/medium_long/2025-1-9_16-34-14_1894519218", "gpt_instruction": "Walk directly towards the beige cylindrical mast with a supporting frame on a rooftop , which is a large telecommunications tower . Then , slightly turn left and move forward to a dark grey tall building with antennas on top , categorized as a large skyscraper . Next , slightly turn right and proceed straight to it . Afterward , slightly turn right again and continue straight towards a gray commercial building with medium - sized dimensions , featuring windows with an arch design and consisting of multiple stories .", "action": [ 9, 9, 9, 2, 9, 8, 3, 9, 9, 3, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_163418_2", "20250109_163419_5", "20250109_163420_8", "20250109_163421_9", "20250109_163422_12", "20250109_163423_14", "20250109_163423_15", "20250109_163424_18", "20250109_163426_21", "20250109_163426_22", "20250109_163427_25", "20250109_163429_28", "20250109_163430_31", "20250109_163431_34", "20250109_163432_37", "20250109_163433_39", "20250109_163434_40" ], "pos": [ [ -1055.2651545146757, -220.7180007023675, 36.85503417715102 ], [ -1063.0593831487358, -225.2180007023675, 36.85503417715102 ], [ -1070.853611782796, -229.7180007023675, 36.85503417715102 ], [ -1073.4516879941493, -231.2180007023675, 36.85503417715102 ], [ -1076.4516879941493, -236.41415312507414, 36.85503417715102 ], [ -1079.4516879941493, -241.61030554778077, 36.85503417715102 ], [ -1080.9516879941493, -244.20838175913408, 36.85503417715102 ], [ -1086.147840416856, -247.20838175913408, 36.85503417715102 ], [ -1093.9420690509162, -251.70838175913408, 36.85503417715102 ], [ -1096.5401452622696, -253.20838175913408, 36.85503417715102 ], [ -1102.5401452622696, -253.20838175913408, 36.85503417715102 ], [ -1111.5401452622696, -253.20838175913408, 36.85503417715102 ], [ -1120.5401452622696, -253.20838175913408, 36.85503417715102 ], [ -1129.5401452622696, -253.20838175913408, 36.85503417715102 ], [ -1138.5401452622696, -253.20838175913408, 36.85503417715102 ], [ -1144.5401452622696, -253.20838175913408, 36.85503417715102 ], [ -1147.5401452622696, -253.20838175913408, 36.85503417715102 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_16/astar_data/medium_long_updown/2025-1-14_5-10-53_402903177", "gpt_instruction": "\" Ascend to a large gray skyscraper characterized by a tall structure with arched windows and a tiered design . Head straight to it . Slightly turn left and move forward to it . Slightly turn right and proceed straight to a large gray building adorned with architectural details , featuring multiple rectangular windows and decorative patterns . Slightly turn right again and proceed straight to it . Lastly , slightly stop and drop near a medium gray building with arched windows featuring dark frames and frosted glass , identified as a commercial or residential building . \"", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 8, 3, 9, 9, 8, 3, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_051053_0", "20250114_051056_1", "20250114_051057_2", "20250114_051057_3", "20250114_051058_4", "20250114_051058_5", "20250114_051059_6", "20250114_051059_7", "20250114_051059_8", "20250114_051100_9", "20250114_051100_10", "20250114_051101_11", "20250114_051101_12", "20250114_051101_13", "20250114_051102_14", "20250114_051102_15", "20250114_051103_16", "20250114_051104_19", "20250114_051105_22", "20250114_051107_25", "20250114_051108_28", "20250114_051109_31", "20250114_051110_34", "20250114_051112_37", "20250114_051113_40", "20250114_051114_43", "20250114_051115_46", "20250114_051117_49", "20250114_051117_50", "20250114_051118_51", "20250114_051118_53", "20250114_051119_54", "20250114_051120_57", "20250114_051121_60", "20250114_051122_62", "20250114_051123_63", "20250114_051123_65", "20250114_051124_66", "20250114_051124_67", "20250114_051125_68", "20250114_051125_69", "20250114_051126_70", "20250114_051126_71", "20250114_051126_72", "20250114_051127_73", "20250114_051127_74", "20250114_051128_75", "20250114_051128_76", "20250114_051128_77", "20250114_051129_78", "20250114_051129_79", "20250114_051130_80", "20250114_051130_81", "20250114_051130_82", "20250114_051131_83" ], "pos": [ [ 44.013595748004946, -314.919942001743, 2.6043382712850516 ], [ 44.013595748004946, -314.919942001743, 5.604338271285052 ], [ 44.013595748004946, -314.919942001743, 8.604338271285052 ], [ 44.013595748004946, -314.919942001743, 11.604338271285052 ], [ 44.013595748004946, -314.919942001743, 14.604338271285052 ], [ 44.013595748004946, -314.919942001743, 17.60433827128505 ], [ 44.013595748004946, -314.919942001743, 20.60433827128505 ], [ 44.013595748004946, -314.919942001743, 23.60433827128505 ], [ 44.013595748004946, -314.919942001743, 26.60433827128505 ], [ 44.013595748004946, -314.919942001743, 29.60433827128505 ], [ 44.013595748004946, -314.919942001743, 32.60433827128505 ], [ 44.013595748004946, -314.919942001743, 35.60433827128505 ], [ 44.013595748004946, -314.919942001743, 38.60433827128505 ], [ 44.013595748004946, -314.919942001743, 41.60433827128505 ], [ 44.013595748004946, -314.919942001743, 44.60433827128505 ], [ 44.013595748004946, -314.919942001743, 47.60433827128505 ], [ 44.013595748004946, -314.919942001743, 50.60433827128505 ], [ 47.013595748004946, -309.72378957903635, 53.60433827128505 ], [ 51.513595748004946, -301.9295609449764, 53.60433827128505 ], [ 56.013595748004946, -294.13533231091645, 53.60433827128505 ], [ 60.513595748004946, -286.3411036768565, 53.60433827128505 ], [ 65.01359574800495, -278.54687504279656, 53.60433827128505 ], [ 69.51359574800495, -270.7526464087366, 53.60433827128505 ], [ 74.01359574800495, -262.95841777467666, 53.60433827128505 ], [ 78.51359574800495, -255.1641891406167, 53.60433827128505 ], [ 83.01359574800495, -247.36996050655677, 53.60433827128505 ], [ 87.51359574800495, -239.57573187249682, 53.60433827128505 ], [ 92.01359574800495, -231.78150323843687, 53.60433827128505 ], [ 93.51359574800495, -229.18342702708355, 53.60433827128505 ], [ 95.01359574800495, -226.58535081573024, 53.60433827128505 ], [ 95.01359574800495, -223.58535081573024, 53.60433827128505 ], [ 95.01359574800495, -220.58535081573024, 53.60433827128505 ], [ 98.01359574800495, -215.3891983930236, 53.60433827128505 ], [ 102.51359574800495, -207.59496975896366, 53.60433827128505 ], [ 105.51359574800495, -202.39881733625703, 53.60433827128505 ], [ 107.01359574800495, -199.8007411249037, 53.60433827128505 ], [ 109.61167195935826, -198.3007411249037, 53.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 53.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 50.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 47.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 44.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 41.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 38.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 35.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 32.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 29.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 26.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 23.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 20.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 17.60433827128505 ], [ 112.20974817071158, -196.8007411249037, 14.604338271285052 ], [ 112.20974817071158, -196.8007411249037, 11.604338271285052 ], [ 112.20974817071158, -196.8007411249037, 8.604338271285052 ], [ 112.20974817071158, -196.8007411249037, 5.604338271285052 ], [ 112.20974817071158, -196.8007411249037, 2.6043382712850516 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_16/astar_data/high_average/2025-1-9_22-11-24_113974112", "gpt_instruction": "Continue straight towards a light gray , medium - sized , flat - roofed building ; then , slightly turn left and proceed straight towards a large , grey building characterized by tall , narrow arched windows and a stepped design .", "action": [ 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_221128_2", "20250109_221129_5", "20250109_221130_8", "20250109_221132_11", "20250109_221132_12", "20250109_221133_15", "20250109_221135_18", "20250109_221136_21", "20250109_221137_24", "20250109_221139_27", "20250109_221140_30", "20250109_221141_33", "20250109_221143_36", "20250109_221144_39", "20250109_221145_42", "20250109_221146_43", "20250109_221146_44" ], "pos": [ [ -1124.5326141268692, -159.86369002970173, 69.01067085987573 ], [ -1115.5326141268692, -159.86369002970173, 69.01067085987573 ], [ -1106.5326141268692, -159.86369002970173, 69.01067085987573 ], [ -1097.5326141268692, -159.86369002970173, 69.01067085987573 ], [ -1094.5326141268692, -159.86369002970173, 69.01067085987573 ], [ -1089.3364617041625, -156.86369002970173, 69.01067085987573 ], [ -1081.5422330701024, -152.36369002970173, 69.01067085987573 ], [ -1073.7480044360423, -147.86369002970173, 69.01067085987573 ], [ -1065.9537758019821, -143.36369002970173, 69.01067085987573 ], [ -1058.159547167922, -138.86369002970173, 69.01067085987573 ], [ -1050.365318533862, -134.36369002970173, 69.01067085987573 ], [ -1042.5710898998018, -129.86369002970173, 69.01067085987573 ], [ -1034.7768612657417, -125.36369002970173, 69.01067085987573 ], [ -1026.9826326316816, -120.86369002970173, 69.01067085987573 ], [ -1019.1884039976214, -116.36369002970173, 69.01067085987573 ], [ -1016.5903277862681, -114.86369002970173, 69.01067085987573 ], [ -1013.9922515749147, -113.36369002970173, 69.01067085987573 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894 ] }, { "image_path": "env_airsim_16/astar_data/low_average/2025-01-18_22-38-15_466040", "gpt_instruction": "Proceed onward to the large red brick building facade , then ascend to the medium - sized gray urban structure with a brick exterior and fire escape . Slightly turn left and advance to the larger gray mid-rise office building with numerous windows , then descend to the large gray commercial high - rise with multiple windows . Slightly turn right and continue to the medium - sized brown brick residential apartment building with balconies , before slightly going downward , moving straight , and veering right once more to the medium red - brown residential building with a brick texture and metal railings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 4, 4, 4, 4, 4, 2, 9, 9, 9, 1, 5, 5, 5, 3, 8, 5, 1, 3, 1, 0 ], "index_list": [ "20250118_223818_2", "20250118_223820_5", "20250118_223823_8", "20250118_223825_11", "20250118_223828_14", "20250118_223830_17", "20250118_223832_20", "20250118_223835_23", "20250118_223836_24", "20250118_223836_25", "20250118_223837_26", "20250118_223838_27", "20250118_223839_28", "20250118_223840_29", "20250118_223842_32", "20250118_223844_35", "20250118_223847_38", "20250118_223848_39", "20250118_223848_40", "20250118_223849_41", "20250118_223850_42", "20250118_223851_43", "20250118_223852_45", "20250118_223853_46", "20250118_223854_47", "20250118_223855_48", "20250118_223856_49", "20250118_223856_50" ], "pos": [ [ 163.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 172.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 181.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 190.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 199.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 208.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 217.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 226.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 229.59233464297984, -129.63316193922265, 7.511555704926139 ], [ 229.59233464297984, -129.63316193922265, 10.511555704926138 ], [ 229.59233464297984, -129.63316193922265, 13.511555704926138 ], [ 229.59233464297984, -129.63316193922265, 16.51155570492614 ], [ 229.59233464297984, -129.63316193922265, 19.51155570492614 ], [ 229.59233464297984, -129.63316193922265, 22.51155570492614 ], [ 234.78848706568647, -126.63316193922265, 22.51155570492614 ], [ 242.58271569974642, -122.13316193922265, 22.51155570492614 ], [ 250.37694433380636, -117.63316193922265, 22.51155570492614 ], [ 252.97502054515968, -116.13316193922265, 22.51155570492614 ], [ 255.573096756513, -114.63316193922265, 22.51155570492614 ], [ 255.573096756513, -114.63316193922265, 19.51155570492614 ], [ 255.573096756513, -114.63316193922265, 16.51155570492614 ], [ 255.573096756513, -114.63316193922265, 13.511555704926138 ], [ 258.573096756513, -114.63316193922265, 13.511555704926138 ], [ 261.573096756513, -114.63316193922265, 13.511555704926138 ], [ 261.573096756513, -114.63316193922265, 10.511555704926138 ], [ 264.573096756513, -114.63316193922265, 10.511555704926138 ], [ 264.573096756513, -114.63316193922265, 10.511555704926138 ], [ 267.1711729678663, -116.13316193922265, 10.511555704926138 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_16/astar_data/high_short/2025-1-9_20-15-25_153162844", "gpt_instruction": "Proceed straight to the large grey tall building , then slightly turn left and go directly ahead to the skyscraper with a dark grey color and a grid - like window pattern , which is the tallest in the vicinity .", "action": [ 9, 9, 9, 9, 9, 1, 2, 9, 0 ], "index_list": [ "20250109_201528_2", "20250109_201530_5", "20250109_201531_8", "20250109_201532_11", "20250109_201534_14", "20250109_201534_15", "20250109_201535_16", "20250109_201536_19", "20250109_201537_20" ], "pos": [ [ -955.9950417928972, -207.11388681855937, 87.81275808263148 ], [ -951.4950417928972, -214.9081154526193, 87.81275808263148 ], [ -946.9950417928972, -222.70234408667926, 87.81275808263148 ], [ -942.4950417928972, -230.4965727207392, 87.81275808263148 ], [ -937.9950417928972, -238.29080135479916, 87.81275808263148 ], [ -936.4950417928972, -240.88887756615247, 87.81275808263148 ], [ -934.9950417928972, -243.4869537775058, 87.81275808263148 ], [ -929.7988893701904, -246.4869537775058, 87.81275808263148 ], [ -927.200813158837, -247.9869537775058, 87.81275808263148 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_16/astar_data/medium_short/2025-1-9_16-27-8_1857300821", "gpt_instruction": "Walk straight to a medium - sized beige building , characterized by its multi -story structure with distinct rectangular windows . Slightly turn left and move ahead to it .", "action": [ 9, 9, 9, 9, 9, 9, 2, 8, 0 ], "index_list": [ "20250109_162711_2", "20250109_162713_5", "20250109_162714_8", "20250109_162715_11", "20250109_162717_14", "20250109_162718_17", "20250109_162718_18", "20250109_162719_20", "20250109_162720_21" ], "pos": [ [ -973.118262884755, -566.0240726597523, 45.08563280908995 ], [ -980.9124915188152, -561.5240726597523, 45.08563280908995 ], [ -988.7067201528753, -557.0240726597523, 45.08563280908995 ], [ -996.5009487869354, -552.5240726597523, 45.08563280908995 ], [ -1004.2951774209955, -548.0240726597523, 45.08563280908995 ], [ -1012.0894060550556, -543.5240726597523, 45.08563280908995 ], [ -1014.687482266409, -542.0240726597523, 45.08563280908995 ], [ -1017.687482266409, -542.0240726597523, 45.08563280908995 ], [ -1020.687482266409, -542.0240726597523, 45.08563280908995 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_16/astar_data/medium_long/2025-1-9_21-25-50_331016259", "gpt_instruction": "Proceed straight to the grey , tall structure featuring multiple floors and visible antennas on top ; it 's a large building . Slightly turn right and move straight towards the gray buildings , characterized as large urban structures . Then slightly turn left and head straight to the dark gray building , which has a large communication tower with an antenna , classified as a medium - sized commercial building .", "action": [ 9, 9, 3, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_212554_2", "20250109_212555_5", "20250109_212556_6", "20250109_212557_9", "20250109_212558_12", "20250109_212559_15", "20250109_212600_18", "20250109_212602_21", "20250109_212603_24", "20250109_212603_25", "20250109_212604_28", "20250109_212606_31", "20250109_212607_34", "20250109_212608_37", "20250109_212609_40", "20250109_212610_43", "20250109_212612_46", "20250109_212613_49", "20250109_212614_52", "20250109_212614_53", "20250109_212615_54" ], "pos": [ [ -1031.8480103343104, 118.53964547941229, 36.85503417715102 ], [ -1036.3480103343104, 110.74541684535234, 36.85503417715102 ], [ -1037.8480103343104, 108.14734063399902, 36.85503417715102 ], [ -1043.0441627570171, 105.14734063399902, 36.85503417715102 ], [ -1050.8383913910773, 100.64734063399902, 36.85503417715102 ], [ -1058.6326200251374, 96.14734063399902, 36.85503417715102 ], [ -1066.4268486591975, 91.64734063399902, 36.85503417715102 ], [ -1074.2210772932576, 87.14734063399902, 36.85503417715102 ], [ -1082.0153059273177, 82.64734063399902, 36.85503417715102 ], [ -1084.613382138671, 81.14734063399902, 36.85503417715102 ], [ -1087.613382138671, 75.95118821129239, 36.85503417715102 ], [ -1092.113382138671, 68.15695957723244, 36.85503417715102 ], [ -1096.613382138671, 60.362730943172494, 36.85503417715102 ], [ -1101.113382138671, 52.568502309112546, 36.85503417715102 ], [ -1105.613382138671, 44.7742736750526, 36.85503417715102 ], [ -1110.113382138671, 36.98004504099265, 36.85503417715102 ], [ -1114.613382138671, 29.1858164069327, 36.85503417715102 ], [ -1119.113382138671, 21.391587772872754, 36.85503417715102 ], [ -1123.613382138671, 13.597359138812806, 36.85503417715102 ], [ -1125.113382138671, 10.99928292745949, 36.85503417715102 ], [ -1126.613382138671, 8.401206716106174, 36.85503417715102 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_16/astar_data/medium_average/2025-1-9_15-0-36_1930772757", "gpt_instruction": "Move forward to the medium - sized gray building with rectangular windows and a flat rooftop . Then , slightly turn left and continue straight to another medium - sized gray structure that stands out with its large arched windows adorned with decorative trims , contrasting with the surrounding taller skyscrapers , identified as a historical - style building .", "action": [ 9, 9, 9, 9, 9, 8, 2, 9, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_150040_2", "20250109_150041_5", "20250109_150043_8", "20250109_150044_11", "20250109_150045_14", "20250109_150046_16", "20250109_150047_17", "20250109_150048_20", "20250109_150049_23", "20250109_150051_26", "20250109_150052_29", "20250109_150054_32", "20250109_150055_35", "20250109_150055_36", "20250109_150056_37" ], "pos": [ [ -1249.923451799462, -120.89097272153214, 30.45824585413169 ], [ -1240.923451799462, -120.89097272153214, 30.45824585413169 ], [ -1231.923451799462, -120.89097272153214, 30.45824585413169 ], [ -1222.923451799462, -120.89097272153214, 30.45824585413169 ], [ -1213.923451799462, -120.89097272153214, 30.45824585413169 ], [ -1207.923451799462, -120.89097272153214, 30.45824585413169 ], [ -1204.923451799462, -120.89097272153214, 30.45824585413169 ], [ -1199.7272993767554, -117.89097272153214, 30.45824585413169 ], [ -1191.9330707426952, -113.39097272153214, 30.45824585413169 ], [ -1184.1388421086351, -108.89097272153214, 30.45824585413169 ], [ -1176.344613474575, -104.39097272153214, 30.45824585413169 ], [ -1168.5503848405149, -99.89097272153214, 30.45824585413169 ], [ -1160.7561562064548, -95.39097272153214, 30.45824585413169 ], [ -1158.1580799951014, -93.89097272153214, 30.45824585413169 ], [ -1155.560003783748, -92.39097272153214, 30.45824585413169 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894 ] }, { "image_path": "env_airsim_16/astar_data/medium_average/2025-1-9_19-10-56_2107654819", "gpt_instruction": "Proceed straight towards a tall and prominent gray and beige high - rise building characterized by its rectangular structure with multiple floors and orange window shades , making it stand out among nearby structures . Slightly turn right and head straight to another building , this time light brown in color , featuring large rectangular windows . Then , slightly turn left and continue walking straight to reach it . Finally , slightly turn left again and move forward to an office building distinguished by its tall appearance and decorative window frames and cornices .", "action": [ 9, 9, 9, 9, 1, 3, 9, 9, 9, 9, 2, 9, 9, 9, 2, 9, 0 ], "index_list": [ "20250109_191100_2", "20250109_191101_5", "20250109_191103_8", "20250109_191104_11", "20250109_191104_12", "20250109_191105_13", "20250109_191106_16", "20250109_191108_19", "20250109_191109_22", "20250109_191111_25", "20250109_191111_26", "20250109_191113_29", "20250109_191114_32", "20250109_191115_35", "20250109_191116_36", "20250109_191117_39", "20250109_191117_40" ], "pos": [ [ -705.6041405073015, -159.40623218583377, 30.45824585413169 ], [ -713.3983691413616, -163.90623218583377, 30.45824585413169 ], [ -721.1925977754217, -168.40623218583377, 30.45824585413169 ], [ -728.9868264094819, -172.90623218583377, 30.45824585413169 ], [ -731.5849026208352, -174.40623218583377, 30.45824585413169 ], [ -734.1829788321886, -175.90623218583377, 30.45824585413169 ], [ -740.1829788321886, -175.90623218583377, 30.45824585413169 ], [ -749.1829788321886, -175.90623218583377, 30.45824585413169 ], [ -758.1829788321886, -175.90623218583377, 30.45824585413169 ], [ -767.1829788321886, -175.90623218583377, 30.45824585413169 ], [ -770.1829788321886, -175.90623218583377, 30.45824585413169 ], [ -775.3791312548954, -178.90623218583377, 30.45824585413169 ], [ -783.1733598889555, -183.40623218583377, 30.45824585413169 ], [ -790.9675885230156, -187.90623218583377, 30.45824585413169 ], [ -793.565664734369, -189.40623218583377, 30.45824585413169 ], [ -796.565664734369, -194.6023846085404, 30.45824585413169 ], [ -798.065664734369, -197.20046081989372, 30.45824585413169 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_16/astar_data/medium_short/2025-1-9_12-21-53_1470503465", "gpt_instruction": "Proceed directly ahead to the cream - colored skyscraper with tall , grid - like windows .", "action": [ 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_122157_2", "20250109_122158_5", "20250109_122159_8", "20250109_122201_11", "20250109_122202_14", "20250109_122203_15", "20250109_122203_16" ], "pos": [ [ -703.9856063812126, -296.25137659595214, 45.08563280908995 ], [ -711.7798350152727, -300.75137659595214, 45.08563280908995 ], [ -719.5740636493329, -305.25137659595214, 45.08563280908995 ], [ -727.368292283393, -309.75137659595214, 45.08563280908995 ], [ -735.1625209174531, -314.25137659595214, 45.08563280908995 ], [ -737.7605971288065, -315.75137659595214, 45.08563280908995 ], [ -740.3586733401598, -317.25137659595214, 45.08563280908995 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_16/astar_data/medium_average/2025-1-9_15-26-9_395279207", "gpt_instruction": "Start by walking directly towards a large gray skyscraper characterized by a pointed roof , then slightly turn right and continue moving forward to reach a gray commercial building featuring rectangular windows with dark frames arranged in a grid pattern .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_152613_2", "20250109_152614_5", "20250109_152616_8", "20250109_152617_11", "20250109_152618_14", "20250109_152619_17", "20250109_152621_20", "20250109_152622_23", "20250109_152624_26", "20250109_152624_27", "20250109_152625_30", "20250109_152627_33", "20250109_152628_36", "20250109_152628_37", "20250109_152629_38" ], "pos": [ [ -962.6646818256595, -341.6682681144626, 30.45824585413169 ], [ -958.1646818256595, -349.46249674852254, 30.45824585413169 ], [ -953.6646818256595, -357.2567253825825, 30.45824585413169 ], [ -949.1646818256595, -365.05095401664244, 30.45824585413169 ], [ -944.6646818256595, -372.8451826507024, 30.45824585413169 ], [ -940.1646818256595, -380.63941128476233, 30.45824585413169 ], [ -935.6646818256595, -388.4336399188223, 30.45824585413169 ], [ -931.1646818256595, -396.2278685528822, 30.45824585413169 ], [ -926.6646818256595, -404.0220971869422, 30.45824585413169 ], [ -925.1646818256595, -406.6201733982955, 30.45824585413169 ], [ -925.1646818256595, -412.6201733982955, 30.45824585413169 ], [ -925.1646818256595, -421.6201733982955, 30.45824585413169 ], [ -925.1646818256595, -430.6201733982955, 30.45824585413169 ], [ -925.1646818256595, -433.6201733982955, 30.45824585413169 ], [ -925.1646818256595, -436.6201733982955, 30.45824585413169 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_16/astar_data/high_average/2025-1-9_16-57-31_515530019", "gpt_instruction": "Proceed directly to the grey urban rooftop featuring antennas and equipment on a medium - sized building , then slightly turn left and head straight towards it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_165735_2", "20250109_165736_5", "20250109_165737_8", "20250109_165739_11", "20250109_165740_14", "20250109_165741_17", "20250109_165743_20", "20250109_165744_23", "20250109_165745_26", "20250109_165747_28", "20250109_165747_29", "20250109_165748_32", "20250109_165750_35", "20250109_165751_38", "20250109_165753_41", "20250109_165754_44", "20250109_165755_46", "20250109_165755_47" ], "pos": [ [ -1076.1282696329586, 9.648794941843079, 69.01067085987573 ], [ -1076.1282696329586, 0.6487949418430787, 69.01067085987573 ], [ -1076.1282696329586, -8.351205058156921, 69.01067085987573 ], [ -1076.1282696329586, -17.35120505815692, 69.01067085987573 ], [ -1076.1282696329586, -26.35120505815692, 69.01067085987573 ], [ -1076.1282696329586, -35.35120505815692, 69.01067085987573 ], [ -1076.1282696329586, -44.35120505815692, 69.01067085987573 ], [ -1076.1282696329586, -53.35120505815692, 69.01067085987573 ], [ -1076.1282696329586, -62.35120505815692, 69.01067085987573 ], [ -1076.1282696329586, -68.35120505815692, 69.01067085987573 ], [ -1076.1282696329586, -71.35120505815692, 69.01067085987573 ], [ -1073.1282696329586, -76.54735748086355, 69.01067085987573 ], [ -1068.6282696329586, -84.3415861149235, 69.01067085987573 ], [ -1064.1282696329586, -92.13581474898345, 69.01067085987573 ], [ -1059.6282696329586, -99.9300433830434, 69.01067085987573 ], [ -1055.1282696329586, -107.72427201710335, 69.01067085987573 ], [ -1052.1282696329586, -112.92042443980998, 69.01067085987573 ], [ -1050.6282696329586, -115.5185006511633, 69.01067085987573 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_16/astar_data/low_average_updown/2025-1-14_8-48-9_962980710", "gpt_instruction": "Start by ascending to a skyscraper characterized by a brown color and a brick pattern featuring a large billboard . Continue by walking straight to a large grey building with prominent windows equipped with shutters . Then , slightly turn left slightly and proceed to it . Next , head right to a large skyscraper with a grey hue and a tall structure showcasing a grid pattern of windows and rooftop antennas . Keep moving straight to a brown building distinguished by its rectangular windows . Finally , slightly halt and drop - off at a commercial establishment with light grey tones , boasting arched entrances , large glass windows , brick patterns , and green and black accents .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 3, 3, 9, 1, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_084809_0", "20250114_084812_1", "20250114_084813_2", "20250114_084813_3", "20250114_084814_4", "20250114_084814_5", "20250114_084815_6", "20250114_084815_7", "20250114_084815_8", "20250114_084816_9", "20250114_084817_12", "20250114_084818_15", "20250114_084820_18", "20250114_084821_21", "20250114_084822_24", "20250114_084824_27", "20250114_084825_30", "20250114_084825_31", "20250114_084827_34", "20250114_084828_37", "20250114_084829_40", "20250114_084831_43", "20250114_084831_44", "20250114_084831_45", "20250114_084833_48", "20250114_084833_49", "20250114_084834_50", "20250114_084834_51", "20250114_084834_52", "20250114_084835_53", "20250114_084835_54", "20250114_084836_55", "20250114_084836_56", "20250114_084837_57", "20250114_084837_58", "20250114_084837_59", "20250114_084838_60" ], "pos": [ [ -938.4105234862673, -301.219992641664, 2.0330409747630256 ], [ -938.4105234862673, -301.219992641664, 5.033040974763026 ], [ -938.4105234862673, -301.219992641664, 8.033040974763026 ], [ -938.4105234862673, -301.219992641664, 11.033040974763026 ], [ -938.4105234862673, -301.219992641664, 14.033040974763026 ], [ -938.4105234862673, -301.219992641664, 17.033040974763026 ], [ -938.4105234862673, -301.219992641664, 20.033040974763026 ], [ -938.4105234862673, -301.219992641664, 23.033040974763026 ], [ -938.4105234862673, -301.219992641664, 26.033040974763026 ], [ -938.4105234862673, -301.219992641664, 29.033040974763026 ], [ -941.4105234862673, -306.41614506437065, 32.033040974763026 ], [ -945.9105234862673, -314.2103736984306, 32.033040974763026 ], [ -950.4105234862673, -322.00460233249055, 32.033040974763026 ], [ -954.9105234862673, -329.7988309665505, 32.033040974763026 ], [ -959.4105234862673, -337.59305960061045, 32.033040974763026 ], [ -963.9105234862673, -345.3872882346704, 32.033040974763026 ], [ -968.4105234862673, -353.18151686873034, 32.033040974763026 ], [ -969.9105234862673, -355.77959308008366, 32.033040974763026 ], [ -969.9105234862673, -361.77959308008366, 32.033040974763026 ], [ -969.9105234862673, -370.77959308008366, 32.033040974763026 ], [ -969.9105234862673, -379.77959308008366, 32.033040974763026 ], [ -969.9105234862673, -388.77959308008366, 32.033040974763026 ], [ -969.9105234862673, -391.77959308008366, 32.033040974763026 ], [ -969.9105234862673, -391.77959308008366, 32.033040974763026 ], [ -975.106675908974, -394.77959308008366, 32.033040974763026 ], [ -977.7047521203274, -396.27959308008366, 32.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 32.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 29.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 26.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 23.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 20.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 17.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 14.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 11.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 8.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 5.033040974763026 ], [ -980.3028283316808, -397.77959308008366, 2.0330409747630256 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_16/astar_data/low_long/2025-1-1_2-36-19_262692685", "gpt_instruction": "Proceed ahead to a gray , multi - story apartment building featuring rectangular windows , medium - sized compared to the surrounding high - rise structures . Slightly turn left and go straight to a grey residential building with a rooftop and fire escapes , also medium - sized . Slightly turn right and continue directly ahead to it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 9, 9, 9, 9, 3, 8, 0 ], "index_list": [ "20250101_023622_2", "20250101_023624_5", "20250101_023625_8", "20250101_023626_11", "20250101_023628_14", "20250101_023629_17", "20250101_023630_20", "20250101_023631_23", "20250101_023633_26", "20250101_023634_29", "20250101_023635_32", "20250101_023637_35", "20250101_023638_38", "20250101_023639_39", "20250101_023639_40", "20250101_023640_43", "20250101_023642_46", "20250101_023643_49", "20250101_023644_52", "20250101_023645_53", "20250101_023646_55", "20250101_023646_56" ], "pos": [ [ -1289.8284289240974, 100.24775133914227, 19.743318291823833 ], [ -1285.3284289240974, 92.45352270508232, 19.743318291823833 ], [ -1280.8284289240974, 84.65929407102237, 19.743318291823833 ], [ -1276.3284289240974, 76.86506543696242, 19.743318291823833 ], [ -1271.8284289240974, 69.07083680290248, 19.743318291823833 ], [ -1267.3284289240974, 61.27660816884253, 19.743318291823833 ], [ -1262.8284289240974, 53.48237953478258, 19.743318291823833 ], [ -1258.3284289240974, 45.68815090072263, 19.743318291823833 ], [ -1253.8284289240974, 37.893922266662685, 19.743318291823833 ], [ -1249.3284289240974, 30.099693632602737, 19.743318291823833 ], [ -1244.8284289240974, 22.30546499854279, 19.743318291823833 ], [ -1240.3284289240974, 14.51123636448284, 19.743318291823833 ], [ -1235.8284289240974, 6.717007730422893, 19.743318291823833 ], [ -1234.3284289240974, 4.1189315190695766, 19.743318291823833 ], [ -1232.8284289240974, 1.5208553077162605, 19.743318291823833 ], [ -1227.6322765013906, -1.479144692283739, 19.743318291823833 ], [ -1219.8380478673305, -5.979144692283739, 19.743318291823833 ], [ -1212.0438192332704, -10.479144692283738, 19.743318291823833 ], [ -1204.2495905992103, -14.979144692283738, 19.743318291823833 ], [ -1201.6515143878569, -16.479144692283736, 19.743318291823833 ], [ -1200.1515143878569, -19.077220903637052, 19.743318291823833 ], [ -1198.6515143878569, -21.675297114990368, 19.743318291823833 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.5235987755982893, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982888, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_16/astar_data/medium_average_updown/2025-1-14_2-2-16_1335354340", "gpt_instruction": "Climb towards a light gray skyscraper with grid - like windows and balconies , then proceed straight to a large beige building featuring rectangular windows with arched designs on its lower floors . Slightly turn left and go directly ahead to it . Slightly turn right and advance forward to it . Slightly turn left again and go directly ahead to it . Finally , halt and descend towards a large stone - facade building with a gray color , detailed arched windows framed by stone , and a red interior glow visible behind some windows .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 1, 2, 9, 9, 9, 8, 3, 9, 9, 9, 9, 2, 9, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_020216_0", "20250114_020219_1", "20250114_020219_2", "20250114_020220_3", "20250114_020220_4", "20250114_020221_5", "20250114_020221_6", "20250114_020222_7", "20250114_020222_8", "20250114_020222_9", "20250114_020223_10", "20250114_020223_11", "20250114_020224_12", "20250114_020224_13", "20250114_020225_14", "20250114_020225_15", "20250114_020226_16", "20250114_020226_17", "20250114_020226_18", "20250114_020227_19", "20250114_020228_22", "20250114_020230_25", "20250114_020231_28", "20250114_020231_29", "20250114_020232_30", "20250114_020233_33", "20250114_020235_36", "20250114_020236_39", "20250114_020237_41", "20250114_020237_42", "20250114_020238_45", "20250114_020240_48", "20250114_020241_51", "20250114_020242_54", "20250114_020243_55", "20250114_020244_58", "20250114_020244_59", "20250114_020245_60", "20250114_020245_61", "20250114_020246_62", "20250114_020246_63", "20250114_020246_64", "20250114_020247_65", "20250114_020247_66", "20250114_020248_67", "20250114_020248_68", "20250114_020248_69", "20250114_020249_70", "20250114_020249_71", "20250114_020250_72", "20250114_020250_73", "20250114_020251_74", "20250114_020251_75", "20250114_020252_76", "20250114_020252_77", "20250114_020253_78", "20250114_020253_79" ], "pos": [ [ -777.4934132378748, -429.8785842701283, 2.3981494902854905 ], [ -777.4934132378748, -429.8785842701283, 5.3981494902854905 ], [ -777.4934132378748, -429.8785842701283, 8.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 11.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 14.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 17.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 20.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 23.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 26.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 29.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 32.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 35.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 38.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 41.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 44.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 47.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 50.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 53.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 56.39814949028549 ], [ -777.4934132378748, -429.8785842701283, 59.39814949028549 ], [ -782.6895656605816, -432.8785842701283, 62.39814949028549 ], [ -790.4837942946417, -437.3785842701283, 62.39814949028549 ], [ -798.2780229287018, -441.8785842701283, 62.39814949028549 ], [ -800.8760991400552, -443.3785842701283, 62.39814949028549 ], [ -803.4741753514086, -444.8785842701283, 62.39814949028549 ], [ -806.4741753514086, -450.0747366928349, 62.39814949028549 ], [ -810.9741753514086, -457.86896532689485, 62.39814949028549 ], [ -815.4741753514086, -465.6631939609548, 62.39814949028549 ], [ -818.4741753514086, -470.85934638366143, 62.39814949028549 ], [ -819.9741753514086, -473.45742259501475, 62.39814949028549 ], [ -825.1703277741153, -476.45742259501475, 62.39814949028549 ], [ -832.9645564081754, -480.95742259501475, 62.39814949028549 ], [ -840.7587850422356, -485.45742259501475, 62.39814949028549 ], [ -848.5530136762957, -489.95742259501475, 62.39814949028549 ], [ -851.151089887649, -491.45742259501475, 62.39814949028549 ], [ -854.151089887649, -496.6535750177214, 62.39814949028549 ], [ -855.651089887649, -499.2516512290747, 62.39814949028549 ], [ -855.651089887649, -499.2516512290747, 59.39814949028549 ], [ -855.651089887649, -499.2516512290747, 56.39814949028549 ], [ -855.651089887649, -499.2516512290747, 53.39814949028549 ], [ -855.651089887649, -499.2516512290747, 50.39814949028549 ], [ -855.651089887649, -499.2516512290747, 47.39814949028549 ], [ -855.651089887649, -499.2516512290747, 44.39814949028549 ], [ -855.651089887649, -499.2516512290747, 41.39814949028549 ], [ -855.651089887649, -499.2516512290747, 38.39814949028549 ], [ -855.651089887649, -499.2516512290747, 35.39814949028549 ], [ -855.651089887649, -499.2516512290747, 32.39814949028549 ], [ -855.651089887649, -499.2516512290747, 29.39814949028549 ], [ -855.651089887649, -499.2516512290747, 26.39814949028549 ], [ -855.651089887649, -499.2516512290747, 23.39814949028549 ], [ -855.651089887649, -499.2516512290747, 20.39814949028549 ], [ -855.651089887649, -499.2516512290747, 17.39814949028549 ], [ -855.651089887649, -499.2516512290747, 14.39814949028549 ], [ -855.651089887649, -499.2516512290747, 11.39814949028549 ], [ -855.651089887649, -499.2516512290747, 8.39814949028549 ], [ -855.651089887649, -499.2516512290747, 5.3981494902854905 ], [ -855.651089887649, -499.2516512290747, 2.3981494902854905 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_16/astar_data/low_long_updown/2025-01-19_05-00-37_230566", "gpt_instruction": "Proceed upwards to a light brown , large , rectangular building with numerous windows . Move forward to a gray , large commercial building equipped with roof devices , including antennas and ventilation systems . Ascend to another tall , gray skyscraper with large windows . Advance ahead to it . Slightly descend and turn left to continue straight to it . Descend to it . Briefly pause and then move downwards to a small , dark residential building with windows featuring horizontal blinds .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 1, 4, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 5, 2, 8, 5, 5, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250119_050039_0", "20250119_050039_1", "20250119_050040_2", "20250119_050041_3", "20250119_050042_4", "20250119_050043_5", "20250119_050044_6", "20250119_050044_7", "20250119_050045_8", "20250119_050046_9", "20250119_050047_10", "20250119_050049_13", "20250119_050052_16", "20250119_050054_19", "20250119_050055_20", "20250119_050056_21", "20250119_050057_22", "20250119_050058_23", "20250119_050100_26", "20250119_050103_29", "20250119_050105_32", "20250119_050108_35", "20250119_050110_38", "20250119_050113_41", "20250119_050115_44", "20250119_050117_47", "20250119_050120_50", "20250119_050122_53", "20250119_050125_56", "20250119_050127_59", "20250119_050130_62", "20250119_050132_65", "20250119_050133_66", "20250119_050134_67", "20250119_050135_68", "20250119_050136_70", "20250119_050137_71", "20250119_050138_72", "20250119_050139_73", "20250119_050139_74", "20250119_050140_75", "20250119_050141_76", "20250119_050142_77", "20250119_050143_78", "20250119_050143_79", "20250119_050144_80", "20250119_050145_81", "20250119_050146_82", "20250119_050147_83", "20250119_050147_84" ], "pos": [ [ -960.6722684826907, -372.764736692222, 0.7801447212512329, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 3.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 6.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 9.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 12.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 15.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 18.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 21.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 24.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 27.780144721251233, -2.0943951023931953 ], [ -960.6722684826907, -372.764736692222, 30.780144721251233, -2.0943951023931953 ], [ -963.6722684826907, -377.96088911492865, 33.78014472125123 ], [ -968.1722684826907, -385.7551177489886, 33.78014472125123 ], [ -972.6722684826907, -393.54934638304854, 33.78014472125123 ], [ -974.1722684826907, -396.14742259440186, 33.78014472125123 ], [ -975.6722684826907, -398.7454988057552, 33.78014472125123 ], [ -975.6722684826907, -398.7454988057552, 36.78014472125123 ], [ -975.6722684826907, -398.7454988057552, 39.78014472125123 ], [ -978.6722684826907, -403.9416512284618, 42.78014472125123 ], [ -983.1722684826907, -411.73587986252176, 42.78014472125123 ], [ -987.6722684826907, -419.5301084965817, 42.78014472125123 ], [ -992.1722684826907, -427.32433713064165, 42.78014472125123 ], [ -996.6722684826907, -435.1185657647016, 42.78014472125123 ], [ -1001.1722684826907, -442.91279439876155, 42.78014472125123 ], [ -1005.6722684826907, -450.7070230328215, 42.78014472125123 ], [ -1010.1722684826907, -458.50125166688144, 42.78014472125123 ], [ -1014.6722684826907, -466.2954803009414, 42.78014472125123 ], [ -1019.1722684826907, -474.08970893500134, 42.78014472125123 ], [ -1023.6722684826907, -481.8839375690613, 42.78014472125123 ], [ -1028.1722684826907, -489.67816620312124, 42.78014472125123 ], [ -1032.6722684826907, -497.4723948371812, 42.78014472125123 ], [ -1037.1722684826907, -505.26662347124113, 42.78014472125123 ], [ -1038.6722684826907, -507.86469968259445, 42.78014472125123 ], [ -1040.1722684826907, -510.46277589394776, 42.78014472125123 ], [ -1040.1722684826907, -510.46277589394776, 39.78014472125123 ], [ -1040.1722684826907, -513.4627758939478, 39.78014472125123 ], [ -1040.1722684826907, -516.4627758939478, 39.78014472125123 ], [ -1040.1722684826907, -516.4627758939478, 36.78014472125123 ], [ -1040.1722684826907, -516.4627758939478, 33.78014472125123 ], [ -1040.1722684826907, -516.4627758939478, 30.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 27.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 24.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 21.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 18.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 15.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 12.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 9.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 6.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 3.780144721251233, -1.5707963267948966 ], [ -1040.1722684826907, -516.4627758939478, 0.7801447212512329, -1.5707963267948966 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_16/astar_data/high_average/2025-1-10_0-31-52_1017565625", "gpt_instruction": "Walk directly to a light gray building , characterized by a flat roof with rooftop structures and medium size . Slightly turn left and advance forward to it .", "action": [ 9, 2, 9, 1, 0 ], "index_list": [ "20250110_003155_2", "20250110_003156_3", "20250110_003157_6", "20250110_003157_7", "20250110_003158_8" ], "pos": [ [ 322.3968767322324, -584.7422052390032, 69.01067085987573 ], [ 320.8968767322324, -587.3402814503565, 69.01067085987573 ], [ 320.8968767322324, -593.3402814503565, 69.01067085987573 ], [ 320.8968767322324, -596.3402814503565, 69.01067085987573 ], [ 320.8968767322324, -599.3402814503565, 69.01067085987573 ] ], "yaw": [ -2.094395102393186, -2.094395102393186, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_16/astar_data/high_short/2025-1-9_17-25-53_846811127", "gpt_instruction": "Walk directly towards the light gray large building characterized by its tall structure and numerous windows , then turn slightly right and continue straight towards it . Next , turn slightly left and proceed forward to reach another light gray building notable for its arched windows with dark outlines , decorative cornices , rooftop equipment or structures casting shadows , and a size larger and more prominent than surrounding buildings .", "action": [ 9, 9, 8, 3, 9, 8, 2, 9, 9, 8, 0 ], "index_list": [ "20250109_172557_2", "20250109_172559_5", "20250109_172600_7", "20250109_172600_8", "20250109_172601_11", "20250109_172602_13", "20250109_172603_14", "20250109_172604_17", "20250109_172606_20", "20250109_172607_22", "20250109_172607_23" ], "pos": [ [ -972.8602211117143, -311.114336858795, 87.81275808263148 ], [ -980.6544497457744, -315.614336858795, 87.81275808263148 ], [ -985.8506021684811, -318.614336858795, 87.81275808263148 ], [ -988.4486783798345, -320.114336858795, 87.81275808263148 ], [ -994.4486783798345, -320.114336858795, 87.81275808263148 ], [ -1000.4486783798345, -320.114336858795, 87.81275808263148 ], [ -1003.4486783798345, -320.114336858795, 87.81275808263148 ], [ -1008.6448308025413, -323.114336858795, 87.81275808263148 ], [ -1016.4390594366014, -327.614336858795, 87.81275808263148 ], [ -1021.6352118593081, -330.614336858795, 87.81275808263148 ], [ -1024.2332880706615, -332.114336858795, 87.81275808263148 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_16/astar_data/high_long/2025-1-9_21-48-4_480298490", "gpt_instruction": "Move forward to a large beige building characterized by tall structures with multiple rows of arched windows , then slightly turn right slightly and continue to it . Proceed by slightly turning left to reach a white and beige modern building with large windows and rooftop HVAC units , medium to large in size . Slightly turn left again and advance to a gray building distinguished by its tall rectangular structure with grid - like windows and vertical design elements . Finally , slightly turn right and move ahead to a light beige building notable for its distinct small size and symmetrical design compared to surrounding taller buildings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 1, 3, 9, 9, 2, 9, 9, 1, 2, 9, 9, 3, 9, 0 ], "index_list": [ "20250109_214808_2", "20250109_214809_5", "20250109_214811_8", "20250109_214812_11", "20250109_214814_14", "20250109_214815_17", "20250109_214816_20", "20250109_214818_23", "20250109_214818_24", "20250109_214819_25", "20250109_214820_28", "20250109_214822_31", "20250109_214822_32", "20250109_214824_35", "20250109_214825_38", "20250109_214826_39", "20250109_214826_40", "20250109_214828_43", "20250109_214829_46", "20250109_214829_47", "20250109_214831_50", "20250109_214831_51" ], "pos": [ [ -773.3684313530193, -464.89620007708487, 83.59344083160843 ], [ -781.1626599870795, -469.39620007708487, 83.59344083160843 ], [ -788.9568886211396, -473.89620007708487, 83.59344083160843 ], [ -796.7511172551997, -478.39620007708487, 83.59344083160843 ], [ -804.5453458892598, -482.89620007708487, 83.59344083160843 ], [ -812.3395745233199, -487.39620007708487, 83.59344083160843 ], [ -820.13380315738, -491.89620007708487, 83.59344083160843 ], [ -827.9280317914402, -496.39620007708487, 83.59344083160843 ], [ -830.5261080027935, -497.89620007708487, 83.59344083160843 ], [ -833.1241842141469, -499.39620007708487, 83.59344083160843 ], [ -839.1241842141469, -499.39620007708487, 83.59344083160843 ], [ -848.1241842141469, -499.39620007708487, 83.59344083160843 ], [ -851.1241842141469, -499.39620007708487, 83.59344083160843 ], [ -856.3203366368537, -502.39620007708487, 83.59344083160843 ], [ -864.1145652709138, -506.89620007708487, 83.59344083160843 ], [ -866.7126414822671, -508.39620007708487, 83.59344083160843 ], [ -869.3107176936205, -509.89620007708487, 83.59344083160843 ], [ -872.3107176936205, -515.0923524997916, 83.59344083160843 ], [ -876.8107176936205, -522.8865811338517, 83.59344083160843 ], [ -878.3107176936205, -525.484657345205, 83.59344083160843 ], [ -883.5068701163273, -528.484657345205, 83.59344083160843 ], [ -886.1049463276806, -529.984657345205, 83.59344083160843 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_16/astar_data/medium_short_updown/2025-1-14_17-35-24_452456682", "gpt_instruction": "Climb the medium - sized gray building with a tall rectangular structure and rooftop details , then move forward to the large steel - gray suspension bridge with twin towers . Make a right turn to the large red suspension bridge with cables , continue straight to it, and slightly turn right to reach the large dark gray building with arched windows and ornate trim . After a slight stop , fall to the medium - sized gray building with a symmetric facade of rectangular stone windows , visible two stories , and multiple windows , serving residential or commercial purposes .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, 3, 3, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_173524_0", "20250114_173527_1", "20250114_173528_2", "20250114_173528_3", "20250114_173528_4", "20250114_173529_5", "20250114_173529_6", "20250114_173530_7", "20250114_173530_8", "20250114_173530_9", "20250114_173531_10", "20250114_173531_11", "20250114_173532_12", "20250114_173532_13", "20250114_173532_14", "20250114_173533_15", "20250114_173533_16", "20250114_173534_17", "20250114_173534_18", "20250114_173534_19", "20250114_173535_20", "20250114_173535_21", "20250114_173536_22", "20250114_173536_23", "20250114_173537_25", "20250114_173537_26", "20250114_173538_27", "20250114_173539_30", "20250114_173540_33", "20250114_173541_34", "20250114_173542_37", "20250114_173544_40", "20250114_173545_43", "20250114_173546_46", "20250114_173548_49", "20250114_173549_52", "20250114_173550_55", "20250114_173551_56", "20250114_173551_57", "20250114_173552_58", "20250114_173552_59", "20250114_173552_60", "20250114_173553_61", "20250114_173553_62", "20250114_173554_63", "20250114_173554_64", "20250114_173555_65", "20250114_173555_66", "20250114_173555_67", "20250114_173556_68", "20250114_173556_69", "20250114_173557_70", "20250114_173557_71", "20250114_173557_72", "20250114_173558_73", "20250114_173558_74", "20250114_173559_75", "20250114_173559_76", "20250114_173600_77", "20250114_173600_78", "20250114_173600_79", "20250114_173601_80" ], "pos": [ [ -875.3523641216178, 15.117258355155585, 2.7697231165269045 ], [ -875.3523641216178, 15.117258355155585, 5.7697231165269045 ], [ -875.3523641216178, 15.117258355155585, 8.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 11.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 14.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 17.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 20.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 23.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 26.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 29.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 32.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 35.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 38.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 41.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 44.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 47.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 50.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 53.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 56.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 59.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 62.769723116526905 ], [ -875.3523641216178, 15.117258355155585, 65.7697231165269 ], [ -875.3523641216178, 15.117258355155585, 68.7697231165269 ], [ -875.3523641216178, 15.117258355155585, 71.7697231165269 ], [ -872.3523641216178, 15.117258355155585, 74.7697231165269 ], [ -869.3523641216178, 15.117258355155585, 74.7697231165269 ], [ -869.3523641216178, 15.117258355155585, 74.7697231165269 ], [ -866.3523641216178, 9.921105932448953, 74.7697231165269 ], [ -861.8523641216178, 2.1268772983890045, 74.7697231165269 ], [ -860.3523641216178, -0.4711989129643115, 74.7697231165269 ], [ -860.3523641216178, -6.4711989129643115, 74.7697231165269 ], [ -860.3523641216178, -15.471198912964311, 74.7697231165269 ], [ -860.3523641216178, -24.47119891296431, 74.7697231165269 ], [ -860.3523641216178, -33.47119891296431, 74.7697231165269 ], [ -860.3523641216178, -42.47119891296431, 74.7697231165269 ], [ -860.3523641216178, -51.47119891296431, 74.7697231165269 ], [ -860.3523641216178, -60.47119891296431, 74.7697231165269 ], [ -860.3523641216178, -63.47119891296431, 74.7697231165269 ], [ -860.3523641216178, -63.47119891296431, 71.7697231165269 ], [ -860.3523641216178, -63.47119891296431, 68.7697231165269 ], [ -860.3523641216178, -63.47119891296431, 65.7697231165269 ], [ -860.3523641216178, -63.47119891296431, 62.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 59.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 56.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 53.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 50.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 47.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 44.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 41.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 38.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 35.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 32.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 29.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 26.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 23.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 20.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 17.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 14.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 11.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 8.769723116526905 ], [ -860.3523641216178, -63.47119891296431, 5.7697231165269045 ], [ -860.3523641216178, -63.47119891296431, 2.7697231165269045 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_16/astar_data/medium_average/2025-1-9_19-18-17_1005418816", "gpt_instruction": "Veer left towards a gray , tall multi - story structure with numerous windows of size large , then walk straight to a dark gray building featuring rectangular windows in a tiered structure and a very large size . Next , take a right slightly towards it . Finally , move forward to a gray historic - style urban building with a prominent water tank on the roof and a mid-rise size .", "action": [ 1, 2, 9, 9, 9, 9, 9, 9, 8, 3, 3, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_191817_0", "20250109_191820_1", "20250109_191821_4", "20250109_191822_7", "20250109_191824_10", "20250109_191825_13", "20250109_191826_16", "20250109_191827_19", "20250109_191828_21", "20250109_191829_22", "20250109_191829_23", "20250109_191830_26", "20250109_191832_29", "20250109_191833_32", "20250109_191834_35", "20250109_191835_38", "20250109_191836_40", "20250109_191837_41" ], "pos": [ [ -813.3054661715482, -402.8664925739257, 30.45824585413169 ], [ -814.8054661715482, -405.464568785279, 30.45824585413169 ], [ -814.8054661715482, -411.464568785279, 30.45824585413169 ], [ -814.8054661715482, -420.464568785279, 30.45824585413169 ], [ -814.8054661715482, -429.464568785279, 30.45824585413169 ], [ -814.8054661715482, -438.464568785279, 30.45824585413169 ], [ -814.8054661715482, -447.464568785279, 30.45824585413169 ], [ -814.8054661715482, -456.464568785279, 30.45824585413169 ], [ -814.8054661715482, -462.464568785279, 30.45824585413169 ], [ -814.8054661715482, -465.464568785279, 30.45824585413169 ], [ -814.8054661715482, -465.464568785279, 30.45824585413169 ], [ -820.001618594255, -468.464568785279, 30.45824585413169 ], [ -827.7958472283151, -472.964568785279, 30.45824585413169 ], [ -835.5900758623752, -477.464568785279, 30.45824585413169 ], [ -843.3843044964353, -481.964568785279, 30.45824585413169 ], [ -851.1785331304955, -486.464568785279, 30.45824585413169 ], [ -856.3746855532022, -489.464568785279, 30.45824585413169 ], [ -858.9727617645556, -490.964568785279, 30.45824585413169 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_16/astar_data/medium_average/2025-1-9_13-54-35_1023457753", "gpt_instruction": "Walk straight to a tall , gray rectangular building with grid - like windows ; then take a right to a medium - sized gray building with a rectangular rooftop featuring a billboard . Continue walking straight to a large white and blue advertisement structure featuring a billboard with an illustration and text about satisfaction . After slightly turning left and continuing straight , you \u2019ll reach a dark gray medium - sized structure with a rooftop billboard displaying a vintage - style advertisement and utility installations such as an antenna .", "action": [ 9, 9, 9, 9, 9, 9, 3, 3, 9, 8, 2, 1, 0 ], "index_list": [ "20250109_135439_2", "20250109_135440_5", "20250109_135441_8", "20250109_135442_11", "20250109_135444_14", "20250109_135445_17", "20250109_135446_18", "20250109_135446_19", "20250109_135448_22", "20250109_135448_24", "20250109_135449_25", "20250109_135449_26", "20250109_135450_27" ], "pos": [ [ -972.0752894125075, -216.31515708398885, 30.45824585413169 ], [ -963.0752894125075, -216.31515708398885, 30.45824585413169 ], [ -954.0752894125075, -216.31515708398885, 30.45824585413169 ], [ -945.0752894125075, -216.31515708398885, 30.45824585413169 ], [ -936.0752894125075, -216.31515708398885, 30.45824585413169 ], [ -927.0752894125075, -216.31515708398885, 30.45824585413169 ], [ -924.0752894125075, -216.31515708398885, 30.45824585413169 ], [ -924.0752894125075, -216.31515708398885, 30.45824585413169 ], [ -921.0752894125075, -221.51130950669548, 30.45824585413169 ], [ -918.0752894125075, -226.70746192940211, 30.45824585413169 ], [ -916.5752894125075, -229.30553814075543, 30.45824585413169 ], [ -916.5752894125075, -229.30553814075543, 30.45824585413169 ], [ -913.9772132011542, -230.80553814075543, 30.45824585413169 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.523598775598299, -0.523598775598299 ] }, { "image_path": "env_airsim_16/astar_data/high_short/2025-1-9_21-9-15_2125023787", "gpt_instruction": "Walk straight toward a large , light beige rectangular building featuring arched windows and rooftop structures , occupying a central focus . Then , slightly turn right and move forward toward it .", "action": [ 9, 9, 9, 9, 9, 1, 3, 9, 9, 9, 0 ], "index_list": [ "20250109_210919_2", "20250109_210920_5", "20250109_210922_8", "20250109_210923_11", "20250109_210925_14", "20250109_210925_15", "20250109_210926_16", "20250109_210928_19", "20250109_210929_22", "20250109_210930_25", "20250109_210931_26" ], "pos": [ [ 219.53554239553478, -180.33386380940985, 87.81275808263148 ], [ 210.53554239553478, -180.33386380940985, 87.81275808263148 ], [ 201.53554239553478, -180.33386380940985, 87.81275808263148 ], [ 192.53554239553478, -180.33386380940985, 87.81275808263148 ], [ 183.53554239553478, -180.33386380940985, 87.81275808263148 ], [ 180.53554239553478, -180.33386380940985, 87.81275808263148 ], [ 177.53554239553478, -180.33386380940985, 87.81275808263148 ], [ 172.33938997282814, -177.33386380940985, 87.81275808263148 ], [ 164.5451613387682, -172.83386380940985, 87.81275808263148 ], [ 156.75093270470825, -168.33386380940985, 87.81275808263148 ], [ 154.15285649335493, -166.83386380940985, 87.81275808263148 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_16/astar_data/low_long_updown/2025-1-15_0-20-26_1584710873", "gpt_instruction": "Climb to the dark gray large white advertising billboard featuring ' AMERICA ' and a red car image on a skyscraper building , then walk straight to the tall gray skyscraper with many windows . Afterward , slightly turn left and continue straight to the beige cylindrical building with vertical windows , and finally , slightly stop before going downwards to the modern large building with grey and brown colors , featuring arched windows with brown frames .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 9, 9, 9, 9, 9, 9, 9, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250115_002026_0", "20250115_002029_1", "20250115_002029_2", "20250115_002030_3", "20250115_002030_4", "20250115_002031_5", "20250115_002031_6", "20250115_002031_7", "20250115_002032_8", "20250115_002032_9", "20250115_002033_10", "20250115_002033_11", "20250115_002034_12", "20250115_002034_13", "20250115_002035_14", "20250115_002035_15", "20250115_002035_16", "20250115_002036_17", "20250115_002037_20", "20250115_002038_23", "20250115_002040_26", "20250115_002041_29", "20250115_002042_32", "20250115_002043_35", "20250115_002045_38", "20250115_002046_41", "20250115_002046_42", "20250115_002047_43", "20250115_002048_46", "20250115_002049_49", "20250115_002051_52", "20250115_002052_55", "20250115_002053_58", "20250115_002055_61", "20250115_002056_64", "20250115_002057_66", "20250115_002057_67", "20250115_002058_68", "20250115_002058_69", "20250115_002058_70", "20250115_002059_71", "20250115_002059_72", "20250115_002100_73", "20250115_002100_74", "20250115_002100_75", "20250115_002101_76", "20250115_002101_77", "20250115_002102_78", "20250115_002102_79", "20250115_002102_80", "20250115_002103_81", "20250115_002103_82", "20250115_002103_83", "20250115_002104_84", "20250115_002104_85" ], "pos": [ [ -925.2275468338613, -189.45510507608685, 2.5430082768225617 ], [ -925.2275468338613, -189.45510507608685, 5.543008276822562 ], [ -925.2275468338613, -189.45510507608685, 8.543008276822562 ], [ -925.2275468338613, -189.45510507608685, 11.543008276822562 ], [ -925.2275468338613, -189.45510507608685, 14.543008276822562 ], [ -925.2275468338613, -189.45510507608685, 17.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 20.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 23.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 26.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 29.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 32.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 35.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 38.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 41.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 44.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 47.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 50.54300827682256 ], [ -925.2275468338613, -189.45510507608685, 53.54300827682256 ], [ -922.2275468338613, -184.25895265338022, 56.54300827682256 ], [ -917.7275468338613, -176.46472401932027, 56.54300827682256 ], [ -913.2275468338613, -168.67049538526032, 56.54300827682256 ], [ -908.7275468338613, -160.87626675120038, 56.54300827682256 ], [ -904.2275468338613, -153.08203811714043, 56.54300827682256 ], [ -899.7275468338613, -145.28780948308048, 56.54300827682256 ], [ -895.2275468338613, -137.49358084902053, 56.54300827682256 ], [ -890.7275468338613, -129.69935221496058, 56.54300827682256 ], [ -889.2275468338613, -127.10127600360727, 56.54300827682256 ], [ -887.7275468338613, -124.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -118.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -109.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -100.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -91.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -82.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -73.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -64.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -58.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 56.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 53.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 50.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 47.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 44.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 41.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 38.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 35.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 32.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 29.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 26.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 23.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 20.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 17.54300827682256 ], [ -887.7275468338613, -55.50319979225395, 14.543008276822562 ], [ -887.7275468338613, -55.50319979225395, 11.543008276822562 ], [ -887.7275468338613, -55.50319979225395, 8.543008276822562 ], [ -887.7275468338613, -55.50319979225395, 5.543008276822562 ], [ -887.7275468338613, -55.50319979225395, 2.5430082768225617 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_16/astar_data/low_short_updown/2025-01-19_06-17-38_215421", "gpt_instruction": "Begin by ascending towards a large gray building characterized by a row of arched windows and rooftop structures . Continue straight ahead to encounter a similarly large gray radio or telecommunication antenna , notable for its tall metallic structure with a cylindrical base and overhead framework . Again , head upwards to another large gray building featuring antenna structures on its rooftop . Slightly turn left and go directly towards it . Slightly turn right and proceed forward to reach a large building with a gray and brown brick exterior and large windows . Slightly descend , then slightly turn right , continuing straight before stopping and descending further towards a medium - sized light gray commercial building , easily identified by its arched windows with black frames .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 4, 4, 2, 9, 9, 9, 9, 9, 3, 9, 5, 3, 1, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250119_061740_0", "20250119_061741_1", "20250119_061741_2", "20250119_061742_3", "20250119_061743_4", "20250119_061744_5", "20250119_061745_6", "20250119_061746_7", "20250119_061746_8", "20250119_061747_9", "20250119_061748_10", "20250119_061750_13", "20250119_061753_16", "20250119_061756_19", "20250119_061758_22", "20250119_061759_23", "20250119_061800_24", "20250119_061801_25", "20250119_061803_28", "20250119_061806_31", "20250119_061808_34", "20250119_061811_37", "20250119_061814_40", "20250119_061814_41", "20250119_061817_44", "20250119_061818_45", "20250119_061819_46", "20250119_061820_47", "20250119_061820_48", "20250119_061821_49", "20250119_061822_50", "20250119_061823_51", "20250119_061824_52", "20250119_061825_53", "20250119_061825_54", "20250119_061826_55", "20250119_061827_56", "20250119_061828_57", "20250119_061829_58", "20250119_061830_59", "20250119_061831_60" ], "pos": [ [ -1047.4879714261815, 11.32306708096145, 0.11613363823794032, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 3.1161336382379403, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 6.11613363823794, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 9.11613363823794, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 12.11613363823794, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 15.11613363823794, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 18.11613363823794, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 21.11613363823794, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 24.11613363823794, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 27.11613363823794, -2.0943951023931953 ], [ -1047.4879714261815, 11.32306708096145, 30.11613363823794, -2.0943951023931953 ], [ -1050.4879714261815, 6.126914658254819, 33.11613363823794 ], [ -1054.9879714261815, -1.6673139758051292, 33.11613363823794 ], [ -1059.4879714261815, -9.461542609865077, 33.11613363823794 ], [ -1063.9879714261815, -17.255771243925025, 33.11613363823794 ], [ -1065.4879714261815, -19.85384745527834, 33.11613363823794 ], [ -1065.4879714261815, -19.85384745527834, 36.11613363823794 ], [ -1065.4879714261815, -19.85384745527834, 39.11613363823794 ], [ -1065.4879714261815, -25.85384745527834, 39.11613363823794 ], [ -1065.4879714261815, -34.85384745527834, 39.11613363823794 ], [ -1065.4879714261815, -43.85384745527834, 39.11613363823794 ], [ -1065.4879714261815, -52.85384745527834, 39.11613363823794 ], [ -1065.4879714261815, -61.85384745527834, 39.11613363823794 ], [ -1065.4879714261815, -64.85384745527834, 39.11613363823794 ], [ -1068.4879714261815, -70.04999987798497, 39.11613363823794 ], [ -1069.9879714261815, -72.64807608933829, 39.11613363823794 ], [ -1069.9879714261815, -72.64807608933829, 36.11613363823794 ], [ -1069.9879714261815, -72.64807608933829, 36.11613363823794 ], [ -1072.5860476375349, -74.14807608933829, 36.11613363823794 ], [ -1072.5860476375349, -74.14807608933829, 33.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 30.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 27.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 24.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 21.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 18.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 15.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 12.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 9.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 6.11613363823794, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 3.1161336382379403, -2.617993877991494 ], [ -1072.5860476375349, -74.14807608933829, 0.11613363823794032, -2.617993877991494 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494, -2.617993877991494 ] }, { "image_path": "env_airsim_16/astar_data/high_short/2025-1-9_16-47-42_2142757034", "gpt_instruction": "Proceed directly to the light beige , tall , and prominent rectangular structure with a consistent pattern of windows , which is larger than the surrounding buildings and is a high - rise building .", "action": [ 9, 9, 8, 0 ], "index_list": [ "20250109_164746_2", "20250109_164747_5", "20250109_164748_7", "20250109_164749_8" ], "pos": [ [ 84.87855159243526, -115.6761254306856, 87.81275808263148 ], [ 77.08432295837531, -111.1761254306856, 87.81275808263148 ], [ 71.88817053566868, -108.1761254306856, 87.81275808263148 ], [ 69.29009432431536, -106.6761254306856, 87.81275808263148 ] ], "yaw": [ 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_16/astar_data/medium_short/2025-1-9_15-19-1_981914693", "gpt_instruction": "Proceed ahead until you reach the tall , gray landmark building with historic architectural design and rooftop spires . Then , slightly veer right and keep moving straight towards the medium - height , dark brown structure characterized by a dark rooftop and window bars , which is comparable in height to the surrounding buildings and serves as either a commercial or residential block .", "action": [ 9, 9, 9, 9, 8, 3, 9, 8, 0 ], "index_list": [ "20250109_151905_2", "20250109_151906_5", "20250109_151908_8", "20250109_151909_11", "20250109_151910_13", "20250109_151910_14", "20250109_151911_17", "20250109_151912_19", "20250109_151912_20" ], "pos": [ [ -937.288229493148, 92.60993844456753, 45.08563280908995 ], [ -945.0824581272082, 88.10993844456753, 45.08563280908995 ], [ -952.8766867612683, 83.60993844456753, 45.08563280908995 ], [ -960.6709153953284, 79.10993844456753, 45.08563280908995 ], [ -965.8670678180351, 76.10993844456753, 45.08563280908995 ], [ -968.4651440293885, 74.60993844456753, 45.08563280908995 ], [ -974.4651440293885, 74.60993844456753, 45.08563280908995 ], [ -980.4651440293885, 74.60993844456753, 45.08563280908995 ], [ -983.4651440293885, 74.60993844456753, 45.08563280908995 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_16/astar_data/medium_average/2025-1-9_20-2-55_922587542", "gpt_instruction": "Head straight to a grey skyscraper featuring rectangular windows and modern design with a tall stature . Then , make a right turn towards a medium - sized dark blue building with a dome - shaped top and antennas on its rooftop . Advance forward to it . Slightly turn left and proceed forward to a prominent grey commercial building with a rectangular grid of windows and a billboard on the roof , standing out compared to its surrounding buildings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 8, 3, 3, 9, 8, 2, 9, 0 ], "index_list": [ "20250109_200258_2", "20250109_200300_5", "20250109_200301_8", "20250109_200302_11", "20250109_200304_14", "20250109_200305_17", "20250109_200306_20", "20250109_200308_23", "20250109_200309_25", "20250109_200309_26", "20250109_200309_27", "20250109_200311_30", "20250109_200312_32", "20250109_200312_33", "20250109_200313_36", "20250109_200314_37" ], "pos": [ [ -226.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -217.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -208.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -199.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -190.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -181.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -172.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -163.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -157.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -154.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -154.07833729038012, -538.6434283824042, 30.45824585413169 ], [ -151.07833729038012, -543.8395808051109, 30.45824585413169 ], [ -148.07833729038012, -549.0357332278177, 30.45824585413169 ], [ -146.57833729038012, -551.633809439171, 30.45824585413169 ], [ -141.3821848676735, -554.633809439171, 30.45824585413169 ], [ -138.78410865632017, -556.133809439171, 30.45824585413169 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_18/astar_data/medium_long/2025-1-9_1-3-50_1021784812", "gpt_instruction": "Move forward to a large , dark gray building with a grid - like window pattern , then slightly turn right and head straight toward a large , gray building with a flat rooftop , visible weathering , and peeling surfaces . Afterward , slightly turn left and proceed straight to a large , beige rectangular structure featuring distinct edges and texture . Then , slightly turn left again and continue straight to a large , gray skyscraper with a glass facade displaying grid patterns . Finally , slightly turn right and move ahead to a medium - sized gray commercial building with a flat rooftop and visible air conditioning units .", "action": [ 9, 1, 3, 9, 2, 9, 9, 1, 2, 9, 9, 9, 9, 9, 9, 8, 3, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_010354_2", "20250109_010354_3", "20250109_010354_4", "20250109_010355_7", "20250109_010356_8", "20250109_010357_11", "20250109_010358_14", "20250109_010359_15", "20250109_010359_16", "20250109_010400_19", "20250109_010402_22", "20250109_010403_25", "20250109_010404_28", "20250109_010405_31", "20250109_010407_34", "20250109_010407_36", "20250109_010408_37", "20250109_010409_40", "20250109_010410_43", "20250109_010411_46", "20250109_010412_49", "20250109_010413_51", "20250109_010413_52" ], "pos": [ [ 914.6831169866346, 440.386121403439, 4.008504278406168 ], [ 914.6831169866346, 437.386121403439, 4.008504278406168 ], [ 914.6831169866346, 434.386121403439, 4.008504278406168 ], [ 911.6831169866346, 429.1899689807324, 4.008504278406168 ], [ 910.1831169866346, 426.59189276937906, 4.008504278406168 ], [ 910.1831169866346, 420.59189276937906, 4.008504278406168 ], [ 910.1831169866346, 411.59189276937906, 4.008504278406168 ], [ 910.1831169866346, 408.59189276937906, 4.008504278406168 ], [ 910.1831169866346, 405.59189276937906, 4.008504278406168 ], [ 913.1831169866346, 400.3957403466724, 4.008504278406168 ], [ 917.6831169866346, 392.6015117126125, 4.008504278406168 ], [ 922.1831169866346, 384.80728307855253, 4.008504278406168 ], [ 926.6831169866346, 377.0130544444926, 4.008504278406168 ], [ 931.1831169866346, 369.21882581043263, 4.008504278406168 ], [ 935.6831169866346, 361.4245971763727, 4.008504278406168 ], [ 938.6831169866346, 356.22844475366605, 4.008504278406168 ], [ 940.1831169866346, 353.63036854231274, 4.008504278406168 ], [ 940.1831169866346, 347.63036854231274, 4.008504278406168 ], [ 940.1831169866346, 338.63036854231274, 4.008504278406168 ], [ 940.1831169866346, 329.63036854231274, 4.008504278406168 ], [ 940.1831169866346, 320.63036854231274, 4.008504278406168 ], [ 940.1831169866346, 314.63036854231274, 4.008504278406168 ], [ 940.1831169866346, 311.63036854231274, 4.008504278406168 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_18/astar_data/medium_long/2025-1-9_7-12-23_1042517543", "gpt_instruction": "Proceed forward towards the large grey building with rectangular windows , then shift left to another similar structure . Continue directly to a large beige building , notable for its height and rectangular windows across multiple floors . Turn right to a third similar building , then move forward to a tall , dark structure distinguished by its vertically stacked sections . Slightly turn left and walk straight to a tall and narrow dark grey office building , featuring a grid pattern of rectangular windows .", "action": [ 9, 8, 2, 2, 9, 3, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 1, 0 ], "index_list": [ "20250109_071227_2", "20250109_071228_4", "20250109_071228_5", "20250109_071228_6", "20250109_071230_9", "20250109_071230_10", "20250109_071230_11", "20250109_071232_14", "20250109_071233_17", "20250109_071234_20", "20250109_071235_23", "20250109_071236_26", "20250109_071238_29", "20250109_071239_32", "20250109_071240_35", "20250109_071241_38", "20250109_071242_41", "20250109_071244_44", "20250109_071245_47", "20250109_071245_48", "20250109_071247_51", "20250109_071248_54", "20250109_071248_55", "20250109_071249_56" ], "pos": [ [ 533.7020794105731, 221.49280039658598, 4.008504278406168 ], [ 533.7020794105731, 215.49280039658598, 4.008504278406168 ], [ 533.7020794105731, 212.49280039658598, 4.008504278406168 ], [ 533.7020794105731, 212.49280039658598, 4.008504278406168 ], [ 538.8982318332799, 209.49280039658598, 4.008504278406168 ], [ 541.4963080446332, 207.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 207.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 201.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 192.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 183.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 174.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 165.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 156.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 147.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 138.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 129.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 120.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 111.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 102.99280039658598, 4.008504278406168 ], [ 541.4963080446332, 99.99280039658598, 4.008504278406168 ], [ 544.4963080446332, 94.79664797387935, 4.008504278406168 ], [ 548.9963080446332, 87.0024193398194, 4.008504278406168 ], [ 550.4963080446332, 84.40434312846608, 4.008504278406168 ], [ 551.9963080446332, 81.80626691711277, 4.008504278406168 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -0.5235987755982894, -0.5235987755982894, -1.047197551196588, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_18/astar_data/medium_short/2025-1-8_21-13-29_1756915667", "gpt_instruction": "Proceed straight to the modern office building , characterized by a dark color with cream borders , featuring medium - sized rectangular windows with reflective glass panels .", "action": [ 9, 9, 9, 1, 0 ], "index_list": [ "20250108_211332_2", "20250108_211333_5", "20250108_211335_8", "20250108_211335_9", "20250108_211335_10" ], "pos": [ [ 1577.9082731331375, 505.14843576736314, -14.030541685236908 ], [ 1570.1140444990774, 500.64843576736314, -14.030541685236908 ], [ 1562.3198158650173, 496.14843576736314, -14.030541685236908 ], [ 1559.721739653664, 494.64843576736314, -14.030541685236908 ], [ 1557.1236634423105, 493.14843576736314, -14.030541685236908 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/low_short/2025-1-8_23-6-46_1693485026", "gpt_instruction": "Proceed to the gray , rectangular skyscraper characterized by large glass windows and numerous columns at the base . Afterward , go directly to it . Then , slightly turn left and move ahead towards the dark structure with reflective glass panels and large cylindrical pillars at the base , which is a tall and wide modern high - rise building .", "action": [ 1, 2, 9, 2, 8, 0 ], "index_list": [ "20250108_230646_0", "20250108_230649_1", "20250108_230650_4", "20250108_230650_5", "20250108_230651_7", "20250108_230651_8" ], "pos": [ [ 1377.8893810177724, 768.9186377338308, -36.25378652273585 ], [ 1380.8893810177724, 768.9186377338308, -36.25378652273585 ], [ 1386.0855334404791, 771.9186377338308, -36.25378652273585 ], [ 1388.6836096518325, 773.4186377338308, -36.25378652273585 ], [ 1390.1836096518325, 776.0167139451842, -36.25378652273585 ], [ 1391.6836096518325, 778.6147901565375, -36.25378652273585 ] ], "yaw": [ 0.0, 0.0, 0.5235987755982894, 0.5235987755982894, 1.0471975511966072, 1.0471975511966072 ] }, { "image_path": "env_airsim_18/astar_data/medium_short/2025-1-9_1-4-54_1364180570", "gpt_instruction": "Proceed straight ahead towards a large white building facade characterized by a grid of windows . Then , perform a slight left turn to advance towards a large modern office building distinguished by a beige and dark reflective glass appearance and a grid - like structure of reflective windows , occupying a significant portion of the image .", "action": [ 9, 9, 2, 9, 1, 0 ], "index_list": [ "20250109_010458_2", "20250109_010459_5", "20250109_010459_6", "20250109_010500_9", "20250109_010501_10", "20250109_010501_11" ], "pos": [ [ 1509.2598368510228, 676.6374338531272, -14.030541685236908 ], [ 1500.2598368510228, 676.6374338531272, -14.030541685236908 ], [ 1497.2598368510228, 676.6374338531272, -14.030541685236908 ], [ 1492.063684428316, 673.6374338531272, -14.030541685236908 ], [ 1489.4656082169627, 672.1374338531272, -14.030541685236908 ], [ 1486.8675320056093, 670.6374338531272, -14.030541685236908 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/medium_average/2025-1-8_20-4-26_1795519125", "gpt_instruction": "Proceed straight to a medium - sized modern urban building in the foreground , characterized by a white color , rectangular windows arranged in a grid pattern , and then slightly turn left . Continue straight to another medium - sized modern commercial building with prominent features , including square - shaped dark windows with a glowing greenish tint .", "action": [ 9, 9, 8, 2, 9, 0 ], "index_list": [ "20250108_200430_2", "20250108_200431_5", "20250108_200432_7", "20250108_200432_8", "20250108_200433_11", "20250108_200434_12" ], "pos": [ [ 1707.0617775600765, 475.5343813046879, -8.37259322125965 ], [ 1716.0617775600765, 475.5343813046879, -8.37259322125965 ], [ 1722.0617775600765, 475.5343813046879, -8.37259322125965 ], [ 1725.0617775600765, 475.5343813046879, -8.37259322125965 ], [ 1730.2579299827833, 478.5343813046879, -8.37259322125965 ], [ 1732.8560061941366, 480.0343813046879, -8.37259322125965 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.5235987755982894, 0.5235987755982894 ] }, { "image_path": "env_airsim_18/astar_data/high_average/2025-1-9_16-41-28_1231192379", "gpt_instruction": "Combine the scattered actions and landmarks into a smooth and fluent sentence as follows : \" Keep going straight toward a medium - sized green and gray square with an open grassy area , scattered trees , and paved walkways . Slightly turn left and walk straight toward a large multi - story office building , white with black window panels , a flat rooftop with vents , and a small rooftop structure . \"", "action": [ 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_164131_2", "20250109_164132_3", "20250109_164133_6", "20250109_164134_9", "20250109_164136_12", "20250109_164137_15", "20250109_164138_18", "20250109_164139_21", "20250109_164141_24", "20250109_164142_27", "20250109_164143_30", "20250109_164144_33", "20250109_164145_36", "20250109_164146_38", "20250109_164147_39" ], "pos": [ [ 1436.913511801473, -99.46566955266945, 17.46431138117525 ], [ 1438.413511801473, -102.06374576402277, 17.46431138117525 ], [ 1443.6096642241798, -105.06374576402277, 17.46431138117525 ], [ 1451.40389285824, -109.56374576402277, 17.46431138117525 ], [ 1459.1981214923, -114.06374576402277, 17.46431138117525 ], [ 1466.9923501263602, -118.56374576402277, 17.46431138117525 ], [ 1474.7865787604203, -123.06374576402277, 17.46431138117525 ], [ 1482.5808073944804, -127.56374576402277, 17.46431138117525 ], [ 1490.3750360285405, -132.06374576402277, 17.46431138117525 ], [ 1498.1692646626007, -136.56374576402277, 17.46431138117525 ], [ 1505.9634932966608, -141.06374576402277, 17.46431138117525 ], [ 1513.757721930721, -145.56374576402277, 17.46431138117525 ], [ 1521.551950564781, -150.06374576402277, 17.46431138117525 ], [ 1526.7481029874878, -153.06374576402277, 17.46431138117525 ], [ 1529.3461791988411, -154.56374576402277, 17.46431138117525 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_18/astar_data/high_long/2025-1-10_5-50-21_1565306616", "gpt_instruction": "Proceed directly ahead to a medium - sized , dark brown rectangular building with a flat rooftop and minimal windows . Slightly turn left and move forward toward a tall , multi - story building characterized by a black - and - white glass - panel facade featuring a grid pattern . Subsequently , slightly turn right , then continue ahead toward it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 1, 3, 8, 0 ], "index_list": [ "20250110_055024_2", "20250110_055026_5", "20250110_055027_8", "20250110_055028_11", "20250110_055029_14", "20250110_055031_17", "20250110_055032_20", "20250110_055033_23", "20250110_055034_26", "20250110_055035_27", "20250110_055036_30", "20250110_055037_33", "20250110_055038_36", "20250110_055040_39", "20250110_055040_40", "20250110_055041_41", "20250110_055041_43", "20250110_055042_44" ], "pos": [ [ 1881.6205159693386, 773.4983538938495, 30.21310795576765 ], [ 1886.1205159693386, 765.7041252597894, 30.21310795576765 ], [ 1890.6205159693386, 757.9098966257293, 30.21310795576765 ], [ 1895.1205159693386, 750.1156679916692, 30.21310795576765 ], [ 1899.6205159693386, 742.321439357609, 30.21310795576765 ], [ 1904.1205159693386, 734.5272107235489, 30.21310795576765 ], [ 1908.6205159693386, 726.7329820894888, 30.21310795576765 ], [ 1913.1205159693386, 718.9387534554287, 30.21310795576765 ], [ 1917.6205159693386, 711.1445248213686, 30.21310795576765 ], [ 1919.1205159693386, 708.5464486100152, 30.21310795576765 ], [ 1924.3166683920454, 705.5464486100152, 30.21310795576765 ], [ 1932.1108970261055, 701.0464486100152, 30.21310795576765 ], [ 1939.9051256601656, 696.5464486100152, 30.21310795576765 ], [ 1947.6993542942257, 692.0464486100152, 30.21310795576765 ], [ 1950.297430505579, 690.5464486100152, 30.21310795576765 ], [ 1952.8955067169325, 689.0464486100152, 30.21310795576765 ], [ 1954.3955067169325, 686.4483723986618, 30.21310795576765 ], [ 1955.8955067169325, 683.8502961873085, 30.21310795576765 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -1.0471975511966072, -1.0471975511966072 ] }, { "image_path": "env_airsim_18/astar_data/medium_average/2025-1-9_1-29-2_1316953165", "gpt_instruction": "Proceed directly to a large gray building characterized by a brick texture with large rectangular windows . Then , slightly turn right and move forward to another large gray building with rectangular windows and arched entryways . Finally , slightly turn left and go straight to the tallest building in the image , a modern office building with a glass fa\u00e7ade on the upper section and a solid structure below , showcasing a gray and brown color scheme .", "action": [ 9, 9, 1, 3, 9, 1, 2, 1, 0 ], "index_list": [ "20250109_012905_2", "20250109_012906_5", "20250109_012907_6", "20250109_012907_7", "20250109_012909_10", "20250109_012909_11", "20250109_012909_12", "20250109_012910_13", "20250109_012910_14" ], "pos": [ [ 1332.361655633764, 922.5705773603819, -8.37259322125965 ], [ 1324.567426999704, 918.0705773603819, -8.37259322125965 ], [ 1321.9693507883505, 916.5705773603819, -8.37259322125965 ], [ 1319.3712745769972, 915.0705773603819, -8.37259322125965 ], [ 1313.3712745769972, 915.0705773603819, -8.37259322125965 ], [ 1310.3712745769972, 915.0705773603819, -8.37259322125965 ], [ 1307.3712745769972, 915.0705773603819, -8.37259322125965 ], [ 1307.3712745769972, 915.0705773603819, -8.37259322125965 ], [ 1304.7731983656438, 913.5705773603819, -8.37259322125965 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.665191429188092, 3.665191429188092 ] }, { "image_path": "env_airsim_18/astar_data/medium_long/2025-1-8_23-12-4_1908518808", "gpt_instruction": "Head straight toward a large , dark - gray urban landmark characterized by a brick building with large arched windows . Then , slightly turn right and move ahead to a large , gray building featuring a flat roof with windows . Finally , slightly turn left and walk straight to a medium - sized gray office building distinguished by a tall structure with large windows spanning the facade , comparatively smaller than other buildings in the scene .", "action": [ 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 0 ], "index_list": [ "20250108_231208_2", "20250108_231209_5", "20250108_231210_8", "20250108_231211_9", "20250108_231212_12", "20250108_231213_15", "20250108_231214_18", "20250108_231216_21", "20250108_231217_24", "20250108_231218_27", "20250108_231219_30", "20250108_231221_33", "20250108_231222_36", "20250108_231223_39", "20250108_231224_42", "20250108_231225_43", "20250108_231226_46", "20250108_231227_49", "20250108_231228_52", "20250108_231229_53" ], "pos": [ [ 765.4542136539551, -9.241324403218329, 4.008504278406168 ], [ 769.9542136539551, -17.035553037278277, 4.008504278406168 ], [ 774.4542136539551, -24.829781671338225, 4.008504278406168 ], [ 775.9542136539551, -27.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -33.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -42.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -51.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -60.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -69.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -78.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -87.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -96.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -105.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -114.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -123.42785788269154, 4.008504278406168 ], [ 775.9542136539551, -126.42785788269154, 4.008504278406168 ], [ 778.9542136539551, -131.62401030539817, 4.008504278406168 ], [ 783.4542136539551, -139.41823893945812, 4.008504278406168 ], [ 787.9542136539551, -147.21246757351807, 4.008504278406168 ], [ 789.4542136539551, -149.81054378487138, 4.008504278406168 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_18/astar_data/medium_average/2025-1-8_19-29-32_1057467587", "gpt_instruction": "Proceed straight towards a white building characterized by a modern cubic design with large windows of medium size . Next , veer right to a large gray building featuring a brick facade with arched windows , and continue moving forward to a similar structure which is a historic high - rise . Then , slightly turn left and head straight towards another large gray building with arched windows , identified as a modern office building .", "action": [ 9, 9, 1, 3, 3, 9, 2, 9, 9, 9, 0 ], "index_list": [ "20250108_192936_2", "20250108_192937_5", "20250108_192937_6", "20250108_192938_7", "20250108_192938_8", "20250108_192940_11", "20250108_192940_12", "20250108_192941_15", "20250108_192943_18", "20250108_192944_21", "20250108_192944_22" ], "pos": [ [ 730.8535607079041, -5.004791772810357, -8.37259322125965 ], [ 739.8535607079041, -5.004791772810357, -8.37259322125965 ], [ 742.8535607079041, -5.004791772810357, -8.37259322125965 ], [ 745.8535607079041, -5.004791772810357, -8.37259322125965 ], [ 745.8535607079041, -5.004791772810357, -8.37259322125965 ], [ 748.8535607079041, -10.200944195516989, -8.37259322125965 ], [ 750.3535607079041, -12.799020406870305, -8.37259322125965 ], [ 755.5497131306108, -15.799020406870305, -8.37259322125965 ], [ 763.343941764671, -20.299020406870305, -8.37259322125965 ], [ 771.1381703987311, -24.799020406870305, -8.37259322125965 ], [ 773.7362466100844, -26.299020406870305, -8.37259322125965 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_18/astar_data/low_long/2025-1-8_20-32-23_1111783898", "gpt_instruction": "\" Proceed straight toward a gray skyscraper with a glass facade and a reflective surface , then slightly turn left and advance toward another large gray building featuring rectangular windows and a blocky structure . Continue left , heading directly to a gray cylindrical skyscraper characterized by grid - like reflective windows . Finally , slightly turn right and proceed straight to a medium - sized gray modern architectural building with a triangular apex , contrasting in size with surrounding skyscrapers . \"", "action": [ 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 9, 9, 9, 9, 1, 3, 1, 0 ], "index_list": [ "20250108_203227_2", "20250108_203228_5", "20250108_203229_8", "20250108_203229_9", "20250108_203231_12", "20250108_203232_15", "20250108_203233_18", "20250108_203235_21", "20250108_203236_24", "20250108_203237_27", "20250108_203238_30", "20250108_203240_33", "20250108_203241_36", "20250108_203242_38", "20250108_203242_39", "20250108_203244_42", "20250108_203245_45", "20250108_203246_48", "20250108_203248_51", "20250108_203248_52", "20250108_203248_53", "20250108_203249_54", "20250108_203249_55" ], "pos": [ [ 1414.3874807237676, 228.31427287281895, 3.54759650518017 ], [ 1418.8874807237676, 236.1085015068789, 3.54759650518017 ], [ 1423.3874807237676, 243.90273014093884, 3.54759650518017 ], [ 1424.8874807237676, 246.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 252.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 261.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 270.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 279.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 288.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 297.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 306.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 315.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 324.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 330.50080635229216, 3.54759650518017 ], [ 1424.8874807237676, 333.50080635229216, 3.54759650518017 ], [ 1421.8874807237676, 338.6969587749988, 3.54759650518017 ], [ 1417.3874807237676, 346.49118740905874, 3.54759650518017 ], [ 1412.8874807237676, 354.2854160431187, 3.54759650518017 ], [ 1408.3874807237676, 362.07964467717863, 3.54759650518017 ], [ 1406.8874807237676, 364.67772088853195, 3.54759650518017 ], [ 1405.3874807237676, 367.27579709988527, 3.54759650518017 ], [ 1405.3874807237676, 367.27579709988527, 3.54759650518017 ], [ 1405.3874807237676, 370.27579709988527, 3.54759650518017 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_18/astar_data/low_average/2025-1-8_17-58-13_2001100545", "gpt_instruction": "Proceed towards the tall , modern skyscraper with a reflective glass facade , which is gray in color , and features a large size . It has a grid - like pattern of windows that reflect the surrounding buildings and sky . Then , slightly turn left and continue forward to another modern skyscraper . This high - rise building appears glass - like with a reflective surface , blending black and beige hues due to reflections .", "action": [ 9, 1, 2, 8, 0 ], "index_list": [ "20250108_175816_2", "20250108_175817_3", "20250108_175817_4", "20250108_175818_6", "20250108_175818_7" ], "pos": [ [ 1686.949916158099, 607.9223114937292, -26.888958510984654 ], [ 1685.449916158099, 610.5203877050826, -26.888958510984654 ], [ 1683.949916158099, 613.118463916436, -26.888958510984654 ], [ 1681.3518399467457, 614.618463916436, -26.888958510984654 ], [ 1678.7537637353923, 616.118463916436, -26.888958510984654 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.6179938779915037, 2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/high_average/2025-1-9_21-26-41_562395735", "gpt_instruction": "Proceed directly ahead to the gray building characterized by large grid - patterned windows , slightly turn left and advance forward to the skyscraper , which is dark with white grid patterns and vertical white stripes , featuring tall window designs .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 0 ], "index_list": [ "20250109_212644_2", "20250109_212645_5", "20250109_212647_8", "20250109_212648_11", "20250109_212649_14", "20250109_212650_17", "20250109_212652_20", "20250109_212653_23", "20250109_212654_26", "20250109_212655_27", "20250109_212656_30", "20250109_212657_33", "20250109_212658_36", "20250109_212659_39", "20250109_212659_40" ], "pos": [ [ 1115.8633435672327, 763.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 772.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 781.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 790.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 799.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 808.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 817.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 826.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 835.0718613215162, 17.46431138117525 ], [ 1115.8633435672327, 838.0718613215162, 17.46431138117525 ], [ 1112.8633435672327, 843.2680137442228, 17.46431138117525 ], [ 1108.3633435672327, 851.0622423782829, 17.46431138117525 ], [ 1103.8633435672327, 858.856471012343, 17.46431138117525 ], [ 1099.3633435672327, 866.6506996464032, 17.46431138117525 ], [ 1097.8633435672327, 869.2487758577565, 17.46431138117525 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186 ] }, { "image_path": "env_airsim_18/astar_data/medium_average/2025-1-9_2-31-44_1767110751", "gpt_instruction": "Begin by walking straight towards a light beige building characterized by a pattern of rectangular windows , which is large in size . Then , slightly turn left and head straight to a modern office building that is white , featuring multiple square windows with dark panes , and is medium - to - large high - rise in size .", "action": [ 9, 9, 9, 1, 2, 9, 8, 0 ], "index_list": [ "20250109_023148_2", "20250109_023149_5", "20250109_023150_8", "20250109_023151_9", "20250109_023151_10", "20250109_023152_13", "20250109_023153_15", "20250109_023154_16" ], "pos": [ [ 1877.5180198736027, 511.574933690888, -8.37259322125965 ], [ 1868.5180198736027, 511.574933690888, -8.37259322125965 ], [ 1859.5180198736027, 511.574933690888, -8.37259322125965 ], [ 1856.5180198736027, 511.574933690888, -8.37259322125965 ], [ 1853.5180198736027, 511.574933690888, -8.37259322125965 ], [ 1848.321867450896, 508.574933690888, -8.37259322125965 ], [ 1843.1257150281892, 505.574933690888, -8.37259322125965 ], [ 1840.5276388168359, 504.074933690888, -8.37259322125965 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/low_short/2025-1-8_17-53-12_1600028624", "gpt_instruction": "Proceed straight to a beige modern low - rise building with medium size relative to taller surrounding structures , featuring rectangular windows with dark glass . Then , make a left turn to a dark gray modern building characterized by a large size and grid - like window patterns . Head straight to a medium - sized brown building with rectangular windows and brick textures . Afterward , go left slightly to it . Continue by walking straight to it . Slightly turn right and keep going straight toward it .", "action": [ 8, 2, 2, 9, 9, 9, 9, 1, 2, 2, 9, 1, 3, 8, 0 ], "index_list": [ "20250108_175315_1", "20250108_175316_2", "20250108_175316_3", "20250108_175317_6", "20250108_175319_9", "20250108_175320_12", "20250108_175321_15", "20250108_175322_16", "20250108_175322_17", "20250108_175322_18", "20250108_175324_21", "20250108_175324_22", "20250108_175324_23", "20250108_175325_25", "20250108_175326_26" ], "pos": [ [ 79.41375285474622, -168.01660307646486, -36.25378652273585 ], [ 77.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 77.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 71.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 62.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 53.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 44.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 41.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 38.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 38.91375285474622, -165.41852686511155, -36.25378652273585 ], [ 35.91375285474622, -170.61467928781818, -36.25378652273585 ], [ 34.41375285474622, -173.2127554991715, -36.25378652273585 ], [ 32.91375285474622, -175.8108317105248, -36.25378652273585 ], [ 30.315676643392905, -177.3108317105248, -36.25378652273585 ], [ 27.71760043203959, -178.8108317105248, -36.25378652273585 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.617993877991494, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.665191429188092, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.6179938779914944, -2.6179938779914944 ] }, { "image_path": "env_airsim_18/astar_data/low_long_updown/2025-1-14_15-10-7_1856669179", "gpt_instruction": "Begin by moving upward toward a medium - sized , dark gray building characterized by gothic architecture , featuring pointed roofs and numerous windows , standing in contrast to surrounding skyscrapers . Then , proceed straight to a large , dark gray structure with a rectangular shape , flat roof , and brick texture . Slightly turn left and continue straight to a large gray building with a grid - like reflective glass facade . Subsequently , slightly turn right and walk straight toward it . Finally , slightly pause and drop off at a large , dark structure with reflections on a glass facade that mirrors light on a water surface \u2014 a modern building with striking features .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 1, 3, 9, 9, 9, 9, 9, 9, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_151007_0", "20250114_151010_1", "20250114_151010_2", "20250114_151011_3", "20250114_151011_4", "20250114_151011_5", "20250114_151012_6", "20250114_151012_7", "20250114_151013_8", "20250114_151013_9", "20250114_151013_10", "20250114_151014_11", "20250114_151014_12", "20250114_151015_13", "20250114_151015_14", "20250114_151016_15", "20250114_151017_18", "20250114_151018_21", "20250114_151019_24", "20250114_151021_27", "20250114_151022_30", "20250114_151023_33", "20250114_151024_36", "20250114_151025_37", "20250114_151026_40", "20250114_151027_43", "20250114_151027_44", "20250114_151028_45", "20250114_151029_48", "20250114_151030_51", "20250114_151032_54", "20250114_151033_57", "20250114_151034_60", "20250114_151035_63", "20250114_151036_64", "20250114_151036_65", "20250114_151037_66", "20250114_151037_67", "20250114_151037_68", "20250114_151038_69", "20250114_151038_70", "20250114_151038_71", "20250114_151039_72", "20250114_151039_73", "20250114_151039_74", "20250114_151040_75", "20250114_151040_76", "20250114_151040_77", "20250114_151041_78", "20250114_151041_79", "20250114_151041_80" ], "pos": [ [ 645.4983286415123, 339.4444943751703, -47.68081891736867 ], [ 645.4983286415123, 339.4444943751703, -44.68081891736867 ], [ 645.4983286415123, 339.4444943751703, -41.68081891736867 ], [ 645.4983286415123, 339.4444943751703, -38.68081891736867 ], [ 645.4983286415123, 339.4444943751703, -35.68081891736867 ], [ 645.4983286415123, 339.4444943751703, -32.68081891736867 ], [ 645.4983286415123, 339.4444943751703, -29.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -26.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -23.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -20.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -17.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -14.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -11.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -8.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -5.680818917368672 ], [ 645.4983286415123, 339.4444943751703, -2.680818917368672 ], [ 648.4983286415123, 344.6406467978769, 0.31918108263132794 ], [ 652.9983286415123, 352.43487543193686, 0.31918108263132794 ], [ 657.4983286415123, 360.2291040659968, 0.31918108263132794 ], [ 661.9983286415123, 368.02333270005676, 0.31918108263132794 ], [ 666.4983286415123, 375.8175613341167, 0.31918108263132794 ], [ 670.9983286415123, 383.61178996817665, 0.31918108263132794 ], [ 675.4983286415123, 391.4060186022366, 0.31918108263132794 ], [ 676.9983286415123, 394.0040948135899, 0.31918108263132794 ], [ 676.9983286415123, 400.0040948135899, 0.31918108263132794 ], [ 676.9983286415123, 409.0040948135899, 0.31918108263132794 ], [ 676.9983286415123, 412.0040948135899, 0.31918108263132794 ], [ 676.9983286415123, 415.0040948135899, 0.31918108263132794 ], [ 679.9983286415123, 420.20024723629655, 0.31918108263132794 ], [ 684.4983286415123, 427.9944758703565, 0.31918108263132794 ], [ 688.9983286415123, 435.78870450441644, 0.31918108263132794 ], [ 693.4983286415123, 443.5829331384764, 0.31918108263132794 ], [ 697.9983286415123, 451.37716177253634, 0.31918108263132794 ], [ 702.4983286415123, 459.1713904065963, 0.31918108263132794 ], [ 703.9983286415123, 461.7694666179496, 0.31918108263132794 ], [ 703.9983286415123, 461.7694666179496, -2.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -5.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -8.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -11.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -14.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -17.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -20.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -23.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -26.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -29.680818917368672 ], [ 703.9983286415123, 461.7694666179496, -32.68081891736867 ], [ 703.9983286415123, 461.7694666179496, -35.68081891736867 ], [ 703.9983286415123, 461.7694666179496, -38.68081891736867 ], [ 703.9983286415123, 461.7694666179496, -41.68081891736867 ], [ 703.9983286415123, 461.7694666179496, -44.68081891736867 ], [ 703.9983286415123, 461.7694666179496, -47.68081891736867 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_airsim_18/astar_data/low_short/2025-1-8_23-21-22_940472515", "gpt_instruction": "Advance forward to a white building with rectangular windows of medium size . Then slightly turn right and move forward to a gray building , which also features rectangular windows and is medium - sized , but is of a modern type .", "action": [ 9, 9, 9, 1, 3, 8, 0 ], "index_list": [ "20250108_232125_2", "20250108_232126_5", "20250108_232128_8", "20250108_232128_9", "20250108_232128_10", "20250108_232129_12", "20250108_232130_13" ], "pos": [ [ 1697.6509100196668, 795.0910626630955, -36.25378652273585 ], [ 1693.1509100196668, 787.2968340290354, -36.25378652273585 ], [ 1688.6509100196668, 779.5026053949753, -36.25378652273585 ], [ 1687.1509100196668, 776.9045291836219, -36.25378652273585 ], [ 1685.6509100196668, 774.3064529722685, -36.25378652273585 ], [ 1683.0528338083134, 772.8064529722685, -36.25378652273585 ], [ 1680.45475759696, 771.3064529722685, -36.25378652273585 ] ], "yaw": [ -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/low_average/2025-1-9_4-12-27_1602182790", "gpt_instruction": "Proceed straight towards a medium - sized modern rooftop building with a white exterior . Then , slightly turn left and continue straight towards a medium - sized building that blends commercial and residential purposes , featuring light beige walls , grid - patterned windows , and a height similar to the surrounding structures .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 0 ], "index_list": [ "20250109_041230_2", "20250109_041231_5", "20250109_041232_8", "20250109_041234_11", "20250109_041235_14", "20250109_041236_17", "20250109_041237_20", "20250109_041238_23", "20250109_041240_26", "20250109_041241_29", "20250109_041242_30", "20250109_041243_33", "20250109_041243_34" ], "pos": [ [ 638.5300429522031, 586.6376766612564, -26.888958510984654 ], [ 643.0300429522031, 594.4319052953165, -26.888958510984654 ], [ 647.5300429522031, 602.2261339293766, -26.888958510984654 ], [ 652.0300429522031, 610.0203625634367, -26.888958510984654 ], [ 656.5300429522031, 617.8145911974968, -26.888958510984654 ], [ 661.0300429522031, 625.608819831557, -26.888958510984654 ], [ 665.5300429522031, 633.4030484656171, -26.888958510984654 ], [ 670.0300429522031, 641.1972770996772, -26.888958510984654 ], [ 674.5300429522031, 648.9915057337373, -26.888958510984654 ], [ 679.0300429522031, 656.7857343677974, -26.888958510984654 ], [ 680.5300429522031, 659.3838105791508, -26.888958510984654 ], [ 680.5300429522031, 665.3838105791508, -26.888958510984654 ], [ 680.5300429522031, 668.3838105791508, -26.888958510984654 ] ], "yaw": [ 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_18/astar_data/medium_short/2025-1-8_21-15-59_711645630", "gpt_instruction": "Proceed directly ahead to the brown fa\u00e7ade with dark and light window areas , characterized by a large rectangular grid of windows with a uniform pattern and an illuminated bottom right section , which belongs to a building fa\u00e7ade . Slightly turn left and proceed straight towards a dark grey fa\u00e7ade , featuring a brick design with uniformly arranged square windows . This structure is large , extending across multiple floors , and serves as a residential or office building .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 1, 0 ], "index_list": [ "20250108_211602_2", "20250108_211603_5", "20250108_211605_8", "20250108_211606_11", "20250108_211607_14", "20250108_211608_17", "20250108_211610_20", "20250108_211611_23", "20250108_211611_24", "20250108_211612_25", "20250108_211612_26", "20250108_211613_27" ], "pos": [ [ 470.61480830993213, -222.65371070467236, -14.030541685236908 ], [ 479.61480830993213, -222.65371070467236, -14.030541685236908 ], [ 488.61480830993213, -222.65371070467236, -14.030541685236908 ], [ 497.61480830993213, -222.65371070467236, -14.030541685236908 ], [ 506.61480830993213, -222.65371070467236, -14.030541685236908 ], [ 515.6148083099322, -222.65371070467236, -14.030541685236908 ], [ 524.6148083099322, -222.65371070467236, -14.030541685236908 ], [ 533.6148083099322, -222.65371070467236, -14.030541685236908 ], [ 536.6148083099322, -222.65371070467236, -14.030541685236908 ], [ 539.6148083099322, -222.65371070467236, -14.030541685236908 ], [ 539.6148083099322, -222.65371070467236, -14.030541685236908 ], [ 542.2128845212856, -221.15371070467236, -14.030541685236908 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_18/astar_data/medium_average/2025-1-9_1-46-37_1175989877", "gpt_instruction": "Proceed straight towards a modern skyscraper characterized by a gray glass - paneled facade with reflective windows and horizontal dividers , then slightly turn left to advance straight to a dark building featuring large glass windows in a grid - like pattern . Continue directly ahead to it . Shift right towards a light beige modern office building with dark windows and a rectangular , mesh - like grid appearance , then advance forward to a grey building with grid - like windows and pillars . Finally , slightly turn right and head straight to a white commercial office building displaying a grid - like window pattern .", "action": [ 9, 2, 9, 1, 2, 9, 9, 1, 3, 3, 9, 9, 8, 3, 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_014640_2", "20250109_014641_3", "20250109_014642_6", "20250109_014642_7", "20250109_014643_8", "20250109_014644_11", "20250109_014645_14", "20250109_014646_15", "20250109_014646_16", "20250109_014647_17", "20250109_014648_20", "20250109_014649_23", "20250109_014650_25", "20250109_014650_26", "20250109_014652_29", "20250109_014653_32", "20250109_014654_35", "20250109_014655_38", "20250109_014657_41", "20250109_014658_44", "20250109_014659_47", "20250109_014700_49", "20250109_014700_50" ], "pos": [ [ 1831.384937561523, -10.958531335074042, -8.37259322125965 ], [ 1829.884937561523, -8.360455123720726, -8.37259322125965 ], [ 1824.6887851388162, -5.360455123720726, -8.37259322125965 ], [ 1822.0907089274629, -3.860455123720726, -8.37259322125965 ], [ 1819.4926327161095, -2.360455123720726, -8.37259322125965 ], [ 1813.4926327161095, -2.360455123720725, -8.37259322125965 ], [ 1804.4926327161095, -2.360455123720724, -8.37259322125965 ], [ 1801.4926327161095, -2.3604551237207234, -8.37259322125965 ], [ 1798.4926327161095, -2.360455123720723, -8.37259322125965 ], [ 1798.4926327161095, -2.360455123720723, -8.37259322125965 ], [ 1795.4926327161095, 2.835697298985909, -8.37259322125965 ], [ 1790.9926327161095, 10.629925933045858, -8.37259322125965 ], [ 1787.9926327161095, 15.82607835575249, -8.37259322125965 ], [ 1786.4926327161095, 18.424154567105806, -8.37259322125965 ], [ 1786.4926327161095, 24.424154567105806, -8.37259322125965 ], [ 1786.4926327161095, 33.4241545671058, -8.37259322125965 ], [ 1786.4926327161095, 42.4241545671058, -8.37259322125965 ], [ 1786.4926327161095, 51.4241545671058, -8.37259322125965 ], [ 1786.4926327161095, 60.4241545671058, -8.37259322125965 ], [ 1786.4926327161095, 69.4241545671058, -8.37259322125965 ], [ 1786.4926327161095, 78.4241545671058, -8.37259322125965 ], [ 1786.4926327161095, 84.4241545671058, -8.37259322125965 ], [ 1786.4926327161095, 87.4241545671058, -8.37259322125965 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_18/astar_data/low_long/2025-1-8_18-46-34_2007905771", "gpt_instruction": "Proceed straight to the large , modern skyscraper characterized by its gray color and multi -story structure with large rectangular windows . Then , slightly turn right , continue straight , and slightly turn left to head directly towards the medium - sized commercial building with an old and worn gray fa\u00e7ade .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 1, 2, 8, 0 ], "index_list": [ "20250108_184637_2", "20250108_184638_5", "20250108_184640_8", "20250108_184641_11", "20250108_184642_14", "20250108_184643_17", "20250108_184644_20", "20250108_184646_23", "20250108_184647_26", "20250108_184648_29", "20250108_184649_32", "20250108_184650_35", "20250108_184651_36", "20250108_184651_37", "20250108_184652_38", "20250108_184653_40", "20250108_184653_41" ], "pos": [ [ 1283.603048467556, 742.6684870837455, 3.54759650518017 ], [ 1279.103048467556, 750.4627157178056, 3.54759650518017 ], [ 1274.603048467556, 758.2569443518657, 3.54759650518017 ], [ 1270.103048467556, 766.0511729859259, 3.54759650518017 ], [ 1265.603048467556, 773.845401619986, 3.54759650518017 ], [ 1261.103048467556, 781.6396302540461, 3.54759650518017 ], [ 1256.603048467556, 789.4338588881062, 3.54759650518017 ], [ 1252.103048467556, 797.2280875221663, 3.54759650518017 ], [ 1247.603048467556, 805.0223161562265, 3.54759650518017 ], [ 1243.103048467556, 812.8165447902866, 3.54759650518017 ], [ 1238.603048467556, 820.6107734243467, 3.54759650518017 ], [ 1234.103048467556, 828.4050020584068, 3.54759650518017 ], [ 1232.603048467556, 831.0030782697602, 3.54759650518017 ], [ 1232.603048467556, 831.0030782697602, 3.54759650518017 ], [ 1232.603048467556, 834.0030782697602, 3.54759650518017 ], [ 1231.103048467556, 836.6011544811136, 3.54759650518017 ], [ 1229.603048467556, 839.1992306924669, 3.54759650518017 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 1.5707963267948872, 1.5707963267948966, 2.094395102393186, 2.094395102393186 ] }, { "image_path": "env_airsim_18/astar_data/low_average/2025-1-8_21-21-24_1500474762", "gpt_instruction": "Proceed directly ahead towards a large brown building with windows , then slightly turn left and walk straight towards a taller brown brick commercial structure featuring multiple stories and a grid of square windows .", "action": [ 9, 9, 9, 9, 9, 9, 8, 2, 9, 9, 9, 1, 0 ], "index_list": [ "20250108_212128_2", "20250108_212129_5", "20250108_212130_8", "20250108_212131_11", "20250108_212132_14", "20250108_212133_17", "20250108_212134_19", "20250108_212135_20", "20250108_212136_23", "20250108_212137_26", "20250108_212138_29", "20250108_212139_30", "20250108_212139_31" ], "pos": [ [ 1059.5822043606254, 817.8614526952919, -26.888958510984654 ], [ 1050.5822043606254, 817.8614526952919, -26.888958510984654 ], [ 1041.5822043606254, 817.8614526952919, -26.888958510984654 ], [ 1032.5822043606254, 817.8614526952919, -26.888958510984654 ], [ 1023.5822043606254, 817.8614526952919, -26.888958510984654 ], [ 1014.5822043606254, 817.8614526952919, -26.888958510984654 ], [ 1008.5822043606254, 817.8614526952919, -26.888958510984654 ], [ 1005.5822043606254, 817.8614526952919, -26.888958510984654 ], [ 1000.3860519379186, 814.8614526952919, -26.888958510984654 ], [ 992.5918233038585, 810.3614526952919, -26.888958510984654 ], [ 984.7975946697984, 805.8614526952919, -26.888958510984654 ], [ 982.199518458445, 804.3614526952919, -26.888958510984654 ], [ 979.6014422470917, 802.8614526952919, -26.888958510984654 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/low_long/2025-01-19_01-08-06_438584", "gpt_instruction": "Proceed straight towards the gray building , featuring large arched windows with columns . Slightly ascend to encounter a carved stone sculpture resembling a crouching creature , likely a gargoyle . Then , slightly veer right to the large brown building adorned with arched windows . Next , slightly turn left heading straight towards another brown building , this time with large rectangular windows topped with a red section , identified as a brick building . Finally , descend to a large , multi - story commercial or office building characterized by numerous evenly spaced rectangular windows with arches at the top .", "action": [ 9, 4, 9, 9, 9, 9, 9, 9, 9, 1, 3, 9, 2, 9, 9, 9, 9, 9, 9, 9, 1, 5, 0 ], "index_list": [ "20250119_010809_2", "20250119_010809_3", "20250119_010812_6", "20250119_010814_9", "20250119_010817_12", "20250119_010819_15", "20250119_010821_18", "20250119_010824_21", "20250119_010826_24", "20250119_010827_25", "20250119_010828_26", "20250119_010830_29", "20250119_010831_30", "20250119_010834_33", "20250119_010836_36", "20250119_010838_39", "20250119_010841_42", "20250119_010843_45", "20250119_010845_48", "20250119_010848_51", "20250119_010849_52", "20250119_010849_53", "20250119_010850_54" ], "pos": [ [ 879.1182727226317, -100.12155985486402, 3.54759650518017 ], [ 877.6182727226317, -97.5234836435107, 3.54759650518017 ], [ 874.6182727226317, -92.32733122080407, 6.54759650518017 ], [ 870.1182727226317, -84.53310258674412, 6.54759650518017 ], [ 865.6182727226317, -76.73887395268417, 6.54759650518017 ], [ 861.1182727226317, -68.94464531862423, 6.54759650518017 ], [ 856.6182727226317, -61.15041668456428, 6.54759650518017 ], [ 852.1182727226317, -53.35618805050433, 6.54759650518017 ], [ 847.6182727226317, -45.56195941644438, 6.54759650518017 ], [ 846.1182727226317, -42.963883205091065, 6.54759650518017 ], [ 844.6182727226317, -40.36580699373775, 6.54759650518017 ], [ 844.6182727226317, -34.36580699373775, 6.54759650518017 ], [ 844.6182727226317, -31.36580699373775, 6.54759650518017 ], [ 841.6182727226317, -26.169654571031117, 6.54759650518017 ], [ 837.1182727226317, -18.37542593697117, 6.54759650518017 ], [ 832.6182727226317, -10.581197302911221, 6.54759650518017 ], [ 828.1182727226317, -2.786968668851273, 6.54759650518017 ], [ 823.6182727226317, 5.007259965208675, 6.54759650518017 ], [ 819.1182727226317, 12.801488599268623, 6.54759650518017 ], [ 814.6182727226317, 20.59571723332857, 6.54759650518017 ], [ 813.1182727226317, 23.193793444681887, 6.54759650518017 ], [ 811.6182727226317, 25.791869656035203, 6.54759650518017 ], [ 811.6182727226317, 25.791869656035203, 3.54759650518017 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_airsim_18/astar_data/high_average/2025-1-9_21-34-35_379461075", "gpt_instruction": "Move ahead to a medium - sized gray building with rectangular windows and a flat roof , then slightly turn right and head straight to it .", "action": [ 9, 9, 8, 3, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_213438_2", "20250109_213439_5", "20250109_213440_7", "20250109_213441_8", "20250109_213442_11", "20250109_213443_14", "20250109_213444_17", "20250109_213445_20", "20250109_213446_22", "20250109_213447_23" ], "pos": [ [ 1407.324700740385, 497.79226019810903, 17.46431138117525 ], [ 1416.324700740385, 497.79226019810903, 17.46431138117525 ], [ 1422.324700740385, 497.79226019810903, 17.46431138117525 ], [ 1425.324700740385, 497.79226019810903, 17.46431138117525 ], [ 1430.5208531630917, 494.79226019810903, 17.46431138117525 ], [ 1438.3150817971518, 490.29226019810903, 17.46431138117525 ], [ 1446.109310431212, 485.79226019810903, 17.46431138117525 ], [ 1453.903539065272, 481.29226019810903, 17.46431138117525 ], [ 1459.0996914879788, 478.29226019810903, 17.46431138117525 ], [ 1461.6977676993322, 476.79226019810903, 17.46431138117525 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_18/astar_data/high_short/2025-1-9_17-38-58_70788355", "gpt_instruction": "Proceed straight towards the building , a large high - rise structure with a distinct facade . It features a dark color with illuminated sections and a grid - like pattern that includes some lit - up windows , occupying most of the frame .", "action": [ 9, 9, 8, 0 ], "index_list": [ "20250109_173902_2", "20250109_173903_5", "20250109_173904_7", "20250109_173904_8" ], "pos": [ [ 999.7168406858884, 430.5087134355858, 36.154775318277345 ], [ 991.9226120518283, 435.0087134355858, 36.154775318277345 ], [ 986.7264596291216, 438.0087134355858, 36.154775318277345 ], [ 984.1283834177682, 439.5087134355858, 36.154775318277345 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/high_short/2025-1-9_17-6-53_1520223205", "gpt_instruction": "Move forward towards a dark structure with white grid lines , characterized by a curved glass facade with a grid pattern . It is large , occupying most of the image center , and is a skyscraper or office building .", "action": [ 8, 0 ], "index_list": [ "20250109_170656_1", "20250109_170656_2" ], "pos": [ [ 1199.9496091436129, 397.0675080247116, 36.154775318277345 ], [ 1201.4496091436129, 399.6655842360649, 36.154775318277345 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_airsim_18/astar_data/low_average/2025-01-18_22-08-24_294515", "gpt_instruction": "Start by ascending towards a white building featuring multiple black windows of medium size . Continue forward to reach a light beige building with large , grid - patterned rectangular windows . Slightly turn left and proceed to arrive at a light gray building characterized by a flat rooftop with peeling paint , which is also large in size . Then , slightly turn right and move ahead to a white , modern office building that has medium height , noted for its rectangular windows with a grid - like arrangement .", "action": [ 1, 4, 9, 9, 9, 9, 2, 9, 9, 9, 3, 9, 9, 0 ], "index_list": [ "20250118_220825_0", "20250118_220826_1", "20250118_220828_4", "20250118_220830_7", "20250118_220833_10", "20250118_220835_13", "20250118_220836_14", "20250118_220838_17", "20250118_220841_20", "20250118_220843_23", "20250118_220844_24", "20250118_220846_27", "20250118_220848_30", "20250118_220849_31" ], "pos": [ [ 1291.2593551336568, -151.74239262578803, -26.888958510984654 ], [ 1288.6612789223034, -153.24239262578803, -26.888958510984654 ], [ 1283.4651264995966, -156.24239262578803, -23.888958510984654 ], [ 1275.6708978655365, -160.74239262578803, -23.888958510984654 ], [ 1267.8766692314764, -165.24239262578803, -23.888958510984654 ], [ 1260.0824405974163, -169.74239262578803, -23.888958510984654 ], [ 1257.484364386063, -171.24239262578803, -23.888958510984654 ], [ 1254.484364386063, -176.43854504849466, -23.888958510984654 ], [ 1249.984364386063, -184.2327736825546, -23.888958510984654 ], [ 1245.484364386063, -192.02700231661456, -23.888958510984654 ], [ 1243.984364386063, -194.62507852796787, -23.888958510984654 ], [ 1238.7882119633562, -197.62507852796787, -23.888958510984654 ], [ 1230.993983329296, -202.12507852796787, -23.888958510984654 ], [ 1228.3959071179427, -203.62507852796787, -23.888958510984654 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/high_average/2025-1-9_16-51-22_1884661237", "gpt_instruction": "Continue proceeding straight until you reach a large , green , square area characterized by grass , then slightly turn left and move ahead towards a tall skyscraper , which is a large and tall structure featuring a black and white color scheme , with a grid pattern of windows and some illuminated sections .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 0 ], "index_list": [ "20250109_165125_2", "20250109_165126_5", "20250109_165128_8", "20250109_165129_11", "20250109_165130_14", "20250109_165131_17", "20250109_165132_20", "20250109_165134_23", "20250109_165135_26", "20250109_165135_27", "20250109_165136_30", "20250109_165138_33", "20250109_165139_36", "20250109_165139_37" ], "pos": [ [ 1219.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1210.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1201.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1192.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1183.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1174.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1165.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1156.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1147.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1144.6082345870059, 913.6622814652469, 17.46431138117525 ], [ 1139.4120821642991, 910.6622814652469, 17.46431138117525 ], [ 1131.617853530239, 906.1622814652469, 17.46431138117525 ], [ 1123.823624896179, 901.6622814652469, 17.46431138117525 ], [ 1121.2255486848255, 900.1622814652469, 17.46431138117525 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_18/astar_data/medium_average_updown/2025-1-14_11-46-56_1189641421", "gpt_instruction": "First , climb to the off - white , medium - sized building featuring a rectangular structure with large windows . Then , move ahead to the brown , large building that showcases rectangular windows with arches on the upper floors . Slightly turn left and head straight to it . Finally , slightly stop and descend to the modern office building , brown with black glass , featuring large glass windows in a grid pattern and elevated on columns , medium to large in size .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 9, 9, 9, 9, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_114656_0", "20250114_114659_1", "20250114_114700_2", "20250114_114700_3", "20250114_114701_4", "20250114_114701_5", "20250114_114701_6", "20250114_114702_7", "20250114_114702_8", "20250114_114703_9", "20250114_114703_10", "20250114_114704_11", "20250114_114704_12", "20250114_114705_13", "20250114_114705_14", "20250114_114706_17", "20250114_114708_20", "20250114_114709_23", "20250114_114710_26", "20250114_114712_29", "20250114_114713_32", "20250114_114714_35", "20250114_114716_38", "20250114_114716_40", "20250114_114717_41", "20250114_114718_44", "20250114_114719_47", "20250114_114721_50", "20250114_114722_53", "20250114_114723_55", "20250114_114723_56", "20250114_114724_57", "20250114_114724_58", "20250114_114725_59", "20250114_114725_60", "20250114_114726_61", "20250114_114726_62", "20250114_114726_63", "20250114_114727_64", "20250114_114727_65", "20250114_114728_66", "20250114_114728_67", "20250114_114729_68", "20250114_114729_69", "20250114_114729_70", "20250114_114730_71" ], "pos": [ [ 935.5569030002694, 75.00912725847023, -46.77311792602363 ], [ 935.5569030002694, 75.00912725847023, -43.77311792602363 ], [ 935.5569030002694, 75.00912725847023, -40.77311792602363 ], [ 935.5569030002694, 75.00912725847023, -37.77311792602363 ], [ 935.5569030002694, 75.00912725847023, -34.77311792602363 ], [ 935.5569030002694, 75.00912725847023, -31.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -28.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -25.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -22.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -19.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -16.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -13.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -10.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -7.773117926023627 ], [ 935.5569030002694, 75.00912725847023, -4.773117926023627 ], [ 929.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 920.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 911.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 902.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 893.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 884.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 875.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 866.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 860.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 857.5569030002694, 75.00912725847023, -1.7731179260236267 ], [ 852.3607505775626, 72.00912725847023, -1.7731179260236267 ], [ 844.5665219435025, 67.50912725847023, -1.7731179260236267 ], [ 836.7722933094424, 63.00912725847023, -1.7731179260236267 ], [ 828.9780646753823, 58.50912725847023, -1.7731179260236267 ], [ 823.7819122526755, 55.50912725847023, -1.7731179260236267 ], [ 821.1838360413221, 54.00912725847023, -1.7731179260236267 ], [ 821.1838360413221, 54.00912725847023, -4.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -7.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -10.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -13.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -16.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -19.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -22.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -25.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -28.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -31.773117926023627 ], [ 821.1838360413221, 54.00912725847023, -34.77311792602363 ], [ 821.1838360413221, 54.00912725847023, -37.77311792602363 ], [ 821.1838360413221, 54.00912725847023, -40.77311792602363 ], [ 821.1838360413221, 54.00912725847023, -43.77311792602363 ], [ 821.1838360413221, 54.00912725847023, -46.77311792602363 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_23/astar_data/medium_average/2025-1-9_12-28-13_2103318776", "gpt_instruction": "Move ahead to a light gray circular layered structure , which could be a water tank or a monument , then make a slight right turn and proceed directly to a grey modern building featuring medium rectangular windows . Veer left slightly to it . Slightly turn right again to continue straight to it .", "action": [ 9, 9, 9, 9, 8, 3, 9, 9, 9, 8, 2, 2, 9, 9, 3, 9, 9, 0 ], "index_list": [ "20250109_122817_2", "20250109_122818_5", "20250109_122819_8", "20250109_122820_11", "20250109_122821_13", "20250109_122821_14", "20250109_122823_17", "20250109_122824_20", "20250109_122825_23", "20250109_122826_25", "20250109_122826_26", "20250109_122827_27", "20250109_122828_30", "20250109_122829_33", "20250109_122829_34", "20250109_122831_37", "20250109_122832_40", "20250109_122832_41" ], "pos": [ [ -127.1057155276578, -72.63247464659972, 57.77929372836308 ], [ -122.6057155276578, -80.42670328065967, 57.77929372836308 ], [ -118.1057155276578, -88.22093191471961, 57.77929372836308 ], [ -113.6057155276578, -96.01516054877956, 57.77929372836308 ], [ -110.6057155276578, -101.2113129714862, 57.77929372836308 ], [ -109.1057155276578, -103.80938918283951, 57.77929372836308 ], [ -109.1057155276578, -109.80938918283951, 57.77929372836308 ], [ -109.1057155276578, -118.80938918283951, 57.77929372836308 ], [ -109.1057155276578, -127.80938918283951, 57.77929372836308 ], [ -109.1057155276578, -133.8093891828395, 57.77929372836308 ], [ -109.1057155276578, -136.8093891828395, 57.77929372836308 ], [ -109.1057155276578, -136.8093891828395, 57.77929372836308 ], [ -103.90956310495116, -139.8093891828395, 57.77929372836308 ], [ -96.11533447089121, -144.3093891828395, 57.77929372836308 ], [ -93.5172582595379, -145.8093891828395, 57.77929372836308 ], [ -90.5172582595379, -151.00554160554614, 57.77929372836308 ], [ -86.0172582595379, -158.7997702396061, 57.77929372836308 ], [ -84.5172582595379, -161.3978464509594, 57.77929372836308 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_23/astar_data/medium_short/2025-1-9_12-33-47_780821396", "gpt_instruction": "Move straight towards a large brown building characterized by flat structures with small protruding components , then slightly turn left and proceed straight to a large brown building exterior featuring vent - like structures with horizontal slats , occupying the majority of the frontal view , and equipped with a large louvered vent or light fixture .", "action": [ 9, 9, 9, 1, 2, 9, 1, 0 ], "index_list": [ "20250109_123350_2", "20250109_123351_5", "20250109_123353_8", "20250109_123353_9", "20250109_123353_10", "20250109_123355_13", "20250109_123355_14", "20250109_123356_15" ], "pos": [ [ -262.7599865513647, -155.0728361316883, 72.24787185243571 ], [ -258.2599865513647, -147.27860749762834, 72.24787185243571 ], [ -253.7599865513647, -139.4843788635684, 72.24787185243571 ], [ -252.2599865513647, -136.88630265221508, 72.24787185243571 ], [ -250.7599865513647, -134.28822644086176, 72.24787185243571 ], [ -250.7599865513647, -128.28822644086176, 72.24787185243571 ], [ -250.7599865513647, -125.28822644086176, 72.24787185243571 ], [ -250.7599865513647, -122.28822644086176, 72.24787185243571 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_23/astar_data/low_short/2025-1-2_16-58-6_1760243555", "gpt_instruction": "Move forward to the medium - sized gray apartment building characterized by horizontal slats and protruding balconies , then veer right toward the large gray skyscraper featuring rectangular windows . Next , go directly ahead to the tall light beige modern building with similar window designs . Slightly turn left , moving ahead to the large gray modern building with rectangular windows and a concrete texture . Finally , slightly turn right to go directly ahead to the large light beige modern high - rise building featuring recessed windows .", "action": [ 9, 9, 9, 3, 3, 9, 9, 1, 2, 9, 9, 8, 3, 8, 0 ], "index_list": [ "20250102_165809_2", "20250102_165810_5", "20250102_165812_8", "20250102_165812_9", "20250102_165812_10", "20250102_165814_13", "20250102_165815_16", "20250102_165815_17", "20250102_165816_18", "20250102_165817_21", "20250102_165818_24", "20250102_165819_26", "20250102_165819_27", "20250102_165820_29", "20250102_165821_30" ], "pos": [ [ -104.01281563157974, -238.71295749113162, 30.35382592660265 ], [ -95.01281563157974, -238.71295749113162, 30.35382592660265 ], [ -86.01281563157974, -238.71295749113162, 30.35382592660265 ], [ -83.01281563157974, -238.71295749113162, 30.35382592660265 ], [ -83.01281563157974, -238.71295749113162, 30.35382592660265 ], [ -80.01281563157974, -243.90910991383825, 30.35382592660265 ], [ -75.51281563157974, -251.7033385478982, 30.35382592660265 ], [ -74.01281563157974, -254.30141475925151, 30.35382592660265 ], [ -72.51281563157974, -256.8994909706048, 30.35382592660265 ], [ -67.31666320887311, -259.8994909706048, 30.35382592660265 ], [ -59.52243457481316, -264.3994909706048, 30.35382592660265 ], [ -54.32628215210653, -267.3994909706048, 30.35382592660265 ], [ -51.72820594075321, -268.8994909706048, 30.35382592660265 ], [ -50.22820594075321, -271.4975671819581, 30.35382592660265 ], [ -48.72820594075321, -274.09564339331143, 30.35382592660265 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.047197551196593, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_23/astar_data/high_short/2025-1-9_20-48-29_1376710097", "gpt_instruction": "Continue moving forward until you reach the building characterized by a grey flat roof with ventilation openings of large size and designated as a building roof . Then , make a slight right turn and proceed straight towards the commercial building , which features a light gray flat roof with multiple ventilation units and distinct geometric indentations near the edge , and is medium - sized in a dense urban area .", "action": [ 9, 9, 9, 9, 9, 9, 9, 3, 8, 0 ], "index_list": [ "20250109_204832_2", "20250109_204834_5", "20250109_204835_8", "20250109_204836_11", "20250109_204838_14", "20250109_204839_17", "20250109_204840_20", "20250109_204841_21", "20250109_204842_23", "20250109_204842_24" ], "pos": [ [ 149.92645169574357, -109.42481849120705, 103.16609352836659 ], [ 140.92645169574357, -109.42481849120705, 103.16609352836659 ], [ 131.92645169574357, -109.42481849120705, 103.16609352836659 ], [ 122.92645169574357, -109.42481849120705, 103.16609352836659 ], [ 113.92645169574357, -109.42481849120705, 103.16609352836659 ], [ 104.92645169574357, -109.42481849120705, 103.16609352836659 ], [ 95.92645169574357, -109.42481849120705, 103.16609352836659 ], [ 92.92645169574357, -109.42481849120705, 103.16609352836659 ], [ 90.32837548439025, -107.92481849120705, 103.16609352836659 ], [ 87.73029927303693, -106.42481849120705, 103.16609352836659 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_23/astar_data/medium_average/2025-1-9_11-49-34_1780695788", "gpt_instruction": "Advance forward toward a large yellow metallic structure with a horizontal beam ( a construction crane ) , slightly turn right and move ahead to reach a dark rectangular multi - story building with glass windows ( a skyscraper ) , then slightly turn left and walk straight to approach a dark gray cylindrical structure with rounded edges and visible ventilation pipes , mid-sized compared to surrounding buildings ( a commercial / utility building ) .", "action": [ 9, 9, 9, 9, 9, 1, 3, 9, 1, 2, 1, 0 ], "index_list": [ "20250109_114938_2", "20250109_114939_5", "20250109_114940_8", "20250109_114942_11", "20250109_114943_14", "20250109_114943_15", "20250109_114944_16", "20250109_114945_19", "20250109_114945_20", "20250109_114946_21", "20250109_114946_22", "20250109_114946_23" ], "pos": [ [ -47.56557370746761, 130.99120274334882, 57.77929372836308 ], [ -39.77134507340766, 126.49120274334882, 57.77929372836308 ], [ -31.97711643934771, 121.99120274334882, 57.77929372836308 ], [ -24.182887805287763, 117.49120274334882, 57.77929372836308 ], [ -16.388659171227815, 112.99120274334882, 57.77929372836308 ], [ -13.790582959874499, 111.49120274334882, 57.77929372836308 ], [ -11.192506748521183, 109.99120274334882, 57.77929372836308 ], [ -8.192506748521183, 104.79505032064219, 57.77929372836308 ], [ -6.692506748521183, 102.19697410928887, 57.77929372836308 ], [ -5.192506748521183, 99.59889789793556, 57.77929372836308 ], [ -5.192506748521183, 99.59889789793556, 57.77929372836308 ], [ -2.5944305371678666, 98.09889789793556, 57.77929372836308 ] ], "yaw": [ -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.523598775598299, -0.523598775598299 ] }, { "image_path": "env_airsim_23/astar_data/high_short/2025-1-9_21-0-7_438792350", "gpt_instruction": "Proceed directly forward to the gray high - rise building characterized by modern architecture , rooftop structures , and ducts , then slightly turn right and walk straight to the gray building with rounded edges , also featuring rooftop structures and ductwork ; it is large and has multiple stories .", "action": [ 9, 9, 9, 9, 1, 3, 9, 8, 0 ], "index_list": [ "20250109_210011_2", "20250109_210012_5", "20250109_210014_8", "20250109_210015_11", "20250109_210015_12", "20250109_210016_13", "20250109_210017_16", "20250109_210018_18", "20250109_210018_19" ], "pos": [ [ 249.07239744579363, -190.43632138445173, 103.16609352836659 ], [ 241.27816881173368, -194.93632138445173, 103.16609352836659 ], [ 233.48394017767373, -199.43632138445173, 103.16609352836659 ], [ 225.68971154361378, -203.93632138445173, 103.16609352836659 ], [ 223.09163533226047, -205.43632138445173, 103.16609352836659 ], [ 220.49355912090715, -206.93632138445173, 103.16609352836659 ], [ 214.49355912090715, -206.93632138445173, 103.16609352836659 ], [ 208.49355912090715, -206.93632138445173, 103.16609352836659 ], [ 205.49355912090715, -206.93632138445173, 103.16609352836659 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_23/astar_data/medium_long/2025-1-9_14-16-7_964445884", "gpt_instruction": "Advance forward to a gray high - rise building characterized by a large rectangular structure with a repeated window pattern . Then , slightly turn left and proceed straight to it . Next , slightly turn right and keep going straight to it .", "action": [ 9, 9, 9, 1, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 3, 9, 9, 9, 0 ], "index_list": [ "20250109_141611_2", "20250109_141612_5", "20250109_141613_8", "20250109_141614_9", "20250109_141614_10", "20250109_141615_13", "20250109_141617_16", "20250109_141618_19", "20250109_141619_22", "20250109_141620_25", "20250109_141622_28", "20250109_141623_31", "20250109_141624_34", "20250109_141625_37", "20250109_141626_38", "20250109_141626_39", "20250109_141627_42", "20250109_141628_45", "20250109_141630_48", "20250109_141630_49" ], "pos": [ [ -197.82073422066455, -74.12127069226673, 53.770209583431736 ], [ -193.32073422066455, -81.91549932632668, 53.770209583431736 ], [ -188.82073422066455, -89.70972796038663, 53.770209583431736 ], [ -187.32073422066455, -92.30780417173995, 53.770209583431736 ], [ -185.82073422066455, -94.90588038309326, 53.770209583431736 ], [ -180.62458179795792, -97.90588038309326, 53.770209583431736 ], [ -172.83035316389797, -102.40588038309326, 53.770209583431736 ], [ -165.03612452983802, -106.90588038309326, 53.770209583431736 ], [ -157.24189589577807, -111.40588038309326, 53.770209583431736 ], [ -149.44766726171812, -115.90588038309326, 53.770209583431736 ], [ -141.65343862765818, -120.40588038309326, 53.770209583431736 ], [ -133.85920999359823, -124.90588038309326, 53.770209583431736 ], [ -126.06498135953828, -129.40588038309326, 53.770209583431736 ], [ -118.27075272547833, -133.90588038309326, 53.770209583431736 ], [ -115.67267651412502, -135.40588038309326, 53.770209583431736 ], [ -113.0746003027717, -136.90588038309326, 53.770209583431736 ], [ -110.0746003027717, -142.1020328057999, 53.770209583431736 ], [ -105.5746003027717, -149.89626143985984, 53.770209583431736 ], [ -101.0746003027717, -157.6904900739198, 53.770209583431736 ], [ -99.5746003027717, -160.2885662852731, 53.770209583431736 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_23/astar_data/medium_short/2025-1-9_12-35-14_570073850", "gpt_instruction": "Proceed straight to the large gray residential apartment building with curved balconies and corners , then slightly turn left and continue straight to it .", "action": [ 9, 9, 9, 1, 2, 9, 9, 0 ], "index_list": [ "20250109_123518_2", "20250109_123519_5", "20250109_123520_8", "20250109_123521_9", "20250109_123521_10", "20250109_123522_13", "20250109_123524_16", "20250109_123524_17" ], "pos": [ [ -104.97224670493236, -269.21401298943226, 72.24787185243571 ], [ -109.47224670493236, -261.4197843553723, 72.24787185243571 ], [ -113.97224670493236, -253.62555572131237, 72.24787185243571 ], [ -115.47224670493236, -251.02747950995905, 72.24787185243571 ], [ -116.97224670493236, -248.42940329860573, 72.24787185243571 ], [ -122.16839912763899, -245.42940329860573, 72.24787185243571 ], [ -129.96262776169894, -240.92940329860573, 72.24787185243571 ], [ -132.56070397305226, -239.42940329860573, 72.24787185243571 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_23/astar_data/high_average/2025-1-9_20-28-1_596516649", "gpt_instruction": "Move forward to a gray building characterized by multiple rectangular windows arranged in a grid pattern ; it is a tall , high - rise structure . Slightly turn right and walk straight to it .", "action": [ 9, 9, 9, 9, 9, 8, 3, 8, 0 ], "index_list": [ "20250109_202805_2", "20250109_202806_5", "20250109_202807_8", "20250109_202809_11", "20250109_202810_14", "20250109_202811_16", "20250109_202811_17", "20250109_202812_19", "20250109_202812_20" ], "pos": [ [ -135.28435101037988, -104.79580088425797, 100.009458039131 ], [ -144.28435101037988, -104.79580088425797, 100.009458039131 ], [ -153.28435101037988, -104.79580088425797, 100.009458039131 ], [ -162.28435101037988, -104.79580088425797, 100.009458039131 ], [ -171.28435101037988, -104.79580088425797, 100.009458039131 ], [ -177.28435101037988, -104.79580088425797, 100.009458039131 ], [ -180.28435101037988, -104.79580088425797, 100.009458039131 ], [ -182.8824272217332, -103.29580088425797, 100.009458039131 ], [ -185.4805034330865, -101.79580088425797, 100.009458039131 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_23/astar_data/high_short/2025-1-9_21-30-38_349517445", "gpt_instruction": "Proceed straight towards a light gray , medium - sized building characterized by modern architectural design with horizontal stripes and aligned rectangular windows . Then , slightly turn right and continue straight towards another light gray building , which is a tall high - rise featuring a grid - like arrangement of square windows and a flat - top design .", "action": [ 9, 1, 3, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250109_213041_2", "20250109_213042_3", "20250109_213042_4", "20250109_213044_7", "20250109_213045_10", "20250109_213046_13", "20250109_213048_16", "20250109_213049_19", "20250109_213049_20" ], "pos": [ [ -201.8419799804941, 135.13643992462698, 103.16609352836659 ], [ -198.8419799804941, 135.13643992462698, 103.16609352836659 ], [ -195.8419799804941, 135.13643992462698, 103.16609352836659 ], [ -190.64582755778747, 132.13643992462698, 103.16609352836659 ], [ -182.85159892372752, 127.63643992462698, 103.16609352836659 ], [ -175.05737028966757, 123.13643992462698, 103.16609352836659 ], [ -167.26314165560763, 118.63643992462698, 103.16609352836659 ], [ -159.46891302154768, 114.13643992462698, 103.16609352836659 ], [ -156.87083681019436, 112.63643992462698, 103.16609352836659 ] ], "yaw": [ 0.0, 0.0, 0.0, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_23/astar_data/medium_short/2025-1-9_12-0-20_1626276121", "gpt_instruction": "Veer left toward a dark gray structure featuring horizontal slats with visible shadow detailing , characterized by its large size and classified as a building . Then , advance forward to it . Next , slightly turn right and move forward toward it .", "action": [ 1, 2, 2, 9, 8, 3, 9, 1, 0 ], "index_list": [ "20250109_120020_0", "20250109_120023_1", "20250109_120024_2", "20250109_120025_5", "20250109_120026_7", "20250109_120026_8", "20250109_120027_11", "20250109_120028_12", "20250109_120028_13" ], "pos": [ [ -132.1278341134414, -78.34970404155976, 72.24787185243571 ], [ -129.1278341134414, -78.34970404155976, 72.24787185243571 ], [ -129.1278341134414, -78.34970404155976, 72.24787185243571 ], [ -126.1278341134414, -73.15355161885313, 72.24787185243571 ], [ -123.1278341134414, -67.9573991961465, 72.24787185243571 ], [ -121.6278341134414, -65.35932298479318, 72.24787185243571 ], [ -116.43168169073476, -62.35932298479318, 72.24787185243571 ], [ -113.83360547938145, -60.85932298479318, 72.24787185243571 ], [ -111.23552926802813, -59.35932298479318, 72.24787185243571 ] ], "yaw": [ 0.0, 0.0, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_23/astar_data/high_average/2025-1-9_20-54-13_943947739", "gpt_instruction": "Head straight towards the gray building with rectangular windows and modern design ; it 's tall . Then , slightly turn right and continue straight to it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 3, 1, 0 ], "index_list": [ "20250109_205416_2", "20250109_205417_5", "20250109_205419_8", "20250109_205420_11", "20250109_205421_14", "20250109_205422_17", "20250109_205423_20", "20250109_205425_23", "20250109_205425_24", "20250109_205426_25", "20250109_205426_26" ], "pos": [ [ 239.7862680978692, -67.0457698695788, 100.009458039131 ], [ 247.58049673192914, -71.5457698695788, 100.009458039131 ], [ 255.3747253659891, -76.0457698695788, 100.009458039131 ], [ 263.16895400004904, -80.5457698695788, 100.009458039131 ], [ 270.963182634109, -85.0457698695788, 100.009458039131 ], [ 278.75741126816894, -89.5457698695788, 100.009458039131 ], [ 286.5516399022289, -94.0457698695788, 100.009458039131 ], [ 294.34586853628883, -98.5457698695788, 100.009458039131 ], [ 296.94394474764215, -100.0457698695788, 100.009458039131 ], [ 296.94394474764215, -100.0457698695788, 100.009458039131 ], [ 298.44394474764215, -102.64384608093212, 100.009458039131 ] ], "yaw": [ -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -1.0471975511965976, -1.0471975511965976 ] }, { "image_path": "env_airsim_23/astar_data/medium_average/2025-1-9_12-46-47_1977648522", "gpt_instruction": "Proceed directly ahead to a large gray reinforced concrete structure characterized by rounded edges with grooves . Then , turn left towards another large gray concrete structure featuring a cylindrical shape . Next , move slightly forward to a large gray high - rise building with a rectangular structure and multiple windows . Slightly turn left again and move forward to a large light gray high - rise building adorned with vertical lines on the facade and rooftop antennas . Slightly turn left and go directly ahead to encounter it . Finally , slightly turn right and move forward to a large grey industrial or commercial building with a uniform concrete facade and horizontal window slits .", "action": [ 9, 9, 9, 1, 2, 2, 1, 2, 9, 9, 9, 9, 9, 1, 2, 9, 9, 9, 9, 1, 2, 9, 9, 9, 8, 3, 8, 0 ], "index_list": [ "20250109_124650_2", "20250109_124651_5", "20250109_124652_8", "20250109_124653_9", "20250109_124653_10", "20250109_124654_11", "20250109_124654_12", "20250109_124654_13", "20250109_124656_16", "20250109_124657_19", "20250109_124658_22", "20250109_124659_25", "20250109_124700_28", "20250109_124700_29", "20250109_124701_30", "20250109_124702_33", "20250109_124703_36", "20250109_124705_39", "20250109_124706_42", "20250109_124706_43", "20250109_124706_44", "20250109_124708_47", "20250109_124709_50", "20250109_124710_53", "20250109_124711_55", "20250109_124711_56", "20250109_124712_58", "20250109_124712_59" ], "pos": [ [ 191.02300203115612, 87.8260315434583, 57.77929372836308 ], [ 191.02300203115612, 78.8260315434583, 57.77929372836308 ], [ 191.02300203115612, 69.8260315434583, 57.77929372836308 ], [ 191.02300203115612, 66.8260315434583, 57.77929372836308 ], [ 191.02300203115612, 63.8260315434583, 57.77929372836308 ], [ 191.02300203115612, 63.8260315434583, 57.77929372836308 ], [ 191.02300203115612, 63.8260315434583, 57.77929372836308 ], [ 193.62107824250944, 62.3260315434583, 57.77929372836308 ], [ 199.62107824250944, 62.3260315434583, 57.77929372836308 ], [ 208.62107824250944, 62.3260315434583, 57.77929372836308 ], [ 217.62107824250944, 62.3260315434583, 57.77929372836308 ], [ 226.62107824250944, 62.3260315434583, 57.77929372836308 ], [ 235.62107824250944, 62.3260315434583, 57.77929372836308 ], [ 238.62107824250944, 62.3260315434583, 57.77929372836308 ], [ 241.62107824250944, 62.3260315434583, 57.77929372836308 ], [ 246.81723066521607, 65.3260315434583, 57.77929372836308 ], [ 254.61145929927602, 69.8260315434583, 57.77929372836308 ], [ 262.40568793333597, 74.3260315434583, 57.77929372836308 ], [ 270.1999165673959, 78.8260315434583, 57.77929372836308 ], [ 272.79799277874923, 80.3260315434583, 57.77929372836308 ], [ 275.39606899010255, 81.8260315434583, 57.77929372836308 ], [ 278.39606899010255, 87.02218396616493, 57.77929372836308 ], [ 282.89606899010255, 94.81641260022488, 57.77929372836308 ], [ 287.39606899010255, 102.61064123428483, 57.77929372836308 ], [ 290.39606899010255, 107.80679365699146, 57.77929372836308 ], [ 291.89606899010255, 110.40486986834478, 57.77929372836308 ], [ 294.49414520145586, 111.90486986834478, 57.77929372836308 ], [ 297.0922214128092, 113.40486986834478, 57.77929372836308 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -0.5235987755982989, -0.5235987755982988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_23/astar_data/medium_short/2025-1-9_12-47-8_653448036", "gpt_instruction": "Proceed straight towards the tan wall with large rectangular tiles , then slightly turn right and go directly ahead to the brown wall with a large smooth surface .", "action": [ 9, 9, 1, 3, 8, 0 ], "index_list": [ "20250109_124711_2", "20250109_124713_5", "20250109_124713_6", "20250109_124713_7", "20250109_124714_9", "20250109_124715_10" ], "pos": [ [ -52.596121207801986, -243.3270355936679, 72.24787185243571 ], [ -57.096121207801986, -235.53280695960794, 72.24787185243571 ], [ -58.596121207801986, -232.93473074825462, 72.24787185243571 ], [ -60.096121207801986, -230.3366545369013, 72.24787185243571 ], [ -60.096121207801986, -227.3366545369013, 72.24787185243571 ], [ -60.096121207801986, -224.3366545369013, 72.24787185243571 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_23/astar_data/high_long/2025-1-9_21-1-49_1477171087", "gpt_instruction": "Proceed forward to a modern high - rise building featuring a beige color , with large balconies , and then slightly turn right to a similarly large building , characterized by a combination of gray and light beige hues , curved balconies , and distinct vertical structures on the facade .", "action": [ 9, 9, 9, 9, 9, 9, 9, 8, 3, 9, 9, 9, 9, 0 ], "index_list": [ "20250109_210153_2", "20250109_210154_5", "20250109_210155_8", "20250109_210157_11", "20250109_210158_14", "20250109_210159_17", "20250109_210201_20", "20250109_210201_22", "20250109_210202_23", "20250109_210203_26", "20250109_210204_29", "20250109_210206_32", "20250109_210207_35", "20250109_210207_36" ], "pos": [ [ 205.20855642640902, -273.2854712940326, 91.80529431779377 ], [ 205.20855642640902, -264.2854712940326, 91.80529431779377 ], [ 205.20855642640902, -255.28547129403262, 91.80529431779377 ], [ 205.20855642640902, -246.28547129403262, 91.80529431779377 ], [ 205.20855642640902, -237.28547129403262, 91.80529431779377 ], [ 205.20855642640902, -228.28547129403262, 91.80529431779377 ], [ 205.20855642640902, -219.28547129403262, 91.80529431779377 ], [ 205.20855642640902, -213.28547129403262, 91.80529431779377 ], [ 205.20855642640902, -210.28547129403262, 91.80529431779377 ], [ 208.20855642640902, -205.089318871326, 91.80529431779377 ], [ 212.70855642640902, -197.29509023726604, 91.80529431779377 ], [ 217.20855642640902, -189.5008616032061, 91.80529431779377 ], [ 221.70855642640902, -181.70663296914614, 91.80529431779377 ], [ 223.20855642640902, -179.10855675779283, 91.80529431779377 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_airsim_23/astar_data/high_average/2025-1-9_21-59-30_1069755936", "gpt_instruction": "Proceed directly towards the large gray skyscraper , which features a rectangular design with protruding rooftop structures . Then slightly turn left and move forward to reach another large building . This one is tall , rectangular , and includes ventilation structures on the roof . After that , slightly turn right and go ahead to a tall , multi - story commercial building distinguished by its unique curved architectural element on the rooftop .", "action": [ 9, 9, 9, 9, 9, 9, 1, 2, 9, 9, 1, 3, 9, 0 ], "index_list": [ "20250109_215934_2", "20250109_215935_5", "20250109_215936_8", "20250109_215938_11", "20250109_215939_14", "20250109_215940_17", "20250109_215941_18", "20250109_215941_19", "20250109_215943_22", "20250109_215944_25", "20250109_215944_26", "20250109_215945_27", "20250109_215946_30", "20250109_215947_31" ], "pos": [ [ 116.29459978851251, -286.5126939626586, 100.009458039131 ], [ 111.79459978851251, -278.71846532859865, 100.009458039131 ], [ 107.29459978851251, -270.9242366945387, 100.009458039131 ], [ 102.79459978851251, -263.13000806047876, 100.009458039131 ], [ 98.29459978851251, -255.3357794264188, 100.009458039131 ], [ 93.79459978851251, -247.54155079235886, 100.009458039131 ], [ 92.29459978851251, -244.94347458100555, 100.009458039131 ], [ 90.79459978851251, -242.34539836965223, 100.009458039131 ], [ 85.59844736580588, -239.34539836965223, 100.009458039131 ], [ 77.80421873174593, -234.84539836965223, 100.009458039131 ], [ 75.20614252039262, -233.34539836965223, 100.009458039131 ], [ 72.6080663090393, -231.84539836965223, 100.009458039131 ], [ 69.6080663090393, -226.6492459469456, 100.009458039131 ], [ 68.1080663090393, -224.05116973559228, 100.009458039131 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_airsim_23/astar_data/low_long/2025-1-2_18-12-21_200747796", "gpt_instruction": "Walk straight toward the gray building featuring large rectangular windows , then shift right to the similar gray building with a solid wall characterized by horizontal lines and small windows at the bottom . Slightly proceed straight and turn left , moving forward to it . Slightly turn right , head straight to it, then slightly turn right and walk straight toward it .", "action": [ 9, 9, 8, 3, 3, 1, 2, 9, 8, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 0 ], "index_list": [ "20250102_181224_2", "20250102_181226_5", "20250102_181227_7", "20250102_181227_8", "20250102_181228_9", "20250102_181228_10", "20250102_181229_11", "20250102_181230_14", "20250102_181231_16", "20250102_181231_17", "20250102_181232_20", "20250102_181234_23", "20250102_181235_26", "20250102_181237_29", "20250102_181238_32", "20250102_181239_35", "20250102_181240_38", "20250102_181242_41", "20250102_181243_44", "20250102_181244_45", "20250102_181245_48", "20250102_181246_51", "20250102_181248_54", "20250102_181248_55" ], "pos": [ [ 240.03071786273568, -28.89187652232613, 30.75977303304049 ], [ 235.53071786273568, -21.09764788826618, 30.75977303304049 ], [ 232.53071786273568, -15.901495465559549, 30.75977303304049 ], [ 231.03071786273568, -13.303419254206233, 30.75977303304049 ], [ 231.03071786273568, -13.303419254206233, 30.75977303304049 ], [ 231.03071786273568, -13.303419254206233, 30.75977303304049 ], [ 232.53071786273568, -10.705343042852917, 30.75977303304049 ], [ 232.53071786273568, -4.705343042852917, 30.75977303304049 ], [ 232.53071786273568, 1.2946569571470832, 30.75977303304049 ], [ 232.53071786273568, 4.294656957147083, 30.75977303304049 ], [ 235.53071786273568, 9.490809379853715, 30.75977303304049 ], [ 240.03071786273568, 17.285038013913663, 30.75977303304049 ], [ 244.53071786273568, 25.07926664797361, 30.75977303304049 ], [ 249.03071786273568, 32.87349528203356, 30.75977303304049 ], [ 253.53071786273568, 40.66772391609351, 30.75977303304049 ], [ 258.0307178627357, 48.461952550153455, 30.75977303304049 ], [ 262.5307178627357, 56.2561811842134, 30.75977303304049 ], [ 267.0307178627357, 64.05040981827335, 30.75977303304049 ], [ 271.5307178627357, 71.8446384523333, 30.75977303304049 ], [ 273.0307178627357, 74.44271466368662, 30.75977303304049 ], [ 278.2268702854423, 77.44271466368662, 30.75977303304049 ], [ 286.02109891950226, 81.94271466368662, 30.75977303304049 ], [ 293.8153275535622, 86.44271466368662, 30.75977303304049 ], [ 296.41340376491553, 87.94271466368662, 30.75977303304049 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.0471975511965976, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_23/astar_data/medium_short/2025-1-9_11-31-13_1911759956", "gpt_instruction": "Proceed straight towards a large grey building with multiple identical windows , then make a right turn at a large grey skyscraper distinguished by its tall structure and a blue construction crane . Continue straight until you reach another large skyscraper , characterized by its gray color and curved side with vertical window slits . Slightly turn left and move forward to a medium - sized light gray building with darker accents and a curved facade , featuring rounded corners and multiple small protrusions on each floor , which is shorter compared to the buildings directly surrounding it and serves as a residential or office space .", "action": [ 9, 9, 9, 9, 9, 3, 3, 9, 9, 1, 2, 9, 1, 0 ], "index_list": [ "20250109_113117_2", "20250109_113118_5", "20250109_113119_8", "20250109_113120_11", "20250109_113121_14", "20250109_113122_15", "20250109_113122_16", "20250109_113124_19", "20250109_113125_22", "20250109_113125_23", "20250109_113126_24", "20250109_113127_27", "20250109_113127_28", "20250109_113128_29" ], "pos": [ [ -57.35715607013964, 231.4725213862233, 72.24787185243571 ], [ -48.35715607013964, 231.4725213862233, 72.24787185243571 ], [ -39.35715607013964, 231.4725213862233, 72.24787185243571 ], [ -30.357156070139638, 231.4725213862233, 72.24787185243571 ], [ -21.357156070139638, 231.4725213862233, 72.24787185243571 ], [ -18.357156070139638, 231.4725213862233, 72.24787185243571 ], [ -18.357156070139638, 231.4725213862233, 72.24787185243571 ], [ -15.357156070139638, 226.27636896351666, 72.24787185243571 ], [ -10.857156070139638, 218.4821403294567, 72.24787185243571 ], [ -9.357156070139638, 215.8840641181034, 72.24787185243571 ], [ -7.857156070139638, 213.28598790675008, 72.24787185243571 ], [ -2.661003647433006, 210.28598790675008, 72.24787185243571 ], [ -0.06292743607968987, 208.78598790675008, 72.24787185243571 ], [ 2.535148775273626, 207.28598790675008, 72.24787185243571 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_23/astar_data/medium_long/2025-01-19_01-22-01_765789", "gpt_instruction": "Proceed left towards a large gray modern high - rise building characterized by rounded corners with horizontal lines . Then continue straightforwardly and slightly turn right towards a large yellow construction crane structure . Next , slightly turn left and walk straight towards a large red advertisement with a billboard with text . Following that , turn slightly right and move forward to a large gray residential building with multiple floors and balconies . Afterward , turn left and proceed towards a medium - sized building sign that contains the word ' PORT ' in yellow on a red background . Walk straight towards a large dark gray building with rectangular shapes with horizontal lines , then turn slightly left and proceed to a large dark gray high - rise building featuring vent - like structures and antennas on the roof . Finally , move down to a small green commercial building with vertical lines along the front facade , similar in size to adjacent buildings .", "action": [ 4, 2, 2, 1, 3, 8, 2, 9, 9, 9, 8, 3, 8, 2, 2, 9, 9, 9, 9, 8, 2, 9, 9, 5, 0 ], "index_list": [ "20250119_012202_0", "20250119_012203_1", "20250119_012204_2", "20250119_012205_3", "20250119_012205_4", "20250119_012207_6", "20250119_012208_7", "20250119_012210_10", "20250119_012213_13", "20250119_012215_16", "20250119_012217_18", "20250119_012217_19", "20250119_012219_21", "20250119_012220_22", "20250119_012221_23", "20250119_012223_26", "20250119_012225_29", "20250119_012228_32", "20250119_012230_35", "20250119_012231_37", "20250119_012232_38", "20250119_012234_41", "20250119_012237_44", "20250119_012238_45", "20250119_012238_46" ], "pos": [ [ -75.40280205769733, 37.23512528443683, 53.770209583431736 ], [ -75.40280205769733, 37.23512528443683, 56.770209583431736 ], [ -75.40280205769733, 37.23512528443683, 56.770209583431736 ], [ -75.40280205769733, 37.23512528443683, 56.770209583431736 ], [ -73.90280205769733, 39.83320149579015, 56.770209583431736 ], [ -71.30472584634401, 41.33320149579015, 56.770209583431736 ], [ -68.7066496349907, 42.83320149579015, 56.770209583431736 ], [ -65.7066496349907, 48.02935391849678, 56.770209583431736 ], [ -61.2066496349907, 55.82358255255673, 56.770209583431736 ], [ -56.7066496349907, 63.61781118661668, 56.770209583431736 ], [ -53.7066496349907, 68.81396360932331, 56.770209583431736 ], [ -52.2066496349907, 71.41203982067663, 56.770209583431736 ], [ -49.60857342363738, 72.91203982067663, 56.770209583431736 ], [ -47.010497212284065, 74.41203982067663, 56.770209583431736 ], [ -47.010497212284065, 74.41203982067663, 56.770209583431736 ], [ -47.010497212284065, 80.41203982067663, 56.770209583431736 ], [ -47.010497212284065, 89.41203982067663, 56.770209583431736 ], [ -47.010497212284065, 98.41203982067663, 56.770209583431736 ], [ -47.010497212284065, 107.41203982067663, 56.770209583431736 ], [ -47.010497212284065, 113.41203982067663, 56.770209583431736 ], [ -47.010497212284065, 116.41203982067663, 56.770209583431736 ], [ -50.010497212284065, 121.60819224338326, 56.770209583431736 ], [ -54.510497212284065, 129.4024208774432, 56.770209583431736 ], [ -56.010497212284065, 132.00049708879652, 56.770209583431736 ], [ -56.010497212284065, 132.00049708879652, 53.770209583431736 ] ], "yaw": [ 0.0, 0.0, 0.5235987755982988, 1.0471975511965976, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988, 1.0471975511965976, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_airsim_23/astar_data/high_average/2025-1-9_22-39-28_661761152", "gpt_instruction": "Continue in a straight direction toward the dark blue , medium - sized rectangular structure with a flat roof and two open sections , relative to surrounding buildings , which is a rooftop building structure .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_223932_2", "20250109_223933_5", "20250109_223935_8", "20250109_223936_11", "20250109_223937_14", "20250109_223939_17", "20250109_223940_20", "20250109_223941_23", "20250109_223942_25", "20250109_223942_26" ], "pos": [ [ 135.24067502303865, -289.1627775747954, 100.009458039131 ], [ 130.74067502303865, -281.3685489407355, 100.009458039131 ], [ 126.24067502303865, -273.57432030667553, 100.009458039131 ], [ 121.74067502303865, -265.7800916726156, 100.009458039131 ], [ 117.24067502303865, -257.98586303855564, 100.009458039131 ], [ 112.74067502303865, -250.1916344044957, 100.009458039131 ], [ 108.24067502303865, -242.39740577043574, 100.009458039131 ], [ 103.74067502303865, -234.6031771363758, 100.009458039131 ], [ 100.74067502303865, -229.40702471366916, 100.009458039131 ], [ 99.24067502303865, -226.80894850231584, 100.009458039131 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_airsim_23/astar_data/medium_long/2025-1-9_13-48-18_1555319301", "gpt_instruction": "Starting at a large gray modern high - rise building with small ventilation - like windows and horizontal panel patterns , proceed slightly left to another large gray building characterized by a grid - like structure with protruding horizontal slabs . Then , take a right slightly toward it . Move forward to encounter another large light gray building , this one distinguished by rectangular windows and a panel - like fa\u00e7ade . After a slight left turn , continue ahead to a large light blue - gray building with a smooth surface and panel - like divisions ; next , slightly turn left again and go directly to a medium - to - large gray structure that has rectangular windows aligned horizontally , representing a modern high - rise . Slightly turn right and head straight to a medium - to - large gray office building featuring vertical windows accompanied by air conditioning units . Finally , slightly turn right and go directly to a modern urban building with multiple rectangular windows , a flat exterior , and attached air conditioning units on its fa\u00e7ade .", "action": [ 9, 1, 2, 8, 3, 3, 9, 9, 9, 1, 2, 9, 8, 2, 9, 9, 9, 9, 9, 9, 9, 1, 3, 9, 3, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_134822_2", "20250109_134822_3", "20250109_134822_4", "20250109_134824_6", "20250109_134824_7", "20250109_134824_8", "20250109_134826_11", "20250109_134827_14", "20250109_134828_17", "20250109_134828_18", "20250109_134829_19", "20250109_134830_22", "20250109_134831_24", "20250109_134831_25", "20250109_134832_28", "20250109_134834_31", "20250109_134835_34", "20250109_134836_37", "20250109_134837_40", "20250109_134838_43", "20250109_134840_46", "20250109_134840_47", "20250109_134840_48", "20250109_134842_51", "20250109_134842_52", "20250109_134843_55", "20250109_134844_58", "20250109_134846_61", "20250109_134846_62", "20250109_134846_63" ], "pos": [ [ 124.10276545102958, -59.63769971074649, 53.770209583431736 ], [ 122.60276545102958, -62.235775922099805, 53.770209583431736 ], [ 121.10276545102958, -64.83385213345312, 53.770209583431736 ], [ 121.10276545102958, -67.83385213345312, 53.770209583431736 ], [ 121.10276545102958, -70.83385213345312, 53.770209583431736 ], [ 121.10276545102958, -70.83385213345312, 53.770209583431736 ], [ 115.90661302832295, -73.83385213345312, 53.770209583431736 ], [ 108.112384394263, -78.33385213345312, 53.770209583431736 ], [ 100.31815576020306, -82.83385213345312, 53.770209583431736 ], [ 97.72007954884974, -84.33385213345312, 53.770209583431736 ], [ 95.12200333749642, -85.83385213345312, 53.770209583431736 ], [ 92.12200333749642, -91.03000455615975, 53.770209583431736 ], [ 89.12200333749642, -96.22615697886638, 53.770209583431736 ], [ 87.62200333749642, -98.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -104.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -113.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -122.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -131.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -140.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -149.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -158.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -161.8242331902197, 53.770209583431736 ], [ 87.62200333749642, -164.8242331902197, 53.770209583431736 ], [ 84.62200333749642, -170.02038561292633, 53.770209583431736 ], [ 83.12200333749642, -172.61846182427965, 53.770209583431736 ], [ 77.92585091478979, -175.61846182427965, 53.770209583431736 ], [ 70.13162228072984, -180.11846182427965, 53.770209583431736 ], [ 62.337393646669895, -184.61846182427965, 53.770209583431736 ], [ 59.73931743531658, -186.11846182427965, 53.770209583431736 ], [ 57.14124122396326, -187.61846182427965, 53.770209583431736 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.0943951023931953, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944 ] }, { "image_path": "env_airsim_23/astar_data/low_long/2025-1-2_19-28-59_1065103348", "gpt_instruction": "Walk straight toward a large gray building characterized by curved and rectangular structures with inset windows , then slightly turn left and continue walking straight to approach a tall gray modern high - rise building featuring vertical divisions with glass panes .", "action": [ 9, 9, 9, 8, 2, 9, 9, 9, 1, 0 ], "index_list": [ "20250102_192903_2", "20250102_192904_5", "20250102_192905_8", "20250102_192906_10", "20250102_192906_11", "20250102_192908_14", "20250102_192909_17", "20250102_192910_20", "20250102_192911_21", "20250102_192911_22" ], "pos": [ [ -111.85693364451913, -245.0246443929526, 22.67604042075991 ], [ -116.35693364451913, -252.81887302701256, 22.67604042075991 ], [ -120.85693364451913, -260.6131016610725, 22.67604042075991 ], [ -123.85693364451913, -265.80925408377914, 22.67604042075991 ], [ -125.35693364451913, -268.40733029513245, 22.67604042075991 ], [ -125.35693364451913, -274.40733029513245, 22.67604042075991 ], [ -125.35693364451913, -283.40733029513245, 22.67604042075991 ], [ -125.35693364451913, -292.40733029513245, 22.67604042075991 ], [ -125.35693364451913, -295.40733029513245, 22.67604042075991 ], [ -125.35693364451913, -298.40733029513245, 22.67604042075991 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_23/astar_data/high_short/2025-1-9_20-48-54_1330573317", "gpt_instruction": "Proceed straight to a gray building featuring symmetrical roof structures with a stepped design at the center of the building , medium - sized compared to adjacent buildings .", "action": [ 9, 9, 0 ], "index_list": [ "20250109_204858_2", "20250109_204859_5", "20250109_204900_6" ], "pos": [ [ -14.698570619944604, 60.61890457619965, 103.16609352836659 ], [ -5.698570619944604, 60.61890457619965, 103.16609352836659 ], [ -2.6985706199446042, 60.61890457619965, 103.16609352836659 ] ], "yaw": [ 0.0, 0.0, 0.0 ] }, { "image_path": "env_airsim_23/astar_data/low_average/2025-1-2_17-38-15_1975960378", "gpt_instruction": "Proceed forward to the grey , medium - sized part of a multi - story building characterized by horizontal slit - like windows aligned in a vertical stack , resembling a modern office or commercial building .", "action": [ 8, 0 ], "index_list": [ "20250102_173818_1", "20250102_173819_2" ], "pos": [ [ 75.89069173599415, 157.14642059236525, 46.35596437085176 ], [ 74.39069173599415, 154.54834438101193, 46.35596437085176 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_23/astar_data/high_short/2025-1-9_21-46-41_964445884", "gpt_instruction": "Proceed directly to the large grey building characterized by a rooftop with antenna and ventilation structures . Then , slightly turn left and continue straight towards it .", "action": [ 9, 9, 9, 1, 2, 8, 0 ], "index_list": [ "20250109_214644_2", "20250109_214646_5", "20250109_214647_8", "20250109_214647_9", "20250109_214648_10", "20250109_214648_12", "20250109_214649_13" ], "pos": [ [ -199.83989260080196, -249.32581587234912, 103.16609352836659 ], [ -195.33989260080196, -257.12004450640904, 103.16609352836659 ], [ -190.83989260080196, -264.914273140469, 103.16609352836659 ], [ -189.33989260080196, -267.5123493518223, 103.16609352836659 ], [ -187.83989260080196, -270.1104255631756, 103.16609352836659 ], [ -185.24181638944864, -271.6104255631756, 103.16609352836659 ], [ -182.64374017809533, -273.1104255631756, 103.16609352836659 ] ], "yaw": [ -1.0471975511965979, -1.047197551196593, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_23/astar_data/high_average/2025-1-9_21-33-58_480298490", "gpt_instruction": "Proceed straight until you reach a tall , grey building with rectangular windows and a facade typical of high - rise buildings , then slightly turn left and continue straight to a medium - sized grey building with a crane beside it .", "action": [ 9, 9, 9, 9, 2, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_213402_2", "20250109_213403_5", "20250109_213404_8", "20250109_213406_11", "20250109_213406_12", "20250109_213407_15", "20250109_213409_18", "20250109_213410_21", "20250109_213411_24", "20250109_213412_25", "20250109_213412_26" ], "pos": [ [ 131.2754696713995, 147.62882548156853, 100.009458039131 ], [ 123.48124103733954, 143.12882548156853, 100.009458039131 ], [ 115.6870124032796, 138.62882548156853, 100.009458039131 ], [ 107.89278376921965, 134.12882548156853, 100.009458039131 ], [ 105.29470755786633, 132.62882548156853, 100.009458039131 ], [ 102.29470755786633, 127.4326730588619, 100.009458039131 ], [ 97.79470755786633, 119.63844442480195, 100.009458039131 ], [ 93.29470755786633, 111.844215790742, 100.009458039131 ], [ 88.79470755786633, 104.04998715668205, 100.009458039131 ], [ 87.29470755786633, 101.45191094532873, 100.009458039131 ], [ 85.79470755786633, 98.85383473397542, 100.009458039131 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_23/astar_data/low_short/2025-1-2_17-24-34_1238433452", "gpt_instruction": "Head straight towards a large , modern building characterized by a gray color , rounded corners with horizontal grooves , and then slightly turn left to advance forward towards a large gray structure with a modern concrete design , featuring rectangle - shaped indents with a small vent unit on the upper - left side and repeated patterns .", "action": [ 9, 9, 2, 9, 9, 1, 0 ], "index_list": [ "20250102_172438_2", "20250102_172439_5", "20250102_172440_6", "20250102_172441_9", "20250102_172442_12", "20250102_172442_13", "20250102_172443_14" ], "pos": [ [ 131.15912301243722, 160.97280650924233, 20.124135639917895 ], [ 131.15912301243722, 151.97280650924233, 20.124135639917895 ], [ 131.15912301243722, 148.97280650924233, 20.124135639917895 ], [ 134.15912301243722, 143.7766540865357, 20.124135639917895 ], [ 138.65912301243722, 135.98242545247575, 20.124135639917895 ], [ 140.15912301243722, 133.38434924112244, 20.124135639917895 ], [ 141.65912301243722, 130.78627302976912, 20.124135639917895 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_23/astar_data/low_short/2025-1-2_16-25-9_1365180540", "gpt_instruction": "Proceed directly forward to the gray building characterized by rectangular windows and multiple floors , which is large in size . Then , slightly turn left and keep going straight towards it .", "action": [ 9, 9, 9, 9, 9, 9, 1, 2, 9, 9, 8, 0 ], "index_list": [ "20250102_162513_2", "20250102_162514_5", "20250102_162515_8", "20250102_162516_11", "20250102_162517_14", "20250102_162519_17", "20250102_162519_18", "20250102_162519_19", "20250102_162521_22", "20250102_162522_25", "20250102_162523_27", "20250102_162523_28" ], "pos": [ [ 134.55572631353482, -236.52242225294862, 43.25295477209561 ], [ 139.05572631353482, -244.31665088700856, 43.25295477209561 ], [ 143.55572631353482, -252.1108795210685, 43.25295477209561 ], [ 148.05572631353482, -259.90510815512846, 43.25295477209561 ], [ 152.55572631353482, -267.6993367891884, 43.25295477209561 ], [ 157.05572631353482, -275.49356542324836, 43.25295477209561 ], [ 158.55572631353482, -278.0916416346017, 43.25295477209561 ], [ 160.05572631353482, -280.689717845955, 43.25295477209561 ], [ 165.25187873624145, -283.689717845955, 43.25295477209561 ], [ 173.0461073703014, -288.189717845955, 43.25295477209561 ], [ 178.24225979300803, -291.189717845955, 43.25295477209561 ], [ 180.84033600436135, -292.689717845955, 43.25295477209561 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_23/astar_data/high_short/2025-1-9_20-38-47_1937477084", "gpt_instruction": "Proceed straight towards a gray rectangular structure with uniform windows , which is a medium - sized building . Then , take a left to encounter another gray building featuring curved balconies and being high - rise in size . Next , continue directly ahead to a gray building showcasing modern architectural elements and large in size . Slightly turn right and head straight again to arrive at a light gray residential building with rectangular rooftops , ventilation systems , and piping , identifiable as a medium - sized apartment block .", "action": [ 9, 8, 2, 2, 9, 9, 9, 8, 3, 9, 9, 8, 0 ], "index_list": [ "20250109_203850_2", "20250109_203851_4", "20250109_203852_5", "20250109_203852_6", "20250109_203853_9", "20250109_203854_12", "20250109_203856_15", "20250109_203857_17", "20250109_203857_18", "20250109_203858_21", "20250109_203859_24", "20250109_203900_26", "20250109_203901_27" ], "pos": [ [ 97.7679805821366, -277.2009794726566, 103.16609352836659 ], [ 103.7679805821366, -277.2009794726566, 103.16609352836659 ], [ 106.7679805821366, -277.2009794726566, 103.16609352836659 ], [ 106.7679805821366, -277.2009794726566, 103.16609352836659 ], [ 109.7679805821366, -272.00482704995, 103.16609352836659 ], [ 114.2679805821366, -264.21059841589005, 103.16609352836659 ], [ 118.7679805821366, -256.4163697818301, 103.16609352836659 ], [ 121.7679805821366, -251.22021735912347, 103.16609352836659 ], [ 123.2679805821366, -248.62214114777015, 103.16609352836659 ], [ 128.46413300484323, -245.62214114777015, 103.16609352836659 ], [ 136.25836163890318, -241.12214114777015, 103.16609352836659 ], [ 141.4545140616098, -238.12214114777015, 103.16609352836659 ], [ 144.05259027296313, -236.62214114777015, 103.16609352836659 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_23/astar_data/medium_average/2025-1-9_13-5-3_387451659", "gpt_instruction": "Advance forward toward a large , tall metal structure with a crane arm , characterized by its yellow color and categorized as a construction crane . Then , slightly turn left and move forward toward a medium - sized modern urban utility building with a gray color , featuring rectangular ventilation openings on its upper facade and a smooth concrete surface .", "action": [ 9, 9, 9, 9, 8, 2, 9, 9, 8, 0 ], "index_list": [ "20250109_130507_2", "20250109_130508_5", "20250109_130509_8", "20250109_130511_11", "20250109_130511_13", "20250109_130512_14", "20250109_130513_17", "20250109_130514_20", "20250109_130515_22", "20250109_130515_23" ], "pos": [ [ 133.71731161920297, 136.83353075829464, 57.77929372836308 ], [ 125.92308298514303, 132.33353075829464, 57.77929372836308 ], [ 118.12885435108308, 127.83353075829464, 57.77929372836308 ], [ 110.33462571702313, 123.33353075829464, 57.77929372836308 ], [ 105.1384732943165, 120.33353075829464, 57.77929372836308 ], [ 102.54039708296318, 118.83353075829464, 57.77929372836308 ], [ 99.54039708296318, 113.63737833558801, 57.77929372836308 ], [ 95.04039708296318, 105.84314970152806, 57.77929372836308 ], [ 92.04039708296318, 100.64699727882143, 57.77929372836308 ], [ 90.54039708296318, 98.04892106746811, 57.77929372836308 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_26/astar_data/high_short/2025-01-19_01-17-40_995685", "gpt_instruction": "Continue moving straight until reaching a large , gray intersection with roads , then make a left turn onto a medium , grey urban street , and proceed until you encounter a medium - sized , grey paved road . Next , climb it . Turn right at a tall building with brown rectangular windows , and continue straight past a medium white / light grey building with a flat roof and modern design . Slightly descend and proceed straight past it . Finally , go downwards toward a large reddish - brown high - rise building with vertical white dividers in its rectangular windows .", "action": [ 9, 1, 2, 2, 2, 9, 1, 4, 4, 4, 4, 4, 4, 4, 4, 9, 9, 8, 3, 3, 9, 8, 5, 8, 2, 1, 5, 5, 5, 5, 5, 5, 5, 0 ], "index_list": [ "20250119_011743_2", "20250119_011744_3", "20250119_011745_4", "20250119_011746_5", "20250119_011746_6", "20250119_011749_9", "20250119_011750_10", "20250119_011751_11", "20250119_011752_12", "20250119_011753_13", "20250119_011754_14", "20250119_011754_15", "20250119_011755_16", "20250119_011756_17", "20250119_011757_18", "20250119_011800_21", "20250119_011803_24", "20250119_011805_26", "20250119_011805_27", "20250119_011806_28", "20250119_011809_31", "20250119_011811_33", "20250119_011812_34", "20250119_011813_36", "20250119_011814_37", "20250119_011815_38", "20250119_011816_39", "20250119_011817_40", "20250119_011818_41", "20250119_011818_42", "20250119_011819_43", "20250119_011820_44", "20250119_011821_45", "20250119_011822_46" ], "pos": [ [ -673.5704991901074, -1872.8016338782231, -250.6683124086241 ], [ -676.5704991901074, -1872.8016338782231, -250.6683124086241 ], [ -679.5704991901074, -1872.8016338782231, -250.6683124086241 ], [ -679.5704991901074, -1872.8016338782231, -250.6683124086241 ], [ -679.5704991901074, -1872.8016338782231, -250.6683124086241 ], [ -679.5704991901074, -1878.8016338782231, -250.6683124086241 ], [ -679.5704991901074, -1881.8016338782231, -250.6683124086241 ], [ -679.5704991901074, -1884.8016338782231, -250.6683124086241 ], [ -679.5704991901074, -1884.8016338782231, -247.6683124086241 ], [ -679.5704991901074, -1884.8016338782231, -244.6683124086241 ], [ -679.5704991901074, -1884.8016338782231, -241.6683124086241 ], [ -679.5704991901074, -1884.8016338782231, -238.6683124086241 ], [ -679.5704991901074, -1884.8016338782231, -235.6683124086241 ], [ -679.5704991901074, -1884.8016338782231, -232.6683124086241 ], [ -679.5704991901074, -1884.8016338782231, -229.6683124086241 ], [ -679.5704991901074, -1890.8016338782231, -226.6683124086241 ], [ -679.5704991901074, -1899.8016338782231, -226.6683124086241 ], [ -679.5704991901074, -1905.8016338782231, -226.6683124086241 ], [ -679.5704991901074, -1908.8016338782231, -226.6683124086241 ], [ -679.5704991901074, -1908.8016338782231, -226.6683124086241 ], [ -684.766651612814, -1911.8016338782231, -226.6683124086241 ], [ -689.9628040355208, -1914.8016338782231, -226.6683124086241 ], [ -692.5608802468741, -1916.3016338782231, -226.6683124086241 ], [ -695.1589564582275, -1917.8016338782231, -229.6683124086241 ], [ -697.7570326695809, -1919.3016338782231, -229.6683124086241 ], [ -697.7570326695809, -1919.3016338782231, -229.6683124086241 ], [ -699.2570326695809, -1921.8997100895765, -229.6683124086241 ], [ -699.2570326695809, -1921.8997100895765, -232.6683124086241 ], [ -699.2570326695809, -1921.8997100895765, -235.6683124086241 ], [ -699.2570326695809, -1921.8997100895765, -238.6683124086241 ], [ -699.2570326695809, -1921.8997100895765, -241.6683124086241 ], [ -699.2570326695809, -1921.8997100895765, -244.6683124086241 ], [ -699.2570326695809, -1921.8997100895765, -247.6683124086241 ], [ -699.2570326695809, -1921.8997100895765, -250.6683124086241 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.665191429188092, 4.1887902047863905, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.094395102393205, -2.094395102393205, -2.094395102393205, -2.094395102393205, -2.094395102393205, -2.094395102393205, -2.094395102393205, -2.094395102393205, -2.094395102393205 ] }, { "image_path": "env_airsim_26/astar_data/medium_average/2025-1-9_15-49-48_51245830", "gpt_instruction": "The sequence of actions and corresponding landmarks can be summarized as follows : Advance forward to a gray skyscraper with a rectangular structure and vertical windows , make a left slightly turn toward it, move ahead to another black skyscraper characterized as a very large building , and slightly turn right before moving forward to it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 9, 3, 8, 0 ], "index_list": [ "20250109_154952_2", "20250109_154953_5", "20250109_154954_8", "20250109_154955_11", "20250109_154957_14", "20250109_154958_17", "20250109_154959_20", "20250109_155001_23", "20250109_155001_24", "20250109_155002_25", "20250109_155003_28", "20250109_155003_29", "20250109_155004_31", "20250109_155005_32" ], "pos": [ [ 744.577942238528, -1236.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1245.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1254.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1263.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1272.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1281.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1290.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1299.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1302.6105655914048, -285.03212597454063 ], [ 744.577942238528, -1302.6105655914048, -285.03212597454063 ], [ 749.7740946612346, -1305.6105655914048, -285.03212597454063 ], [ 752.372170872588, -1307.1105655914048, -285.03212597454063 ], [ 753.872170872588, -1309.7086418027582, -285.03212597454063 ], [ 755.372170872588, -1312.3067180141115, -285.03212597454063 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -0.5235987755982894, -0.5235987755982894, -1.0471975511966072, -1.0471975511966072 ] }, { "image_path": "env_airsim_26/astar_data/low_long/2025-1-1_3-15-54_2033505236", "gpt_instruction": "Begin by proceeding straight towards a large gray building characterized by a tall structure with a grid of windows . Upon arrival , make a slight right turn and continue straight to a large dark building with a brick pattern facade . After another slight right turn , keep heading straight to a large beige building with rectangular windows . As you reach this location , slightly turn left , go straight , then again slightly turn left to a structure with tan and gray rectangular windows in a repeating pattern , described as a large office building . Finally , make a slight right turn , move forward to a tall commercial office building , featuring large grid windows with reflective glass and a dark reflective blue and purple gradient .", "action": [ 9, 9, 9, 9, 9, 9, 9, 8, 3, 9, 9, 9, 9, 3, 9, 2, 1, 2, 9, 9, 8, 3, 8, 0 ], "index_list": [ "20250101_031557_2", "20250101_031559_5", "20250101_031601_8", "20250101_031602_11", "20250101_031604_14", "20250101_031605_17", "20250101_031607_20", "20250101_031608_22", "20250101_031608_23", "20250101_031610_26", "20250101_031612_29", "20250101_031613_32", "20250101_031614_35", "20250101_031615_36", "20250101_031616_39", "20250101_031617_40", "20250101_031617_41", "20250101_031618_42", "20250101_031619_45", "20250101_031620_48", "20250101_031621_50", "20250101_031622_51", "20250101_031623_53", "20250101_031623_54" ], "pos": [ [ -69.97608580136271, -1440.5269448109639, -302.41634213538435 ], [ -74.47608580136271, -1448.321173445024, -302.41634213538435 ], [ -78.97608580136271, -1456.115402079084, -302.41634213538435 ], [ -83.47608580136271, -1463.9096307131442, -302.41634213538435 ], [ -87.97608580136271, -1471.7038593472043, -302.41634213538435 ], [ -92.47608580136271, -1479.4980879812645, -302.41634213538435 ], [ -96.97608580136271, -1487.2923166153246, -302.41634213538435 ], [ -99.97608580136271, -1492.4884690380313, -302.41634213538435 ], [ -101.47608580136271, -1495.0865452493847, -302.41634213538435 ], [ -106.67223822406935, -1498.0865452493847, -302.41634213538435 ], [ -114.4664668581293, -1502.5865452493847, -302.41634213538435 ], [ -122.26069549218924, -1507.0865452493847, -302.41634213538435 ], [ -130.0549241262492, -1511.5865452493847, -302.41634213538435 ], [ -132.65300033760252, -1513.0865452493847, -302.41634213538435 ], [ -138.65300033760252, -1513.0865452493847, -302.41634213538435 ], [ -141.65300033760252, -1513.0865452493847, -302.41634213538435 ], [ -141.65300033760252, -1513.0865452493847, -302.41634213538435 ], [ -144.25107654895584, -1514.5865452493847, -302.41634213538435 ], [ -147.25107654895584, -1519.7826976720914, -302.41634213538435 ], [ -151.75107654895584, -1527.5769263061516, -302.41634213538435 ], [ -154.75107654895584, -1532.7730787288583, -302.41634213538435 ], [ -156.25107654895584, -1535.3711549402117, -302.41634213538435 ], [ -158.84915276030915, -1536.8711549402117, -302.41634213538435 ], [ -161.44722897166247, -1538.3711549402117, -302.41634213538435 ] ], "yaw": [ -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914966, -2.6179938779914944, 3.141592653589793, 3.141592653589793, 3.665191429188092, -2.6179938779914944, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779914944, -2.6179938779914944 ] }, { "image_path": "env_airsim_26/astar_data/high_average/2025-1-10_4-40-58_1209379174", "gpt_instruction": "Continue your path towards the light beige skyscraper , which is very tall with numerous windows and is large in size . Once there , make a slight right turn and proceed straight towards the medium - sized dark brown building characterized by its rounded corners and horizontal lines .", "action": [ 9, 9, 9, 9, 9, 9, 9, 3, 8, 0 ], "index_list": [ "20250110_044102_2", "20250110_044103_5", "20250110_044105_8", "20250110_044106_11", "20250110_044107_14", "20250110_044109_17", "20250110_044110_20", "20250110_044110_21", "20250110_044111_23", "20250110_044112_24" ], "pos": [ [ 722.4739020523768, -1412.6042775260817, -211.9525511843355 ], [ 714.6796734183167, -1408.1042775260817, -211.9525511843355 ], [ 706.8854447842566, -1403.6042775260817, -211.9525511843355 ], [ 699.0912161501965, -1399.1042775260817, -211.9525511843355 ], [ 691.2969875161364, -1394.6042775260817, -211.9525511843355 ], [ 683.5027588820763, -1390.1042775260817, -211.9525511843355 ], [ 675.7085302480161, -1385.6042775260817, -211.9525511843355 ], [ 673.1104540366628, -1384.1042775260817, -211.9525511843355 ], [ 671.6104540366628, -1381.5062013147283, -211.9525511843355 ], [ 670.1104540366628, -1378.908125103375, -211.9525511843355 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.094395102393186, 2.094395102393186 ] }, { "image_path": "env_airsim_26/astar_data/high_long/2025-1-9_21-28-29_221558440", "gpt_instruction": "Proceed straight towards the tall brown and beige skyscraper with a grid pattern of windows , then slightly turn left and move ahead to the tall building characterized by gray vertical rectangular paneling with dark window sections . Veer left towards the beige tall skyscraper featuring vertical lines , keep going straight to the large white building with many windows arranged in a grid pattern , and slightly turn right , advancing forward to it .", "action": [ 9, 9, 2, 9, 9, 9, 9, 9, 9, 8, 2, 2, 9, 9, 9, 9, 9, 1, 3, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_212833_2", "20250109_212834_5", "20250109_212834_6", "20250109_212836_9", "20250109_212837_12", "20250109_212839_15", "20250109_212840_18", "20250109_212841_21", "20250109_212843_24", "20250109_212844_26", "20250109_212844_27", "20250109_212845_28", "20250109_212846_31", "20250109_212847_34", "20250109_212849_37", "20250109_212850_40", "20250109_212852_43", "20250109_212853_44", "20250109_212853_45", "20250109_212854_48", "20250109_212856_51", "20250109_212858_54", "20250109_212858_55", "20250109_212858_56" ], "pos": [ [ 382.9406134023691, -1311.046019159557, -207.99076791761004 ], [ 375.14638476830913, -1306.546019159557, -207.99076791761004 ], [ 372.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 366.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 357.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 348.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 339.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 330.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 321.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 315.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 312.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 312.5483085569558, -1305.046019159557, -207.99076791761004 ], [ 309.5483085569558, -1310.2421715822638, -207.99076791761004 ], [ 305.0483085569558, -1318.036400216324, -207.99076791761004 ], [ 300.5483085569558, -1325.830628850384, -207.99076791761004 ], [ 296.0483085569558, -1333.6248574844442, -207.99076791761004 ], [ 291.5483085569558, -1341.4190861185043, -207.99076791761004 ], [ 290.0483085569558, -1344.0171623298577, -207.99076791761004 ], [ 288.5483085569558, -1346.615238541211, -207.99076791761004 ], [ 283.3521561342492, -1349.615238541211, -207.99076791761004 ], [ 275.55792750018924, -1354.115238541211, -207.99076791761004 ], [ 267.7636988661293, -1358.615238541211, -207.99076791761004 ], [ 265.165622654776, -1360.115238541211, -207.99076791761004 ], [ 262.56754644342266, -1361.615238541211, -207.99076791761004 ] ], "yaw": [ 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.665191429188092, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944 ] }, { "image_path": "env_airsim_26/astar_data/low_long/2025-1-1_0-35-3_1253207672", "gpt_instruction": "Walk straight toward a medium - sized modern building with a brown color , large glass windows , and contemporary features ; then slightly turn right and head toward large high - rise buildings characterized by a brown and glassy appearance , tall and rectangular forms , and reflective windows . Afterward , turn to the left toward a tall brown structure with a rectangular shape and windows . Finally , proceed straight toward a significantly tall skyscraper with a red - brown uniform fa\u00e7ade , towering over nearby buildings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 8, 2, 2, 9, 8, 0 ], "index_list": [ "20250101_003506_2", "20250101_003508_5", "20250101_003510_8", "20250101_003511_11", "20250101_003513_14", "20250101_003514_17", "20250101_003516_20", "20250101_003517_23", "20250101_003519_26", "20250101_003519_27", "20250101_003521_30", "20250101_003522_33", "20250101_003524_36", "20250101_003525_39", "20250101_003526_41", "20250101_003527_42", "20250101_003527_43", "20250101_003529_46", "20250101_003530_48", "20250101_003530_49" ], "pos": [ [ 1309.311343061383, -1986.220062720844, -300.0244985461348 ], [ 1301.517114427323, -1990.720062720844, -300.0244985461348 ], [ 1293.7228857932628, -1995.220062720844, -300.0244985461348 ], [ 1285.9286571592027, -1999.720062720844, -300.0244985461348 ], [ 1278.1344285251425, -2004.220062720844, -300.0244985461348 ], [ 1270.3401998910824, -2008.720062720844, -300.0244985461348 ], [ 1262.5459712570223, -2013.220062720844, -300.0244985461348 ], [ 1254.7517426229622, -2017.720062720844, -300.0244985461348 ], [ 1246.957513988902, -2022.220062720844, -300.0244985461348 ], [ 1244.3594377775487, -2023.720062720844, -300.0244985461348 ], [ 1238.3594377775487, -2023.720062720844, -300.0244985461348 ], [ 1229.3594377775487, -2023.720062720844, -300.0244985461348 ], [ 1220.3594377775487, -2023.720062720844, -300.0244985461348 ], [ 1211.3594377775487, -2023.720062720844, -300.0244985461348 ], [ 1205.3594377775487, -2023.720062720844, -300.0244985461348 ], [ 1202.3594377775487, -2023.720062720844, -300.0244985461348 ], [ 1202.3594377775487, -2023.720062720844, -300.0244985461348 ], [ 1199.3594377775487, -2028.9162151435507, -300.0244985461348 ], [ 1196.3594377775487, -2034.1123675662575, -300.0244985461348 ], [ 1194.8594377775487, -2036.7104437776109, -300.0244985461348 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.665191429188092, -2.094395102393186, -2.094395102393186, -2.094395102393186 ] }, { "image_path": "env_airsim_26/astar_data/low_short/2025-1-1_13-15-10_1703964683", "gpt_instruction": "Proceed forward to a large brick building characterized by red - brown color and rectangular windows with black frames . Then , take a left towards a medium - sized commercial building , distinguished by its gray color , rectangular shape , multiple floors , and a flat roof . Continue straight to encounter it . Slightly turn right and advance forward to a large building , notable for its gray color and rectangular windows . Next , veer right towards a building featuring beige color and red vertical accents of moderate size . Move forward again to it . Finally , slightly turn left and go directly ahead to reach a medium - sized commercial building with light gray color and rectangular windows with black frames .", "action": [ 8, 2, 2, 8, 3, 9, 9, 9, 3, 3, 9, 1, 2, 9, 1, 0 ], "index_list": [ "20250101_131513_1", "20250101_131513_2", "20250101_131514_3", "20250101_131515_5", "20250101_131515_6", "20250101_131516_9", "20250101_131518_12", "20250101_131519_15", "20250101_131520_16", "20250101_131520_17", "20250101_131521_20", "20250101_131522_21", "20250101_131522_22", "20250101_131524_25", "20250101_131524_26", "20250101_131525_27" ], "pos": [ [ 906.5179775305767, -1271.298065933894, -299.57256856819856 ], [ 903.9199013192233, -1269.798065933894, -299.57256856819856 ], [ 903.9199013192233, -1269.798065933894, -299.57256856819856 ], [ 901.3218251078699, -1271.298065933894, -299.57256856819856 ], [ 898.7237488965166, -1272.798065933894, -299.57256856819856 ], [ 892.7237488965166, -1272.798065933894, -299.57256856819856 ], [ 883.7237488965166, -1272.798065933894, -299.57256856819856 ], [ 874.7237488965166, -1272.798065933894, -299.57256856819856 ], [ 871.7237488965166, -1272.798065933894, -299.57256856819856 ], [ 871.7237488965166, -1272.798065933894, -299.57256856819856 ], [ 868.7237488965166, -1267.6019135111871, -299.57256856819856 ], [ 867.2237488965166, -1265.0038372998338, -299.57256856819856 ], [ 865.7237488965166, -1262.4057610884804, -299.57256856819856 ], [ 860.5275964738098, -1259.4057610884804, -299.57256856819856 ], [ 857.9295202624564, -1257.9057610884804, -299.57256856819856 ], [ 855.3314440511031, -1256.4057610884804, -299.57256856819856 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 3.1415926535898024, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037 ] }, { "image_path": "env_airsim_26/astar_data/low_long_updown/2025-1-14_17-17-27_425245975", "gpt_instruction": "Proceed upwards to the tall , gray skyscraper with rectangular windows . Then , head straight to it . Slightly turn right and proceed straight to it . Next , make a left turn towards a large skyscraper with dark blue and gray glass windows arranged in a grid pattern . Keep going straight towards it . Finally , slightly stop and drop by the light beige modern commercial or office building , recognized by its textured concrete panels with circular indents in a grid pattern , and large flat walls covering multiple stories .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 8, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 2, 9, 9, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_171728_0", "20250114_171731_1", "20250114_171731_2", "20250114_171731_3", "20250114_171732_4", "20250114_171732_5", "20250114_171733_6", "20250114_171733_7", "20250114_171733_8", "20250114_171734_9", "20250114_171734_10", "20250114_171735_11", "20250114_171735_12", "20250114_171736_13", "20250114_171736_14", "20250114_171736_15", "20250114_171737_16", "20250114_171738_19", "20250114_171739_22", "20250114_171740_25", "20250114_171741_27", "20250114_171742_28", "20250114_171743_31", "20250114_171745_34", "20250114_171746_37", "20250114_171747_40", "20250114_171749_43", "20250114_171750_46", "20250114_171752_49", "20250114_171753_52", "20250114_171754_55", "20250114_171756_58", "20250114_171756_59", "20250114_171757_60", "20250114_171757_61", "20250114_171758_64", "20250114_171800_67", "20250114_171800_68", "20250114_171801_69", "20250114_171801_70", "20250114_171801_71", "20250114_171802_72", "20250114_171802_73", "20250114_171803_74", "20250114_171803_75", "20250114_171804_76", "20250114_171804_77", "20250114_171804_78", "20250114_171805_79", "20250114_171805_80", "20250114_171806_81", "20250114_171806_82", "20250114_171806_83", "20250114_171807_84", "20250114_171807_85" ], "pos": [ [ 279.7121966823633, -1471.0263753713662, -319.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -316.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -313.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -310.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -307.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -304.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -301.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -298.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -295.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -292.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -289.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -286.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -283.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -280.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -277.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -274.74235308666925 ], [ 279.7121966823633, -1471.0263753713662, -271.74235308666925 ], [ 276.7121966823633, -1465.8302229486594, -268.74235308666925 ], [ 272.2121966823633, -1458.0359943145993, -268.74235308666925 ], [ 267.7121966823633, -1450.2417656805392, -268.74235308666925 ], [ 264.7121966823633, -1445.0456132578324, -268.74235308666925 ], [ 263.2121966823633, -1442.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1436.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1427.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1418.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1409.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1400.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1391.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1382.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1373.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1364.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1355.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1352.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1349.447537046479, -268.74235308666925 ], [ 263.2121966823633, -1349.447537046479, -268.74235308666925 ], [ 258.01604425965667, -1346.447537046479, -268.74235308666925 ], [ 250.22181562559672, -1341.947537046479, -268.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -268.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -271.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -274.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -277.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -280.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -283.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -286.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -289.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -292.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -295.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -298.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -301.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -304.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -307.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -310.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -313.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -316.74235308666925 ], [ 247.6237394142434, -1340.447537046479, -319.74235308666925 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_26/astar_data/high_long/2025-1-10_6-13-35_28264029", "gpt_instruction": "Move forward to a light grey rectangular building with columns of medium size , slightly turn right and advance towards a blue and beige skyscraper characterized by large rectangular windows , then proceed directly ahead to a light beige building with a grid - like rooftop pattern .", "action": [ 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 1, 0 ], "index_list": [ "20250110_061339_2", "20250110_061340_5", "20250110_061342_8", "20250110_061342_9", "20250110_061343_12", "20250110_061345_15", "20250110_061346_18", "20250110_061347_21", "20250110_061349_24", "20250110_061350_27", "20250110_061351_30", "20250110_061353_33", "20250110_061354_36", "20250110_061355_39", "20250110_061357_42", "20250110_061358_45", "20250110_061358_46", "20250110_061400_49", "20250110_061401_52", "20250110_061402_55", "20250110_061403_56", "20250110_061403_57" ], "pos": [ [ 232.06937441991988, -1490.6996337797016, -207.99076791761004 ], [ 227.56937441991988, -1482.9054051456415, -207.99076791761004 ], [ 223.06937441991988, -1475.1111765115813, -207.99076791761004 ], [ 221.56937441991988, -1472.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1466.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1457.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1448.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1439.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1430.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1421.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1412.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1403.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1394.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1385.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1376.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1367.513100300228, -207.99076791761004 ], [ 221.56937441991988, -1364.513100300228, -207.99076791761004 ], [ 224.56937441991988, -1359.3169478775212, -207.99076791761004 ], [ 229.06937441991988, -1351.522719243461, -207.99076791761004 ], [ 233.56937441991988, -1343.728490609401, -207.99076791761004 ], [ 235.06937441991988, -1341.1304143980476, -207.99076791761004 ], [ 236.56937441991988, -1338.5323381866942, -207.99076791761004 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072 ] }, { "image_path": "env_airsim_26/astar_data/medium_average/2025-1-9_13-4-41_1143408282", "gpt_instruction": "Proceed straight towards the brown office building , characterized by its medium size and multiple stories . It has rectangular windows with a dark tint that are evenly spaced .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_130445_2", "20250109_130446_5", "20250109_130447_8", "20250109_130449_11", "20250109_130450_14", "20250109_130452_17", "20250109_130453_20", "20250109_130455_23", "20250109_130456_26", "20250109_130457_29", "20250109_130458_31", "20250109_130459_32" ], "pos": [ [ -1328.5008468181854, -2029.1665023957105, -285.03212597454063 ], [ -1320.7066181841253, -2033.6665023957105, -285.03212597454063 ], [ -1312.9123895500652, -2038.1665023957105, -285.03212597454063 ], [ -1305.118160916005, -2042.6665023957105, -285.03212597454063 ], [ -1297.323932281945, -2047.1665023957105, -285.03212597454063 ], [ -1289.5297036478848, -2051.6665023957103, -285.03212597454063 ], [ -1281.7354750138247, -2056.1665023957103, -285.03212597454063 ], [ -1273.9412463797646, -2060.6665023957103, -285.03212597454063 ], [ -1266.1470177457045, -2065.1665023957103, -285.03212597454063 ], [ -1258.3527891116444, -2069.6665023957103, -285.03212597454063 ], [ -1253.1566366889376, -2072.6665023957103, -285.03212597454063 ], [ -1250.5585604775843, -2074.1665023957103, -285.03212597454063 ] ], "yaw": [ -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_26/astar_data/high_average/2025-1-10_3-47-10_1549495354", "gpt_instruction": "Move towards the orange - beige building with rectangular windows and a tall structure , then slightly turn right to advance towards the brown and cream high - rise building , which also features rectangular windows and a rooftop with a marble - like texture .", "action": [ 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250110_034714_2", "20250110_034714_3", "20250110_034716_6", "20250110_034717_9", "20250110_034719_12", "20250110_034720_15", "20250110_034722_18", "20250110_034723_21", "20250110_034725_24", "20250110_034726_27", "20250110_034728_30", "20250110_034728_31" ], "pos": [ [ -779.0809405088174, -2268.4784629471183, -211.9525511843355 ], [ -777.5809405088174, -2265.880386735765, -211.9525511843355 ], [ -772.3847880861108, -2262.880386735765, -211.9525511843355 ], [ -764.5905594520507, -2258.380386735765, -211.9525511843355 ], [ -756.7963308179906, -2253.880386735765, -211.9525511843355 ], [ -749.0021021839304, -2249.380386735765, -211.9525511843355 ], [ -741.2078735498703, -2244.880386735765, -211.9525511843355 ], [ -733.4136449158102, -2240.380386735765, -211.9525511843355 ], [ -725.6194162817501, -2235.880386735765, -211.9525511843355 ], [ -717.82518764769, -2231.380386735765, -211.9525511843355 ], [ -710.0309590136299, -2226.880386735765, -211.9525511843355 ], [ -707.4328828022765, -2225.380386735765, -211.9525511843355 ] ], "yaw": [ 1.0471975511965694, 1.0471975511965694, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894 ] }, { "image_path": "env_airsim_26/astar_data/low_long_updown/2025-01-19_05-58-21_123593", "gpt_instruction": "Begin by ascending towards a mid-sized , brown building featuring rectangular windows . Move forward to it . Slightly ascend and gently turn right , then proceed straight to a large building with a cream and black facade adorned with rectangular windows and decorative features . Gradually turn left as you advance towards a large , beige building , notable for its rectilinear stone facade with inset dark windows . Finally , slightly descend and come to a stop at another large , beige building distinguished by its stone arches and archways .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 4, 3, 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 9, 9, 9, 9, 9, 9, 5, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250119_055823_0", "20250119_055823_1", "20250119_055824_2", "20250119_055825_3", "20250119_055826_4", "20250119_055827_5", "20250119_055827_6", "20250119_055828_7", "20250119_055829_8", "20250119_055830_9", "20250119_055831_10", "20250119_055833_13", "20250119_055836_16", "20250119_055839_19", "20250119_055839_20", "20250119_055840_21", "20250119_055843_24", "20250119_055845_27", "20250119_055848_30", "20250119_055850_33", "20250119_055853_36", "20250119_055856_39", "20250119_055858_42", "20250119_055901_45", "20250119_055902_46", "20250119_055903_47", "20250119_055905_50", "20250119_055908_53", "20250119_055911_56", "20250119_055913_59", "20250119_055916_62", "20250119_055918_65", "20250119_055919_66", "20250119_055920_67", "20250119_055921_68", "20250119_055922_69", "20250119_055922_70", "20250119_055923_71", "20250119_055924_72", "20250119_055925_73", "20250119_055926_74", "20250119_055926_75", "20250119_055927_76", "20250119_055928_77", "20250119_055929_78" ], "pos": [ [ -67.70084179373796, -1418.0178193259756, -320.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -317.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -314.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -311.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -308.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -305.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -302.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -299.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -296.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -293.37275953148753, -0.5235987755982988 ], [ -67.70084179373796, -1418.0178193259756, -290.37275953148753, -0.5235987755982988 ], [ -62.50468937103133, -1421.0178193259756, -287.37275953148753 ], [ -54.710460736971385, -1425.5178193259756, -287.37275953148753 ], [ -46.91623210291144, -1430.0178193259756, -287.37275953148753 ], [ -44.31815589155812, -1431.5178193259756, -287.37275953148753 ], [ -44.31815589155812, -1431.5178193259756, -284.37275953148753 ], [ -41.31815589155812, -1436.7139717486823, -284.37275953148753 ], [ -36.81815589155812, -1444.5082003827424, -284.37275953148753 ], [ -32.31815589155812, -1452.3024290168025, -284.37275953148753 ], [ -27.81815589155812, -1460.0966576508627, -284.37275953148753 ], [ -23.31815589155812, -1467.8908862849228, -284.37275953148753 ], [ -18.81815589155812, -1475.685114918983, -284.37275953148753 ], [ -14.31815589155812, -1483.479343553043, -284.37275953148753 ], [ -9.81815589155812, -1491.2735721871031, -284.37275953148753 ], [ -8.31815589155812, -1493.8716483984565, -284.37275953148753 ], [ -6.818155891558121, -1496.4697246098099, -284.37275953148753 ], [ -1.6220034688514886, -1499.4697246098099, -284.37275953148753 ], [ 6.172225165208459, -1503.9697246098099, -284.37275953148753 ], [ 13.966453799268407, -1508.4697246098099, -284.37275953148753 ], [ 21.760682433328356, -1512.9697246098099, -284.37275953148753 ], [ 29.554911067388304, -1517.4697246098099, -284.37275953148753 ], [ 37.34913970144825, -1521.9697246098099, -284.37275953148753 ], [ 39.94721591280157, -1523.4697246098099, -284.37275953148753 ], [ 39.94721591280157, -1523.4697246098099, -287.37275953148753 ], [ 39.94721591280157, -1523.4697246098099, -290.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -293.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -296.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -299.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -302.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -305.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -308.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -311.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -314.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -317.37275953148753, -0.5235987755982988 ], [ 39.94721591280157, -1523.4697246098099, -320.37275953148753, -0.5235987755982988 ] ], "yaw": [ -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -1.0471975511965976, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755983084, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_26/astar_data/high_average/2025-1-9_23-3-8_430253414", "gpt_instruction": "Proceed directly to a tall , rectangular , multi - storied building with light beige color and dark accents , which is notable for being the tallest feature in the area and has windows . Then , slightly turn right and move ahead to a medium - sized building characterized by a distinct red rooftop .", "action": [ 9, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250109_230312_2", "20250109_230313_5", "20250109_230314_8", "20250109_230316_11", "20250109_230316_12", "20250109_230318_15", "20250109_230319_18", "20250109_230320_21", "20250109_230322_24", "20250109_230323_27", "20250109_230325_30", "20250109_230326_33", "20250109_230328_36", "20250109_230329_39", "20250109_230330_42", "20250109_230331_43", "20250109_230331_44" ], "pos": [ [ 515.3891590842484, -1309.5720108265027, -211.9525511843355 ], [ 524.3891590842484, -1309.5720108265027, -211.9525511843355 ], [ 533.3891590842484, -1309.5720108265027, -211.9525511843355 ], [ 542.3891590842484, -1309.5720108265027, -211.9525511843355 ], [ 545.3891590842484, -1309.5720108265027, -211.9525511843355 ], [ 550.5853115069551, -1312.5720108265027, -211.9525511843355 ], [ 558.3795401410152, -1317.0720108265027, -211.9525511843355 ], [ 566.1737687750754, -1321.5720108265027, -211.9525511843355 ], [ 573.9679974091355, -1326.0720108265027, -211.9525511843355 ], [ 581.7622260431956, -1330.5720108265027, -211.9525511843355 ], [ 589.5564546772557, -1335.0720108265027, -211.9525511843355 ], [ 597.3506833113158, -1339.5720108265027, -211.9525511843355 ], [ 605.144911945376, -1344.0720108265027, -211.9525511843355 ], [ 612.9391405794361, -1348.5720108265027, -211.9525511843355 ], [ 620.7333692134962, -1353.0720108265027, -211.9525511843355 ], [ 623.3314454248496, -1354.5720108265027, -211.9525511843355 ], [ 625.9295216362029, -1356.0720108265027, -211.9525511843355 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_26/astar_data/low_average/2025-1-1_1-20-24_1541027284", "gpt_instruction": "Head straight to a large beige building characterized by its rectangular structure with vertical ridged designs and minimal windows . Then , slightly turn right and walk straight toward another large beige structure , a rectangular block with a rough , textured surface and faint horizontal lines . Finally , slightly turn left and proceed straight to a large beige structure featuring a concrete fa\u00e7ade with visible horizontal lines and a noticeable dark mark , exemplifying a modern minimalist building .", "action": [ 9, 9, 9, 9, 9, 9, 1, 3, 9, 9, 9, 2, 1, 0 ], "index_list": [ "20250101_012028_2", "20250101_012029_5", "20250101_012031_8", "20250101_012032_11", "20250101_012033_14", "20250101_012035_17", "20250101_012035_18", "20250101_012035_19", "20250101_012037_22", "20250101_012038_25", "20250101_012039_28", "20250101_012040_29", "20250101_012040_30", "20250101_012041_31" ], "pos": [ [ 691.5126648262021, -1425.5232604014784, -300.95422927116965 ], [ 696.0126648262021, -1417.7290317674183, -300.95422927116965 ], [ 700.5126648262021, -1409.9348031333582, -300.95422927116965 ], [ 705.0126648262021, -1402.140574499298, -300.95422927116965 ], [ 709.5126648262021, -1394.346345865238, -300.95422927116965 ], [ 714.0126648262021, -1386.5521172311778, -300.95422927116965 ], [ 715.5126648262021, -1383.9540410198244, -300.95422927116965 ], [ 717.0126648262021, -1381.355964808471, -300.95422927116965 ], [ 722.2088172489089, -1378.355964808471, -300.95422927116965 ], [ 730.003045882969, -1373.855964808471, -300.95422927116965 ], [ 737.7972745170291, -1369.355964808471, -300.95422927116965 ], [ 740.3953507283825, -1367.855964808471, -300.95422927116965 ], [ 740.3953507283825, -1367.855964808471, -300.95422927116965 ], [ 741.8953507283825, -1365.2578885971177, -300.95422927116965 ] ], "yaw": [ 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 1.047197551196588, 1.047197551196588 ] }, { "image_path": "env_airsim_26/astar_data/low_long/2024-12-31_22-5-49_1424268980", "gpt_instruction": "Advance forward to the large light gray building with multiple windows and Gothic architectural elements , then slightly turn right and move ahead to it .", "action": [ 9, 3, 8, 0 ], "index_list": [ "20241231_220552_2", "20241231_220553_3", "20241231_220554_5", "20241231_220554_6" ], "pos": [ [ -492.18660826210737, -2588.4753083284436, -309.63117557220426 ], [ -490.68660826210737, -2591.0733845397967, -309.63117557220426 ], [ -490.68660826210737, -2594.0733845397967, -309.63117557220426 ], [ -490.68660826210737, -2597.0733845397967, -309.63117557220426 ] ], "yaw": [ -1.0471975511965694, -1.0471975511965694, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_26/astar_data/low_short/2025-1-1_13-24-59_1911165193", "gpt_instruction": "Walk straight to the gray structure with red brick accents and dark blue windows , which features a rectangular grid - like pattern with segmented columns and windows . It is a mid-sized , multi - story commercial or office building .", "action": [ 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250101_132503_2", "20250101_132504_5", "20250101_132505_8", "20250101_132507_11", "20250101_132508_14", "20250101_132508_15", "20250101_132509_16" ], "pos": [ [ 567.3510413114386, -1998.5155827375293, -310.84632368610323 ], [ 562.8510413114386, -1990.7213541034691, -310.84632368610323 ], [ 558.3510413114386, -1982.927125469409, -310.84632368610323 ], [ 553.8510413114386, -1975.132896835349, -310.84632368610323 ], [ 549.3510413114386, -1967.3386682012888, -310.84632368610323 ], [ 547.8510413114386, -1964.7405919899354, -310.84632368610323 ], [ 546.3510413114386, -1962.142515778582, -310.84632368610323 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186 ] }, { "image_path": "env_airsim_26/astar_data/medium_long/2025-1-9_11-43-55_783368690", "gpt_instruction": "Proceed forward to the beige high - rise building , characterized by its textured concrete facade with vertical lines and rivets , which is large in size . Slightly turn left , then keep going straight to the large beige office building with vertical windows . Slightly turn right and walk straight to it .", "action": [ 9, 9, 9, 9, 9, 1, 2, 9, 9, 9, 9, 9, 9, 1, 3, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_114358_2", "20250109_114400_5", "20250109_114401_8", "20250109_114403_11", "20250109_114404_14", "20250109_114405_15", "20250109_114405_16", "20250109_114407_19", "20250109_114408_22", "20250109_114409_25", "20250109_114411_28", "20250109_114412_31", "20250109_114414_34", "20250109_114414_35", "20250109_114415_36", "20250109_114416_39", "20250109_114417_42", "20250109_114419_45", "20250109_114420_48", "20250109_114421_50", "20250109_114422_51" ], "pos": [ [ 389.357250695516, -1827.6757045183174, -269.91094099928495 ], [ 381.563022061456, -1823.1757045183174, -269.91094099928495 ], [ 373.7687934273961, -1818.6757045183174, -269.91094099928495 ], [ 365.9745647933361, -1814.1757045183174, -269.91094099928495 ], [ 358.1803361592762, -1809.6757045183174, -269.91094099928495 ], [ 355.58225994792286, -1808.1757045183174, -269.91094099928495 ], [ 352.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 346.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 337.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 328.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 319.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 310.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 301.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 298.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 295.98418373656955, -1806.6757045183174, -269.91094099928495 ], [ 290.7880313138629, -1803.6757045183174, -269.91094099928495 ], [ 282.99380267980297, -1799.1757045183174, -269.91094099928495 ], [ 275.199574045743, -1794.6757045183174, -269.91094099928495 ], [ 267.4053454116831, -1790.1757045183174, -269.91094099928495 ], [ 262.20919298897644, -1787.1757045183174, -269.91094099928495 ], [ 259.6111167776231, -1785.6757045183174, -269.91094099928495 ] ], "yaw": [ 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_26/astar_data/low_average/2024-12-31_22-41-27_116087764", "gpt_instruction": "Proceed forward toward the building with red and beige colors , featuring brick exteriors and rectangular windows , which is large in size . Slightly turn left slightly and head toward it . Then , slightly turn right and move straight toward it . Finally , slightly turn right and walk straight to the modern high - rise building with light beige coloration , showcasing a tall rectangular grid pattern of windows with alternating black and beige panels .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 3, 9, 9, 9, 9, 1, 3, 9, 8, 0 ], "index_list": [ "20241231_224131_2", "20241231_224132_5", "20241231_224134_8", "20241231_224135_11", "20241231_224136_14", "20241231_224138_17", "20241231_224139_20", "20241231_224140_23", "20241231_224141_24", "20241231_224142_27", "20241231_224144_30", "20241231_224145_33", "20241231_224146_34", "20241231_224147_37", "20241231_224148_40", "20241231_224150_43", "20241231_224151_46", "20241231_224151_47", "20241231_224152_48", "20241231_224153_51", "20241231_224154_53", "20241231_224154_54" ], "pos": [ [ -192.51748821600358, -1668.785427557565, -292.28478393775026 ], [ -197.01748821600358, -1660.991198923505, -292.28478393775026 ], [ -201.51748821600358, -1653.1969702894448, -292.28478393775026 ], [ -206.01748821600358, -1645.4027416553847, -292.28478393775026 ], [ -210.51748821600358, -1637.6085130213246, -292.28478393775026 ], [ -215.01748821600358, -1629.8142843872645, -292.28478393775026 ], [ -219.51748821600358, -1622.0200557532044, -292.28478393775026 ], [ -224.01748821600358, -1614.2258271191442, -292.28478393775026 ], [ -225.51748821600358, -1611.6277509077909, -292.28478393775026 ], [ -230.71364063871022, -1608.6277509077909, -292.28478393775026 ], [ -238.50786927277017, -1604.1277509077909, -292.28478393775026 ], [ -246.3020979068301, -1599.6277509077909, -292.28478393775026 ], [ -248.90017411818343, -1598.1277509077909, -292.28478393775026 ], [ -251.90017411818343, -1592.9315984850841, -292.28478393775026 ], [ -256.40017411818343, -1585.137369851024, -292.28478393775026 ], [ -260.90017411818343, -1577.3431412169639, -292.28478393775026 ], [ -265.40017411818343, -1569.5489125829038, -292.28478393775026 ], [ -266.90017411818343, -1566.9508363715504, -292.28478393775026 ], [ -268.40017411818343, -1564.352760160197, -292.28478393775026 ], [ -268.40017411818343, -1558.352760160197, -292.28478393775026 ], [ -268.40017411818343, -1552.352760160197, -292.28478393775026 ], [ -268.40017411818343, -1549.352760160197, -292.28478393775026 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_26/astar_data/medium_short/2025-1-9_14-58-14_1663080928", "gpt_instruction": "Proceed forward towards the gray apartment building , which features balconies with horizontal slat railings . It is a mid-sized structure with multiple floors .", "action": [ 9, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250109_145818_2", "20250109_145819_5", "20250109_145820_8", "20250109_145822_11", "20250109_145823_14", "20250109_145824_17", "20250109_145826_20", "20250109_145826_21" ], "pos": [ [ 1027.1755680985211, -1934.6623114934855, -270.6537207570657 ], [ 1031.6755680985211, -1942.4565401275456, -270.6537207570657 ], [ 1036.1755680985211, -1950.2507687616057, -270.6537207570657 ], [ 1040.6755680985211, -1958.0449973956659, -270.6537207570657 ], [ 1045.1755680985211, -1965.839226029726, -270.6537207570657 ], [ 1049.6755680985211, -1973.633454663786, -270.6537207570657 ], [ 1054.1755680985211, -1981.4276832978462, -270.6537207570657 ], [ 1055.6755680985211, -1984.0257595091996, -270.6537207570657 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072 ] }, { "image_path": "env_airsim_26/astar_data/high_long/2025-1-10_8-19-16_1989200801", "gpt_instruction": "Proceed forward to the white skyscraper , characterized by tall structure and large windows ; then slightly turn right and continue straight towards the gray , medium - sized flat - roofed building . Next , slightly turn left and advance to the light brown tall skyscraper with multiple windows before slightly turning left again to move directly ahead to the dark brown building , featuring modern glazing and reflective windows in a horizontal alignment . Finally , slightly turn right and walk straight towards it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 2, 9, 9, 9, 9, 8, 2, 9, 9, 9, 3, 9, 0 ], "index_list": [ "20250110_081919_2", "20250110_081921_5", "20250110_081922_8", "20250110_081923_11", "20250110_081925_14", "20250110_081926_17", "20250110_081927_20", "20250110_081928_21", "20250110_081929_24", "20250110_081930_27", "20250110_081932_30", "20250110_081932_31", "20250110_081933_34", "20250110_081935_37", "20250110_081936_40", "20250110_081937_43", "20250110_081938_45", "20250110_081938_46", "20250110_081940_49", "20250110_081941_52", "20250110_081942_55", "20250110_081943_56", "20250110_081944_59", "20250110_081944_60" ], "pos": [ [ -1025.9768499465188, -2786.659699139735, -207.99076791761004 ], [ -1021.4768499465188, -2794.4539277737945, -207.99076791761004 ], [ -1016.9768499465188, -2802.248156407854, -207.99076791761004 ], [ -1012.4768499465188, -2810.0423850419133, -207.99076791761004 ], [ -1007.9768499465188, -2817.836613675973, -207.99076791761004 ], [ -1003.4768499465188, -2825.630842310032, -207.99076791761004 ], [ -998.9768499465188, -2833.4250709440917, -207.99076791761004 ], [ -997.4768499465188, -2836.023147155445, -207.99076791761004 ], [ -997.4768499465188, -2842.023147155445, -207.99076791761004 ], [ -997.4768499465188, -2851.023147155445, -207.99076791761004 ], [ -997.4768499465188, -2860.023147155445, -207.99076791761004 ], [ -997.4768499465188, -2863.023147155445, -207.99076791761004 ], [ -994.4768499465188, -2868.219299578151, -207.99076791761004 ], [ -989.9768499465188, -2876.0135282122105, -207.99076791761004 ], [ -985.4768499465188, -2883.80775684627, -207.99076791761004 ], [ -980.9768499465188, -2891.6019854803294, -207.99076791761004 ], [ -977.9768499465188, -2896.7981379030357, -207.99076791761004 ], [ -976.4768499465188, -2899.396214114389, -207.99076791761004 ], [ -971.280697523812, -2902.396214114389, -207.99076791761004 ], [ -963.4864688897519, -2906.896214114389, -207.99076791761004 ], [ -955.6922402556918, -2911.396214114389, -207.99076791761004 ], [ -953.0941640443384, -2912.896214114389, -207.99076791761004 ], [ -950.0941640443384, -2918.092366537095, -207.99076791761004 ], [ -948.5941640443384, -2920.6904427484483, -207.99076791761004 ] ], "yaw": [ -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -1.0471975511965694, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -1.0471975511965694, -1.0471975511965694 ] }, { "image_path": "env_airsim_26/astar_data/medium_short/2025-1-9_17-28-28_1456748696", "gpt_instruction": "Move ahead to a beige building characterized by multiple uniform windows with a grid - like structure and large size . Then , slightly turn right slightly to proceed to it .", "action": [ 9, 9, 8, 3, 9, 0 ], "index_list": [ "20250109_172831_2", "20250109_172833_5", "20250109_172834_7", "20250109_172834_8", "20250109_172835_11", "20250109_172836_12" ], "pos": [ [ 233.12079741078927, -1616.238339936314, -270.6537207570657 ], [ 233.12079741078927, -1607.238339936314, -270.6537207570657 ], [ 233.12079741078927, -1601.238339936314, -270.6537207570657 ], [ 233.12079741078927, -1598.238339936314, -270.6537207570657 ], [ 236.12079741078927, -1593.0421875136074, -270.6537207570657 ], [ 237.62079741078927, -1590.444111302254, -270.6537207570657 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511966072, 1.0471975511966072 ] }, { "image_path": "env_airsim_26/astar_data/high_short/2025-1-9_23-4-2_991810563", "gpt_instruction": "Proceed directly towards the large , cracked wall surface on the side of a building , which is light beige in color . Then , slightly turn left and continue going straight until you reach the very tall and narrow building with an off - white color and a smooth facade featuring vertical window rows .", "action": [ 9, 9, 9, 8, 2, 8, 0 ], "index_list": [ "20250109_230405_2", "20250109_230407_5", "20250109_230408_8", "20250109_230409_10", "20250109_230410_11", "20250109_230411_13", "20250109_230411_14" ], "pos": [ [ -1208.3789180875617, -2348.7646740581768, -250.6683124086241 ], [ -1200.5846894535016, -2344.2646740581768, -250.6683124086241 ], [ -1192.7904608194415, -2339.7646740581768, -250.6683124086241 ], [ -1187.5943083967347, -2336.7646740581768, -250.6683124086241 ], [ -1184.9962321853814, -2335.2646740581768, -250.6683124086241 ], [ -1183.4962321853814, -2332.6665978468236, -250.6683124086241 ], [ -1181.9962321853814, -2330.0685216354705, -250.6683124086241 ] ], "yaw": [ 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 1.0471975511965694, 1.0471975511965694 ] }, { "image_path": "env_airsim_26/astar_data/high_short/2025-1-10_3-22-48_1368062958", "gpt_instruction": "Move directly towards the tall , rectangular beige building with repetitive windows , then slightly turn right and continue ahead to the light beige building featuring a long vertical alignment with black , window - striped across the facade , which is tall and narrow , extending beyond the top of the image .", "action": [ 9, 9, 9, 1, 3, 9, 9, 0 ], "index_list": [ "20250110_032251_2", "20250110_032252_5", "20250110_032254_8", "20250110_032254_9", "20250110_032255_10", "20250110_032256_13", "20250110_032257_16", "20250110_032258_17" ], "pos": [ [ -878.891963979552, -2913.1366581900343, -250.6683124086241 ], [ -886.6861926136121, -2917.6366581900343, -250.6683124086241 ], [ -894.4804212476722, -2922.1366581900343, -250.6683124086241 ], [ -897.0784974590256, -2923.6366581900343, -250.6683124086241 ], [ -899.676573670379, -2925.1366581900343, -250.6683124086241 ], [ -905.676573670379, -2925.1366581900343, -250.6683124086241 ], [ -914.676573670379, -2925.1366581900343, -250.6683124086241 ], [ -917.676573670379, -2925.1366581900343, -250.6683124086241 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_26/astar_data/high_long/2025-1-10_9-26-10_2026929416", "gpt_instruction": "Begin by walking straight towards a large grey building characterized by its tall structure and vertical lines . Then , slightly turn right slightly and proceed to it . Next , turn left to a dark building that features tall , narrow windows and vertical lines . Finally , head straight to it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 8, 2, 2, 9, 9, 0 ], "index_list": [ "20250110_092614_2", "20250110_092615_5", "20250110_092617_8", "20250110_092618_11", "20250110_092619_14", "20250110_092620_17", "20250110_092622_20", "20250110_092622_21", "20250110_092624_24", "20250110_092625_27", "20250110_092626_30", "20250110_092628_33", "20250110_092629_36", "20250110_092630_39", "20250110_092632_42", "20250110_092633_44", "20250110_092633_45", "20250110_092633_46", "20250110_092635_49", "20250110_092636_52", "20250110_092636_53" ], "pos": [ [ 13.667005847743688, -1542.0896587752557, -207.99076791761004 ], [ 18.167005847743688, -1549.8838874093158, -207.99076791761004 ], [ 22.667005847743688, -1557.678116043376, -207.99076791761004 ], [ 27.167005847743688, -1565.472344677436, -207.99076791761004 ], [ 31.667005847743688, -1573.2665733114961, -207.99076791761004 ], [ 36.16700584774369, -1581.0608019455562, -207.99076791761004 ], [ 40.66700584774369, -1588.8550305796164, -207.99076791761004 ], [ 42.16700584774369, -1591.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1597.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1606.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1615.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1624.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1633.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1642.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1651.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1657.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1660.4531067909697, -207.99076791761004 ], [ 42.16700584774369, -1660.4531067909697, -207.99076791761004 ], [ 47.36315827045032, -1663.4531067909697, -207.99076791761004 ], [ 55.15738690451027, -1667.9531067909697, -207.99076791761004 ], [ 57.755463115863584, -1669.4531067909697, -207.99076791761004 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_airsim_26/astar_data/high_long/2025-1-10_1-52-41_586235379", "gpt_instruction": "Head straight to a very large gray skyscraper with a tall and smooth surface , then slightly turn left and keep going straight towards a large beige building characterized by its tall structure , vertical windows , and rectangular design . Finally , slightly turn right and move forward to reach a large light gray skyscraper , notable for its tall rectangular shape and multiple rows of evenly spaced black windows .", "action": [ 9, 9, 9, 2, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250110_015245_2", "20250110_015246_5", "20250110_015248_8", "20250110_015248_9", "20250110_015250_12", "20250110_015251_15", "20250110_015253_18", "20250110_015254_21", "20250110_015256_24", "20250110_015256_25", "20250110_015258_28", "20250110_015259_31", "20250110_015301_34", "20250110_015302_37", "20250110_015304_40", "20250110_015305_43", "20250110_015307_46", "20250110_015308_49", "20250110_015309_51", "20250110_015310_52" ], "pos": [ [ -54.17952586840664, -1454.0978572669144, -207.99076791761004 ], [ -61.97375450246659, -1458.5978572669144, -207.99076791761004 ], [ -69.76798313652654, -1463.0978572669144, -207.99076791761004 ], [ -72.36605934787985, -1464.5978572669144, -207.99076791761004 ], [ -75.36605934787985, -1469.7940096896211, -207.99076791761004 ], [ -79.86605934787985, -1477.5882383236813, -207.99076791761004 ], [ -84.36605934787985, -1485.3824669577414, -207.99076791761004 ], [ -88.86605934787985, -1493.1766955918015, -207.99076791761004 ], [ -93.36605934787985, -1500.9709242258616, -207.99076791761004 ], [ -94.86605934787985, -1503.569000437215, -207.99076791761004 ], [ -100.06221177058649, -1506.569000437215, -207.99076791761004 ], [ -107.85644040464643, -1511.069000437215, -207.99076791761004 ], [ -115.65066903870638, -1515.569000437215, -207.99076791761004 ], [ -123.44489767276633, -1520.069000437215, -207.99076791761004 ], [ -131.23912630682628, -1524.569000437215, -207.99076791761004 ], [ -139.03335494088623, -1529.069000437215, -207.99076791761004 ], [ -146.82758357494617, -1533.569000437215, -207.99076791761004 ], [ -154.62181220900612, -1538.069000437215, -207.99076791761004 ], [ -159.81796463171275, -1541.069000437215, -207.99076791761004 ], [ -162.41604084306607, -1542.569000437215, -207.99076791761004 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944 ] }, { "image_path": "env_airsim_26/astar_data/medium_short/2025-1-9_16-41-29_1220585472", "gpt_instruction": "Move forward to a gray building characterized by large rectangular windows and a \" building \" type , then slightly turn right and proceed straight to it .", "action": [ 9, 9, 9, 9, 9, 9, 3, 9, 0 ], "index_list": [ "20250109_164132_2", "20250109_164134_5", "20250109_164135_8", "20250109_164136_11", "20250109_164138_14", "20250109_164139_17", "20250109_164139_18", "20250109_164141_21", "20250109_164141_22" ], "pos": [ [ -570.205937679655, -1920.9604620222499, -270.6537207570657 ], [ -579.205937679655, -1920.9604620222499, -270.6537207570657 ], [ -588.205937679655, -1920.9604620222499, -270.6537207570657 ], [ -597.205937679655, -1920.9604620222499, -270.6537207570657 ], [ -606.205937679655, -1920.9604620222499, -270.6537207570657 ], [ -615.205937679655, -1920.9604620222499, -270.6537207570657 ], [ -618.205937679655, -1920.9604620222499, -270.6537207570657 ], [ -623.4020901023616, -1917.9604620222499, -270.6537207570657 ], [ -626.000166313715, -1916.4604620222499, -270.6537207570657 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779915037, 2.6179938779915037 ] }, { "image_path": "env_airsim_26/astar_data/high_long/2025-1-10_7-2-30_75245562", "gpt_instruction": "Advance towards the light brown building , which is tall , rectangular , with dark windows and is large in size . Slightly turn right and keep going straight towards it . Make a left turn to it . Move forward towards it . Slightly turn right and keep going straight towards the light brown building , which stands tall with distinctive corner structures and a significant number of windows , dominating the surrounding buildings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 3, 9, 1, 2, 2, 9, 9, 9, 8, 3, 9, 9, 9, 9, 0 ], "index_list": [ "20250110_070234_2", "20250110_070235_5", "20250110_070237_8", "20250110_070238_11", "20250110_070239_14", "20250110_070241_17", "20250110_070242_20", "20250110_070242_21", "20250110_070244_24", "20250110_070244_25", "20250110_070245_26", "20250110_070245_27", "20250110_070247_30", "20250110_070248_33", "20250110_070249_36", "20250110_070250_38", "20250110_070251_39", "20250110_070252_42", "20250110_070254_45", "20250110_070255_48", "20250110_070257_51", "20250110_070257_52" ], "pos": [ [ 371.68866052637645, -1279.3058992840279, -207.99076791761004 ], [ 363.8944318923165, -1283.8058992840279, -207.99076791761004 ], [ 356.10020325825656, -1288.3058992840279, -207.99076791761004 ], [ 348.3059746241966, -1292.8058992840279, -207.99076791761004 ], [ 340.51174599013666, -1297.3058992840279, -207.99076791761004 ], [ 332.7175173560767, -1301.8058992840279, -207.99076791761004 ], [ 324.92328872201676, -1306.3058992840279, -207.99076791761004 ], [ 322.32521251066345, -1307.8058992840279, -207.99076791761004 ], [ 316.32521251066345, -1307.8058992840279, -207.99076791761004 ], [ 313.32521251066345, -1307.8058992840279, -207.99076791761004 ], [ 310.32521251066345, -1307.8058992840279, -207.99076791761004 ], [ 310.32521251066345, -1307.8058992840279, -207.99076791761004 ], [ 307.32521251066345, -1313.0020517067346, -207.99076791761004 ], [ 302.82521251066345, -1320.7962803407947, -207.99076791761004 ], [ 298.32521251066345, -1328.5905089748549, -207.99076791761004 ], [ 295.32521251066345, -1333.7866613975616, -207.99076791761004 ], [ 293.82521251066345, -1336.384737608915, -207.99076791761004 ], [ 288.6290600879568, -1339.384737608915, -207.99076791761004 ], [ 280.83483145389687, -1343.884737608915, -207.99076791761004 ], [ 273.0406028198369, -1348.384737608915, -207.99076791761004 ], [ 265.246374185777, -1352.884737608915, -207.99076791761004 ], [ 262.64829797442366, -1354.384737608915, -207.99076791761004 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.665191429188092, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944 ] }, { "image_path": "env_airsim_26/astar_data/high_average/2025-1-10_2-14-11_1151297278", "gpt_instruction": "Proceed straight to the tall , brown cylindrical building with a grid - like window pattern , then slightly turn left and go directly ahead to the large , brick - red building featuring horizontal window strips .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 8, 0 ], "index_list": [ "20250110_021415_2", "20250110_021416_5", "20250110_021418_8", "20250110_021419_11", "20250110_021420_14", "20250110_021422_17", "20250110_021423_20", "20250110_021424_23", "20250110_021426_26", "20250110_021427_29", "20250110_021428_32", "20250110_021429_33", "20250110_021430_36", "20250110_021431_39", "20250110_021432_41", "20250110_021432_42" ], "pos": [ [ -583.9918630785667, -1996.9457432944535, -211.9525511843355 ], [ -591.7860917126268, -1992.4457432944535, -211.9525511843355 ], [ -599.5803203466869, -1987.9457432944535, -211.9525511843355 ], [ -607.374548980747, -1983.4457432944535, -211.9525511843355 ], [ -615.1687776148071, -1978.9457432944535, -211.9525511843355 ], [ -622.9630062488673, -1974.4457432944535, -211.9525511843355 ], [ -630.7572348829274, -1969.9457432944535, -211.9525511843355 ], [ -638.5514635169875, -1965.4457432944535, -211.9525511843355 ], [ -646.3456921510476, -1960.9457432944535, -211.9525511843355 ], [ -654.1399207851077, -1956.4457432944535, -211.9525511843355 ], [ -661.9341494191679, -1951.9457432944535, -211.9525511843355 ], [ -664.5322256305212, -1950.4457432944535, -211.9525511843355 ], [ -670.5322256305212, -1950.4457432944535, -211.9525511843355 ], [ -679.5322256305212, -1950.4457432944535, -211.9525511843355 ], [ -685.5322256305212, -1950.4457432944535, -211.9525511843355 ], [ -688.5322256305212, -1950.4457432944535, -211.9525511843355 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_26/astar_data/low_long/2025-1-1_1-55-41_1586903190", "gpt_instruction": "Move ahead to a gray building with rectangular windows that are medium - sized . Then , slightly turn right and proceed straight to a red and gray hotel featuring rounded corners with a decorative roof , which is medium - sized compared to surrounding buildings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 1, 0 ], "index_list": [ "20250101_015545_2", "20250101_015546_5", "20250101_015547_8", "20250101_015549_11", "20250101_015550_14", "20250101_015552_17", "20250101_015553_20", "20250101_015554_23", "20250101_015555_24", "20250101_015556_27", "20250101_015557_28", "20250101_015557_29" ], "pos": [ [ -27.565926636239475, -2394.4846351407523, -296.30638943601355 ], [ -27.565926636239475, -2403.4846351407523, -296.30638943601355 ], [ -27.565926636239475, -2412.4846351407523, -296.30638943601355 ], [ -27.565926636239475, -2421.4846351407523, -296.30638943601355 ], [ -27.565926636239475, -2430.4846351407523, -296.30638943601355 ], [ -27.565926636239475, -2439.4846351407523, -296.30638943601355 ], [ -27.565926636239475, -2448.4846351407523, -296.30638943601355 ], [ -27.565926636239475, -2457.4846351407523, -296.30638943601355 ], [ -27.565926636239475, -2460.4846351407523, -296.30638943601355 ], [ -30.565926636239475, -2465.6807875634586, -296.30638943601355 ], [ -32.065926636239475, -2468.2788637748117, -296.30638943601355 ], [ -33.565926636239475, -2470.876939986165, -296.30638943601355 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023932237, -2.0943951023932237, -2.0943951023932237 ] }, { "image_path": "env_airsim_26/astar_data/medium_long/2025-1-9_18-30-33_101323875", "gpt_instruction": "Head straight towards a light beige skyscraper featuring a rectangular shape with a stepped top and vertical rows of windows . Then , go right to a gray building characterized by a tall rectangular structure with vertical lines and windows . Proceed straight towards a beige skyscraper that is tall and adorned with vertical stripes . Slightly turn right and continue straight to a beige concrete building marked by vertical window alignment and wall cracks , which is medium - sized .", "action": [ 8, 3, 3, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250109_183036_1", "20250109_183036_2", "20250109_183037_3", "20250109_183038_6", "20250109_183039_9", "20250109_183040_10", "20250109_183041_13", "20250109_183043_16", "20250109_183044_19", "20250109_183046_22", "20250109_183047_25", "20250109_183048_28", "20250109_183050_31", "20250109_183051_34", "20250109_183053_37", "20250109_183054_40", "20250109_183055_43", "20250109_183057_46", "20250109_183058_49", "20250109_183059_51", "20250109_183100_52" ], "pos": [ [ 140.77302421195014, -1612.81641189622, -269.91094099928495 ], [ 143.77302421195014, -1612.81641189622, -269.91094099928495 ], [ 143.77302421195014, -1612.81641189622, -269.91094099928495 ], [ 146.77302421195014, -1618.0125643189267, -269.91094099928495 ], [ 151.27302421195014, -1625.8067929529868, -269.91094099928495 ], [ 152.77302421195014, -1628.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1634.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1643.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1652.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1661.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1670.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1679.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1688.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1697.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1706.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1715.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1724.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1733.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1742.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1748.4048691643402, -269.91094099928495 ], [ 152.77302421195014, -1751.4048691643402, -269.91094099928495 ] ], "yaw": [ 0.0, 0.0, -0.5235987755982988, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_sh/astar_data/high_average/2025-1-10_16-43-42_1113502215", "gpt_instruction": "Walk directly towards the large white rectangular building with a flat roof , then slightly turn left and proceed directly towards it .", "action": [ 9, 9, 9, 9, 9, 9, 2, 9, 9, 0 ], "index_list": [ "20250110_164345_2", "20250110_164347_5", "20250110_164349_8", "20250110_164350_11", "20250110_164352_14", "20250110_164353_17", "20250110_164354_18", "20250110_164355_21", "20250110_164357_24", "20250110_164357_25" ], "pos": [ [ 58.48011789542207, 201.01798823536438, 156.84788500608087 ], [ 67.48011789542207, 201.01798823536438, 156.84788500608087 ], [ 76.48011789542207, 201.01798823536438, 156.84788500608087 ], [ 85.48011789542207, 201.01798823536438, 156.84788500608087 ], [ 94.48011789542207, 201.01798823536438, 156.84788500608087 ], [ 103.48011789542207, 201.01798823536438, 156.84788500608087 ], [ 106.48011789542207, 201.01798823536438, 156.84788500608087 ], [ 111.6762703181287, 204.01798823536438, 156.84788500608087 ], [ 119.47049895218865, 208.51798823536438, 156.84788500608087 ], [ 122.06857516354196, 210.01798823536438, 156.84788500608087 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_sh/astar_data/high_short/2025-1-11_7-16-5_2055201132", "gpt_instruction": "Proceed towards the medium - sized building characterized by its white color and rectangular shapes with linear indentations . Then , slightly turn left and move straight towards the large and prominent modern skyscraper , which features a white and silver color with a curved facade and reflective glass .", "action": [ 9, 9, 9, 1, 2, 9, 9, 0 ], "index_list": [ "20250111_071608_2", "20250111_071610_5", "20250111_071611_8", "20250111_071612_9", "20250111_071612_10", "20250111_071614_13", "20250111_071616_16", "20250111_071616_17" ], "pos": [ [ 286.31470282962607, 230.15060839225063, 177.22623031643226 ], [ 278.5204741955661, 225.65060839225063, 177.22623031643226 ], [ 270.7262455615062, 221.15060839225063, 177.22623031643226 ], [ 268.12816935015286, 219.65060839225063, 177.22623031643226 ], [ 265.53009313879954, 218.15060839225063, 177.22623031643226 ], [ 262.53009313879954, 212.954455969544, 177.22623031643226 ], [ 258.03009313879954, 205.16022733548405, 177.22623031643226 ], [ 256.53009313879954, 202.56215112413074, 177.22623031643226 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_sh/astar_data/low_average/2025-1-1_22-37-59_1781999754", "gpt_instruction": "\" Head straight toward a tall residential building with a brown exterior , minimal windows , and a large size , identified as an apartment tower . Then , slightly turn left and walk straight to reach a tall rectangular structure with a gray color , smooth glass - like fa\u00e7ade , large size , and categorized as a modern high - rise building . \"", "action": [ 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250101_223803_2", "20250101_223805_5", "20250101_223805_6", "20250101_223807_9", "20250101_223809_12", "20250101_223811_15", "20250101_223812_18", "20250101_223814_21", "20250101_223816_24", "20250101_223818_27", "20250101_223819_30", "20250101_223821_33", "20250101_223821_34" ], "pos": [ [ 1139.690706880984, 1008.2595515155147, 38.45987197213033 ], [ 1148.690706880984, 1008.2595515155147, 38.45987197213033 ], [ 1151.690706880984, 1008.2595515155147, 38.45987197213033 ], [ 1156.8868593036907, 1011.2595515155147, 38.45987197213033 ], [ 1164.6810879377508, 1015.7595515155147, 38.45987197213033 ], [ 1172.475316571811, 1020.2595515155147, 38.45987197213033 ], [ 1180.269545205871, 1024.7595515155147, 38.45987197213033 ], [ 1188.0637738399312, 1029.2595515155147, 38.45987197213033 ], [ 1195.8580024739913, 1033.7595515155147, 38.45987197213033 ], [ 1203.6522311080514, 1038.2595515155147, 38.45987197213033 ], [ 1211.4464597421115, 1042.7595515155147, 38.45987197213033 ], [ 1219.2406883761716, 1047.2595515155147, 38.45987197213033 ], [ 1221.838764587525, 1048.7595515155147, 38.45987197213033 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894 ] }, { "image_path": "env_airsim_sh/astar_data/medium_average_updown/2025-1-14_16-58-57_1845716951", "gpt_instruction": "Move upwards to a large , black modern skyscraper that is tall and cylindrical with windows and balconies . Then , head straight towards it . Slightly turn left and proceed to it . Slightly stop and continue downwards to a tall , green modern skyscraper adorned with curved balconies and multiple stories .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 9, 9, 9, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_165857_0", "20250114_165900_1", "20250114_165900_2", "20250114_165901_3", "20250114_165901_4", "20250114_165902_5", "20250114_165902_6", "20250114_165903_7", "20250114_165903_8", "20250114_165903_9", "20250114_165904_10", "20250114_165904_11", "20250114_165905_12", "20250114_165906_15", "20250114_165908_18", "20250114_165909_21", "20250114_165911_24", "20250114_165912_27", "20250114_165914_30", "20250114_165915_33", "20250114_165917_36", "20250114_165917_37", "20250114_165917_38", "20250114_165919_41", "20250114_165921_44", "20250114_165922_47", "20250114_165923_48", "20250114_165923_49", "20250114_165924_50", "20250114_165924_51", "20250114_165924_52", "20250114_165925_53", "20250114_165925_54", "20250114_165926_55", "20250114_165926_56", "20250114_165927_57", "20250114_165927_58", "20250114_165928_59", "20250114_165928_60", "20250114_165929_61" ], "pos": [ [ 1256.5436268287963, -619.3465600312236, 23.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 26.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 29.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 32.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 35.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 38.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 41.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 44.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 47.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 50.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 53.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 56.215125399936845 ], [ 1256.5436268287963, -619.3465600312236, 59.215125399936845 ], [ 1259.5436268287963, -614.1504076085168, 62.215125399936845 ], [ 1264.0436268287963, -606.3561789744567, 62.215125399936845 ], [ 1268.5436268287963, -598.5619503403966, 62.215125399936845 ], [ 1273.0436268287963, -590.7677217063365, 62.215125399936845 ], [ 1277.5436268287963, -582.9734930722764, 62.215125399936845 ], [ 1282.0436268287963, -575.1792644382163, 62.215125399936845 ], [ 1286.5436268287963, -567.3850358041561, 62.215125399936845 ], [ 1291.0436268287963, -559.590807170096, 62.215125399936845 ], [ 1292.5436268287963, -556.9927309587426, 62.215125399936845 ], [ 1294.0436268287963, -554.3946547473893, 62.215125399936845 ], [ 1294.0436268287963, -548.3946547473893, 62.215125399936845 ], [ 1294.0436268287963, -539.3946547473893, 62.215125399936845 ], [ 1294.0436268287963, -530.3946547473893, 62.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 62.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 59.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 56.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 53.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 50.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 47.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 44.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 41.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 38.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 35.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 32.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 29.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 26.215125399936845 ], [ 1294.0436268287963, -527.3946547473893, 23.215125399936845 ] ], "yaw": [ 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_sh/astar_data/medium_long/2025-1-7_10-25-13_794123786", "gpt_instruction": "First , walk straight toward the gray structure featuring large glass windows with metal frames , which is part of a modern building facade . Then , slightly turn left and head straight to the gray modern skyscraper characterized by tall windows and vegetation growing at the side .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 8, 0 ], "index_list": [ "20250107_102517_2", "20250107_102519_5", "20250107_102520_8", "20250107_102522_11", "20250107_102523_14", "20250107_102524_17", "20250107_102526_20", "20250107_102528_23", "20250107_102529_26", "20250107_102531_29", "20250107_102532_32", "20250107_102534_35", "20250107_102534_36", "20250107_102536_39", "20250107_102537_41", "20250107_102537_42" ], "pos": [ [ 438.3312210853634, 840.8349177576263, 56.222275915786355 ], [ 446.12544971942333, 845.3349177576263, 56.222275915786355 ], [ 453.9196783534833, 849.8349177576263, 56.222275915786355 ], [ 461.7139069875432, 854.3349177576263, 56.222275915786355 ], [ 469.5081356216032, 858.8349177576263, 56.222275915786355 ], [ 477.3023642556631, 863.3349177576263, 56.222275915786355 ], [ 485.09659288972307, 867.8349177576263, 56.222275915786355 ], [ 492.890821523783, 872.3349177576263, 56.222275915786355 ], [ 500.68505015784297, 876.8349177576263, 56.222275915786355 ], [ 508.4792787919029, 881.3349177576263, 56.222275915786355 ], [ 516.2735074259629, 885.8349177576263, 56.222275915786355 ], [ 524.067736060023, 890.3349177576263, 56.222275915786355 ], [ 526.6658122713764, 891.8349177576263, 56.222275915786355 ], [ 529.6658122713764, 897.031070180333, 56.222275915786355 ], [ 532.6658122713764, 902.2272226030398, 56.222275915786355 ], [ 534.1658122713764, 904.8252988143931, 56.222275915786355 ] ], "yaw": [ 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072 ] }, { "image_path": "env_airsim_sh/astar_data/medium_short_updown/2025-1-14_6-25-55_937558955", "gpt_instruction": "Begin at the large modern building with a white color and characterized by horizontal lines , then proceed straight along another similar building that also features a white color and horizontal lines pattern . After slightly pausing , go downwards towards a structure distinguished by its light beige color , constructed with square tiles and a central vertical seam , which is medium to large in size and appears flat and wide . This last structure is identified as an exterior wall or building facade .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_062555_0", "20250114_062558_1", "20250114_062559_2", "20250114_062559_3", "20250114_062600_4", "20250114_062600_5", "20250114_062601_6", "20250114_062601_7", "20250114_062602_8", "20250114_062602_9", "20250114_062602_10", "20250114_062603_11", "20250114_062603_12", "20250114_062604_13", "20250114_062604_14", "20250114_062605_15", "20250114_062605_16", "20250114_062606_17", "20250114_062607_20", "20250114_062609_23", "20250114_062611_26", "20250114_062612_29", "20250114_062614_32", "20250114_062616_35", "20250114_062618_38", "20250114_062618_39", "20250114_062619_40", "20250114_062619_41", "20250114_062620_42", "20250114_062620_43", "20250114_062621_44", "20250114_062621_45", "20250114_062622_46", "20250114_062622_47", "20250114_062623_48", "20250114_062623_49", "20250114_062624_50", "20250114_062624_51", "20250114_062625_52", "20250114_062625_53", "20250114_062626_54", "20250114_062626_55", "20250114_062626_56", "20250114_062627_57" ], "pos": [ [ 315.3795900295682, 198.2562680894906, 22.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 25.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 28.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 31.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 34.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 37.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 40.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 43.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 46.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 49.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 52.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 55.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 58.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 61.482939086907805 ], [ 315.3795900295682, 198.2562680894906, 64.4829390869078 ], [ 315.3795900295682, 198.2562680894906, 67.4829390869078 ], [ 315.3795900295682, 198.2562680894906, 70.4829390869078 ], [ 315.3795900295682, 198.2562680894906, 73.4829390869078 ], [ 309.3795900295682, 198.2562680894906, 76.4829390869078 ], [ 300.3795900295682, 198.2562680894906, 76.4829390869078 ], [ 291.3795900295682, 198.2562680894906, 76.4829390869078 ], [ 282.3795900295682, 198.2562680894906, 76.4829390869078 ], [ 273.3795900295682, 198.2562680894906, 76.4829390869078 ], [ 264.3795900295682, 198.2562680894906, 76.4829390869078 ], [ 255.3795900295682, 198.2562680894906, 76.4829390869078 ], [ 252.3795900295682, 198.2562680894906, 76.4829390869078 ], [ 252.3795900295682, 198.2562680894906, 73.4829390869078 ], [ 252.3795900295682, 198.2562680894906, 70.4829390869078 ], [ 252.3795900295682, 198.2562680894906, 67.4829390869078 ], [ 252.3795900295682, 198.2562680894906, 64.4829390869078 ], [ 252.3795900295682, 198.2562680894906, 61.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 58.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 55.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 52.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 49.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 46.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 43.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 40.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 37.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 34.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 31.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 28.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 25.482939086907805 ], [ 252.3795900295682, 198.2562680894906, 22.482939086907805 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_sh/astar_data/medium_long/2025-1-6_22-49-32_1777288820", "gpt_instruction": "Proceed straight towards a medium - sized building featuring white and black colors with a rectangular structure and vertical black stripes . Then , slightly turn right and continue directly ahead to reach a modern office building that is tall , colored in gray and blue - green , and has a pyramid - shaped roof . Finally , slightly turn left and walk straight towards it .", "action": [ 9, 9, 8, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 9, 8, 0 ], "index_list": [ "20250106_224936_2", "20250106_224938_5", "20250106_224939_7", "20250106_224939_8", "20250106_224941_11", "20250106_224942_14", "20250106_224944_17", "20250106_224945_20", "20250106_224947_23", "20250106_224948_26", "20250106_224949_29", "20250106_224951_32", "20250106_224952_35", "20250106_224954_38", "20250106_224955_40", "20250106_224956_41", "20250106_224957_44", "20250106_224958_46", "20250106_224959_47" ], "pos": [ [ -1032.7517257030336, -947.2278015352958, 64.91834897342241 ], [ -1023.7517257030336, -947.2278015352958, 64.91834897342241 ], [ -1017.7517257030336, -947.2278015352958, 64.91834897342241 ], [ -1014.7517257030336, -947.2278015352958, 64.91834897342241 ], [ -1009.5555732803268, -950.2278015352958, 64.91834897342241 ], [ -1001.7613446462667, -954.7278015352958, 64.91834897342241 ], [ -993.9671160122066, -959.2278015352958, 64.91834897342241 ], [ -986.1728873781465, -963.7278015352958, 64.91834897342241 ], [ -978.3786587440864, -968.2278015352958, 64.91834897342241 ], [ -970.5844301100262, -972.7278015352958, 64.91834897342241 ], [ -962.7902014759661, -977.2278015352958, 64.91834897342241 ], [ -954.995972841906, -981.7278015352958, 64.91834897342241 ], [ -947.2017442078459, -986.2278015352958, 64.91834897342241 ], [ -939.4075155737858, -990.7278015352958, 64.91834897342241 ], [ -934.211363151079, -993.7278015352958, 64.91834897342241 ], [ -931.6132869397256, -995.2278015352958, 64.91834897342241 ], [ -925.6132869397256, -995.2278015352958, 64.91834897342241 ], [ -919.6132869397256, -995.2278015352958, 64.91834897342241 ], [ -916.6132869397256, -995.2278015352958, 64.91834897342241 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, 0.0, 0.0, 0.0 ] }, { "image_path": "env_airsim_sh/astar_data/low_average/2025-1-2_0-18-22_19485054", "gpt_instruction": "Start by proceeding straight until you reach a large gray building characterized by multiple windows in vertical alignment . Then , slightly turn right and continue directly ahead to find a tall gray commercial high - rise building , distinguished by vertical columns and a large glass canopy on top .", "action": [ 9, 9, 9, 3, 8, 0 ], "index_list": [ "20250102_001826_2", "20250102_001828_5", "20250102_001830_8", "20250102_001831_9", "20250102_001832_11", "20250102_001833_12" ], "pos": [ [ -1521.4208454889456, 643.236521300699, 36.59604346909296 ], [ -1516.9208454889456, 635.4422926666389, 36.59604346909296 ], [ -1512.4208454889456, 627.6480640325788, 36.59604346909296 ], [ -1510.9208454889456, 625.0499878212254, 36.59604346909296 ], [ -1510.9208454889456, 622.0499878212254, 36.59604346909296 ], [ -1510.9208454889456, 619.0499878212254, 36.59604346909296 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_sh/astar_data/high_short/2025-1-11_5-55-3_245382704", "gpt_instruction": "Proceed directly ahead to the large skyscraper featuring gray and blue vertical stripes with rectangular window panels and a modern facade .", "action": [ 9, 9, 9, 0 ], "index_list": [ "20250111_055507_2", "20250111_055509_5", "20250111_055510_8", "20250111_055511_9" ], "pos": [ [ -194.29764579314704, 114.85102301608053, 177.22623031643226 ], [ -185.29764579314704, 114.85102301608053, 177.22623031643226 ], [ -176.29764579314704, 114.85102301608053, 177.22623031643226 ], [ -173.29764579314704, 114.85102301608053, 177.22623031643226 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0 ] }, { "image_path": "env_airsim_sh/astar_data/high_short/2025-1-10_22-48-49_822514995", "gpt_instruction": "Advance forward to a large white building characterized by a rectangular shape , horizontal lines , and small windows . Then , slightly turn right and head straight toward it .", "action": [ 9, 9, 8, 3, 9, 9, 0 ], "index_list": [ "20250110_224853_2", "20250110_224854_5", "20250110_224856_7", "20250110_224856_8", "20250110_224858_11", "20250110_224900_14", "20250110_224900_15" ], "pos": [ [ 283.74047649663703, 163.16154520979413, 177.22623031643226 ], [ 274.74047649663703, 163.16154520979413, 177.22623031643226 ], [ 268.74047649663703, 163.16154520979413, 177.22623031643226 ], [ 265.74047649663703, 163.16154520979413, 177.22623031643226 ], [ 260.5443240739304, 166.16154520979413, 177.22623031643226 ], [ 252.75009543987045, 170.66154520979413, 177.22623031643226 ], [ 250.15201922851713, 172.16154520979413, 177.22623031643226 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_sh/astar_data/high_average/2025-1-11_0-45-31_2026478004", "gpt_instruction": "Proceed directly towards the high - rise building showcasing a modern design with a distinctive step - like facade and aligned vertical lines in shades of white and dark gray , then slightly turn right and move ahead to the tall and prominent octagonal building with vertical sections , which is accented in white and black .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 0 ], "index_list": [ "20250111_004535_2", "20250111_004536_5", "20250111_004538_8", "20250111_004540_11", "20250111_004541_14", "20250111_004543_17", "20250111_004544_20", "20250111_004546_23", "20250111_004546_24", "20250111_004548_27", "20250111_004549_30", "20250111_004550_31" ], "pos": [ [ 529.4848620632796, 292.4327679543983, 156.84788500608087 ], [ 529.4848620632796, 301.4327679543983, 156.84788500608087 ], [ 529.4848620632796, 310.4327679543983, 156.84788500608087 ], [ 529.4848620632796, 319.4327679543983, 156.84788500608087 ], [ 529.4848620632796, 328.4327679543983, 156.84788500608087 ], [ 529.4848620632796, 337.4327679543983, 156.84788500608087 ], [ 529.4848620632796, 346.4327679543983, 156.84788500608087 ], [ 529.4848620632796, 355.4327679543983, 156.84788500608087 ], [ 529.4848620632796, 358.4327679543983, 156.84788500608087 ], [ 532.4848620632796, 363.6289203771049, 156.84788500608087 ], [ 536.9848620632796, 371.42314901116487, 156.84788500608087 ], [ 538.4848620632796, 374.0212252225182, 156.84788500608087 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_airsim_sh/astar_data/medium_long/2025-1-6_22-31-35_1390598089", "gpt_instruction": "Advance forward to a black and reflective modern office building with a large glass fa\u00e7ade featuring a grid - like pattern . Slightly turn left slightly to reach it . Continue slightly to the left and move straight to find it . Proceed straight to it . Slightly turn right , then keep going straight to arrive at a brown and white brick building , medium - sized relative to its surroundings , featuring rectangular windows arranged in a grid pattern .", "action": [ 9, 9, 9, 9, 9, 9, 9, 2, 9, 2, 1, 3, 3, 9, 1, 3, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250106_223138_2", "20250106_223140_5", "20250106_223142_8", "20250106_223144_11", "20250106_223146_14", "20250106_223148_17", "20250106_223150_20", "20250106_223151_21", "20250106_223153_24", "20250106_223154_25", "20250106_223154_26", "20250106_223155_27", "20250106_223156_28", "20250106_223158_31", "20250106_223158_32", "20250106_223159_33", "20250106_223201_36", "20250106_223203_39", "20250106_223205_42", "20250106_223207_45", "20250106_223209_48", "20250106_223211_51", "20250106_223211_52" ], "pos": [ [ 1211.6919644808456, -1584.8825695985008, 42.855175188356434 ], [ 1207.1919644808456, -1577.0883409644407, 42.855175188356434 ], [ 1202.6919644808456, -1569.2941123303806, 42.855175188356434 ], [ 1198.1919644808456, -1561.4998836963205, 42.855175188356434 ], [ 1193.6919644808456, -1553.7056550622603, 42.855175188356434 ], [ 1189.1919644808456, -1545.9114264282002, 42.855175188356434 ], [ 1184.6919644808456, -1538.11719779414, 42.855175188356434 ], [ 1183.1919644808456, -1535.5191215827867, 42.855175188356434 ], [ 1177.9958120581389, -1532.5191215827867, 42.855175188356434 ], [ 1175.3977358467855, -1531.0191215827867, 42.855175188356434 ], [ 1175.3977358467855, -1531.0191215827867, 42.855175188356434 ], [ 1172.3977358467855, -1531.0191215827867, 42.855175188356434 ], [ 1172.3977358467855, -1531.0191215827867, 42.855175188356434 ], [ 1169.3977358467855, -1525.82296916008, 42.855175188356434 ], [ 1167.8977358467855, -1523.2248929487266, 42.855175188356434 ], [ 1166.3977358467855, -1520.6268167373732, 42.855175188356434 ], [ 1166.3977358467855, -1514.6268167373732, 42.855175188356434 ], [ 1166.3977358467855, -1505.6268167373732, 42.855175188356434 ], [ 1166.3977358467855, -1496.6268167373732, 42.855175188356434 ], [ 1166.3977358467855, -1487.6268167373732, 42.855175188356434 ], [ 1166.3977358467855, -1478.6268167373732, 42.855175188356434 ], [ 1166.3977358467855, -1469.6268167373732, 42.855175188356434 ], [ 1166.3977358467855, -1466.6268167373732, 42.855175188356434 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.6179938779915037, 2.6179938779915037, 3.1415926535898024, 3.141592653589793, 2.6179938779914944, 2.094395102393186, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_sh/astar_data/medium_short/2025-1-6_14-19-8_1404196431", "gpt_instruction": "Head straight toward a large white and brown residential apartment building characterized by multiple windows and balconies . Then , slightly turn left and proceed straight to it .", "action": [ 9, 9, 9, 2, 9, 8, 0 ], "index_list": [ "20250106_141912_2", "20250106_141913_5", "20250106_141915_8", "20250106_141916_9", "20250106_141918_12", "20250106_141919_14", "20250106_141919_15" ], "pos": [ [ 1664.3909159906939, 884.0489549205003, 59.844217305829574 ], [ 1656.5966873566338, 879.5489549205003, 59.844217305829574 ], [ 1648.8024587225736, 875.0489549205003, 59.844217305829574 ], [ 1646.2043825112203, 873.5489549205003, 59.844217305829574 ], [ 1643.2043825112203, 868.3528024977936, 59.844217305829574 ], [ 1640.2043825112203, 863.1566500750869, 59.844217305829574 ], [ 1638.7043825112203, 860.5585738637335, 59.844217305829574 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.094395102393186, -2.094395102393186, -2.094395102393186 ] }, { "image_path": "env_airsim_sh/astar_data/high_long/2025-1-12_5-22-30_160715005", "gpt_instruction": "Proceed directly to the light brown tall building with multiple windows . Then , slightly turn right towards the large gray square with geometric patterns . Next , slightly turn left and head towards the white and black tall skyscraper with vertical stripes . Afterward , slightly turn left again , continue straight , and head towards the large white and blue office building or skyscraper with an angled glass facade featuring distinct linear patterns and vertical lines , occupying most of the right side of the image .", "action": [ 9, 1, 3, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 2, 9, 9, 8, 0 ], "index_list": [ "20250112_052233_2", "20250112_052234_3", "20250112_052234_4", "20250112_052236_7", "20250112_052237_10", "20250112_052239_13", "20250112_052240_16", "20250112_052240_17", "20250112_052242_20", "20250112_052243_23", "20250112_052245_26", "20250112_052246_29", "20250112_052247_32", "20250112_052248_33", "20250112_052249_36", "20250112_052251_39", "20250112_052252_41", "20250112_052252_42" ], "pos": [ [ 86.29751162567474, 691.7790080745449, 141.12572478310412 ], [ 84.79751162567474, 689.1809318631915, 141.12572478310412 ], [ 83.29751162567474, 686.5828556518381, 141.12572478310412 ], [ 78.10135920296811, 683.5828556518381, 141.12572478310412 ], [ 70.30713056890816, 679.0828556518381, 141.12572478310412 ], [ 62.512901934848216, 674.5828556518381, 141.12572478310412 ], [ 54.71867330078827, 670.0828556518381, 141.12572478310412 ], [ 52.12059708943495, 668.5828556518381, 141.12572478310412 ], [ 49.12059708943495, 663.3867032291314, 141.12572478310412 ], [ 44.62059708943495, 655.5924745950713, 141.12572478310412 ], [ 40.12059708943495, 647.7982459610112, 141.12572478310412 ], [ 35.62059708943495, 640.004017326951, 141.12572478310412 ], [ 31.120597089434952, 632.2097886928909, 141.12572478310412 ], [ 29.620597089434952, 629.6117124815376, 141.12572478310412 ], [ 29.620597089434952, 623.6117124815376, 141.12572478310412 ], [ 29.620597089434952, 614.6117124815376, 141.12572478310412 ], [ 29.620597089434952, 608.6117124815376, 141.12572478310412 ], [ 29.620597089434952, 605.6117124815376, 141.12572478310412 ] ], "yaw": [ -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_sh/astar_data/high_average/2025-1-10_16-21-26_1309383303", "gpt_instruction": "Head directly towards a modern tall skyscraper characterized by a vertical window design , which is white in color and large in size . Then , veer left to enter a medium - sized square with minimal vegetation , featuring a paved open space and a gray surface . Continue straight to approach it . Slightly turn right as you walk straight to a tall vertical structure with rounded ends and horizontal lines , which is the tallest building in the vicinity , distinguished by its white color with gray accents , and is a modern skyscraper .", "action": [ 9, 9, 9, 9, 9, 9, 9, 1, 2, 2, 8, 3, 9, 9, 8, 0 ], "index_list": [ "20250110_162130_2", "20250110_162131_5", "20250110_162133_8", "20250110_162134_11", "20250110_162136_14", "20250110_162137_17", "20250110_162139_20", "20250110_162140_21", "20250110_162140_22", "20250110_162141_23", "20250110_162142_25", "20250110_162142_26", "20250110_162144_29", "20250110_162145_32", "20250110_162147_34", "20250110_162147_35" ], "pos": [ [ 334.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 343.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 352.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 361.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 370.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 379.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 388.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 391.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 394.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 394.58349929817723, 578.8381365196327, 156.84788500608087 ], [ 396.08349929817723, 581.436212730986, 156.84788500608087 ], [ 397.58349929817723, 584.0342889423393, 156.84788500608087 ], [ 402.77965172088386, 587.0342889423393, 156.84788500608087 ], [ 410.5738803549438, 591.5342889423393, 156.84788500608087 ], [ 415.77003277765044, 594.5342889423393, 156.84788500608087 ], [ 418.36810898900376, 596.0342889423393, 156.84788500608087 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 1.0471975511965883, 1.0471975511966072, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_sh/astar_data/low_short_updown/2025-01-19_11-50-51_187857", "gpt_instruction": "Move up to a large , multi - story residential building characterized by a modern design with large windows and rectangular patterns , in white and dark brown . Head straight to it . Slightly turn right and go directly ahead to a medium - sized concrete bench in light grey , noted for its rectangular shape . Slightly go up and proceed to a modern high - rise building , large in size , with tall , rectangular shapes and a vertical striped pattern in grey - white . Finally , slightly turn left , go straight , and slightly stop at a large cylindrical high - rise building with a reflective glass surface , in blue - grey .", "action": [ -1, -1, -1, -1, 9, 9, 9, 9, 1, 3, 9, 9, 9, 9, 9, 4, 9, 2, 1, 0, -2, -2, -2, -2, -2 ], "index_list": [ "20250119_115052_0", "20250119_115053_1", "20250119_115054_2", "20250119_115055_3", "20250119_115058_6", "20250119_115101_9", "20250119_115104_12", "20250119_115107_15", "20250119_115108_16", "20250119_115109_17", "20250119_115112_20", "20250119_115115_23", "20250119_115117_26", "20250119_115120_29", "20250119_115123_32", "20250119_115124_33", "20250119_115127_36", "20250119_115128_37", "20250119_115129_38", "20250119_115130_39", "20250119_115131_40", "20250119_115132_41", "20250119_115132_42", "20250119_115133_43", "20250119_115134_44" ], "pos": [ [ 778.8089811712017, 699.1325713896781, 23.308114466109473, -1.0471975511966072 ], [ 778.8089811712017, 699.1325713896781, 26.308114466109473, -1.0471975511966072 ], [ 778.8089811712017, 699.1325713896781, 29.308114466109473, -1.0471975511966072 ], [ 778.8089811712017, 699.1325713896781, 32.30811446610947, -1.0471975511966072 ], [ 781.8089811712017, 693.9364189669714, 35.30811446610947 ], [ 786.3089811712017, 686.1421903329112, 35.30811446610947 ], [ 790.8089811712017, 678.3479616988511, 35.30811446610947 ], [ 795.3089811712017, 670.553733064791, 35.30811446610947 ], [ 796.8089811712017, 667.9556568534376, 35.30811446610947 ], [ 798.3089811712017, 665.3575806420843, 35.30811446610947 ], [ 798.3089811712017, 659.3575806420843, 35.30811446610947 ], [ 798.3089811712017, 650.3575806420843, 35.30811446610947 ], [ 798.3089811712017, 641.3575806420843, 35.30811446610947 ], [ 798.3089811712017, 632.3575806420843, 35.30811446610947 ], [ 798.3089811712017, 623.3575806420843, 35.30811446610947 ], [ 798.3089811712017, 620.3575806420843, 35.30811446610947 ], [ 798.3089811712017, 614.3575806420843, 38.30811446610947 ], [ 798.3089811712017, 611.3575806420843, 38.30811446610947 ], [ 798.3089811712017, 611.3575806420843, 38.30811446610947 ], [ 799.8089811712017, 608.7595044307309, 38.30811446610947 ], [ 799.8089811712017, 608.7595044307309, 35.30811446610947, -1.0471975511965979 ], [ 799.8089811712017, 608.7595044307309, 32.30811446610947, -1.0471975511965979 ], [ 799.8089811712017, 608.7595044307309, 29.308114466109473, -1.0471975511965979 ], [ 799.8089811712017, 608.7595044307309, 26.308114466109473, -1.0471975511965979 ], [ 799.8089811712017, 608.7595044307309, 23.308114466109473, -1.0471975511965979 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_sh/astar_data/high_average/2025-1-10_21-38-23_1651574882", "gpt_instruction": "Advance forward to a structure characterized by a silver , glass - like appearance , featuring a curved facade with reflective windows , notable height , and surrounded by other skyscrapers . Slightly turn right and proceed straight to a building with a white and glassy finish , showcasing an angular design that combines modern architecture , rooftop pools , and prominent glass panels , appearing as a large , multi - story skyscraper .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 1, 3, 9, 8, 0 ], "index_list": [ "20250110_213827_2", "20250110_213829_5", "20250110_213830_8", "20250110_213832_11", "20250110_213834_14", "20250110_213835_17", "20250110_213837_20", "20250110_213839_23", "20250110_213839_24", "20250110_213840_25", "20250110_213841_28", "20250110_213842_30", "20250110_213843_31" ], "pos": [ [ 137.60330044315026, -248.35243505695843, 156.84788500608087 ], [ 133.10330044315026, -240.55820642289848, 156.84788500608087 ], [ 128.60330044315026, -232.76397778883853, 156.84788500608087 ], [ 124.10330044315026, -224.96974915477858, 156.84788500608087 ], [ 119.60330044315026, -217.17552052071863, 156.84788500608087 ], [ 115.10330044315026, -209.3812918866587, 156.84788500608087 ], [ 110.60330044315026, -201.58706325259874, 156.84788500608087 ], [ 106.10330044315026, -193.7928346185388, 156.84788500608087 ], [ 104.60330044315026, -191.19475840718547, 156.84788500608087 ], [ 103.10330044315026, -188.59668219583216, 156.84788500608087 ], [ 103.10330044315026, -182.59668219583216, 156.84788500608087 ], [ 103.10330044315026, -176.59668219583216, 156.84788500608087 ], [ 103.10330044315026, -173.59668219583216, 156.84788500608087 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_sh/astar_data/low_short_updown/2025-1-14_5-2-10_1242561041", "gpt_instruction": "First , head upwards towards the large modern building characterized by a mixed color scheme of brick red and blue glass , featuring large glass windows and a brick fa\u00e7ade . Then , proceed forward to another large , modern building displaying a color palette of white and gray , distinguished by multiple stories with horizontal lines and rounded edges . Next , slightly turn left and continue straight towards the tall modern skyscraper with immense proportions , boasting grey and blue hues and reflective glass panels . Lastly , slightly turn right , continue straight a little further , and proceed downwards to a medium - height modern commercial building adorned with a blue and brown glass fa\u00e7ade and horizontal paneling .", "action": [ -1, -1, -1, -1, 9, 8, 2, 9, 9, 3, 1, 0, -2, -2, -2, -2 ], "index_list": [ "20250114_050210_0", "20250114_050213_1", "20250114_050214_2", "20250114_050214_3", "20250114_050216_6", "20250114_050217_8", "20250114_050217_9", "20250114_050219_12", "20250114_050221_15", "20250114_050221_16", "20250114_050222_17", "20250114_050223_18", "20250114_050223_19", "20250114_050224_20", "20250114_050224_21", "20250114_050225_22" ], "pos": [ [ -1800.4807667752439, 610.7716851023839, 23.308114466109473 ], [ -1800.4807667752439, 610.7716851023839, 26.308114466109473 ], [ -1800.4807667752439, 610.7716851023839, 29.308114466109473 ], [ -1800.4807667752439, 610.7716851023839, 32.30811446610947 ], [ -1797.4807667752439, 615.9678375250905, 35.30811446610947 ], [ -1794.4807667752439, 621.1639899477973, 35.30811446610947 ], [ -1792.9807667752439, 623.7620661591507, 35.30811446610947 ], [ -1792.9807667752439, 629.7620661591507, 35.30811446610947 ], [ -1792.9807667752439, 638.7620661591507, 35.30811446610947 ], [ -1792.9807667752439, 641.7620661591507, 35.30811446610947 ], [ -1792.9807667752439, 641.7620661591507, 35.30811446610947 ], [ -1791.4807667752439, 644.360142370504, 35.30811446610947 ], [ -1791.4807667752439, 644.360142370504, 32.30811446610947 ], [ -1791.4807667752439, 644.360142370504, 29.308114466109473 ], [ -1791.4807667752439, 644.360142370504, 26.308114466109473 ], [ -1791.4807667752439, 644.360142370504, 23.308114466109473 ] ], "yaw": [ 1.0471975511965883, 1.0471975511965883, 1.0471975511965883, 1.0471975511965883, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_airsim_sh/astar_data/high_average/2025-1-11_3-1-49_1836997946", "gpt_instruction": "Head straight to a large , multi - storied skyscraper characterized by its white and glass color scheme , a modern architectural design with prominent reflective glass surfaces , and towering size .", "action": [ 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250111_030152_2", "20250111_030154_5", "20250111_030156_8", "20250111_030157_11", "20250111_030159_14", "20250111_030200_17", "20250111_030202_20", "20250111_030203_22", "20250111_030203_23" ], "pos": [ [ 138.58038394003455, -225.27061159917974, 156.84788500608087 ], [ 134.08038394003455, -217.4763829651198, 156.84788500608087 ], [ 129.58038394003455, -209.68215433105985, 156.84788500608087 ], [ 125.08038394003455, -201.8879256969999, 156.84788500608087 ], [ 120.58038394003455, -194.09369706293995, 156.84788500608087 ], [ 116.08038394003455, -186.29946842888, 156.84788500608087 ], [ 111.58038394003455, -178.50523979482006, 156.84788500608087 ], [ 108.58038394003455, -173.30908737211342, 156.84788500608087 ], [ 107.08038394003455, -170.7110111607601, 156.84788500608087 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_airsim_sh/astar_data/medium_long/2025-1-6_22-34-42_674402557", "gpt_instruction": "First , proceed straight towards a light gray skyscraper featuring a tall , pyramid - shaped top and a large size . Then , slightly turn right and continue straight to reach a white building with orange accents , characterized by arched structures on the rooftop , symmetric window designs , a mid-sized stature compared to the surrounding skyscrapers , and its designation as a residential building .", "action": [ 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250106_223445_2", "20250106_223447_5", "20250106_223448_8", "20250106_223449_9", "20250106_223450_12", "20250106_223452_15", "20250106_223454_18", "20250106_223455_21", "20250106_223457_24", "20250106_223458_27", "20250106_223500_30", "20250106_223501_33", "20250106_223503_36", "20250106_223504_39", "20250106_223506_42", "20250106_223507_45", "20250106_223508_46" ], "pos": [ [ 504.66598313972906, -223.2746074479178, 44.60117943971279 ], [ 513.6659831397291, -223.2746074479178, 44.60117943971279 ], [ 522.6659831397291, -223.2746074479178, 44.60117943971279 ], [ 525.6659831397291, -223.2746074479178, 44.60117943971279 ], [ 530.8621355624357, -226.2746074479178, 44.60117943971279 ], [ 538.6563641964958, -230.7746074479178, 44.60117943971279 ], [ 546.4505928305559, -235.2746074479178, 44.60117943971279 ], [ 554.244821464616, -239.7746074479178, 44.60117943971279 ], [ 562.0390500986762, -244.2746074479178, 44.60117943971279 ], [ 569.8332787327363, -248.7746074479178, 44.60117943971279 ], [ 577.6275073667964, -253.2746074479178, 44.60117943971279 ], [ 585.4217360008565, -257.7746074479178, 44.60117943971279 ], [ 593.2159646349166, -262.2746074479178, 44.60117943971279 ], [ 601.0101932689768, -266.7746074479178, 44.60117943971279 ], [ 608.8044219030369, -271.2746074479178, 44.60117943971279 ], [ 616.598650537097, -275.7746074479178, 44.60117943971279 ], [ 619.1967267484504, -277.2746074479178, 44.60117943971279 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_sh/astar_data/medium_short_updown/2025-1-14_3-26-7_155789224", "gpt_instruction": "Move upwards towards the light gray apartment building characterized by glass balconies with a blue tint , medium height , occupying the center foreground . Proceed to the large gray skyscraper with a multi - story structure . Slightly turn left and go directly ahead to the large building with a modern architectural design featuring unique geometric shapes in blue and beige . Stop briefly , then go downwards to it .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 8, 2, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_032608_0", "20250114_032611_1", "20250114_032611_2", "20250114_032612_3", "20250114_032612_4", "20250114_032612_5", "20250114_032613_6", "20250114_032613_7", "20250114_032614_8", "20250114_032614_9", "20250114_032615_10", "20250114_032615_11", "20250114_032616_12", "20250114_032616_13", "20250114_032617_14", "20250114_032617_15", "20250114_032618_16", "20250114_032618_17", "20250114_032620_20", "20250114_032621_23", "20250114_032622_25", "20250114_032622_26", "20250114_032623_28", "20250114_032624_29", "20250114_032624_30", "20250114_032625_31", "20250114_032625_32", "20250114_032626_33", "20250114_032626_34", "20250114_032627_35", "20250114_032627_36", "20250114_032628_37", "20250114_032628_38", "20250114_032629_39", "20250114_032629_40", "20250114_032630_41", "20250114_032630_42", "20250114_032631_43", "20250114_032631_44", "20250114_032631_45", "20250114_032632_46", "20250114_032632_47" ], "pos": [ [ 1360.9649814508334, -741.9448444291498, 22.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 25.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 28.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 31.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 34.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 37.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 40.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 43.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 46.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 49.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 52.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 55.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 58.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 61.482939086907805 ], [ 1360.9649814508334, -741.9448444291498, 64.4829390869078 ], [ 1360.9649814508334, -741.9448444291498, 67.4829390869078 ], [ 1360.9649814508334, -741.9448444291498, 70.4829390869078 ], [ 1360.9649814508334, -741.9448444291498, 73.4829390869078 ], [ 1363.9649814508334, -747.1409968518565, 76.4829390869078 ], [ 1368.4649814508334, -754.9352254859166, 76.4829390869078 ], [ 1371.4649814508334, -760.1313779086233, 76.4829390869078 ], [ 1372.9649814508334, -762.7294541199767, 76.4829390869078 ], [ 1375.5630576621868, -764.2294541199767, 76.4829390869078 ], [ 1378.1611338735402, -765.7294541199767, 76.4829390869078 ], [ 1378.1611338735402, -765.7294541199767, 73.4829390869078 ], [ 1378.1611338735402, -765.7294541199767, 70.4829390869078 ], [ 1378.1611338735402, -765.7294541199767, 67.4829390869078 ], [ 1378.1611338735402, -765.7294541199767, 64.4829390869078 ], [ 1378.1611338735402, -765.7294541199767, 61.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 58.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 55.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 52.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 49.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 46.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 43.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 40.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 37.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 34.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 31.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 28.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 25.482939086907805 ], [ 1378.1611338735402, -765.7294541199767, 22.482939086907805 ] ], "yaw": [ -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_sh/astar_data/high_average/2025-1-11_1-32-26_1460674641", "gpt_instruction": "Head straight toward a large white modern - style building with rectangular windows and a minimalist design . Then , slightly turn left and keep going straight toward another large white building characterized by a rectangular structure featuring vertical and horizontal lines on the fa\u00e7ade .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 8, 0 ], "index_list": [ "20250111_013230_2", "20250111_013231_5", "20250111_013233_8", "20250111_013235_11", "20250111_013236_14", "20250111_013238_17", "20250111_013239_20", "20250111_013241_23", "20250111_013243_26", "20250111_013244_28", "20250111_013244_29", "20250111_013245_31", "20250111_013246_32" ], "pos": [ [ 201.98762277281077, 74.61750475891279, 156.84788500608087 ], [ 201.98762277281077, 83.61750475891279, 156.84788500608087 ], [ 201.98762277281077, 92.61750475891279, 156.84788500608087 ], [ 201.98762277281077, 101.61750475891279, 156.84788500608087 ], [ 201.98762277281077, 110.61750475891279, 156.84788500608087 ], [ 201.98762277281077, 119.61750475891279, 156.84788500608087 ], [ 201.98762277281077, 128.6175047589128, 156.84788500608087 ], [ 201.98762277281077, 137.6175047589128, 156.84788500608087 ], [ 201.98762277281077, 146.6175047589128, 156.84788500608087 ], [ 201.98762277281077, 152.6175047589128, 156.84788500608087 ], [ 201.98762277281077, 155.6175047589128, 156.84788500608087 ], [ 200.48762277281077, 158.2155809702661, 156.84788500608087 ], [ 198.98762277281077, 160.81365718161942, 156.84788500608087 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_airsim_sh/astar_data/high_average/2025-1-10_18-57-52_11671338", "gpt_instruction": "\" Advance forward to a tall and wide white building characterized by vertical linear patterns with curved edges at the corners . Slightly turn left and proceed straight to it . \"", "action": [ 9, 9, 9, 8, 2, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250110_185756_2", "20250110_185758_5", "20250110_185759_8", "20250110_185800_10", "20250110_185801_11", "20250110_185802_14", "20250110_185804_17", "20250110_185806_20", "20250110_185807_23", "20250110_185809_26", "20250110_185809_27" ], "pos": [ [ 321.36635405020075, 745.053231579717, 156.84788500608087 ], [ 325.86635405020075, 752.8474602137771, 156.84788500608087 ], [ 330.36635405020075, 760.6416888478373, 156.84788500608087 ], [ 333.36635405020075, 765.837841270544, 156.84788500608087 ], [ 334.86635405020075, 768.4359174818974, 156.84788500608087 ], [ 334.86635405020075, 774.4359174818974, 156.84788500608087 ], [ 334.86635405020075, 783.4359174818974, 156.84788500608087 ], [ 334.86635405020075, 792.4359174818974, 156.84788500608087 ], [ 334.86635405020075, 801.4359174818974, 156.84788500608087 ], [ 334.86635405020075, 810.4359174818974, 156.84788500608087 ], [ 334.86635405020075, 813.4359174818974, 156.84788500608087 ] ], "yaw": [ 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_sh/astar_data/medium_short/2025-1-6_20-26-54_278608944", "gpt_instruction": "Proceed directly ahead to a large , dark grey building featuring Art Deco style with geometric patterns . Then , slightly turn left and head straight to a medium - high , dark brown office building exhibiting Art Deco style with decorative elements near the roofline , compared to surrounding structures .", "action": [ 9, 9, 9, 9, 9, 1, 2, 9, 0 ], "index_list": [ "20250106_202658_2", "20250106_202700_5", "20250106_202702_8", "20250106_202703_11", "20250106_202705_14", "20250106_202706_15", "20250106_202706_16", "20250106_202708_19", "20250106_202709_20" ], "pos": [ [ -1543.4738879073684, 696.1696632711771, 51.931139632995546 ], [ -1538.9738879073684, 688.375434637117, 51.931139632995546 ], [ -1534.4738879073684, 680.5812060030569, 51.931139632995546 ], [ -1529.9738879073684, 672.7869773689968, 51.931139632995546 ], [ -1525.4738879073684, 664.9927487349366, 51.931139632995546 ], [ -1523.9738879073684, 662.3946725235833, 51.931139632995546 ], [ -1522.4738879073684, 659.7965963122299, 51.931139632995546 ], [ -1517.2777354846617, 656.7965963122299, 51.931139632995546 ], [ -1514.6796592733083, 655.2965963122299, 51.931139632995546 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_sh/astar_data/medium_short/2025-1-6_21-46-12_639854683", "gpt_instruction": "Continue straight towards the large white building featuring a clock , then slightly turn left and proceed straight towards the tall , multi - story residential high - rise building with light beige color , featuring balconies with glass railings and numerous windows .", "action": [ 9, 9, 9, 9, 9, 9, 2, 9, 9, 0 ], "index_list": [ "20250106_214616_2", "20250106_214617_5", "20250106_214619_8", "20250106_214621_11", "20250106_214623_14", "20250106_214625_17", "20250106_214625_18", "20250106_214627_21", "20250106_214629_24", "20250106_214629_25" ], "pos": [ [ 1257.3134328310723, -199.4145206456609, 68.82373033723795 ], [ 1249.5192041970122, -203.9145206456609, 68.82373033723795 ], [ 1241.724975562952, -208.4145206456609, 68.82373033723795 ], [ 1233.930746928892, -212.9145206456609, 68.82373033723795 ], [ 1226.1365182948318, -217.4145206456609, 68.82373033723795 ], [ 1218.3422896607717, -221.9145206456609, 68.82373033723795 ], [ 1215.7442134494183, -223.4145206456609, 68.82373033723795 ], [ 1212.7442134494183, -228.61067306836753, 68.82373033723795 ], [ 1208.2442134494183, -236.40490170242748, 68.82373033723795 ], [ 1206.7442134494183, -239.0029779137808, 68.82373033723795 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_sh/astar_data/low_short/2025-1-1_22-49-14_1738110294", "gpt_instruction": "Proceed directly ahead toward a large residential building characterized by a red - and - white color scheme , a brick exterior complemented by large windows and white detailing . Then , slightly turn left and move forward toward it .", "action": [ 9, 9, 9, 9, 9, 9, 8, 2, 8, 0 ], "index_list": [ "20250101_224917_2", "20250101_224919_5", "20250101_224921_8", "20250101_224922_11", "20250101_224924_14", "20250101_224926_17", "20250101_224927_19", "20250101_224927_20", "20250101_224929_22", "20250101_224929_23" ], "pos": [ [ -1167.7073784585853, -182.78465374639512, 32.836393838559744 ], [ -1172.2073784585853, -190.57888238045507, 32.836393838559744 ], [ -1176.7073784585853, -198.37311101451502, 32.836393838559744 ], [ -1181.2073784585853, -206.16733964857497, 32.836393838559744 ], [ -1185.7073784585853, -213.96156828263491, 32.836393838559744 ], [ -1190.2073784585853, -221.75579691669486, 32.836393838559744 ], [ -1193.2073784585853, -226.9519493394015, 32.836393838559744 ], [ -1194.7073784585853, -229.5500255507548, 32.836393838559744 ], [ -1194.7073784585853, -232.5500255507548, 32.836393838559744 ], [ -1194.7073784585853, -235.5500255507548, 32.836393838559744 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_sh/astar_data/low_short_updown/2025-1-14_0-28-39_1653377373", "gpt_instruction": "Start by ascending towards the tall , large , brown and cream colored apartment building featuring a rectangular shape with multiple windows . Then , proceed forward and subtly veer to the left , heading straight to it . Finally , gently come to a halt and move down to it .", "action": [ -1, -1, -1, -1, 9, 9, 1, 2, 9, 8, 0, -2, -2, -2, -2 ], "index_list": [ "20250114_002840_0", "20250114_002843_1", "20250114_002843_2", "20250114_002844_3", "20250114_002845_6", "20250114_002847_9", "20250114_002847_10", "20250114_002848_11", "20250114_002849_14", "20250114_002850_16", "20250114_002851_17", "20250114_002851_18", "20250114_002852_19", "20250114_002852_20", "20250114_002853_21" ], "pos": [ [ -1008.5466236904982, -1063.151219130607, 23.308114466109473 ], [ -1008.5466236904982, -1063.151219130607, 26.308114466109473 ], [ -1008.5466236904982, -1063.151219130607, 29.308114466109473 ], [ -1008.5466236904982, -1063.151219130607, 32.30811446610947 ], [ -1014.5466236904982, -1063.151219130607, 35.30811446610947 ], [ -1023.5466236904982, -1063.151219130607, 35.30811446610947 ], [ -1026.546623690498, -1063.151219130607, 35.30811446610947 ], [ -1029.546623690498, -1063.151219130607, 35.30811446610947 ], [ -1034.7427761132049, -1066.151219130607, 35.30811446610947 ], [ -1039.9389285359116, -1069.151219130607, 35.30811446610947 ], [ -1042.537004747265, -1070.651219130607, 35.30811446610947 ], [ -1042.537004747265, -1070.651219130607, 32.30811446610947 ], [ -1042.537004747265, -1070.651219130607, 29.308114466109473 ], [ -1042.537004747265, -1070.651219130607, 26.308114466109473 ], [ -1042.537004747265, -1070.651219130607, 23.308114466109473 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_sh/astar_data/high_average/2025-1-11_2-29-24_150203107", "gpt_instruction": "Proceed straight toward the grey skyscraper characterized by a modern design with a curved glass fa\u00e7ade and towering high - rise profile . It slightly curves right as you continue forward to it . Turn slightly left to advance towards it .", "action": [ 9, 9, 9, 9, 9, 9, 1, 3, 9, 9, 9, 9, 1, 2, 9, 0 ], "index_list": [ "20250111_022928_2", "20250111_022930_5", "20250111_022931_8", "20250111_022933_11", "20250111_022934_14", "20250111_022936_17", "20250111_022936_18", "20250111_022937_19", "20250111_022938_22", "20250111_022940_25", "20250111_022942_28", "20250111_022943_31", "20250111_022944_32", "20250111_022944_33", "20250111_022946_36", "20250111_022946_37" ], "pos": [ [ 145.52600373878926, -246.72493214916284, 156.84788500608087 ], [ 150.02600373878926, -238.9307035151029, 156.84788500608087 ], [ 154.52600373878926, -231.13647488104294, 156.84788500608087 ], [ 159.02600373878926, -223.342246246983, 156.84788500608087 ], [ 163.52600373878926, -215.54801761292305, 156.84788500608087 ], [ 168.02600373878926, -207.7537889788631, 156.84788500608087 ], [ 169.52600373878926, -205.15571276750978, 156.84788500608087 ], [ 171.02600373878926, -202.55763655615647, 156.84788500608087 ], [ 176.2221561614959, -199.55763655615647, 156.84788500608087 ], [ 184.01638479555584, -195.05763655615647, 156.84788500608087 ], [ 191.81061342961578, -190.55763655615647, 156.84788500608087 ], [ 199.60484206367573, -186.05763655615647, 156.84788500608087 ], [ 202.20291827502905, -184.55763655615647, 156.84788500608087 ], [ 204.80099448638236, -183.05763655615647, 156.84788500608087 ], [ 207.80099448638236, -177.86148413344984, 156.84788500608087 ], [ 209.30099448638236, -175.26340792209652, 156.84788500608087 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_airsim_sh/astar_data/medium_long/2025-1-7_19-4-58_1929465979", "gpt_instruction": "Proceed straight toward the white skyscraper with very large vertical striped windows . Slightly turn right and move forward to the beige high - rise building , which features multiple balconies and numerous windows , identified as a large apartment building . Then , slightly turn left and continue straight to reach the white residential skyscraper , distinguished by its tall and narrow high - rise structure with vertical rows of recessed balconies featuring glass panel railings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 3, 9, 9, 9, 9, 2, 8, 0 ], "index_list": [ "20250107_190502_2", "20250107_190503_5", "20250107_190505_8", "20250107_190506_11", "20250107_190508_14", "20250107_190509_17", "20250107_190511_20", "20250107_190512_23", "20250107_190513_26", "20250107_190515_28", "20250107_190515_29", "20250107_190516_32", "20250107_190518_35", "20250107_190520_38", "20250107_190521_41", "20250107_190522_42", "20250107_190523_44", "20250107_190523_45" ], "pos": [ [ 989.5092995844109, -1570.3606760566074, 55.99601567802139 ], [ 985.0092995844109, -1578.1549046906675, 55.99601567802139 ], [ 980.5092995844109, -1585.9491333247277, 55.99601567802139 ], [ 976.0092995844109, -1593.7433619587878, 55.99601567802139 ], [ 971.5092995844109, -1601.537590592848, 55.99601567802139 ], [ 967.0092995844109, -1609.331819226908, 55.99601567802139 ], [ 962.5092995844109, -1617.1260478609681, 55.99601567802139 ], [ 958.0092995844109, -1624.9202764950282, 55.99601567802139 ], [ 953.5092995844109, -1632.7145051290884, 55.99601567802139 ], [ 950.5092995844109, -1637.910657551795, 55.99601567802139 ], [ 949.0092995844109, -1640.5087337631485, 55.99601567802139 ], [ 943.8131471617041, -1643.5087337631485, 55.99601567802139 ], [ 936.018918527644, -1648.0087337631485, 55.99601567802139 ], [ 928.2246898935839, -1652.5087337631485, 55.99601567802139 ], [ 920.4304612595238, -1657.0087337631485, 55.99601567802139 ], [ 917.8323850481704, -1658.5087337631485, 55.99601567802139 ], [ 916.3323850481704, -1661.1068099745019, 55.99601567802139 ], [ 914.8323850481704, -1663.7048861858552, 55.99601567802139 ] ], "yaw": [ -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.094395102393186, -2.094395102393186 ] }, { "image_path": "env_airsim_sh/astar_data/medium_average_updown/2025-1-14_3-48-13_155789224", "gpt_instruction": "Begin by ascending to the white and brown high - rise building characterized by its vertical stripes and balconies , which is a large residential skyscraper . Then , proceed forward to it . Head straight towards the orange and white skyscraper featuring distinct horizontal lines and move straight to a tall office building of light gray adorned with vertical window lines . Next , turn left toward an orange and white residential high - rise with rooftop trees . Continue in a straight path to a brown residential building with multiple vertical stripes on its facade and go directly ahead to a brown building with a rectangular shape and blue windows . Finally , slightly halt and move downwards towards a medium - sized orange residential building distinguished by horizontal white lines and blue windows .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, 3, 8, 3, 8, 2, 2, 9, 9, 9, 9, 8, 2, 9, 9, 9, 9, 9, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_034813_0", "20250114_034816_1", "20250114_034817_2", "20250114_034818_3", "20250114_034818_4", "20250114_034819_5", "20250114_034819_6", "20250114_034820_7", "20250114_034820_8", "20250114_034821_9", "20250114_034821_10", "20250114_034822_11", "20250114_034822_12", "20250114_034823_14", "20250114_034824_15", "20250114_034825_17", "20250114_034825_18", "20250114_034826_20", "20250114_034827_21", "20250114_034828_22", "20250114_034829_25", "20250114_034832_28", "20250114_034833_31", "20250114_034835_34", "20250114_034837_36", "20250114_034837_37", "20250114_034839_40", "20250114_034841_43", "20250114_034843_46", "20250114_034845_49", "20250114_034847_52", "20250114_034848_53", "20250114_034849_54", "20250114_034849_55", "20250114_034850_56", "20250114_034850_57", "20250114_034851_58", "20250114_034851_59", "20250114_034852_60", "20250114_034852_61", "20250114_034853_62", "20250114_034853_63", "20250114_034854_64", "20250114_034854_65", "20250114_034855_66" ], "pos": [ [ 1656.9879176960242, -1375.1445922454573, 23.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 26.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 29.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 32.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 35.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 38.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 41.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 44.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 47.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 50.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 53.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 56.215125399936845 ], [ 1656.9879176960242, -1375.1445922454573, 59.215125399936845 ], [ 1654.3898414846708, -1373.6445922454573, 62.215125399936845 ], [ 1651.7917652733174, -1372.1445922454573, 62.215125399936845 ], [ 1650.2917652733174, -1369.546516034104, 62.215125399936845 ], [ 1648.7917652733174, -1366.9484398227505, 62.215125399936845 ], [ 1648.7917652733174, -1363.9484398227505, 62.215125399936845 ], [ 1648.7917652733174, -1360.9484398227505, 62.215125399936845 ], [ 1648.7917652733174, -1360.9484398227505, 62.215125399936845 ], [ 1643.5956128506107, -1357.9484398227505, 62.215125399936845 ], [ 1635.8013842165506, -1353.4484398227505, 62.215125399936845 ], [ 1628.0071555824904, -1348.9484398227505, 62.215125399936845 ], [ 1620.2129269484303, -1344.4484398227505, 62.215125399936845 ], [ 1615.0167745257236, -1341.4484398227505, 62.215125399936845 ], [ 1612.4186983143702, -1339.9484398227505, 62.215125399936845 ], [ 1606.4186983143702, -1339.9484398227505, 62.215125399936845 ], [ 1597.4186983143702, -1339.9484398227505, 62.215125399936845 ], [ 1588.4186983143702, -1339.9484398227505, 62.215125399936845 ], [ 1579.4186983143702, -1339.9484398227505, 62.215125399936845 ], [ 1570.4186983143702, -1339.9484398227505, 62.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 62.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 59.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 56.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 53.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 50.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 47.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 44.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 41.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 38.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 35.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 32.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 29.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 26.215125399936845 ], [ 1567.4186983143702, -1339.9484398227505, 23.215125399936845 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_gz/astar_data/high_average/2025-1-11_3-19-23_1279820114", "gpt_instruction": "Proceed towards the large , tall building distinguished by long vertical light streaks in grey and white , then veer right to reach the expansive open public space characterized by a paved surface in gray . Next , advance forward into the vast area featuring a grid - patterned paved surface , and slightly turn left to move ahead towards another large building with vertical light streaks , this time exhibiting a white color .", "action": [ 9, 9, 3, 3, 9, 2, 9, 9, 0 ], "index_list": [ "20250111_031927_2", "20250111_031929_5", "20250111_031929_6", "20250111_031930_7", "20250111_031931_10", "20250111_031932_11", "20250111_031933_14", "20250111_031935_17", "20250111_031935_18" ], "pos": [ [ 871.9997975239404, -1421.4910553945256, 131.6344676312703 ], [ 880.9997975239404, -1421.4910553945256, 131.6344676312703 ], [ 883.9997975239404, -1421.4910553945256, 131.6344676312703 ], [ 883.9997975239404, -1421.4910553945256, 131.6344676312703 ], [ 886.9997975239404, -1426.6872078172323, 131.6344676312703 ], [ 888.4997975239404, -1429.2852840285857, 131.6344676312703 ], [ 893.695949946647, -1432.2852840285857, 131.6344676312703 ], [ 901.4901785807072, -1436.7852840285857, 131.6344676312703 ], [ 904.0882547920605, -1438.2852840285857, 131.6344676312703 ] ], "yaw": [ 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511966072, -1.0471975511966072, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_gz/astar_data/low_short_updown/2025-1-14_1-8-37_1432114613", "gpt_instruction": "Ascend to a gray apartment building with large rectangular windows , proceed towards a dark grey apartment block characterized by its tall residential structure , and then slightly descend to a location distinguished by its dark grey color , tall size , and rectangular windows , identifiable as a residential tower .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 1, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_010837_0", "20250114_010840_1", "20250114_010841_2", "20250114_010841_3", "20250114_010842_4", "20250114_010842_5", "20250114_010843_6", "20250114_010843_7", "20250114_010843_8", "20250114_010845_11", "20250114_010845_12", "20250114_010846_13", "20250114_010846_14", "20250114_010847_15", "20250114_010847_16", "20250114_010848_17", "20250114_010848_18", "20250114_010848_19", "20250114_010849_20", "20250114_010849_21", "20250114_010850_22" ], "pos": [ [ -1492.8115298759117, 559.7320005105503, 11.240699457872743 ], [ -1492.8115298759117, 559.7320005105503, 14.240699457872743 ], [ -1492.8115298759117, 559.7320005105503, 17.240699457872743 ], [ -1492.8115298759117, 559.7320005105503, 20.240699457872743 ], [ -1492.8115298759117, 559.7320005105503, 23.240699457872743 ], [ -1492.8115298759117, 559.7320005105503, 26.240699457872743 ], [ -1492.8115298759117, 559.7320005105503, 29.240699457872743 ], [ -1492.8115298759117, 559.7320005105503, 32.24069945787274 ], [ -1492.8115298759117, 559.7320005105503, 35.24069945787274 ], [ -1495.8115298759117, 554.5358480878435, 38.24069945787274 ], [ -1497.3115298759117, 551.9377718764902, 38.24069945787274 ], [ -1498.8115298759117, 549.3396956651368, 38.24069945787274 ], [ -1498.8115298759117, 549.3396956651368, 35.24069945787274 ], [ -1498.8115298759117, 549.3396956651368, 32.24069945787274 ], [ -1498.8115298759117, 549.3396956651368, 29.240699457872743 ], [ -1498.8115298759117, 549.3396956651368, 26.240699457872743 ], [ -1498.8115298759117, 549.3396956651368, 23.240699457872743 ], [ -1498.8115298759117, 549.3396956651368, 20.240699457872743 ], [ -1498.8115298759117, 549.3396956651368, 17.240699457872743 ], [ -1498.8115298759117, 549.3396956651368, 14.240699457872743 ], [ -1498.8115298759117, 549.3396956651368, 11.240699457872743 ] ], "yaw": [ -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186 ] }, { "image_path": "env_airsim_gz/astar_data/low_average/2025-1-1_22-17-19_1900553541", "gpt_instruction": "Proceed straight to the large dark parking structure with multiple levels , then slightly turn left and move ahead to the tall dark blue modern office building featuring repetitive horizontal and vertical patterns .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250101_221723_2", "20250101_221724_5", "20250101_221726_8", "20250101_221728_11", "20250101_221729_14", "20250101_221731_17", "20250101_221733_20", "20250101_221734_23", "20250101_221736_26", "20250101_221737_28", "20250101_221737_29", "20250101_221739_32", "20250101_221740_35", "20250101_221742_38", "20250101_221743_41", "20250101_221745_44", "20250101_221745_45", "20250101_221746_46" ], "pos": [ [ 350.81280245221865, 989.3668234980504, 14.093679782636976 ], [ 343.0185738181587, 984.8668234980504, 14.093679782636976 ], [ 335.22434518409875, 980.3668234980504, 14.093679782636976 ], [ 327.4301165500388, 975.8668234980504, 14.093679782636976 ], [ 319.63588791597886, 971.3668234980504, 14.093679782636976 ], [ 311.8416592819189, 966.8668234980504, 14.093679782636976 ], [ 304.04743064785896, 962.3668234980504, 14.093679782636976 ], [ 296.253202013799, 957.8668234980504, 14.093679782636976 ], [ 288.45897337973906, 953.3668234980504, 14.093679782636976 ], [ 283.26282095703243, 950.3668234980504, 14.093679782636976 ], [ 280.6647447456791, 948.8668234980504, 14.093679782636976 ], [ 277.6647447456791, 943.6706710753438, 14.093679782636976 ], [ 273.1647447456791, 935.8764424412836, 14.093679782636976 ], [ 268.6647447456791, 928.0822138072235, 14.093679782636976 ], [ 264.1647447456791, 920.2879851731634, 14.093679782636976 ], [ 259.6647447456791, 912.4937565391033, 14.093679782636976 ], [ 258.1647447456791, 909.8956803277499, 14.093679782636976 ], [ 256.6647447456791, 907.2976041163965, 14.093679782636976 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186 ] }, { "image_path": "env_airsim_gz/astar_data/high_average/2025-1-11_4-54-8_1823025015", "gpt_instruction": "Advance forward to a large blue building adorned with illuminated white vertical stripes , featuring a modern high - rise appearance and vertical striped lighting . Then , slightly turn left and walk straight toward it .", "action": [ 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250111_045411_2", "20250111_045413_5", "20250111_045414_8", "20250111_045416_11", "20250111_045417_14", "20250111_045419_17", "20250111_045419_18", "20250111_045421_21", "20250111_045422_24", "20250111_045424_27", "20250111_045426_30", "20250111_045427_32", "20250111_045427_33" ], "pos": [ [ -1120.7824162193044, 137.21640819375787, 131.6344676312703 ], [ -1116.2824162193044, 129.42217955969792, 131.6344676312703 ], [ -1111.7824162193044, 121.62795092563798, 131.6344676312703 ], [ -1107.2824162193044, 113.83372229157803, 131.6344676312703 ], [ -1102.7824162193044, 106.03949365751808, 131.6344676312703 ], [ -1098.2824162193044, 98.24526502345813, 131.6344676312703 ], [ -1096.7824162193044, 95.64718881210482, 131.6344676312703 ], [ -1091.5862637965977, 92.64718881210482, 131.6344676312703 ], [ -1083.7920351625376, 88.14718881210482, 131.6344676312703 ], [ -1075.9978065284774, 83.64718881210482, 131.6344676312703 ], [ -1068.2035778944173, 79.14718881210482, 131.6344676312703 ], [ -1063.0074254717106, 76.14718881210482, 131.6344676312703 ], [ -1060.4093492603572, 74.64718881210482, 131.6344676312703 ] ], "yaw": [ -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_gz/astar_data/medium_average/2025-1-7_6-13-46_1906423611", "gpt_instruction": "Proceed straight to a large , modern high - rise commercial building with a gray facade featuring horizontal white lighting and then slightly turn right . Continue straight towards a medium - sized commercial or office building that features blue and white horizontal stripes and an emblem - like design on its side , which stands out compared to the surrounding structures .", "action": [ 9, 9, 9, 9, 9, 9, 9, 1, 3, 9, 1, 0 ], "index_list": [ "20250107_061350_2", "20250107_061351_5", "20250107_061353_8", "20250107_061354_11", "20250107_061355_14", "20250107_061357_17", "20250107_061358_20", "20250107_061359_21", "20250107_061359_22", "20250107_061400_25", "20250107_061401_26", "20250107_061401_27" ], "pos": [ [ -2129.5137888365807, -1279.448894295511, 48.37802515399777 ], [ -2134.0137888365807, -1271.654665661451, 48.37802515399777 ], [ -2138.5137888365807, -1263.8604370273908, 48.37802515399777 ], [ -2143.0137888365807, -1256.0662083933307, 48.37802515399777 ], [ -2147.5137888365807, -1248.2719797592706, 48.37802515399777 ], [ -2152.0137888365807, -1240.4777511252105, 48.37802515399777 ], [ -2156.5137888365807, -1232.6835224911504, 48.37802515399777 ], [ -2158.0137888365807, -1230.085446279797, 48.37802515399777 ], [ -2159.5137888365807, -1227.4873700684436, 48.37802515399777 ], [ -2159.5137888365807, -1221.4873700684436, 48.37802515399777 ], [ -2159.5137888365807, -1218.4873700684436, 48.37802515399777 ], [ -2159.5137888365807, -1215.4873700684436, 48.37802515399777 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_gz/astar_data/medium_average/2025-1-7_6-53-31_1354575023", "gpt_instruction": "Advance forward to a medium - sized gray building characterized by a flat rooftop with a grid - like panel design . Slightly turn left and proceed straight toward a large white skyscraper with illuminated highlights and a distinct spire on top . Shift right to a large white building patterned with a grid design . Move ahead to a large blue building featuring reflective grid - like windows . Slightly turn left and move forward again to it .", "action": [ 9, 9, 9, 1, 2, 9, 9, 9, 9, 1, 3, 3, 8, 2, 9, 8, 0 ], "index_list": [ "20250107_065335_2", "20250107_065336_5", "20250107_065337_8", "20250107_065338_9", "20250107_065338_10", "20250107_065340_13", "20250107_065341_16", "20250107_065343_19", "20250107_065344_22", "20250107_065345_23", "20250107_065345_24", "20250107_065346_25", "20250107_065347_27", "20250107_065347_28", "20250107_065348_31", "20250107_065349_33", "20250107_065350_34" ], "pos": [ [ 3135.2787121521064, -57.08548160827021, 43.87781837101636 ], [ 3127.484483518047, -52.58548160827021, 43.87781837101636 ], [ 3119.6902548839876, -48.08548160827021, 43.87781837101636 ], [ 3117.0921786726344, -46.58548160827021, 43.87781837101636 ], [ 3114.4941024612813, -45.08548160827021, 43.87781837101636 ], [ 3108.4941024612813, -45.08548160827021, 43.87781837101636 ], [ 3099.4941024612813, -45.08548160827021, 43.87781837101636 ], [ 3090.4941024612813, -45.08548160827021, 43.87781837101636 ], [ 3081.4941024612813, -45.08548160827021, 43.87781837101636 ], [ 3078.4941024612813, -45.08548160827021, 43.87781837101636 ], [ 3075.4941024612813, -45.08548160827021, 43.87781837101636 ], [ 3075.4941024612813, -45.08548160827021, 43.87781837101636 ], [ 3073.9941024612813, -42.48740539691689, 43.87781837101636 ], [ 3072.4941024612813, -39.889329185563575, 43.87781837101636 ], [ 3067.297950038575, -36.889329185563575, 43.87781837101636 ], [ 3062.1017976158687, -33.889329185563575, 43.87781837101636 ], [ 3059.5037214045155, -32.389329185563575, 43.87781837101636 ] ], "yaw": [ 2.617993877991466, 2.617993877991466, 2.617993877991466, 2.617993877991466, 2.617993877991466, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.0943951023931953, 2.0943951023931953, 2.617993877991466, 2.617993877991466, 2.617993877991466 ] }, { "image_path": "env_airsim_gz/astar_data/low_average/2025-1-2_21-52-32_382926234", "gpt_instruction": "Continue straight until you reach a dark modern multi - story high - rise featuring distinct grid - like windows and large dimensions , then veer right towards a blue office building with a grid - like window pattern . Proceed straight to it . Slightly turn left and walk straight towards it . Slightly turn right and move forward to it . Slightly turn right and head straight towards it, then slightly turn left and move forward to it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 9, 8, 2, 9, 9, 9, 8, 3, 9, 3, 9, 2, 1, 0 ], "index_list": [ "20250102_215235_2", "20250102_215237_5", "20250102_215238_8", "20250102_215239_11", "20250102_215240_14", "20250102_215242_17", "20250102_215243_20", "20250102_215245_23", "20250102_215246_26", "20250102_215246_27", "20250102_215247_28", "20250102_215248_31", "20250102_215249_33", "20250102_215250_34", "20250102_215251_37", "20250102_215252_40", "20250102_215254_43", "20250102_215254_45", "20250102_215255_46", "20250102_215256_49", "20250102_215257_50", "20250102_215258_53", "20250102_215259_54", "20250102_215259_55", "20250102_215300_56" ], "pos": [ [ 3975.801071107755, 455.574205409804, 18.789541262554774 ], [ 3984.801071107755, 455.574205409804, 18.789541262554774 ], [ 3993.801071107755, 455.574205409804, 18.789541262554774 ], [ 4002.801071107755, 455.574205409804, 18.789541262554774 ], [ 4011.801071107755, 455.574205409804, 18.789541262554774 ], [ 4020.801071107755, 455.574205409804, 18.789541262554774 ], [ 4029.801071107755, 455.574205409804, 18.789541262554774 ], [ 4038.801071107755, 455.574205409804, 18.789541262554774 ], [ 4047.801071107755, 455.574205409804, 18.789541262554774 ], [ 4050.801071107755, 455.574205409804, 18.789541262554774 ], [ 4050.801071107755, 455.574205409804, 18.789541262554774 ], [ 4053.801071107755, 450.37805298709736, 18.789541262554774 ], [ 4056.801071107755, 445.18190056439073, 18.789541262554774 ], [ 4058.301071107755, 442.5838243530374, 18.789541262554774 ], [ 4063.4972235304613, 439.5838243530374, 18.789541262554774 ], [ 4071.2914521645207, 435.0838243530374, 18.789541262554774 ], [ 4079.08568079858, 430.5838243530374, 18.789541262554774 ], [ 4084.2818332212864, 427.5838243530374, 18.789541262554774 ], [ 4086.8799094326396, 426.0838243530374, 18.789541262554774 ], [ 4089.8799094326396, 420.8876719303308, 18.789541262554774 ], [ 4091.3799094326396, 418.28959571897747, 18.789541262554774 ], [ 4091.3799094326396, 412.28959571897747, 18.789541262554774 ], [ 4091.3799094326396, 409.28959571897747, 18.789541262554774 ], [ 4091.3799094326396, 409.28959571897747, 18.789541262554774 ], [ 4092.8799094326396, 406.69151950762415, 18.789541262554774 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511965979, -1.0471975511965979, -1.0471975511965979, -0.5235987755983272, -0.5235987755983272, -0.5235987755983272, -0.5235987755983272, -0.5235987755983272, -1.0471975511965979, -1.0471975511965979, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_airsim_gz/astar_data/medium_long/2025-1-7_4-7-36_335558628", "gpt_instruction": "Move forward to a large , dark gray apartment building characterized by grid - like windows divided horizontally and vertically . Then , slightly turn right and move ahead to it .", "action": [ 9, 9, 9, 9, 9, 8, 3, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250107_040740_2", "20250107_040741_5", "20250107_040742_8", "20250107_040744_11", "20250107_040745_14", "20250107_040746_16", "20250107_040747_17", "20250107_040748_20", "20250107_040749_23", "20250107_040751_26", "20250107_040752_29", "20250107_040753_30", "20250107_040753_31" ], "pos": [ [ 948.2031544776402, 215.40665632591356, 65.50053373794236 ], [ 943.7031544776402, 223.2008849599735, 65.50053373794236 ], [ 939.2031544776402, 230.99511359403346, 65.50053373794236 ], [ 934.7031544776402, 238.7893422280934, 65.50053373794236 ], [ 930.2031544776402, 246.58357086215335, 65.50053373794236 ], [ 927.2031544776402, 251.77972328485998, 65.50053373794236 ], [ 925.7031544776402, 254.3777994962133, 65.50053373794236 ], [ 925.7031544776402, 260.3777994962133, 65.50053373794236 ], [ 925.7031544776402, 269.3777994962133, 65.50053373794236 ], [ 925.7031544776402, 278.3777994962133, 65.50053373794236 ], [ 925.7031544776402, 287.3777994962133, 65.50053373794236 ], [ 925.7031544776402, 290.3777994962133, 65.50053373794236 ], [ 925.7031544776402, 293.3777994962133, 65.50053373794236 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_gz/astar_data/low_short_updown/2025-1-14_4-9-55_1215828993", "gpt_instruction": "Start by moving upwards towards a grey residential building with a striped design featuring white balconies . Then , proceed straight to another large building , this one characterized by a dark gray color and horizontal stripe patterns . Slightly turn left and continue straight to a grey residential building with a concrete facade adorned with horizontal lines . Finally , slightly pause and drop by a skyscraper , notable for its grey color with distinct lighter and darker shades , and a zigzag striped pattern with vertical lines , towering over most of the image 's right side .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 8, 2, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_040956_0", "20250114_040959_1", "20250114_040959_2", "20250114_040959_3", "20250114_041000_4", "20250114_041000_5", "20250114_041001_6", "20250114_041001_7", "20250114_041002_8", "20250114_041003_11", "20250114_041004_14", "20250114_041006_17", "20250114_041007_19", "20250114_041007_20", "20250114_041008_22", "20250114_041009_23", "20250114_041009_24", "20250114_041010_25", "20250114_041010_26", "20250114_041010_27", "20250114_041011_28", "20250114_041011_29", "20250114_041012_30", "20250114_041012_31", "20250114_041013_32" ], "pos": [ [ 1661.2360410296494, -412.69928183987554, 11.240699457872743 ], [ 1661.2360410296494, -412.69928183987554, 14.240699457872743 ], [ 1661.2360410296494, -412.69928183987554, 17.240699457872743 ], [ 1661.2360410296494, -412.69928183987554, 20.240699457872743 ], [ 1661.2360410296494, -412.69928183987554, 23.240699457872743 ], [ 1661.2360410296494, -412.69928183987554, 26.240699457872743 ], [ 1661.2360410296494, -412.69928183987554, 29.240699457872743 ], [ 1661.2360410296494, -412.69928183987554, 32.24069945787274 ], [ 1661.2360410296494, -412.69928183987554, 35.24069945787274 ], [ 1661.2360410296494, -406.69928183987554, 38.24069945787274 ], [ 1661.2360410296494, -397.69928183987554, 38.24069945787274 ], [ 1661.2360410296494, -388.69928183987554, 38.24069945787274 ], [ 1661.2360410296494, -382.69928183987554, 38.24069945787274 ], [ 1661.2360410296494, -379.69928183987554, 38.24069945787274 ], [ 1659.7360410296494, -377.1012056285222, 38.24069945787274 ], [ 1658.2360410296494, -374.5031294171689, 38.24069945787274 ], [ 1658.2360410296494, -374.5031294171689, 35.24069945787274 ], [ 1658.2360410296494, -374.5031294171689, 32.24069945787274 ], [ 1658.2360410296494, -374.5031294171689, 29.240699457872743 ], [ 1658.2360410296494, -374.5031294171689, 26.240699457872743 ], [ 1658.2360410296494, -374.5031294171689, 23.240699457872743 ], [ 1658.2360410296494, -374.5031294171689, 20.240699457872743 ], [ 1658.2360410296494, -374.5031294171689, 17.240699457872743 ], [ 1658.2360410296494, -374.5031294171689, 14.240699457872743 ], [ 1658.2360410296494, -374.5031294171689, 11.240699457872743 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_airsim_gz/astar_data/medium_short/2025-1-6_16-19-46_1466942491", "gpt_instruction": "Move forward to a structure characterized by a beige hue that combines a soft glow emanating from its windows , featuring a horizontal striped pattern on its fa\u00e7ade and illuminated rectangular windows . This tall and wide building , dominating the central part of the scene , exemplifies a modern high - rise design .", "action": [ 9, 0 ], "index_list": [ "20250106_161949_2", "20250106_161950_3" ], "pos": [ [ -254.98348049621612, -2691.127128483303, 53.28564612900604 ], [ -257.58155670756946, -2689.627128483303, 53.28564612900604 ] ], "yaw": [ 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_airsim_gz/astar_data/low_long/2025-1-2_23-7-14_358625421", "gpt_instruction": "Head straight toward the large , dark gray residential building characterized by its tall structure with vertical windows . Then , slightly turn right and move forward to reach the tall and narrow dark blue building that appears to have small protruding frames on its surface , which may function as a residential or commercial building .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 3, 9, 1, 0 ], "index_list": [ "20250102_230718_2", "20250102_230719_5", "20250102_230720_8", "20250102_230722_11", "20250102_230723_14", "20250102_230724_17", "20250102_230725_20", "20250102_230727_23", "20250102_230728_26", "20250102_230729_29", "20250102_230731_32", "20250102_230732_35", "20250102_230734_38", "20250102_230735_41", "20250102_230736_44", "20250102_230737_46", "20250102_230738_47", "20250102_230739_50", "20250102_230739_51", "20250102_230740_52" ], "pos": [ [ 4849.547460453452, 1245.4375811708042, 22.50176068530714 ], [ 4854.047460453452, 1237.643352536744, 22.50176068530714 ], [ 4858.547460453452, 1229.849123902684, 22.50176068530714 ], [ 4863.047460453452, 1222.0548952686238, 22.50176068530714 ], [ 4867.547460453452, 1214.2606666345637, 22.50176068530714 ], [ 4872.047460453452, 1206.4664380005036, 22.50176068530714 ], [ 4876.547460453452, 1198.6722093664434, 22.50176068530714 ], [ 4881.047460453452, 1190.8779807323833, 22.50176068530714 ], [ 4885.547460453452, 1183.0837520983232, 22.50176068530714 ], [ 4890.047460453452, 1175.289523464263, 22.50176068530714 ], [ 4894.547460453452, 1167.495294830203, 22.50176068530714 ], [ 4899.047460453452, 1159.7010661961428, 22.50176068530714 ], [ 4903.547460453452, 1151.9068375620827, 22.50176068530714 ], [ 4908.047460453452, 1144.1126089280226, 22.50176068530714 ], [ 4912.547460453452, 1136.3183802939625, 22.50176068530714 ], [ 4915.547460453452, 1131.1222278712557, 22.50176068530714 ], [ 4917.047460453452, 1128.5241516599024, 22.50176068530714 ], [ 4917.047460453452, 1122.5241516599024, 22.50176068530714 ], [ 4917.047460453452, 1119.5241516599024, 22.50176068530714 ], [ 4917.047460453452, 1116.5241516599024, 22.50176068530714 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_airsim_gz/astar_data/medium_short/2025-1-7_6-7-57_1532530123", "gpt_instruction": "Move forward toward a medium - high building with a bright , illuminated facade and a modern design , lit up in white . Then , make a left turn toward a tall , green building with vertical , lighted windows and a rectangular shape . Continue straight toward it . Slightly turn right , and head straight toward another tall green structure , this one cylindrical in shape with an antenna on top , functioning as an office building .", "action": [ 9, 8, 2, 2, 9, 8, 3, 9, 9, 1, 0 ], "index_list": [ "20250107_060801_2", "20250107_060802_4", "20250107_060802_5", "20250107_060803_6", "20250107_060804_9", "20250107_060805_11", "20250107_060805_12", "20250107_060807_15", "20250107_060808_18", "20250107_060809_19", "20250107_060809_20" ], "pos": [ [ -17.37924602932324, 1333.4030696419186, 56.8698709162838 ], [ -11.379246029323241, 1333.4030696419186, 56.8698709162838 ], [ -8.379246029323241, 1333.4030696419186, 56.8698709162838 ], [ -8.379246029323241, 1333.4030696419186, 56.8698709162838 ], [ -5.379246029323241, 1338.5992220646253, 56.8698709162838 ], [ -2.37924602932324, 1343.795374487332, 56.8698709162838 ], [ -0.8792460293232396, 1346.3934506986855, 56.8698709162838 ], [ 4.316906393383393, 1349.3934506986855, 56.8698709162838 ], [ 12.111135027443341, 1353.8934506986855, 56.8698709162838 ], [ 14.709211238796657, 1355.3934506986855, 56.8698709162838 ], [ 17.30728745014997, 1356.8934506986855, 56.8698709162838 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.5235987755982988, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_gz/astar_data/medium_short/2025-1-7_3-46-3_1923933022", "gpt_instruction": "Proceed straight towards the illuminated skyscraper , which is tall and bathed in bright lights .", "action": [ 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250107_034606_2", "20250107_034607_5", "20250107_034609_8", "20250107_034610_11", "20250107_034611_14", "20250107_034612_15", "20250107_034612_16" ], "pos": [ [ 4761.213471709481, -1736.3590486193418, 55.812851761851405 ], [ 4770.213471709481, -1736.3590486193418, 55.812851761851405 ], [ 4779.213471709481, -1736.3590486193418, 55.812851761851405 ], [ 4788.213471709481, -1736.3590486193418, 55.812851761851405 ], [ 4797.213471709481, -1736.3590486193418, 55.812851761851405 ], [ 4800.213471709481, -1736.3590486193418, 55.812851761851405 ], [ 4803.213471709481, -1736.3590486193418, 55.812851761851405 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "image_path": "env_airsim_gz/astar_data/medium_short_updown/2025-1-14_18-22-10_771476364", "gpt_instruction": "\" Move upward to a tall , modern skyscraper characterized by a white color , an illuminated rectangular shape with vertical light patterns . Then , slightly shift to the right , heading toward a large modern high - rise building distinguished by its silver and blue shades , grid - like glass panels with illuminated horizontal lights . Next , continue forward to a large modern office building featuring gray hues with illuminated white lights , a glass facade with reflective surfaces , and linear light patterns . Finally , stop slightly and descend toward a tall , wide , modern skyscraper with a dark color accented by illuminated light strips , a central dark area with a glass facade , and horizontal light strips . \"", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 3, 3, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_182210_0", "20250114_182213_1", "20250114_182214_2", "20250114_182214_3", "20250114_182214_4", "20250114_182215_5", "20250114_182215_6", "20250114_182216_7", "20250114_182216_8", "20250114_182217_9", "20250114_182217_10", "20250114_182218_11", "20250114_182218_12", "20250114_182219_13", "20250114_182219_14", "20250114_182220_15", "20250114_182220_16", "20250114_182221_17", "20250114_182221_18", "20250114_182221_19", "20250114_182222_20", "20250114_182222_21", "20250114_182223_22", "20250114_182223_23", "20250114_182224_25", "20250114_182225_26", "20250114_182225_27", "20250114_182226_28", "20250114_182226_29", "20250114_182227_30", "20250114_182227_31", "20250114_182228_32", "20250114_182228_33", "20250114_182229_34", "20250114_182229_35", "20250114_182229_36", "20250114_182230_37", "20250114_182230_38", "20250114_182231_39", "20250114_182231_40", "20250114_182232_41", "20250114_182232_42", "20250114_182233_43", "20250114_182233_44", "20250114_182234_45", "20250114_182234_46", "20250114_182235_47" ], "pos": [ [ 235.6396636657705, -1494.7302961166997, 11.030811659892251 ], [ 235.6396636657705, -1494.7302961166997, 14.030811659892251 ], [ 235.6396636657705, -1494.7302961166997, 17.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 20.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 23.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 26.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 29.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 32.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 35.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 38.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 41.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 44.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 47.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 50.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 53.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 56.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 59.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 62.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 65.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 68.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 71.03081165989225 ], [ 235.6396636657705, -1494.7302961166997, 74.03081165989225 ], [ 238.6396636657705, -1494.7302961166997, 74.03081165989225 ], [ 238.6396636657705, -1494.7302961166997, 74.03081165989225 ], [ 240.1396636657705, -1497.328372328053, 74.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 74.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 71.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 68.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 65.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 62.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 59.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 56.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 53.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 50.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 47.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 44.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 41.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 38.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 35.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 32.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 29.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 26.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 23.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 20.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 17.03081165989225 ], [ 241.6396636657705, -1499.9264485394065, 14.030811659892251 ], [ 241.6396636657705, -1499.9264485394065, 11.030811659892251 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072 ] }, { "image_path": "env_airsim_gz/astar_data/low_long/2025-1-2_11-55-27_511583958", "gpt_instruction": "Move forward to the gray , medium - sized lamp post that is tall , round - topped , and emits light ; then slightly turn left and advance towards the light gray skyscraper , which is very tall with evenly spaced horizontal lines of light , significantly taller than the surrounding buildings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 9, 9, 9, 9, 0 ], "index_list": [ "20250102_115531_2", "20250102_115532_5", "20250102_115534_8", "20250102_115536_11", "20250102_115537_14", "20250102_115539_17", "20250102_115540_20", "20250102_115542_23", "20250102_115543_26", "20250102_115545_29", "20250102_115546_32", "20250102_115548_35", "20250102_115548_36", "20250102_115549_37", "20250102_115550_40", "20250102_115552_43", "20250102_115553_46", "20250102_115555_49", "20250102_115555_50" ], "pos": [ [ -2404.8652573806917, -961.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -952.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -943.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -934.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -925.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -916.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -907.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -898.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -889.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -880.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -871.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -862.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -859.7477013005973, 39.10115722644696 ], [ -2404.8652573806917, -856.7477013005973, 39.10115722644696 ], [ -2407.8652573806917, -851.5515488778906, 39.10115722644696 ], [ -2412.3652573806917, -843.7573202438305, 39.10115722644696 ], [ -2416.8652573806917, -835.9630916097703, 39.10115722644696 ], [ -2421.3652573806917, -828.1688629757102, 39.10115722644696 ], [ -2422.8652573806917, -825.5707867643569, 39.10115722644696 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186 ] }, { "image_path": "env_airsim_gz/astar_data/low_long/2025-1-2_3-52-58_695466127", "gpt_instruction": "Proceed forward towards a beige residential building characterized by rectangular windows and multiple stories . Then , turn left to find a dark blue large building with tall , rectangular features . Slightly veer right and head towards a grey high - rise building with evenly spaced windows . Continue straight to reach it . Take a right towards a tall grey building , and then keep going straight until you see a dark blue apartment structure with rectangular windows . Slightly turn right and proceed to a gray skyscraper with tall and narrow features . Eventually , take a left to encounter a large residential apartment tower with horizontal lines . Walk straight towards a tall , dark - colored skyscraper with vertical windows and a flat roof . Then , slightly turn right and head straight to a white building with vertical green light strips . Finally , turn left to approach a tall grey residential or office high - rise building with vertical Asian script lettering and columns of windows .", "action": [ 9, 9, 9, 8, 2, 2, 1, 3, 3, 9, 1, 3, 3, 9, 9, 1, 3, 9, 9, 9, 9, 1, 2, 2, 1, 3, 8, 2, 2, 9, 8, 3, 9, 1, 0 ], "index_list": [ "20250102_035302_2", "20250102_035303_5", "20250102_035304_8", "20250102_035305_10", "20250102_035306_11", "20250102_035306_12", "20250102_035307_13", "20250102_035307_14", "20250102_035308_15", "20250102_035309_18", "20250102_035309_19", "20250102_035310_20", "20250102_035310_21", "20250102_035312_24", "20250102_035313_27", "20250102_035313_28", "20250102_035314_29", "20250102_035315_32", "20250102_035316_35", "20250102_035318_38", "20250102_035319_41", "20250102_035320_42", "20250102_035320_43", "20250102_035321_44", "20250102_035321_45", "20250102_035322_46", "20250102_035322_48", "20250102_035323_49", "20250102_035323_50", "20250102_035325_53", "20250102_035326_55", "20250102_035326_56", "20250102_035327_59", "20250102_035328_60", "20250102_035328_61" ], "pos": [ [ 4337.358155401375, 1499.9665607955228, 30.70900899326205 ], [ 4328.358155401375, 1499.9665607955228, 30.70900899326205 ], [ 4319.358155401375, 1499.9665607955228, 30.70900899326205 ], [ 4313.358155401375, 1499.9665607955228, 30.70900899326205 ], [ 4310.358155401375, 1499.9665607955228, 30.70900899326205 ], [ 4310.358155401375, 1499.9665607955228, 30.70900899326205 ], [ 4310.358155401375, 1499.9665607955228, 30.70900899326205 ], [ 4308.858155401375, 1497.3684845841694, 30.70900899326205 ], [ 4308.858155401375, 1497.3684845841694, 30.70900899326205 ], [ 4302.858155401375, 1497.3684845841694, 30.70900899326205 ], [ 4299.858155401375, 1497.3684845841694, 30.70900899326205 ], [ 4296.858155401375, 1497.3684845841694, 30.70900899326205 ], [ 4296.858155401375, 1497.3684845841694, 30.70900899326205 ], [ 4293.858155401375, 1502.5646370068762, 30.70900899326205 ], [ 4289.358155401375, 1510.3588656409363, 30.70900899326205 ], [ 4287.858155401375, 1512.9569418522897, 30.70900899326205 ], [ 4286.358155401375, 1515.555018063643, 30.70900899326205 ], [ 4286.358155401375, 1521.555018063643, 30.70900899326205 ], [ 4286.358155401375, 1530.555018063643, 30.70900899326205 ], [ 4286.358155401375, 1539.555018063643, 30.70900899326205 ], [ 4286.358155401375, 1548.555018063643, 30.70900899326205 ], [ 4286.358155401375, 1551.555018063643, 30.70900899326205 ], [ 4286.358155401375, 1554.555018063643, 30.70900899326205 ], [ 4286.358155401375, 1554.555018063643, 30.70900899326205 ], [ 4286.358155401375, 1554.555018063643, 30.70900899326205 ], [ 4283.760079190022, 1556.055018063643, 30.70900899326205 ], [ 4282.260079190022, 1558.6530942749964, 30.70900899326205 ], [ 4280.760079190022, 1561.2511704863498, 30.70900899326205 ], [ 4280.760079190022, 1561.2511704863498, 30.70900899326205 ], [ 4274.760079190022, 1561.2511704863498, 30.70900899326205 ], [ 4268.760079190022, 1561.2511704863498, 30.70900899326205 ], [ 4265.760079190022, 1561.2511704863498, 30.70900899326205 ], [ 4260.563926767316, 1564.2511704863498, 30.70900899326205 ], [ 4257.965850555963, 1565.7511704863498, 30.70900899326205 ], [ 4255.36777434461, 1567.2511704863498, 30.70900899326205 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.665191429188092, 4.1887902047863905, -2.094395102393186, -2.6179938779914846, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.617993877991494, 2.617993877991466, 2.094395102393186, 2.094395102393186, 2.6179938779914846, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.617993877991466, 2.617993877991466, 2.617993877991466 ] }, { "image_path": "env_airsim_gz/astar_data/high_low/2025-1-11_13-57-44_1564633137", "gpt_instruction": "Continue straight toward the medium - sized modern pavilion characterized by its white color and curved glass architecture with a lit facade . Then , slightly turn left and move ahead to the large blue building featuring a grid - like glass facade and bright interior lighting .", "action": [ 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 1, 0 ], "index_list": [ "20250111_135748_2", "20250111_135749_5", "20250111_135751_8", "20250111_135752_11", "20250111_135754_14", "20250111_135755_17", "20250111_135757_20", "20250111_135757_21", "20250111_135758_24", "20250111_135800_27", "20250111_135800_28", "20250111_135801_29" ], "pos": [ [ -602.7978475230611, -305.835487563342, 129.01292753601064 ], [ -598.2978475230611, -298.04125892928204, 129.01292753601064 ], [ -593.7978475230611, -290.2470302952221, 129.01292753601064 ], [ -589.2978475230611, -282.45280166116214, 129.01292753601064 ], [ -584.7978475230611, -274.6585730271022, 129.01292753601064 ], [ -580.2978475230611, -266.86434439304224, 129.01292753601064 ], [ -575.7978475230611, -259.0701157589823, 129.01292753601064 ], [ -574.2978475230611, -256.472039547629, 129.01292753601064 ], [ -574.2978475230611, -250.47203954762898, 129.01292753601064 ], [ -574.2978475230611, -241.47203954762898, 129.01292753601064 ], [ -574.2978475230611, -238.47203954762898, 129.01292753601064 ], [ -574.2978475230611, -235.47203954762898, 129.01292753601064 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_gz/astar_data/medium_average/2025-1-7_7-26-2_2014126950", "gpt_instruction": "Move forward to the dark - colored building , characterized by a flat roof and horizontal lines , which is large in size ; then slightly turn left and advance to the gray - colored modern residential block with a flat roof that is medium in size .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 0 ], "index_list": [ "20250107_072605_2", "20250107_072606_5", "20250107_072608_8", "20250107_072609_11", "20250107_072610_14", "20250107_072612_17", "20250107_072613_20", "20250107_072614_23", "20250107_072615_24", "20250107_072616_27", "20250107_072617_30", "20250107_072618_33", "20250107_072619_34" ], "pos": [ [ -2916.5406451600784, 2115.6068762134746, 45.6310366593038 ], [ -2924.334873794138, 2111.1068762134746, 45.6310366593038 ], [ -2932.1291024281973, 2106.6068762134746, 45.6310366593038 ], [ -2939.9233310622567, 2102.1068762134746, 45.6310366593038 ], [ -2947.717559696316, 2097.6068762134746, 45.6310366593038 ], [ -2955.5117883303756, 2093.1068762134746, 45.6310366593038 ], [ -2963.306016964435, 2088.6068762134746, 45.6310366593038 ], [ -2971.1002455984944, 2084.1068762134746, 45.6310366593038 ], [ -2973.6983218098476, 2082.6068762134746, 45.6310366593038 ], [ -2976.6983218098476, 2077.4107237907683, 45.6310366593038 ], [ -2981.1983218098476, 2069.616495156709, 45.6310366593038 ], [ -2985.6983218098476, 2061.8222665226494, 45.6310366593038 ], [ -2987.1983218098476, 2059.2241903112963, 45.6310366593038 ] ], "yaw": [ -2.617993877991466, -2.617993877991466, -2.617993877991466, -2.617993877991466, -2.617993877991466, -2.617993877991466, -2.617993877991466, -2.617993877991466, -2.617993877991466, -2.0943951023932237, -2.0943951023932237, -2.0943951023932237, -2.0943951023932237 ] }, { "image_path": "env_airsim_gz/astar_data/high_low/2025-1-11_4-44-28_2085308422", "gpt_instruction": "Move forward to the light blue , tall , sleek , and reflective structure with vertical lines , which is the dominant feature in the image , suggesting a large and tall building described as a modern skyscraper .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250111_044432_2", "20250111_044433_5", "20250111_044435_8", "20250111_044436_11", "20250111_044438_14", "20250111_044439_17", "20250111_044440_20", "20250111_044442_23", "20250111_044443_26", "20250111_044445_29", "20250111_044447_32", "20250111_044447_33", "20250111_044447_34" ], "pos": [ [ -1401.9596927986906, 393.89217409669527, 129.01292753601064 ], [ -1397.4596927986906, 401.6864027307552, 129.01292753601064 ], [ -1392.9596927986906, 409.48063136481517, 129.01292753601064 ], [ -1388.4596927986906, 417.2748599988751, 129.01292753601064 ], [ -1383.9596927986906, 425.06908863293506, 129.01292753601064 ], [ -1379.4596927986906, 432.863317266995, 129.01292753601064 ], [ -1374.9596927986906, 440.65754590105496, 129.01292753601064 ], [ -1370.4596927986906, 448.4517745351149, 129.01292753601064 ], [ -1365.9596927986906, 456.24600316917486, 129.01292753601064 ], [ -1361.4596927986906, 464.0402318032348, 129.01292753601064 ], [ -1356.9596927986906, 471.83446043729475, 129.01292753601064 ], [ -1355.4596927986906, 474.43253664864807, 129.01292753601064 ], [ -1353.9596927986906, 477.0306128600014, 129.01292753601064 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_airsim_gz/astar_data/high_average/2025-1-11_10-55-2_1547449638", "gpt_instruction": "Continue straight towards a large , multi - story skyscraper characterized by its dark blue color , stepped and layered design , distinctive overhanging floors , and modern high - rise architecture .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250111_105506_2", "20250111_105508_5", "20250111_105509_8", "20250111_105510_11", "20250111_105512_14", "20250111_105513_17", "20250111_105515_20", "20250111_105516_23", "20250111_105518_26", "20250111_105519_29", "20250111_105521_32", "20250111_105522_35", "20250111_105524_38", "20250111_105524_39", "20250111_105525_40" ], "pos": [ [ -858.3893378745549, -74.33027717376712, 131.6344676312703 ], [ -850.5951092404948, -78.83027717376712, 131.6344676312703 ], [ -842.8008806064347, -83.33027717376712, 131.6344676312703 ], [ -835.0066519723746, -87.83027717376712, 131.6344676312703 ], [ -827.2124233383145, -92.33027717376712, 131.6344676312703 ], [ -819.4181947042543, -96.83027717376712, 131.6344676312703 ], [ -811.6239660701942, -101.33027717376712, 131.6344676312703 ], [ -803.8297374361341, -105.83027717376712, 131.6344676312703 ], [ -796.035508802074, -110.33027717376712, 131.6344676312703 ], [ -788.2412801680139, -114.83027717376712, 131.6344676312703 ], [ -780.4470515339538, -119.33027717376712, 131.6344676312703 ], [ -772.6528228998936, -123.83027717376712, 131.6344676312703 ], [ -764.8585942658335, -128.33027717376712, 131.6344676312703 ], [ -762.2605180544801, -129.83027717376712, 131.6344676312703 ], [ -759.6624418431268, -131.33027717376712, 131.6344676312703 ] ], "yaw": [ -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_airsim_gz/astar_data/low_average_updown/2025-1-14_20-13-57_609707131", "gpt_instruction": "Begin by ascending towards a large , modern skyscraper characterized by white vertical illuminated light panels . Then , proceed straight to it . Slightly turn left and go directly ahead to a large building with a white smooth facade highlighted by a dark window grid . Slightly turn right and advance forward to a tall , modern skyscraper with blue and white vertical lighting . Finally , slightly turn left , move straight , and stop at it .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 8, 2, 9, 3, 9, 8, 2, 1, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250114_201358_0", "20250114_201401_1", "20250114_201401_2", "20250114_201402_3", "20250114_201402_4", "20250114_201402_5", "20250114_201403_6", "20250114_201403_7", "20250114_201404_8", "20250114_201404_9", "20250114_201405_10", "20250114_201405_11", "20250114_201406_12", "20250114_201406_13", "20250114_201407_14", "20250114_201408_17", "20250114_201409_19", "20250114_201409_20", "20250114_201411_23", "20250114_201411_24", "20250114_201413_27", "20250114_201414_29", "20250114_201414_30", "20250114_201415_31", "20250114_201415_32", "20250114_201416_33", "20250114_201416_34", "20250114_201417_35", "20250114_201417_36", "20250114_201418_37", "20250114_201418_38", "20250114_201418_39", "20250114_201419_40", "20250114_201419_41", "20250114_201420_42", "20250114_201420_43", "20250114_201421_44", "20250114_201421_45", "20250114_201422_46", "20250114_201422_47" ], "pos": [ [ -25.921574610603457, 639.2265540737291, 10.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 13.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 16.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 19.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 22.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 25.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 28.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 31.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 34.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 37.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 40.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 43.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 46.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 49.68080633296421 ], [ -25.921574610603457, 639.2265540737291, 52.68080633296421 ], [ -22.921574610603457, 634.0304016510224, 55.68080633296421 ], [ -19.921574610603457, 628.8342492283157, 55.68080633296421 ], [ -18.421574610603457, 626.2361730169623, 55.68080633296421 ], [ -13.225422187896825, 623.2361730169623, 55.68080633296421 ], [ -10.62734597654351, 621.7361730169623, 55.68080633296421 ], [ -7.627345976543509, 616.5400205942556, 55.68080633296421 ], [ -4.627345976543509, 611.3438681715488, 55.68080633296421 ], [ -3.1273459765435088, 608.7457919601954, 55.68080633296421 ], [ -3.1273459765435088, 608.7457919601954, 55.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 55.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 52.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 49.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 46.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 43.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 40.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 37.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 34.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 31.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 28.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 25.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 22.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 19.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 16.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 13.68080633296421 ], [ -0.5292697651901928, 607.2457919601954, 10.68080633296421 ] ], "yaw": [ -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511965883, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755982988, -0.5235987755982988, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084, -0.5235987755983084 ] }, { "image_path": "env_airsim_gz/astar_data/high_average/2025-1-11_16-45-53_150238230", "gpt_instruction": "Proceed straight to the large gray building characterized by a rectangular grid - like pattern of windows , then slightly turn right and proceed straight again to a sizable skyscraper with a dark facade featuring illuminated windows and bright horizontal lines .", "action": [ 9, 9, 8, 3, 9, 0 ], "index_list": [ "20250111_164556_2", "20250111_164558_5", "20250111_164558_7", "20250111_164559_8", "20250111_164600_11", "20250111_164601_12" ], "pos": [ [ 21.688337507234582, 51.96315682509044, 131.6344676312703 ], [ 21.688337507234582, 42.96315682509044, 131.6344676312703 ], [ 21.688337507234582, 36.96315682509044, 131.6344676312703 ], [ 21.688337507234582, 33.96315682509044, 131.6344676312703 ], [ 18.688337507234582, 28.767004402383805, 131.6344676312703 ], [ 17.188337507234582, 26.16892819103049, 131.6344676312703 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_airsim_gz/astar_data/medium_average/2025-1-7_4-47-32_1648609", "gpt_instruction": "Proceed straight to the modern building characterized by large blue horizontal lines .", "action": [ 9, 9, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250107_044736_2", "20250107_044737_5", "20250107_044738_8", "20250107_044740_11", "20250107_044741_14", "20250107_044742_17", "20250107_044743_20", "20250107_044744_21", "20250107_044744_22" ], "pos": [ [ 4050.1942169842405, -205.72242848452566, 48.08248088092334 ], [ 4050.1942169842405, -196.72242848452566, 48.08248088092334 ], [ 4050.1942169842405, -187.72242848452566, 48.08248088092334 ], [ 4050.1942169842405, -178.72242848452566, 48.08248088092334 ], [ 4050.1942169842405, -169.72242848452566, 48.08248088092334 ], [ 4050.1942169842405, -160.72242848452566, 48.08248088092334 ], [ 4050.1942169842405, -151.72242848452566, 48.08248088092334 ], [ 4050.1942169842405, -148.72242848452566, 48.08248088092334 ], [ 4050.1942169842405, -145.72242848452566, 48.08248088092334 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_airsim_gz/astar_data/medium_average/2025-1-7_10-55-44_965620727", "gpt_instruction": "Continue walking straight towards a large , brown building characterized by its rectangular shape with glass windows . Then , turn right slightly and proceed to it . Walk straight ahead to it . Next , slightly turn right and walk straight to it . Shift left to it .", "action": [ 9, 9, 8, 3, 3, 9, 9, 9, 8, 3, 9, 9, 1, 2, 2, 9, 9, 8, 0 ], "index_list": [ "20250107_105547_2", "20250107_105549_5", "20250107_105550_7", "20250107_105550_8", "20250107_105551_9", "20250107_105552_12", "20250107_105553_15", "20250107_105555_18", "20250107_105556_20", "20250107_105556_21", "20250107_105558_24", "20250107_105600_27", "20250107_105600_28", "20250107_105601_29", "20250107_105601_30", "20250107_105603_33", "20250107_105604_36", "20250107_105605_38", "20250107_105606_39" ], "pos": [ [ -884.4313211341869, 168.67300050287042, 59.336223894097685 ], [ -884.4313211341869, 177.67300050287042, 59.336223894097685 ], [ -884.4313211341869, 183.67300050287042, 59.336223894097685 ], [ -884.4313211341869, 186.67300050287042, 59.336223894097685 ], [ -884.4313211341869, 186.67300050287042, 59.336223894097685 ], [ -879.2351687114801, 189.67300050287042, 59.336223894097685 ], [ -871.44094007742, 194.17300050287042, 59.336223894097685 ], [ -863.6467114433599, 198.67300050287042, 59.336223894097685 ], [ -858.4505590206531, 201.67300050287042, 59.336223894097685 ], [ -855.8524828092998, 203.17300050287042, 59.336223894097685 ], [ -849.8524828092998, 203.17300050287042, 59.336223894097685 ], [ -840.8524828092998, 203.17300050287042, 59.336223894097685 ], [ -837.8524828092998, 203.17300050287042, 59.336223894097685 ], [ -834.8524828092998, 203.17300050287042, 59.336223894097685 ], [ -834.8524828092998, 203.17300050287042, 59.336223894097685 ], [ -831.8524828092998, 208.36915292557705, 59.336223894097685 ], [ -827.3524828092998, 216.163381559637, 59.336223894097685 ], [ -824.3524828092998, 221.35953398234363, 59.336223894097685 ], [ -822.8524828092998, 223.95761019369695, 59.336223894097685 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_airsim_gz/astar_data/high_average/2025-1-11_10-6-33_915989944", "gpt_instruction": "Walk straight toward a towering silver skyscraper accented with bright lighting , featuring elongated vertical structures illuminated with light streaks , surrounded by other buildings . Slightly turn left and move ahead toward a modern architectural facade characterized by a large vertical span of integrated blue lighting with bright white and yellow streaks , and sharply defined dark patterns on the left side .", "action": [ 9, 9, 2, 9, 9, 0 ], "index_list": [ "20250111_100637_2", "20250111_100638_5", "20250111_100639_6", "20250111_100640_9", "20250111_100642_12", "20250111_100642_13" ], "pos": [ [ -635.0550474849192, -167.22576143189056, 131.6344676312703 ], [ -642.8492761189793, -162.72576143189056, 131.6344676312703 ], [ -645.4473523303327, -161.22576143189056, 131.6344676312703 ], [ -651.4473523303327, -161.22576143189056, 131.6344676312703 ], [ -660.4473523303327, -161.22576143189056, 131.6344676312703 ], [ -663.4473523303327, -161.22576143189056, 131.6344676312703 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_gz/astar_data/low_short/2025-01-19_12-27-41_656877", "gpt_instruction": "Begin by ascending to the large civil structure , a red bridge with light trails . Slightly turn left and head straight towards the large high - rise building , a modern skyscraper with a blue hue and white accents , featuring a rectangular structure with many illuminated windows . Then , slightly turn right and proceed directly to it . Next , gently descend by slightly turning left and continue straight towards the medium to large commercial or residential building . It occupies a significant portion of the scene , showcasing a dark blue , reflective surface with faint window outlines .", "action": [ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 9, 9, 9, 3, 9, 9, 1, 5, 2, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0 ], "index_list": [ "20250119_122742_0", "20250119_122743_1", "20250119_122744_2", "20250119_122745_3", "20250119_122746_4", "20250119_122746_5", "20250119_122747_6", "20250119_122748_7", "20250119_122749_8", "20250119_122749_9", "20250119_122750_10", "20250119_122751_11", "20250119_122752_12", "20250119_122753_13", "20250119_122753_14", "20250119_122754_15", "20250119_122755_16", "20250119_122756_17", "20250119_122757_18", "20250119_122757_19", "20250119_122758_20", "20250119_122759_21", "20250119_122802_24", "20250119_122804_27", "20250119_122807_30", "20250119_122808_31", "20250119_122811_34", "20250119_122813_37", "20250119_122814_38", "20250119_122815_39", "20250119_122816_40", "20250119_122817_41", "20250119_122818_42", "20250119_122819_43", "20250119_122819_44", "20250119_122820_45", "20250119_122821_46", "20250119_122822_47", "20250119_122823_48", "20250119_122824_49", "20250119_122825_50", "20250119_122826_51", "20250119_122826_52", "20250119_122827_53", "20250119_122828_54", "20250119_122829_55", "20250119_122830_56", "20250119_122831_57", "20250119_122831_58", "20250119_122832_59", "20250119_122833_60", "20250119_122834_61", "20250119_122835_62" ], "pos": [ [ -67.76073620936468, -2101.092085122408, 36.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 39.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 42.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 45.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 48.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 51.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 54.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 57.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 60.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 63.237171090501306 ], [ -67.76073620936468, -2101.092085122408, 66.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 69.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 72.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 75.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 78.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 81.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 84.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 87.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 90.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 93.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 96.2371710905013 ], [ -67.76073620936468, -2101.092085122408, 99.2371710905013 ], [ -62.56458378665805, -2098.092085122408, 99.2371710905013 ], [ -54.7703551525981, -2093.592085122408, 99.2371710905013 ], [ -46.97612651853815, -2089.092085122408, 99.2371710905013 ], [ -44.378050307184836, -2087.592085122408, 99.2371710905013 ], [ -38.378050307184836, -2087.592085122408, 99.2371710905013 ], [ -29.378050307184836, -2087.592085122408, 99.2371710905013 ], [ -26.378050307184836, -2087.592085122408, 99.2371710905013 ], [ -23.378050307184836, -2087.592085122408, 99.2371710905013 ], [ -23.378050307184836, -2087.592085122408, 96.2371710905013 ], [ -23.378050307184836, -2087.592085122408, 96.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 96.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 93.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 90.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 87.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 84.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 81.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 78.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 75.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 72.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 69.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 66.2371710905013 ], [ -20.77997409583152, -2086.092085122408, 63.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 60.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 57.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 54.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 51.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 48.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 45.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 42.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 39.237171090501306 ], [ -20.77997409583152, -2086.092085122408, 36.237171090501306 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_airsim_gz/astar_data/low_long/2025-1-1_20-13-36_2053999932", "gpt_instruction": "Proceed towards the tall structure characterized by a light beige color and a vertical row of small windows , which could be either a residential or office building .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250101_201340_2", "20250101_201341_5", "20250101_201343_8", "20250101_201344_11", "20250101_201345_14", "20250101_201347_17", "20250101_201348_20", "20250101_201350_23", "20250101_201351_26", "20250101_201353_29", "20250101_201354_32", "20250101_201355_35", "20250101_201357_38", "20250101_201358_41", "20250101_201359_42" ], "pos": [ [ -1161.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1170.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1179.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1188.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1197.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1206.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1215.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1224.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1233.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1242.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1251.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1260.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1269.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1278.612244943831, -2006.334499315077, 33.6779973277971 ], [ -1281.612244943831, -2006.334499315077, 33.6779973277971 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_airsim_gz/astar_data/low_long_updown/2025-01-19_12-39-45_527006", "gpt_instruction": "Begin at a tall , gray apartment building , characterized by its large size and multiple balconies , then continue straight towards a large , modern skyscraper with blue and black colors and glowing sections . Slightly veer left , heading straight to a medium - sized building with square windows and several balconies . Ascend to witness a very large , dark gray cylindrical skyscraper adorned with line patterns . Proceed forward to another large building in gray , featuring rectangular windows and dark glass . Slightly turn right and continue ahead to reach it . Descend to a large , dark grey building with a wavy concrete facade . Turn right to approach a high - rise structure , recognizable for its tall silhouette , illuminated windows , and large size . Gently move straight ahead , pausing at a medium - sized , dark residential building distinguished by vertical lines and fewer lights .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, 9, 1, 2, 8, 4, 4, 9, 3, 9, 9, 9, 9, 9, 9, 8, 2, 9, 9, 9, 9, 9, 9, 9, 1, 5, 5, 3, 3, 1, 0, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250119_123946_0", "20250119_123947_1", "20250119_123947_2", "20250119_123948_3", "20250119_123949_4", "20250119_123950_5", "20250119_123951_6", "20250119_123952_7", "20250119_123954_10", "20250119_123955_11", "20250119_123956_12", "20250119_123958_14", "20250119_123958_15", "20250119_123959_16", "20250119_124002_19", "20250119_124003_20", "20250119_124005_23", "20250119_124008_26", "20250119_124011_29", "20250119_124013_32", "20250119_124016_35", "20250119_124018_38", "20250119_124020_40", "20250119_124021_41", "20250119_124024_44", "20250119_124026_47", "20250119_124029_50", "20250119_124032_53", "20250119_124034_56", "20250119_124037_59", "20250119_124040_62", "20250119_124041_63", "20250119_124042_64", "20250119_124042_65", "20250119_124043_66", "20250119_124044_67", "20250119_124045_68", "20250119_124046_69", "20250119_124047_70", "20250119_124048_71", "20250119_124048_72", "20250119_124049_73", "20250119_124050_74", "20250119_124051_75", "20250119_124052_76", "20250119_124053_77" ], "pos": [ [ 901.9389444370291, -353.5119647244643, 11.144912705837626, 1.5707963267948966 ], [ 901.9389444370291, -353.5119647244643, 14.144912705837626, 1.5707963267948966 ], [ 901.9389444370291, -353.5119647244643, 17.144912705837626, 1.5707963267948966 ], [ 901.9389444370291, -353.5119647244643, 20.144912705837626, 1.5707963267948966 ], [ 901.9389444370291, -353.5119647244643, 23.144912705837626, 1.5707963267948966 ], [ 901.9389444370291, -353.5119647244643, 26.144912705837626, 1.5707963267948966 ], [ 901.9389444370291, -353.5119647244643, 29.144912705837626, 1.5707963267948966 ], [ 901.9389444370291, -353.5119647244643, 32.144912705837626, 1.5707963267948966 ], [ 901.9389444370291, -347.5119647244643, 35.144912705837626 ], [ 901.9389444370291, -344.5119647244643, 35.144912705837626 ], [ 901.9389444370291, -341.5119647244643, 35.144912705837626 ], [ 900.4389444370291, -338.913888513111, 35.144912705837626 ], [ 898.9389444370291, -336.31581230175766, 35.144912705837626 ], [ 898.9389444370291, -336.31581230175766, 38.144912705837626 ], [ 895.9389444370291, -331.119659879051, 41.144912705837626 ], [ 894.4389444370291, -328.5215836676977, 41.144912705837626 ], [ 894.4389444370291, -322.5215836676977, 41.144912705837626 ], [ 894.4389444370291, -313.5215836676977, 41.144912705837626 ], [ 894.4389444370291, -304.5215836676977, 41.144912705837626 ], [ 894.4389444370291, -295.5215836676977, 41.144912705837626 ], [ 894.4389444370291, -286.5215836676977, 41.144912705837626 ], [ 894.4389444370291, -277.5215836676977, 41.144912705837626 ], [ 894.4389444370291, -271.5215836676977, 41.144912705837626 ], [ 894.4389444370291, -268.5215836676977, 41.144912705837626 ], [ 891.4389444370291, -263.3254312449911, 41.144912705837626 ], [ 886.9389444370291, -255.53120261093113, 41.144912705837626 ], [ 882.4389444370291, -247.73697397687118, 41.144912705837626 ], [ 877.9389444370291, -239.94274534281124, 41.144912705837626 ], [ 873.4389444370291, -232.1485167087513, 41.144912705837626 ], [ 868.9389444370291, -224.35428807469134, 41.144912705837626 ], [ 864.4389444370291, -216.5600594406314, 41.144912705837626 ], [ 862.9389444370291, -213.96198322927808, 41.144912705837626 ], [ 861.4389444370291, -211.36390701792476, 41.144912705837626 ], [ 861.4389444370291, -211.36390701792476, 38.144912705837626 ], [ 861.4389444370291, -211.36390701792476, 35.144912705837626 ], [ 861.4389444370291, -211.36390701792476, 35.144912705837626 ], [ 861.4389444370291, -211.36390701792476, 35.144912705837626 ], [ 862.9389444370291, -208.76583080657144, 35.144912705837626 ], [ 862.9389444370291, -208.76583080657144, 32.144912705837626, 1.0471975511965976 ], [ 862.9389444370291, -208.76583080657144, 29.144912705837626, 1.0471975511965976 ], [ 862.9389444370291, -208.76583080657144, 26.144912705837626, 1.0471975511965976 ], [ 862.9389444370291, -208.76583080657144, 23.144912705837626, 1.0471975511965976 ], [ 862.9389444370291, -208.76583080657144, 20.144912705837626, 1.0471975511965976 ], [ 862.9389444370291, -208.76583080657144, 17.144912705837626, 1.0471975511965976 ], [ 862.9389444370291, -208.76583080657144, 14.144912705837626, 1.0471975511965976 ], [ 862.9389444370291, -208.76583080657144, 11.144912705837626, 1.0471975511965976 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.0471975511965976, 1.0471975511965976, 1.0471975511965976, 1.0471975511965976, 1.0471975511965976, 1.0471975511965976, 1.0471975511965976, 1.0471975511965976 ] }, { "image_path": "env_airsim_gz/astar_data/low_short/2025-1-1_15-17-11_1911165193", "gpt_instruction": "Proceed directly towards the tall dark blue building characterized by horizontal stripes and rectangular windows . Then , slightly turn left and continue heading straight towards it .", "action": [ 9, 9, 8, 2, 9, 8, 0 ], "index_list": [ "20250101_151714_2", "20250101_151716_5", "20250101_151717_7", "20250101_151717_8", "20250101_151719_11", "20250101_151720_13", "20250101_151720_14" ], "pos": [ [ 1593.9332704284807, 1709.9746972161895, 19.653067371893176 ], [ 1584.9332704284807, 1709.9746972161895, 19.653067371893176 ], [ 1578.9332704284807, 1709.9746972161895, 19.653067371893176 ], [ 1575.9332704284807, 1709.9746972161895, 19.653067371893176 ], [ 1570.737118005774, 1706.9746972161895, 19.653067371893176 ], [ 1565.5409655830672, 1703.9746972161895, 19.653067371893176 ], [ 1562.9428893717138, 1702.4746972161895, 19.653067371893176 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_airsim_gz/astar_data/high_low/2025-1-10_21-11-6_1605539862", "gpt_instruction": "Head straight towards the blue building characterized by large windows with illuminated interiors and a tall , prominent structure . Slightly turn right and move forward to it .", "action": [ 9, 9, 9, 9, 8, 3, 9, 9, 1, 0 ], "index_list": [ "20250110_211110_2", "20250110_211111_5", "20250110_211113_8", "20250110_211115_11", "20250110_211116_13", "20250110_211116_14", "20250110_211118_17", "20250110_211119_20", "20250110_211120_21", "20250110_211120_22" ], "pos": [ [ -654.0712389730089, -38.82296639388285, 129.01292753601064 ], [ -649.5712389730089, -31.028737759822903, 129.01292753601064 ], [ -645.0712389730089, -23.234509125762955, 129.01292753601064 ], [ -640.5712389730089, -15.440280491703007, 129.01292753601064 ], [ -637.5712389730089, -10.244128068996375, 129.01292753601064 ], [ -636.0712389730089, -7.646051857643059, 129.01292753601064 ], [ -630.8750865503023, -4.646051857643059, 129.01292753601064 ], [ -623.0808579162422, -0.14605185764305917, 129.01292753601064 ], [ -620.4827817048888, 1.3539481423569406, 129.01292753601064 ], [ -617.8847054935354, 2.8539481423569404, 129.01292753601064 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982894, 0.5235987755982893, 0.5235987755982893, 0.5235987755982893 ] }, { "image_path": "env_ue_smallcity/astar_data/high_short/2025-1-3_23-23-56_595311776", "gpt_instruction": "Move towards a structure characterized by a mix of darker tones , featuring a rectangular building with a rooftop water tower . It is medium - sized compared to nearby structures and functions as a commercial building .", "action": [ 9, 1, 0 ], "index_list": [ "20250103_232405", "20250103_232407", "20250103_232410" ], "pos": [ [ 5.1651547905946495, 232.63656852085492, 79.67866618707271 ], [ 6.66515479059465, 235.23464473220824, 79.67866618707271 ], [ 8.16515479059465, 237.83272094356155, 79.67866618707271 ] ], "yaw": [ 1.0471975511965976, 1.0471975511965974, 1.0471975511965974 ] }, { "image_path": "env_ue_smallcity/astar_data/high_long/2025-1-5_11-16-41_196095815", "gpt_instruction": "Proceed ahead to the gray building with large grid - pattern windows , then slightly turn right slightly and advance to it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 1, 3, 9, 9, 1, 0 ], "index_list": [ "20250105_111649", "20250105_111655", "20250105_111702", "20250105_111709", "20250105_111715", "20250105_111722", "20250105_111728", "20250105_111735", "20250105_111737", "20250105_111739", "20250105_111745", "20250105_111752", "20250105_111754", "20250105_111756" ], "pos": [ [ 421.2078283556424, 672.3568777984472, 78.637749639727 ], [ 416.7078283556424, 664.562649164387, 78.637749639727 ], [ 412.2078283556424, 656.7684205303269, 78.637749639727 ], [ 407.7078283556424, 648.9741918962668, 78.637749639727 ], [ 403.2078283556424, 641.1799632622067, 78.637749639727 ], [ 398.7078283556424, 633.3857346281466, 78.637749639727 ], [ 394.2078283556424, 625.5915059940864, 78.637749639727 ], [ 389.7078283556424, 617.7972773600263, 78.637749639727 ], [ 388.2078283556424, 615.199201148673, 78.637749639727 ], [ 386.7078283556424, 612.6011249373196, 78.637749639727 ], [ 381.51167593293576, 609.6011249373196, 78.637749639727 ], [ 373.7174472988758, 605.1011249373196, 78.637749639727 ], [ 371.1193710875225, 603.6011249373196, 78.637749639727 ], [ 368.5212948761692, 602.1011249373196, 78.637749639727 ] ], "yaw": [ -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944 ] }, { "image_path": "env_ue_smallcity/astar_data/high_average/2025-1-3_19-2-34_221558440", "gpt_instruction": "Proceed directly to the large building with a black color and a glass facade .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250103_190243", "20250103_190250", "20250103_190256", "20250103_190302", "20250103_190309", "20250103_190315", "20250103_190321", "20250103_190328", "20250103_190334", "20250103_190336" ], "pos": [ [ 293.0981869498808, -322.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -331.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -340.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -349.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -358.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -367.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -376.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -385.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -394.7023922997004, 95.5145564600975 ], [ 293.0981869498808, -397.7023922997004, 95.5145564600975 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_ue_smallcity/astar_data/high_short/2025-1-4_16-42-4_189258051", "gpt_instruction": "Walk straight towards the large beige building , which is rectangular with rows of windows , then slightly turn right and move ahead to it .", "action": [ 9, 9, 9, 8, 3, 9, 1, 0 ], "index_list": [ "20250104_164211", "20250104_164218", "20250104_164224", "20250104_164229", "20250104_164231", "20250104_164238", "20250104_164240", "20250104_164242" ], "pos": [ [ -468.69065274966846, -410.9519354692834, 96.76720498654923 ], [ -473.19065274966846, -403.15770683522345, 96.76720498654923 ], [ -477.69065274966846, -395.3634782011635, 96.76720498654923 ], [ -480.69065274966846, -390.16732577845687, 96.76720498654923 ], [ -482.19065274966846, -387.56924956710355, 96.76720498654923 ], [ -482.19065274966846, -381.56924956710355, 96.76720498654923 ], [ -482.19065274966846, -378.56924956710355, 96.76720498654923 ], [ -482.19065274966846, -375.56924956710355, 96.76720498654923 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_ue_smallcity/astar_data/high_short/2025-1-4_19-19-55_1542106687", "gpt_instruction": "Proceed towards the gray structure , which features a grid - like window pattern , is tall in size , and is classified as a building .", "action": [ 9, 8, 0 ], "index_list": [ "20250104_192002", "20250104_192007", "20250104_192009" ], "pos": [ [ 10.568214225930031, -386.7185272801795, 71.23460750023 ], [ 7.568214225930032, -381.52237485747287, 71.23460750023 ], [ 6.068214225930033, -378.92429864611955, 71.23460750023 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_ue_smallcity/astar_data/low_average/2025-1-3_19-52-19_1977648522", "gpt_instruction": "Move forward and slightly turn right while heading straight towards a large , gray historic government building characterized by a green dome and classical architecture .", "action": [ 9, 9, 9, 9, 9, 9, 9, 8, 3, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250103_195228", "20250103_195235", "20250103_195241", "20250103_195248", "20250103_195254", "20250103_195301", "20250103_195307", "20250103_195311", "20250103_195313", "20250103_195320", "20250103_195326", "20250103_195332", "20250103_195339", "20250103_195345", "20250103_195352", "20250103_195354" ], "pos": [ [ 599.169534452051, 343.00366797559707, 70.38710987305464 ], [ 591.3753058179909, 338.50366797559707, 70.38710987305464 ], [ 583.5810771839308, 334.00366797559707, 70.38710987305464 ], [ 575.7868485498707, 329.50366797559707, 70.38710987305464 ], [ 567.9926199158106, 325.00366797559707, 70.38710987305464 ], [ 560.1983912817504, 320.50366797559707, 70.38710987305464 ], [ 552.4041626476903, 316.00366797559707, 70.38710987305464 ], [ 547.2080102249836, 313.00366797559707, 70.38710987305464 ], [ 544.6099340136302, 311.50366797559707, 70.38710987305464 ], [ 538.6099340136302, 311.50366797559707, 70.38710987305464 ], [ 529.6099340136302, 311.50366797559707, 70.38710987305464 ], [ 520.6099340136302, 311.50366797559707, 70.38710987305464 ], [ 511.6099340136302, 311.50366797559707, 70.38710987305464 ], [ 502.6099340136302, 311.50366797559707, 70.38710987305464 ], [ 493.6099340136302, 311.50366797559707, 70.38710987305464 ], [ 490.6099340136302, 311.50366797559707, 70.38710987305464 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_ue_smallcity/astar_data/low_long/2025-1-4_9-29-48_952062949", "gpt_instruction": "Move forward to the dark brown building characterized by rectangular windows and medium height , then slightly turn left and keep going straight towards it .", "action": [ 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250104_092957", "20250104_093003", "20250104_093009", "20250104_093016", "20250104_093022", "20250104_093029", "20250104_093035", "20250104_093037", "20250104_093044", "20250104_093050", "20250104_093056", "20250104_093103", "20250104_093105", "20250104_093107" ], "pos": [ [ 198.59822752652224, 695.7797471376131, 90.99843839120234 ], [ 198.59822752652224, 686.7797471376131, 90.99843839120234 ], [ 198.59822752652224, 677.7797471376131, 90.99843839120234 ], [ 198.59822752652224, 668.7797471376131, 90.99843839120234 ], [ 198.59822752652224, 659.7797471376131, 90.99843839120234 ], [ 198.59822752652224, 650.7797471376131, 90.99843839120234 ], [ 198.59822752652224, 641.7797471376131, 90.99843839120234 ], [ 198.59822752652224, 638.7797471376131, 90.99843839120234 ], [ 201.59822752652224, 633.5835947149064, 90.99843839120234 ], [ 206.09822752652224, 625.7893660808463, 90.99843839120234 ], [ 210.59822752652224, 617.9951374467862, 90.99843839120234 ], [ 215.09822752652224, 610.2009088127261, 90.99843839120234 ], [ 216.59822752652224, 607.6028326013727, 90.99843839120234 ], [ 218.09822752652224, 605.0047563900193, 90.99843839120234 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072 ] }, { "image_path": "env_ue_smallcity/astar_data/low_long_updown/2025-1-15_5-6-29_1977648522", "gpt_instruction": "Ascend to the dark building with large rectangular windows , move forward to the dark skyscraper skyline , slightly turn left and go directly ahead to the gray building featuring many windows , slightly stop and fall to the grey commercial edifice with mid-size windows and a grey brick facade .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250115_050633", "20250115_050635", "20250115_050637", "20250115_050640", "20250115_050642", "20250115_050644", "20250115_050646", "20250115_050648", "20250115_050650", "20250115_050652", "20250115_050654", "20250115_050656", "20250115_050703", "20250115_050709", "20250115_050715", "20250115_050721", "20250115_050724", "20250115_050730", "20250115_050737", "20250115_050743", "20250115_050750", "20250115_050756", "20250115_050802", "20250115_050809", "20250115_050813", "20250115_050815", "20250115_050817", "20250115_050819", "20250115_050821", "20250115_050823", "20250115_050826", "20250115_050828", "20250115_050830", "20250115_050832", "20250115_050834", "20250115_050836", "20250115_050838", "20250115_050841" ], "pos": [ [ -560.211835251634, -423.9082034837962, 1.0794876578951502 ], [ -560.211835251634, -423.9082034837962, 4.07948765789515 ], [ -560.211835251634, -423.9082034837962, 7.07948765789515 ], [ -560.211835251634, -423.9082034837962, 10.07948765789515 ], [ -560.211835251634, -423.9082034837962, 13.07948765789515 ], [ -560.211835251634, -423.9082034837962, 16.07948765789515 ], [ -560.211835251634, -423.9082034837962, 19.07948765789515 ], [ -560.211835251634, -423.9082034837962, 22.07948765789515 ], [ -560.211835251634, -423.9082034837962, 25.07948765789515 ], [ -560.211835251634, -423.9082034837962, 28.07948765789515 ], [ -560.211835251634, -423.9082034837962, 31.07948765789515 ], [ -560.211835251634, -423.9082034837962, 34.07948765789515 ], [ -554.211835251634, -423.9082034837962, 37.07948765789515 ], [ -545.211835251634, -423.9082034837962, 37.07948765789515 ], [ -536.211835251634, -423.9082034837962, 37.07948765789515 ], [ -527.211835251634, -423.9082034837962, 37.07948765789515 ], [ -524.211835251634, -423.9082034837962, 37.07948765789515 ], [ -519.0156828289273, -420.9082034837962, 37.07948765789515 ], [ -511.22145419486725, -416.4082034837962, 37.07948765789515 ], [ -503.4272255608073, -411.9082034837962, 37.07948765789515 ], [ -495.63299692674735, -407.4082034837962, 37.07948765789515 ], [ -487.8387682926874, -402.9082034837962, 37.07948765789515 ], [ -480.04453965862746, -398.4082034837962, 37.07948765789515 ], [ -472.2503110245675, -393.9082034837962, 37.07948765789515 ], [ -467.0541586018609, -390.9082034837962, 37.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 37.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 34.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 31.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 28.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 25.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 22.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 19.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 16.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 13.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 10.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 7.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 4.07948765789515 ], [ -464.45608239050756, -389.4082034837962, 1.0794876578951502 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5235987755982894, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_ue_smallcity/astar_data/high_average/2025-1-6_2-59-33_1632381616", "gpt_instruction": "Proceed to the large white building with a triangular roof , then slightly turn left and move forward to it . Continue straight to the medium brown and green historic building featuring a decorative roof with a dome structure .", "action": [ 8, 2, 9, 9, 8, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250106_025940", "20250106_025942", "20250106_025949", "20250106_025955", "20250106_030000", "20250106_030002", "20250106_030009", "20250106_030015", "20250106_030022", "20250106_030028", "20250106_030035", "20250106_030041", "20250106_030048", "20250106_030054", "20250106_030101", "20250106_030105", "20250106_030107" ], "pos": [ [ 470.54674208018054, 532.7507825698112, 80.845339087311 ], [ 467.9486658688272, 531.2507825698112, 80.845339087311 ], [ 464.9486658688272, 526.0546301471045, 80.845339087311 ], [ 460.4486658688272, 518.2604015130444, 80.845339087311 ], [ 457.4486658688272, 513.0642490903376, 80.845339087311 ], [ 455.9486658688272, 510.4661728789843, 80.845339087311 ], [ 455.9486658688272, 504.4661728789843, 80.845339087311 ], [ 455.9486658688272, 495.4661728789843, 80.845339087311 ], [ 455.9486658688272, 486.4661728789843, 80.845339087311 ], [ 455.9486658688272, 477.4661728789843, 80.845339087311 ], [ 455.9486658688272, 468.4661728789843, 80.845339087311 ], [ 455.9486658688272, 459.4661728789843, 80.845339087311 ], [ 455.9486658688272, 450.4661728789843, 80.845339087311 ], [ 455.9486658688272, 441.4661728789843, 80.845339087311 ], [ 455.9486658688272, 432.4661728789843, 80.845339087311 ], [ 455.9486658688272, 426.4661728789843, 80.845339087311 ], [ 455.9486658688272, 423.4661728789843, 80.845339087311 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_ue_smallcity/astar_data/low_average/2025-1-3_20-47-25_1065103348", "gpt_instruction": "Proceed directly to the gray modern skyscraper with a tall stature and a grid - like window pattern .", "action": [ 9, 9, 9, 9, 0 ], "index_list": [ "20250103_204733", "20250103_204739", "20250103_204745", "20250103_204751", "20250103_204753" ], "pos": [ [ -128.78885989477348, 614.6686280492661, 82.11600561838574 ], [ -136.58308852883343, 610.1686280492661, 82.11600561838574 ], [ -144.37731716289338, 605.6686280492661, 82.11600561838574 ], [ -152.17154579695332, 601.1686280492661, 82.11600561838574 ], [ -154.76962200830664, 599.6686280492661, 82.11600561838574 ] ], "yaw": [ -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944 ] }, { "image_path": "env_ue_smallcity/astar_data/low_long_updown/2025-1-15_22-59-8_216588711", "gpt_instruction": "\" Rise towards the gray skyscraper , a tall and large building , then head straight , slightly turn left , and move ahead towards the red building with a brick facade , which is also large in size . Slightly stop in front of the building and fall towards the structure with a dark gray exterior featuring large windows and awnings displaying ' Fenico Bank ' signage , which is medium to large in size and of commercial type . \"", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 9, 9, 9, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250115_225913", "20250115_225915", "20250115_225918", "20250115_225920", "20250115_225922", "20250115_225924", "20250115_225926", "20250115_225928", "20250115_225931", "20250115_225933", "20250115_225935", "20250115_225937", "20250115_225939", "20250115_225941", "20250115_225948", "20250115_225954", "20250115_230001", "20250115_230007", "20250115_230013", "20250115_230020", "20250115_230026", "20250115_230032", "20250115_230039", "20250115_230046", "20250115_230052", "20250115_230056", "20250115_230059", "20250115_230105", "20250115_230112", "20250115_230118", "20250115_230122", "20250115_230125", "20250115_230127", "20250115_230129", "20250115_230131", "20250115_230133", "20250115_230135", "20250115_230137", "20250115_230139", "20250115_230142", "20250115_230144", "20250115_230146", "20250115_230148", "20250115_230150", "20250115_230152", "20250115_230154" ], "pos": [ [ -381.20997872842986, -370.9493506643503, 1.5191206106099457 ], [ -381.20997872842986, -370.9493506643503, 4.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 7.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 10.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 13.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 16.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 19.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 22.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 25.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 28.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 31.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 34.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 37.519120610609946 ], [ -381.20997872842986, -370.9493506643503, 40.519120610609946 ], [ -381.20997872842986, -364.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -355.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -346.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -337.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -328.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -319.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -310.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -301.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -292.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -283.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -274.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -268.9493506643503, 43.519120610609946 ], [ -381.20997872842986, -265.9493506643503, 43.519120610609946 ], [ -384.20997872842986, -260.75319824164364, 43.519120610609946 ], [ -388.70997872842986, -252.9589696075837, 43.519120610609946 ], [ -393.20997872842986, -245.16474097352375, 43.519120610609946 ], [ -396.20997872842986, -239.96858855081712, 43.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 43.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 40.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 37.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 34.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 31.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 28.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 25.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 22.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 19.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 16.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 13.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 10.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 7.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 4.519120610609946 ], [ -397.70997872842986, -237.3705123394638, 1.5191206106099457 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_ue_smallcity/astar_data/low_long/2025-1-4_3-21-50_389040743", "gpt_instruction": "Proceed directly to the dark structure with lighter window frames , characterized by a glass facade revealing visible interiors . It is a high - rise commercial office building .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250104_032157", "20250104_032204", "20250104_032210", "20250104_032217", "20250104_032223", "20250104_032229", "20250104_032236", "20250104_032242", "20250104_032249", "20250104_032256", "20250104_032302", "20250104_032308", "20250104_032315", "20250104_032321", "20250104_032325", "20250104_032327" ], "pos": [ [ 439.45185083660954, -191.35277375877666, 82.11637147865034 ], [ 431.6576222025496, -186.85277375877666, 82.11637147865034 ], [ 423.86339356848964, -182.35277375877666, 82.11637147865034 ], [ 416.0691649344297, -177.85277375877666, 82.11637147865034 ], [ 408.27493630036975, -173.35277375877666, 82.11637147865034 ], [ 400.4807076663098, -168.85277375877666, 82.11637147865034 ], [ 392.68647903224985, -164.35277375877666, 82.11637147865034 ], [ 384.8922503981899, -159.85277375877666, 82.11637147865034 ], [ 377.09802176412995, -155.35277375877666, 82.11637147865034 ], [ 369.30379313007, -150.85277375877666, 82.11637147865034 ], [ 361.50956449601006, -146.35277375877666, 82.11637147865034 ], [ 353.7153358619501, -141.85277375877666, 82.11637147865034 ], [ 345.92110722789016, -137.35277375877666, 82.11637147865034 ], [ 338.1268785938302, -132.85277375877666, 82.11637147865034 ], [ 332.9307261711236, -129.85277375877666, 82.11637147865034 ], [ 330.33264995977027, -128.35277375877666, 82.11637147865034 ] ], "yaw": [ 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_ue_smallcity/astar_data/high_short/2025-1-4_15-11-34_2138704485", "gpt_instruction": "Proceed directly to the building characterized by its red - brick color , tall grid windows , and large size . Then slightly turn right and proceed straight to it .", "action": [ 9, 8, 3, 9, 9, 0 ], "index_list": [ "20250104_151141", "20250104_151145", "20250104_151147", "20250104_151154", "20250104_151201", "20250104_151203" ], "pos": [ [ -838.0910923583169, -202.69309224157075, 94.75972096224503 ], [ -835.0910923583169, -197.49693981886412, 94.75972096224503 ], [ -833.5910923583169, -194.8988636075108, 94.75972096224503 ], [ -828.3949399356102, -191.8988636075108, 94.75972096224503 ], [ -820.6007113015501, -187.3988636075108, 94.75972096224503 ], [ -818.0026350901967, -185.8988636075108, 94.75972096224503 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894 ] }, { "image_path": "env_ue_smallcity/astar_data/high_short/2025-1-3_22-8-45_409544918", "gpt_instruction": "Walk straight to a large gray building featuring a flat rooftop with structures , then slightly turn right and head straight towards it .", "action": [ 9, 9, 9, 1, 3, 9, 0 ], "index_list": [ "20250103_220854", "20250103_220901", "20250103_220907", "20250103_220909", "20250103_220911", "20250103_220917", "20250103_220919" ], "pos": [ [ 58.695027473040795, 35.145871449412915, 84.1107394771899 ], [ 58.695027473040795, 26.145871449412915, 84.1107394771899 ], [ 58.695027473040795, 17.145871449412915, 84.1107394771899 ], [ 58.695027473040795, 14.145871449412915, 84.1107394771899 ], [ 58.695027473040795, 11.145871449412915, 84.1107394771899 ], [ 55.695027473040795, 5.949719026706283, 84.1107394771899 ], [ 54.195027473040795, 3.3516428153529674, 84.1107394771899 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_ue_smallcity/astar_data/low_average/2025-1-4_13-43-1_86086317", "gpt_instruction": "Proceed by heading directly towards the dark brown skyscraper that is tall with many windows and large in size , then slightly turn left to face the gray , tall rectangular building , also large and filled with numerous windows . Finally , slightly turn right and continue straight towards the dark red skyscraper , a tall brick structure with detailed ornamental designs .", "action": [ 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 1, 3, 8, 0 ], "index_list": [ "20250104_134310", "20250104_134317", "20250104_134323", "20250104_134330", "20250104_134336", "20250104_134343", "20250104_134345", "20250104_134351", "20250104_134358", "20250104_134404", "20250104_134411", "20250104_134418", "20250104_134420", "20250104_134422", "20250104_134426", "20250104_134428" ], "pos": [ [ -252.13808922506223, -57.94175259329754, 72.94860843083018 ], [ -244.34386059100228, -53.44175259329754, 72.94860843083018 ], [ -236.54963195694233, -48.94175259329754, 72.94860843083018 ], [ -228.7554033228824, -44.44175259329754, 72.94860843083018 ], [ -220.96117468882244, -39.94175259329754, 72.94860843083018 ], [ -213.1669460547625, -35.44175259329754, 72.94860843083018 ], [ -210.56886984340917, -33.94175259329754, 72.94860843083018 ], [ -207.56886984340917, -28.745600170590905, 72.94860843083018 ], [ -203.06886984340917, -20.951371536530957, 72.94860843083018 ], [ -198.56886984340917, -13.157142902471008, 72.94860843083018 ], [ -194.06886984340917, -5.3629142684110604, 72.94860843083018 ], [ -189.56886984340917, 2.4313143656488876, 72.94860843083018 ], [ -188.06886984340917, 5.029390577002204, 72.94860843083018 ], [ -186.56886984340917, 7.62746678835552, 72.94860843083018 ], [ -183.97079363205586, 9.12746678835552, 72.94860843083018 ], [ -181.37271742070254, 10.62746678835552, 72.94860843083018 ] ], "yaw": [ 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_ue_smallcity/astar_data/low_average/2025-1-5_18-20-15_675161631", "gpt_instruction": "Begin by advancing to a location characterized by various shades of grey and beige , marked by a cluster of large high - rise skyscrapers . Then , slightly turn left and proceed straight towards a site with gray color , featuring medium - sized rectangular windows typical of an office building .", "action": [ 9, 9, 8, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250105_182025", "20250105_182031", "20250105_182035", "20250105_182038", "20250105_182044", "20250105_182051", "20250105_182057", "20250105_182103", "20250105_182110", "20250105_182116", "20250105_182123", "20250105_182129", "20250105_182136", "20250105_182138" ], "pos": [ [ -777.6641705931704, -304.4699917085836, 85.13619182295818 ], [ -768.6641705931704, -304.4699917085836, 85.13619182295818 ], [ -762.6641705931704, -304.4699917085836, 85.13619182295818 ], [ -759.6641705931704, -304.4699917085836, 85.13619182295818 ], [ -754.4680181704637, -301.4699917085836, 85.13619182295818 ], [ -746.6737895364035, -296.9699917085836, 85.13619182295818 ], [ -738.8795609023434, -292.4699917085836, 85.13619182295818 ], [ -731.0853322682833, -287.9699917085836, 85.13619182295818 ], [ -723.2911036342232, -283.4699917085836, 85.13619182295818 ], [ -715.4968750001631, -278.9699917085836, 85.13619182295818 ], [ -707.702646366103, -274.4699917085836, 85.13619182295818 ], [ -699.9084177320428, -269.9699917085836, 85.13619182295818 ], [ -692.1141890979827, -265.4699917085836, 85.13619182295818 ], [ -689.5161128866293, -263.9699917085836, 85.13619182295818 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894 ] }, { "image_path": "env_ue_smallcity/astar_data/high_average/2025-01-19_09-30-44_574392", "gpt_instruction": "Proceed straight to the large grey building with a grid - like window pattern , then go upwards to the large gray building with a similar grid - like pattern of windows . Slightly turn left and walk straight to the medium gray building featuring a rooftop with structures and equipment . Climb to it . Slightly move straight and slightly upward , then advance forward to it . Proceed downwards to it . Slightly turn right and move forward to it . Finally , lower down to it .", "action": [ 9, 9, 9, 9, 9, 9, 8, 4, 4, 2, 9, 1, 4, 4, 1, 4, 9, 9, 9, 8, 5, 5, 5, 5, 3, 8, 5, 0 ], "index_list": [ "20250119_093055", "20250119_093102", "20250119_093109", "20250119_093115", "20250119_093122", "20250119_093128", "20250119_093132", "20250119_093135", "20250119_093137", "20250119_093139", "20250119_093146", "20250119_093148", "20250119_093150", "20250119_093152", "20250119_093154", "20250119_093157", "20250119_093203", "20250119_093210", "20250119_093216", "20250119_093221", "20250119_093223", "20250119_093225", "20250119_093228", "20250119_093230", "20250119_093232", "20250119_093236", "20250119_093238", "20250119_093241" ], "pos": [ [ 39.909236746682595, 133.3944718950617, 74.57452441666221 ], [ 44.409236746682595, 141.18870052912166, 74.57452441666221 ], [ 48.909236746682595, 148.9829291631816, 74.57452441666221 ], [ 53.409236746682595, 156.77715779724156, 74.57452441666221 ], [ 57.909236746682595, 164.5713864313015, 74.57452441666221 ], [ 62.409236746682595, 172.36561506536145, 74.57452441666221 ], [ 65.4092367466826, 177.56176748806809, 74.57452441666221 ], [ 66.9092367466826, 180.1598436994214, 74.57452441666221 ], [ 66.9092367466826, 180.1598436994214, 77.57452441666221 ], [ 66.9092367466826, 180.1598436994214, 80.57452441666221 ], [ 66.9092367466826, 186.1598436994214, 80.57452441666221 ], [ 66.9092367466826, 189.1598436994214, 80.57452441666221 ], [ 66.9092367466826, 192.1598436994214, 80.57452441666221 ], [ 66.9092367466826, 192.1598436994214, 83.57452441666221 ], [ 66.9092367466826, 192.1598436994214, 86.57452441666221 ], [ 66.9092367466826, 195.1598436994214, 86.57452441666221 ], [ 66.9092367466826, 201.1598436994214, 89.57452441666221 ], [ 66.9092367466826, 210.1598436994214, 89.57452441666221 ], [ 66.9092367466826, 219.1598436994214, 89.57452441666221 ], [ 66.9092367466826, 225.1598436994214, 89.57452441666221 ], [ 66.9092367466826, 228.1598436994214, 89.57452441666221 ], [ 66.9092367466826, 228.1598436994214, 86.57452441666221 ], [ 66.9092367466826, 228.1598436994214, 83.57452441666221 ], [ 66.9092367466826, 228.1598436994214, 80.57452441666221 ], [ 66.9092367466826, 228.1598436994214, 77.57452441666221 ], [ 68.4092367466826, 230.75791991077472, 77.57452441666221 ], [ 69.9092367466826, 233.35599612212803, 77.57452441666221 ], [ 69.9092367466826, 233.35599612212803, 74.57452441666221 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_ue_smallcity/astar_data/high_long/2025-01-19_10-44-52_474712", "gpt_instruction": "Advance forward to a large gray cylindrical structure with conical roofs , which is a water tower , then slightly ascend and continue straight towards another large gray structure with a rooftop containing HVAC units , identified as a building . Finally , move down to a medium - height , wide building with a red and gray ornate facade and decorative elements .", "action": [ 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 0 ], "index_list": [ "20250119_104503", "20250119_104510", "20250119_104512", "20250119_104518", "20250119_104524", "20250119_104531", "20250119_104537", "20250119_104544", "20250119_104550", "20250119_104557", "20250119_104603", "20250119_104610", "20250119_104616", "20250119_104622", "20250119_104629", "20250119_104635", "20250119_104642", "20250119_104644", "20250119_104646" ], "pos": [ [ -303.99642103056436, 220.05263045047758, 70.69270354394726 ], [ -303.99642103056436, 211.05263045047758, 70.69270354394726 ], [ -303.99642103056436, 208.05263045047758, 70.69270354394726 ], [ -303.99642103056436, 202.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 193.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 184.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 175.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 166.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 157.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 148.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 139.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 130.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 121.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 112.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 103.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 94.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 85.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 82.05263045047758, 73.69270354394726 ], [ -303.99642103056436, 82.05263045047758, 70.69270354394726 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_ue_smallcity/astar_data/low_long_updown/2025-1-15_23-1-56_1319041805", "gpt_instruction": "Start by ascending to a large light gray building featuring rectangular windows with black accents . Then proceed in it . Slightly turn left and continue forward to it . Take a right turn towards it . Continue directly onward to it . Slightly turn right and move directly forward to a large brown building with rectangular windows . Slightly turn right again and head straight towards a large green building with a dome and spire . Finally , come to a gentle stop at a medium - sized gray commercial building adorned with ornate detailing and large windows .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 2, 8, 3, 3, 9, 1, 3, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 8, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250115_230159", "20250115_230201", "20250115_230203", "20250115_230205", "20250115_230208", "20250115_230210", "20250115_230212", "20250115_230214", "20250115_230216", "20250115_230218", "20250115_230221", "20250115_230223", "20250115_230229", "20250115_230236", "20250115_230242", "20250115_230245", "20250115_230249", "20250115_230251", "20250115_230253", "20250115_230259", "20250115_230302", "20250115_230304", "20250115_230310", "20250115_230317", "20250115_230324", "20250115_230331", "20250115_230337", "20250115_230344", "20250115_230346", "20250115_230353", "20250115_230359", "20250115_230406", "20250115_230412", "20250115_230419", "20250115_230425", "20250115_230429", "20250115_230432", "20250115_230434", "20250115_230436", "20250115_230438", "20250115_230440", "20250115_230443", "20250115_230445", "20250115_230447", "20250115_230449", "20250115_230452", "20250115_230454", "20250115_230456", "20250115_230458" ], "pos": [ [ 600.1596131613109, 288.86784316565695, 0.7757794567648659 ], [ 600.1596131613109, 288.86784316565695, 3.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 6.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 9.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 12.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 15.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 18.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 21.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 24.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 27.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 30.775779456764866 ], [ 600.1596131613109, 288.86784316565695, 33.775779456764866 ], [ 600.1596131613109, 282.86784316565695, 36.775779456764866 ], [ 600.1596131613109, 273.86784316565695, 36.775779456764866 ], [ 600.1596131613109, 264.86784316565695, 36.775779456764866 ], [ 600.1596131613109, 261.86784316565695, 36.775779456764866 ], [ 601.6596131613109, 259.26976695430363, 36.775779456764866 ], [ 603.1596131613109, 256.6716907429503, 36.775779456764866 ], [ 603.1596131613109, 256.6716907429503, 36.775779456764866 ], [ 600.1596131613109, 251.4755383202437, 36.775779456764866 ], [ 598.6596131613109, 248.87746210889037, 36.775779456764866 ], [ 597.1596131613109, 246.27938589753705, 36.775779456764866 ], [ 591.9634607386042, 243.27938589753705, 36.775779456764866 ], [ 584.1692321045441, 238.77938589753705, 36.775779456764866 ], [ 576.375003470484, 234.27938589753705, 36.775779456764866 ], [ 568.5807748364239, 229.77938589753705, 36.775779456764866 ], [ 560.7865462023638, 225.27938589753705, 36.775779456764866 ], [ 552.9923175683036, 220.77938589753705, 36.775779456764866 ], [ 550.3942413569503, 219.27938589753705, 36.775779456764866 ], [ 544.3942413569503, 219.27938589753705, 36.775779456764866 ], [ 535.3942413569503, 219.27938589753705, 36.775779456764866 ], [ 526.3942413569503, 219.27938589753705, 36.775779456764866 ], [ 517.3942413569503, 219.27938589753705, 36.775779456764866 ], [ 508.39424135695026, 219.27938589753705, 36.775779456764866 ], [ 499.39424135695026, 219.27938589753705, 36.775779456764866 ], [ 493.39424135695026, 219.27938589753705, 36.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 36.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 33.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 30.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 27.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 24.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 21.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 18.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 15.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 12.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 9.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 6.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 3.775779456764866 ], [ 490.39424135695026, 219.27938589753705, 0.7757794567648659 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979, -1.5707963267948966, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_ue_smallcity/astar_data/low_short/2025-1-4_14-39-17_1277970780", "gpt_instruction": "Proceed directly to the left and then slightly turn towards a tall beige skyscraper , characterized by an ornate spire and intricate architectural details .", "action": [ 9, 9, 9, 9, 9, 2, 8, 0 ], "index_list": [ "20250104_143926", "20250104_143933", "20250104_143939", "20250104_143945", "20250104_143952", "20250104_143954", "20250104_143958", "20250104_144001" ], "pos": [ [ 150.47475170911932, 204.84698379535808, 97.72387833616992 ], [ 145.97475170911932, 212.64121242941803, 97.72387833616992 ], [ 141.47475170911932, 220.43544106347798, 97.72387833616992 ], [ 136.97475170911932, 228.22966969753793, 97.72387833616992 ], [ 132.47475170911932, 236.02389833159788, 97.72387833616992 ], [ 130.97475170911932, 238.6219745429512, 97.72387833616992 ], [ 128.376675497766, 240.1219745429512, 97.72387833616992 ], [ 125.77859928641269, 241.6219745429512, 97.72387833616992 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.0943951023931953, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_ue_smallcity/astar_data/low_short/2025-1-4_1-55-50_359147515", "gpt_instruction": "Proceed directly to the medium - sized commercial building characterized by its gray and black color , featuring prominent vertical lines .", "action": [ 9, 1, 0 ], "index_list": [ "20250104_015557", "20250104_015600", "20250104_015602" ], "pos": [ [ -249.4591753887446, -153.99245310257587, 81.49479121817774 ], [ -246.86109917739128, -152.49245310257587, 81.49479121817774 ], [ -244.26302296603797, -150.99245310257587, 81.49479121817774 ] ], "yaw": [ 0.5235987755982988, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_ue_smallcity/astar_data/high_short/2025-1-4_9-56-15_1680687005", "gpt_instruction": "Proceed straight to the gray , large building with a rectangular rooftop covered in gravel .", "action": [ 9, 9, 9, 0 ], "index_list": [ "20250104_095622", "20250104_095628", "20250104_095635", "20250104_095637" ], "pos": [ [ 354.56570356310056, 316.06109974769066, 82.00319576742102 ], [ 346.7714749290406, 320.56109974769066, 82.00319576742102 ], [ 338.97724629498066, 325.06109974769066, 82.00319576742102 ], [ 336.37917008362734, 326.56109974769066, 82.00319576742102 ] ], "yaw": [ 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944 ] }, { "image_path": "env_ue_smallcity/astar_data/low_long/2025-01-19_01-26-07_496226", "gpt_instruction": "Begin by keeping straight towards the large gray building characterized by balconies with railings . After proceeding slightly upwards , head forward to it . Next , turn right slightly and proceed straight to reach a large dark gray skyscraper with a glass facade . Climb towards the brown building adorned with detailed cornices , then make a slight left turn and continue straight to a large brown building with a brick facade and large windows . Continue by slightly turning left and proceeding straight towards it . Ascend slightly , make a left turn , and move ahead to a large gray building with grid - like windows . Fall slightly towards it . Finally , slightly turn right and head straight towards it .", "action": [ 9, 9, 4, 8, 3, 9, 9, 1, 4, 4, 2, 9, 1, 2, 9, 8, 4, 2, 9, 9, 9, 9, 9, 9, 9, 9, 1, 5, 5, 5, 5, 3, 1, 0 ], "index_list": [ "20250119_012618", "20250119_012625", "20250119_012627", "20250119_012632", "20250119_012634", "20250119_012641", "20250119_012647", "20250119_012649", "20250119_012652", "20250119_012654", "20250119_012656", "20250119_012703", "20250119_012705", "20250119_012707", "20250119_012714", "20250119_012718", "20250119_012721", "20250119_012723", "20250119_012729", "20250119_012736", "20250119_012743", "20250119_012749", "20250119_012755", "20250119_012802", "20250119_012809", "20250119_012815", "20250119_012817", "20250119_012819", "20250119_012822", "20250119_012824", "20250119_012826", "20250119_012828", "20250119_012830", "20250119_012832" ], "pos": [ [ 59.98954253325998, -301.88714702417224, 73.86332906422297 ], [ 50.98954253325998, -301.88714702417224, 73.86332906422297 ], [ 47.98954253325998, -301.88714702417224, 73.86332906422297 ], [ 44.98954253325998, -301.88714702417224, 76.86332906422297 ], [ 41.98954253325998, -301.88714702417224, 76.86332906422297 ], [ 36.79339011055335, -298.88714702417224, 76.86332906422297 ], [ 28.9991614764934, -294.38714702417224, 76.86332906422297 ], [ 26.401085265140082, -292.88714702417224, 76.86332906422297 ], [ 23.803009053786766, -291.38714702417224, 76.86332906422297 ], [ 23.803009053786766, -291.38714702417224, 79.86332906422297 ], [ 23.803009053786766, -291.38714702417224, 82.86332906422297 ], [ 17.803009053786766, -291.38714702417224, 82.86332906422297 ], [ 14.803009053786766, -291.38714702417224, 82.86332906422297 ], [ 11.803009053786766, -291.38714702417224, 82.86332906422297 ], [ 6.606856631080134, -294.38714702417224, 82.86332906422297 ], [ 1.4107042083735024, -297.38714702417224, 82.86332906422297 ], [ -1.1873720029798136, -298.88714702417224, 82.86332906422297 ], [ -1.1873720029798136, -298.88714702417224, 85.86332906422297 ], [ -4.187372002979812, -304.08329944687887, 85.86332906422297 ], [ -8.68737200297981, -311.8775280809388, 85.86332906422297 ], [ -13.18737200297981, -319.67175671499876, 85.86332906422297 ], [ -17.68737200297981, -327.4659853490587, 85.86332906422297 ], [ -22.18737200297981, -335.26021398311866, 85.86332906422297 ], [ -26.68737200297981, -343.0544426171786, 85.86332906422297 ], [ -31.18737200297981, -350.84867125123856, 85.86332906422297 ], [ -35.68737200297981, -358.6428998852985, 85.86332906422297 ], [ -37.18737200297981, -361.2409760966518, 85.86332906422297 ], [ -38.68737200297981, -363.83905230800514, 85.86332906422297 ], [ -38.68737200297981, -363.83905230800514, 82.86332906422297 ], [ -38.68737200297981, -363.83905230800514, 79.86332906422297 ], [ -38.68737200297981, -363.83905230800514, 76.86332906422297 ], [ -38.68737200297981, -363.83905230800514, 73.86332906422297 ], [ -38.68737200297981, -363.83905230800514, 73.86332906422297 ], [ -41.28544821433312, -365.33905230800514, 73.86332906422297 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 2.6179938779914944, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.6179938779914944, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.617993877991494, -2.617993877991494 ] }, { "image_path": "env_ue_smallcity/astar_data/high_short/2025-1-3_22-18-21_1725138377", "gpt_instruction": "Proceed forward to the gray building with a modern facade featuring geometric patterns , then slightly turn left slightly to it . Both structures are medium in size .", "action": [ 9, 9, 9, 2, 9, 9, 0 ], "index_list": [ "20250103_221829", "20250103_221836", "20250103_221842", "20250103_221845", "20250103_221851", "20250103_221858", "20250103_221900" ], "pos": [ [ -278.1984049614343, 599.8699225452929, 97.6121602361494 ], [ -273.6984049614343, 592.0756939112327, 97.6121602361494 ], [ -269.1984049614343, 584.2814652771726, 97.6121602361494 ], [ -267.6984049614343, 581.6833890658193, 97.6121602361494 ], [ -262.50225253872765, 578.6833890658193, 97.6121602361494 ], [ -254.7080239046677, 574.1833890658193, 97.6121602361494 ], [ -252.10994769331438, 572.6833890658193, 97.6121602361494 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_ue_smallcity/astar_data/low_short/2025-1-4_2-19-15_1230769829", "gpt_instruction": "Proceed straight towards the gray building with a large rooftop adorned with decorative elements , then make a slight left turn and continue moving forward towards the tall brown skyscraper featuring a grid - like pattern and large windows .", "action": [ 9, 9, 2, 1, 0 ], "index_list": [ "20250104_021924", "20250104_021930", "20250104_021932", "20250104_021934", "20250104_021936" ], "pos": [ [ 447.81704693546067, -483.85421809935195, 95.8115992095833 ], [ 456.81704693546067, -483.85421809935195, 95.8115992095833 ], [ 459.81704693546067, -483.85421809935195, 95.8115992095833 ], [ 459.81704693546067, -483.85421809935195, 95.8115992095833 ], [ 462.415123146814, -482.35421809935195, 95.8115992095833 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.5235987755982988, 0.5235987755982988 ] }, { "image_path": "env_ue_smallcity/astar_data/low_long/2025-1-4_10-3-20_2059344234", "gpt_instruction": "Begin by walking straight , then slightly turn left and move forward towards a building that is light grey in color , featuring a modern design with large windows , medium in size , and used for commercial purposes .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 2, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250104_100329", "20250104_100336", "20250104_100342", "20250104_100348", "20250104_100354", "20250104_100401", "20250104_100407", "20250104_100413", "20250104_100419", "20250104_100422", "20250104_100424", "20250104_100430", "20250104_100436", "20250104_100442", "20250104_100449", "20250104_100455", "20250104_100501", "20250104_100503" ], "pos": [ [ -782.2299802063391, -351.91991318124144, 75.2001444904755 ], [ -777.7299802063391, -344.1256845471815, 75.2001444904755 ], [ -773.2299802063391, -336.33145591312154, 75.2001444904755 ], [ -768.7299802063391, -328.5372272790616, 75.2001444904755 ], [ -764.2299802063391, -320.74299864500165, 75.2001444904755 ], [ -759.7299802063391, -312.9487700109417, 75.2001444904755 ], [ -755.2299802063391, -305.15454137688175, 75.2001444904755 ], [ -750.7299802063391, -297.3603127428218, 75.2001444904755 ], [ -746.2299802063391, -289.56608410876186, 75.2001444904755 ], [ -744.7299802063391, -286.96800789740854, 75.2001444904755 ], [ -743.2299802063391, -284.3699316860552, 75.2001444904755 ], [ -743.2299802063391, -278.3699316860552, 75.2001444904755 ], [ -743.2299802063391, -269.3699316860552, 75.2001444904755 ], [ -743.2299802063391, -260.3699316860552, 75.2001444904755 ], [ -743.2299802063391, -251.36993168605522, 75.2001444904755 ], [ -743.2299802063391, -242.36993168605522, 75.2001444904755 ], [ -743.2299802063391, -233.36993168605522, 75.2001444904755 ], [ -743.2299802063391, -230.36993168605522, 75.2001444904755 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_ue_smallcity/astar_data/low_short/2025-1-4_15-26-30_1450967523", "gpt_instruction": "Proceed straight to the medium - sized , white , historical dome .", "action": [ 9, 1, 0 ], "index_list": [ "20250104_152638", "20250104_152640", "20250104_152643" ], "pos": [ [ 170.0471964454638, 110.40879574298776, 73.47055209501686 ], [ 171.5471964454638, 113.00687195434108, 73.47055209501686 ], [ 173.0471964454638, 115.6049481656944, 73.47055209501686 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_ue_smallcity/astar_data/low_short/2025-1-4_2-9-25_1835342733", "gpt_instruction": "Proceed directly towards a large gray building with a flat rooftop , then slightly turn left and continue straight to a medium - sized commercial building characterized by its light brown color and a grid - like window pattern .", "action": [ 9, 9, 9, 9, 2, 8, 0 ], "index_list": [ "20250104_020933", "20250104_020940", "20250104_020946", "20250104_020952", "20250104_020954", "20250104_020958", "20250104_021000" ], "pos": [ [ -614.932129899286, 47.83549177732935, 71.0806903159789 ], [ -614.932129899286, 38.83549177732935, 71.0806903159789 ], [ -614.932129899286, 29.835491777329352, 71.0806903159789 ], [ -614.932129899286, 20.835491777329352, 71.0806903159789 ], [ -614.932129899286, 17.835491777329352, 71.0806903159789 ], [ -613.432129899286, 15.237415565976036, 71.0806903159789 ], [ -611.932129899286, 12.63933935462272, 71.0806903159789 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -1.0471975511965979 ] }, { "image_path": "env_ue_smallcity/astar_data/low_average/2025-01-19_00-05-49_898076", "gpt_instruction": "Start by walking straight and then slightly turn right to reach a gray building ornamented with medium decorative architectural designs . Then , proceed slightly upwards and continue moving straight to a gray building featuring a large grid - like pattern with windows . Climb slightly to it . Again , turn slightly left and progress to a tall red skyscraper with a brick fa\u00e7ade . Drop down to it .", "action": [ 9, 9, 9, 9, 3, 9, 8, 4, 8, 4, 4, 2, 8, 2, 9, 9, 9, 9, 5, 5, 8, 0 ], "index_list": [ "20250119_000559", "20250119_000606", "20250119_000612", "20250119_000619", "20250119_000621", "20250119_000628", "20250119_000632", "20250119_000634", "20250119_000638", "20250119_000640", "20250119_000642", "20250119_000644", "20250119_000648", "20250119_000651", "20250119_000657", "20250119_000704", "20250119_000710", "20250119_000716", "20250119_000718", "20250119_000721", "20250119_000725", "20250119_000727" ], "pos": [ [ 28.806791841440017, 142.90988479343326, 79.5618257476354 ], [ 33.30679184144002, 150.7041134274932, 79.5618257476354 ], [ 37.80679184144002, 158.49834206155316, 79.5618257476354 ], [ 42.30679184144002, 166.2925706956131, 79.5618257476354 ], [ 43.80679184144002, 168.89064690696642, 79.5618257476354 ], [ 49.00294426414665, 171.89064690696642, 79.5618257476354 ], [ 54.19909668685328, 174.89064690696642, 79.5618257476354 ], [ 56.7971728982066, 176.39064690696642, 79.5618257476354 ], [ 59.39524910955991, 177.89064690696642, 82.5618257476354 ], [ 61.99332532091323, 179.39064690696642, 82.5618257476354 ], [ 61.99332532091323, 179.39064690696642, 85.5618257476354 ], [ 61.99332532091323, 179.39064690696642, 88.5618257476354 ], [ 63.49332532091323, 181.98872311831974, 88.5618257476354 ], [ 64.99332532091323, 184.58679932967306, 88.5618257476354 ], [ 64.99332532091323, 190.58679932967306, 88.5618257476354 ], [ 64.99332532091323, 199.58679932967306, 88.5618257476354 ], [ 64.99332532091323, 208.58679932967306, 88.5618257476354 ], [ 64.99332532091323, 217.58679932967306, 88.5618257476354 ], [ 64.99332532091323, 220.58679932967306, 88.5618257476354 ], [ 64.99332532091323, 220.58679932967306, 85.5618257476354 ], [ 64.99332532091323, 223.58679932967306, 82.5618257476354 ], [ 64.99332532091323, 226.58679932967306, 82.5618257476354 ] ], "yaw": [ 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_ue_smallcity/astar_data/low_long/2025-1-4_2-42-37_669908538", "gpt_instruction": "Begin by walking straight towards a large gray building with an ornate design featuring vertical lines , then slightly turn right and continue straight until you reach a tall light - colored skyscraper adorned with an ornate facade , including vertical columns and decorative details .", "action": [ 9, 9, 9, 9, 1, 3, 8, 0 ], "index_list": [ "20250104_024246", "20250104_024253", "20250104_024259", "20250104_024305", "20250104_024307", "20250104_024309", "20250104_024314", "20250104_024316" ], "pos": [ [ 62.986501307984334, 641.1338158317301, 71.7455514149568 ], [ 62.986501307984334, 632.1338158317301, 71.7455514149568 ], [ 62.986501307984334, 623.1338158317301, 71.7455514149568 ], [ 62.986501307984334, 614.1338158317301, 71.7455514149568 ], [ 62.986501307984334, 611.1338158317301, 71.7455514149568 ], [ 62.986501307984334, 608.1338158317301, 71.7455514149568 ], [ 61.486501307984334, 605.5357396203767, 71.7455514149568 ], [ 59.986501307984334, 602.9376634090233, 71.7455514149568 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.094395102393186, -2.094395102393186 ] }, { "image_path": "env_ue_bigcity/astar_data/high_short/2025-1-4_0-6-53_1371499336", "gpt_instruction": "Proceed straight towards a large gray building characterized by an ornate vertical design with arched windows . Then , slightly turn left and move ahead to reach another building , which is tall and grey , featuring a Gothic - inspired ornate facade with a large square rooftop .", "action": [ 9, 9, 9, 2, 9, 9, 0 ], "index_list": [ "20250104_000702", "20250104_000708", "20250104_000715", "20250104_000717", "20250104_000724", "20250104_000730", "20250104_000732" ], "pos": [ [ -898.3217820074168, 1860.4073062156806, 81.31847177484579 ], [ -893.8217820074168, 1852.6130775816205, 81.31847177484579 ], [ -889.3217820074168, 1844.8188489475604, 81.31847177484579 ], [ -887.8217820074168, 1842.220772736207, 81.31847177484579 ], [ -882.6256295847102, 1839.220772736207, 81.31847177484579 ], [ -874.83140095065, 1834.720772736207, 81.31847177484579 ], [ -872.2333247392967, 1833.220772736207, 81.31847177484579 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755982894, -0.5235987755982894, -0.5235987755982894 ] }, { "image_path": "env_ue_bigcity/astar_data/high_long/2025-1-4_18-54-31_896925393", "gpt_instruction": "Move ahead to a grey structure characterized by multiple buildings with flat roofs and visible rooftop equipment ; these urban buildings are medium - sized . Slightly turn left and proceed straight to a red structure featuring multiple stories with a flat roof , which is large and occupies a significant portion of the city block , simply categorized as a building .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 1, 0 ], "index_list": [ "20250104_185440", "20250104_185447", "20250104_185454", "20250104_185501", "20250104_185508", "20250104_185515", "20250104_185521", "20250104_185528", "20250104_185535", "20250104_185542", "20250104_185548", "20250104_185555", "20250104_185557", "20250104_185559", "20250104_185602" ], "pos": [ [ 227.44577715727644, 1191.476408419026, 74.38574823545414 ], [ 222.94577715727644, 1199.2706370530861, 74.38574823545414 ], [ 218.44577715727644, 1207.0648656871463, 74.38574823545414 ], [ 213.94577715727644, 1214.8590943212064, 74.38574823545414 ], [ 209.44577715727644, 1222.6533229552665, 74.38574823545414 ], [ 204.94577715727644, 1230.4475515893266, 74.38574823545414 ], [ 200.44577715727644, 1238.2417802233867, 74.38574823545414 ], [ 195.94577715727644, 1246.0360088574469, 74.38574823545414 ], [ 191.44577715727644, 1253.830237491507, 74.38574823545414 ], [ 186.94577715727644, 1261.624466125567, 74.38574823545414 ], [ 182.44577715727644, 1269.4186947596272, 74.38574823545414 ], [ 177.94577715727644, 1277.2129233936873, 74.38574823545414 ], [ 176.44577715727644, 1279.8109996050407, 74.38574823545414 ], [ 176.44577715727644, 1279.8109996050407, 74.38574823545414 ], [ 173.84770094592312, 1281.3109996050407, 74.38574823545414 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.094395102393186, 2.6179938779914846, 2.6179938779914846 ] }, { "image_path": "env_ue_bigcity/astar_data/high_long/2025-1-5_16-24-9_193088109", "gpt_instruction": "Begin by walking straight towards the white building with colonial architecture and a columned facade . Then , slightly turn right and advance forward to another white building featuring decorative rooftop structures . Finally , slightly turn left slightly and proceed to it . All three buildings are medium - sized .", "action": [ 9, 9, 9, 9, 9, 8, 3, 9, 9, 9, 8, 2, 9, 0 ], "index_list": [ "20250105_162419", "20250105_162425", "20250105_162432", "20250105_162438", "20250105_162445", "20250105_162449", "20250105_162451", "20250105_162458", "20250105_162504", "20250105_162511", "20250105_162515", "20250105_162518", "20250105_162524", "20250105_162527" ], "pos": [ [ 1768.3698216426194, 222.33732963247493, 86.56676127637375 ], [ 1763.8698216426194, 214.54310099841499, 86.56676127637375 ], [ 1759.3698216426194, 206.74887236435504, 86.56676127637375 ], [ 1754.8698216426194, 198.9546437302951, 86.56676127637375 ], [ 1750.3698216426194, 191.16041509623514, 86.56676127637375 ], [ 1747.3698216426194, 185.9642626735285, 86.56676127637375 ], [ 1745.8698216426194, 183.3661864621752, 86.56676127637375 ], [ 1740.6736692199127, 180.3661864621752, 86.56676127637375 ], [ 1732.8794405858525, 175.8661864621752, 86.56676127637375 ], [ 1725.0852119517924, 171.3661864621752, 86.56676127637375 ], [ 1719.8890595290857, 168.3661864621752, 86.56676127637375 ], [ 1717.2909833177323, 166.8661864621752, 86.56676127637375 ], [ 1714.2909833177323, 161.67003403946856, 86.56676127637375 ], [ 1712.7909833177323, 159.07195782811525, 86.56676127637375 ] ], "yaw": [ -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.0943951023931953, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_ue_bigcity/astar_data/high_long/2025-1-6_4-44-51_1730441138", "gpt_instruction": "Proceed forward to the tall , pink historic building with an ornamental facade . Slightly turn left and keep going straight until you reach the medium - sized , reddish pink building featuring an ornate architectural design with decorative elements , prominent on the final right side .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 9, 9, 8, 0 ], "index_list": [ "20250106_044458", "20250106_044505", "20250106_044511", "20250106_044518", "20250106_044525", "20250106_044531", "20250106_044538", "20250106_044545", "20250106_044551", "20250106_044558", "20250106_044602", "20250106_044605", "20250106_044611", "20250106_044618", "20250106_044622", "20250106_044625" ], "pos": [ [ 1825.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1816.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1807.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1798.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1789.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1780.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1771.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1762.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1753.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1744.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1738.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1735.7409910475005, 171.31579249528082, 91.99465667141385 ], [ 1730.5448386247938, 168.31579249528082, 91.99465667141385 ], [ 1722.7506099907337, 163.81579249528082, 91.99465667141385 ], [ 1717.554457568027, 160.81579249528082, 91.99465667141385 ], [ 1714.9563813566735, 159.31579249528082, 91.99465667141385 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_ue_bigcity/astar_data/high_short/2025-1-4_4-17-28_395191309", "gpt_instruction": "Move forward to a large white building with a rectangular layout featuring rows of columns in the facade . Slightly turn right and move forward again to it .", "action": [ 9, 1, 3, 8, 0 ], "index_list": [ "20250104_041737", "20250104_041739", "20250104_041741", "20250104_041746", "20250104_041748" ], "pos": [ [ -1342.9601467623686, 1818.488084044419, 98.99946561469405 ], [ -1344.4601467623686, 1821.0861602557725, 98.99946561469405 ], [ -1345.9601467623686, 1823.6842364671259, 98.99946561469405 ], [ -1345.9601467623686, 1826.6842364671259, 98.99946561469405 ], [ -1345.9601467623686, 1829.6842364671259, 98.99946561469405 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_ue_bigcity/astar_data/low_average/2025-1-5_21-39-44_1804723202", "gpt_instruction": "Proceed straight until you reach a large beige building characterized by rectangular windows and detailed cornices , then slightly turn right and move ahead towards another large beige building notable for its decorative detailing along the roofline and classic architectural design ; this structure is a large , historic , or classical - style building with multiple stories .", "action": [ 9, 9, 9, 9, 9, 8, 3, 1, 0 ], "index_list": [ "20250105_213954", "20250105_214000", "20250105_214007", "20250105_214013", "20250105_214020", "20250105_214024", "20250105_214026", "20250105_214028", "20250105_214030" ], "pos": [ [ 439.7954800150849, -1009.5293732393421, 36.56868291696178 ], [ 439.7954800150849, -1000.5293732393421, 36.56868291696178 ], [ 439.7954800150849, -991.5293732393421, 36.56868291696178 ], [ 439.7954800150849, -982.5293732393421, 36.56868291696178 ], [ 439.7954800150849, -973.5293732393421, 36.56868291696178 ], [ 439.7954800150849, -967.5293732393421, 36.56868291696178 ], [ 439.7954800150849, -964.5293732393421, 36.56868291696178 ], [ 439.7954800150849, -964.5293732393421, 36.56868291696178 ], [ 441.2954800150849, -961.9312970279889, 36.56868291696178 ] ], "yaw": [ 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.5707963267948966, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_ue_bigcity/astar_data/high_long/2025-1-5_0-56-50_1591564428", "gpt_instruction": "Head straight towards the brick red building characterized by ornate Gothic architecture with decorative spires and intricate stonework . Then , slightly turn left and move forward to the reddish - brown structure , which also features Gothic architecture with vertical lines and detailed intricacy . Both buildings are tall structures .", "action": [ 9, 9, 1, 2, 9, 0 ], "index_list": [ "20250105_005659", "20250105_005706", "20250105_005708", "20250105_005710", "20250105_005717", "20250105_005719" ], "pos": [ [ -971.5717354058067, 1895.7826594388087, 72.53484314768916 ], [ -967.0717354058067, 1903.5768880728688, 72.53484314768916 ], [ -965.5717354058067, 1906.1749642842221, 72.53484314768916 ], [ -964.0717354058067, 1908.7730404955755, 72.53484314768916 ], [ -964.0717354058067, 1914.7730404955755, 72.53484314768916 ], [ -964.0717354058067, 1917.7730404955755, 72.53484314768916 ] ], "yaw": [ 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.5707963267948966, 1.5707963267948966 ] }, { "image_path": "env_ue_bigcity/astar_data/low_short/2025-1-3_14-52-57_726371155", "gpt_instruction": "Proceed directly forward towards the gray clock tower , a medium - height historical building .", "action": [ 8, 0 ], "index_list": [ "20250103_145303", "20250103_145306" ], "pos": [ [ 1696.7334892038268, 97.64722128250712, 41.39784707293993 ], [ 1695.2334892038268, 100.24529749386043, 41.39784707293993 ] ], "yaw": [ 2.0943951023931953, 2.0943951023931953 ] }, { "image_path": "env_ue_bigcity/astar_data/high_average/2025-1-6_2-21-39_774318984", "gpt_instruction": "Proceed straight to a large , modern commercial / office building characterized by its dark gray color , flat - roofed trapezoidal shape , and multiple rooftop HVAC installations . Then , slightly turn left and go directly ahead to a medium - sized building with a gray color and a distinctive rooftop water tank .", "action": [ 9, 9, 8, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250106_022147", "20250106_022153", "20250106_022158", "20250106_022200", "20250106_022206", "20250106_022213", "20250106_022220", "20250106_022226", "20250106_022233", "20250106_022240", "20250106_022247", "20250106_022253", "20250106_022300", "20250106_022302", "20250106_022304" ], "pos": [ [ -1715.5349065111607, 357.2613237734558, 74.84131733431539 ], [ -1706.5349065111607, 357.2613237734558, 74.84131733431539 ], [ -1700.5349065111607, 357.2613237734558, 74.84131733431539 ], [ -1697.5349065111607, 357.2613237734558, 74.84131733431539 ], [ -1692.338754088454, 360.2613237734558, 74.84131733431539 ], [ -1684.5445254543938, 364.7613237734558, 74.84131733431539 ], [ -1676.7502968203337, 369.2613237734558, 74.84131733431539 ], [ -1668.9560681862736, 373.7613237734558, 74.84131733431539 ], [ -1661.1618395522135, 378.2613237734558, 74.84131733431539 ], [ -1653.3676109181533, 382.7613237734558, 74.84131733431539 ], [ -1645.5733822840932, 387.2613237734558, 74.84131733431539 ], [ -1637.779153650033, 391.7613237734558, 74.84131733431539 ], [ -1629.984925015973, 396.2613237734558, 74.84131733431539 ], [ -1627.3868488046196, 397.7613237734558, 74.84131733431539 ], [ -1624.7887725932662, 399.2613237734558, 74.84131733431539 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894 ] }, { "image_path": "env_ue_bigcity/astar_data/high_short/2025-1-4_10-51-16_1899542553", "gpt_instruction": "Walk directly to the light beige structure with a dark roof , which is a medium - sized rectangular commercial building characterized by multiple windows and rooftop features , compared to the surrounding buildings .", "action": [ 8, 0 ], "index_list": [ "20250104_105122", "20250104_105124" ], "pos": [ [ 1580.6586621072818, -231.55103703131405, 94.4942190595873 ], [ 1578.0605858959284, -230.05103703131405, 94.4942190595873 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037 ] }, { "image_path": "env_ue_bigcity/astar_data/low_long/2025-1-4_10-24-59_699460008", "gpt_instruction": "Continue ahead towards the brown clock tower building , slightly veer right and move directly towards the tall beige building with a water tower on top , then slightly veer right and proceed straight to the beige building with arched windows .", "action": [ 9, 3, 9, 9, 3, 9, 9, 9, 9, 9, 9, 0 ], "index_list": [ "20250104_102508", "20250104_102510", "20250104_102517", "20250104_102524", "20250104_102526", "20250104_102533", "20250104_102539", "20250104_102546", "20250104_102553", "20250104_102559", "20250104_102606", "20250104_102608" ], "pos": [ [ 1945.004749892771, 1138.7322428004052, 19.180366660026248 ], [ 1943.504749892771, 1136.1341665890518, 19.180366660026248 ], [ 1938.3085974700643, 1133.1341665890518, 19.180366660026248 ], [ 1930.5143688360042, 1128.6341665890518, 19.180366660026248 ], [ 1927.9162926246509, 1127.1341665890518, 19.180366660026248 ], [ 1921.9162926246509, 1127.1341665890518, 19.180366660026248 ], [ 1912.9162926246509, 1127.1341665890518, 19.180366660026248 ], [ 1903.9162926246509, 1127.1341665890518, 19.180366660026248 ], [ 1894.9162926246509, 1127.1341665890518, 19.180366660026248 ], [ 1885.9162926246509, 1127.1341665890518, 19.180366660026248 ], [ 1876.9162926246509, 1127.1341665890518, 19.180366660026248 ], [ 1873.9162926246509, 1127.1341665890518, 19.180366660026248 ] ], "yaw": [ -2.094395102393186, -2.094395102393186, -2.6179938779915037, -2.6179938779915037, -2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_ue_bigcity/astar_data/high_long/2025-01-19_10-37-42_336192", "gpt_instruction": "Proceed straight towards the gray , medium - sized office building featuring modern architecture with a flat rooftop and window patterns . Slightly turn left and continue ahead , then slightly incline upwards to another gray , medium - sized building rooftop with concrete tiles and shadows . Make a slight right and move forward to a dark gray building rooftop with mechanical structures and panels , then descend to the dark gray , large office building with a flat roof accommodating various structures such as HVAC units and vents , spanning multiple floors .", "action": [ 9, 9, 1, 2, 1, 4, 9, 8, 3, 9, 9, 1, 5, 0 ], "index_list": [ "20250119_103756", "20250119_103802", "20250119_103805", "20250119_103807", "20250119_103809", "20250119_103811", "20250119_103817", "20250119_103822", "20250119_103824", "20250119_103830", "20250119_103837", "20250119_103839", "20250119_103841", "20250119_103843" ], "pos": [ [ 575.7493945320062, -223.50727489053966, 85.6111452585056 ], [ 584.7493945320062, -223.50727489053966, 85.6111452585056 ], [ 587.7493945320062, -223.50727489053966, 85.6111452585056 ], [ 590.7493945320062, -223.50727489053966, 85.6111452585056 ], [ 590.7493945320062, -223.50727489053966, 85.6111452585056 ], [ 593.3474707433595, -222.00727489053966, 85.6111452585056 ], [ 598.5436231660663, -219.00727489053966, 88.6111452585056 ], [ 603.739775588773, -216.00727489053966, 88.6111452585056 ], [ 606.3378518001264, -214.50727489053966, 88.6111452585056 ], [ 612.3378518001264, -214.50727489053966, 88.6111452585056 ], [ 621.3378518001264, -214.50727489053966, 88.6111452585056 ], [ 624.3378518001264, -214.50727489053966, 88.6111452585056 ], [ 627.3378518001264, -214.50727489053966, 88.6111452585056 ], [ 627.3378518001264, -214.50727489053966, 85.6111452585056 ] ], "yaw": [ 0.0, 0.0, 0.0, 0.0, 0.5235987755982988, 0.5235987755982988, 0.5235987755982894, 0.5235987755982894, 0.5235987755982894, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "image_path": "env_ue_bigcity/astar_data/medium_average_updown/2025-1-15_17-25-25_1747844822", "gpt_instruction": "Move upward toward a green medium - sized landmark building characterized by a domed roof adorned with intricate architectural detailing . Proceed directly ahead to reach it . Then , make a slight right turn and head straight toward a white medium - sized historic building with a decorative rooftop balustrade intricately carved . Finally , slightly pause and descend to a gray medium - sized commercial building distinguished by a decorative fa\u00e7ade featuring a fire escape ladder .", "action": [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 1, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2 ], "index_list": [ "20250115_172529", "20250115_172531", "20250115_172533", "20250115_172535", "20250115_172538", "20250115_172540", "20250115_172542", "20250115_172544", "20250115_172546", "20250115_172548", "20250115_172550", "20250115_172553", "20250115_172555", "20250115_172557", "20250115_172559", "20250115_172601", "20250115_172603", "20250115_172605", "20250115_172612", "20250115_172618", "20250115_172624", "20250115_172630", "20250115_172636", "20250115_172643", "20250115_172645", "20250115_172651", "20250115_172658", "20250115_172704", "20250115_172710", "20250115_172712", "20250115_172714", "20250115_172716", "20250115_172719", "20250115_172721", "20250115_172723", "20250115_172725", "20250115_172727", "20250115_172729", "20250115_172732", "20250115_172734", "20250115_172736", "20250115_172738", "20250115_172740", "20250115_172742", "20250115_172744", "20250115_172746", "20250115_172749", "20250115_172751", "20250115_172753" ], "pos": [ [ -1896.685538285488, 1812.087783325339, 2.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 5.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 8.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 11.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 14.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 17.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 20.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 23.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 26.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 29.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 32.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 35.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 38.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 41.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 44.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 47.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 50.337885636574974 ], [ -1896.685538285488, 1812.087783325339, 53.337885636574974 ], [ -1902.685538285488, 1812.087783325339, 56.337885636574974 ], [ -1911.685538285488, 1812.087783325339, 56.337885636574974 ], [ -1920.685538285488, 1812.087783325339, 56.337885636574974 ], [ -1929.685538285488, 1812.087783325339, 56.337885636574974 ], [ -1938.685538285488, 1812.087783325339, 56.337885636574974 ], [ -1947.685538285488, 1812.087783325339, 56.337885636574974 ], [ -1950.685538285488, 1812.087783325339, 56.337885636574974 ], [ -1955.8816907081948, 1815.087783325339, 56.337885636574974 ], [ -1963.675919342255, 1819.587783325339, 56.337885636574974 ], [ -1971.470147976315, 1824.087783325339, 56.337885636574974 ], [ -1979.2643766103752, 1828.587783325339, 56.337885636574974 ], [ -1981.8624528217285, 1830.087783325339, 56.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 56.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 53.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 50.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 47.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 44.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 41.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 38.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 35.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 32.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 29.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 26.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 23.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 20.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 17.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 14.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 11.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 8.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 5.337885636574974 ], [ -1984.460529033082, 1831.587783325339, 2.337885636574974 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037 ] }, { "image_path": "env_ue_bigcity/astar_data/high_short/2025-1-3_21-25-46_1059961393", "gpt_instruction": "Proceed straight to a structure characterized by a light gray color , a grid - like repeating pattern of windows with protruding balconies , and a rectangular shape . It stands tall and dominant in the center , and it is identified as a building .", "action": [ 8, 0 ], "index_list": [ "20250103_212553", "20250103_212555" ], "pos": [ [ 961.8257141297589, -417.7557658351854, 71.58283910457016 ], [ 964.8257141297589, -417.7557658351854, 71.58283910457016 ] ], "yaw": [ 0.0, 0.0 ] }, { "image_path": "env_ue_bigcity/astar_data/low_short_updown/2025-1-14_21-11-29_1789366143", "gpt_instruction": "Starting at a white medium - sized building featuring large rectangular windows , proceed to a beige large historic building characterized by an arched entrance with intricate architectural details and multiple windows . Slightly turn right to reach a medium - sized modern building with white structural columns and rectangular windows made of black glass panels . Then , slightly turn left slightly and move toward it . Finally , slightly stop at it .", "action": [ -1, -1, -1, -1, 9, 9, 3, 9, 8, 2, 8, 0, -2, -2, -2, -2 ], "index_list": [ "20250114_211134", "20250114_211136", "20250114_211138", "20250114_211140", "20250114_211147", "20250114_211153", "20250114_211155", "20250114_211202", "20250114_211206", "20250114_211208", "20250114_211213", "20250114_211215", "20250114_211217", "20250114_211219", "20250114_211221", "20250114_211223" ], "pos": [ [ 1750.6001996351235, 137.87976023132885, 2.8883443354256 ], [ 1750.6001996351235, 137.87976023132885, 5.8883443354256 ], [ 1750.6001996351235, 137.87976023132885, 8.8883443354256 ], [ 1750.6001996351235, 137.87976023132885, 11.8883443354256 ], [ 1744.6001996351235, 137.87976023132885, 14.8883443354256 ], [ 1735.6001996351235, 137.87976023132885, 14.8883443354256 ], [ 1732.6001996351235, 137.87976023132885, 14.8883443354256 ], [ 1727.4040472124168, 140.87976023132885, 14.8883443354256 ], [ 1722.20789478971, 143.87976023132885, 14.8883443354256 ], [ 1719.6098185783567, 145.37976023132885, 14.8883443354256 ], [ 1716.6098185783567, 145.37976023132885, 14.8883443354256 ], [ 1713.6098185783567, 145.37976023132885, 14.8883443354256 ], [ 1713.6098185783567, 145.37976023132885, 11.8883443354256 ], [ 1713.6098185783567, 145.37976023132885, 8.8883443354256 ], [ 1713.6098185783567, 145.37976023132885, 5.8883443354256 ], [ 1713.6098185783567, 145.37976023132885, 2.8883443354256 ] ], "yaw": [ 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_ue_bigcity/astar_data/low_short/2025-1-3_5-28-7_404259631", "gpt_instruction": "Proceed to a medium - large office building , approximately 12 - 15 stories tall , characterized by a modern design with evenly spaced rectangular windows covering significant portions of its brown facade .", "action": [ 9, 1, 0 ], "index_list": [ "20250103_052817", "20250103_052820", "20250103_052823" ], "pos": [ [ 1297.8897274165588, 1733.9813544883482, 54.9164581490014 ], [ 1295.2916512052054, 1732.4813544883482, 54.9164581490014 ], [ 1292.693574993852, 1730.9813544883482, 54.9164581490014 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_ue_bigcity/astar_data/high_long/2025-1-6_10-42-11_1041655229", "gpt_instruction": "Proceed straight towards the gray , medium - sized rectangular courtyard of the building .", "action": [ 8, 0 ], "index_list": [ "20250106_104217", "20250106_104219" ], "pos": [ [ -305.7225644802392, 1465.944588364129, 81.8063351983269 ], [ -305.7225644802392, 1462.944588364129, 81.8063351983269 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966 ] }, { "image_path": "env_ue_bigcity/astar_data/high_average/2025-01-19_09-45-09_92227", "gpt_instruction": "First , move forward to a skyscraper or office building with a large reflective glass facade of gray and black hues , and window repetition . Then , go upwards to it . Next , walk straight to a flat rooftop space of large size , defined by its grey gravel feature . Slightly turning left , continue directly ahead to a medium - sized communication tower of tapered design , presenting a grey color . Then , slightly turn right and proceed directly ahead to a medium - sized commercial building with visible windows in horizontal bands , featuring white and dark horizontal stripes . Again turn right , moving ahead to a large building featuring a flat roof with rooftop structures and ventilation units , in grey color . Continue to fall towards it . Finally , proceed straight to it .", "action": [ 9, 9, 8, 4, 4, 9, 2, 8, 3, 9, 9, 9, 9, 3, 9, 9, 9, 5, 5, 1, 0 ], "index_list": [ "20250119_094522", "20250119_094528", "20250119_094533", "20250119_094535", "20250119_094537", "20250119_094544", "20250119_094546", "20250119_094551", "20250119_094553", "20250119_094600", "20250119_094607", "20250119_094614", "20250119_094620", "20250119_094622", "20250119_094629", "20250119_094635", "20250119_094642", "20250119_094644", "20250119_094646", "20250119_094648", "20250119_094650" ], "pos": [ [ -1389.166181019654, 1454.5038518153435, 70.41343146830145 ], [ -1389.166181019654, 1445.5038518153435, 70.41343146830145 ], [ -1389.166181019654, 1439.5038518153435, 70.41343146830145 ], [ -1389.166181019654, 1436.5038518153435, 70.41343146830145 ], [ -1389.166181019654, 1436.5038518153435, 73.41343146830145 ], [ -1389.166181019654, 1430.5038518153435, 76.41343146830145 ], [ -1389.166181019654, 1427.5038518153435, 76.41343146830145 ], [ -1387.666181019654, 1424.9057756039902, 76.41343146830145 ], [ -1386.166181019654, 1422.3076993926368, 76.41343146830145 ], [ -1386.166181019654, 1416.3076993926368, 76.41343146830145 ], [ -1386.166181019654, 1407.3076993926368, 76.41343146830145 ], [ -1386.166181019654, 1398.3076993926368, 76.41343146830145 ], [ -1386.166181019654, 1389.3076993926368, 76.41343146830145 ], [ -1386.166181019654, 1386.3076993926368, 76.41343146830145 ], [ -1389.166181019654, 1381.11154696993, 76.41343146830145 ], [ -1393.666181019654, 1373.31731833587, 76.41343146830145 ], [ -1398.166181019654, 1365.5230897018098, 76.41343146830145 ], [ -1399.666181019654, 1362.9250134904564, 76.41343146830145 ], [ -1399.666181019654, 1362.9250134904564, 73.41343146830145 ], [ -1399.666181019654, 1362.9250134904564, 70.41343146830145 ], [ -1401.166181019654, 1360.326937279103, 70.41343146830145 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511966072, -1.0471975511966072, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186, -2.094395102393186 ] }, { "image_path": "env_ue_bigcity/astar_data/low_short/2024-12-28_10-59-57_235745791", "gpt_instruction": "Continue straight to the large white building with an ornate facade featuring a large archway . Then slightly turn left towards the large beige building which also boasts an ornate facade , this time adorned with large windows . Next , take a right to face a large white building with a modern facade and dark windows . Proceed by slightly going straight and then slightly turning right slightly to find it . Advance forward to reach a large beige historic building with an arched entrance . Finally , slightly turn left and walk straight to it .", "action": [ 9, 2, 8, 3, 3, 1, 3, 1, 2, 2, 9, 2, 8, 0 ], "index_list": [ "20241228_110006", "20241228_110008", "20241228_110012", "20241228_110014", "20241228_110016", "20241228_110018", "20241228_110020", "20241228_110022", "20241228_110024", "20241228_110026", "20241228_110032", "20241228_110034", "20241228_110037", "20241228_110039" ], "pos": [ [ 1736.4503016359536, 107.46130335229881, 6.703138101895044 ], [ 1733.8522254246002, 108.96130335229881, 6.703138101895044 ], [ 1730.8522254246002, 108.96130335229881, 6.703138101895044 ], [ 1727.8522254246002, 108.96130335229881, 6.703138101895044 ], [ 1727.8522254246002, 108.96130335229881, 6.703138101895044 ], [ 1727.8522254246002, 108.96130335229881, 6.703138101895044 ], [ 1726.3522254246002, 111.55937956365213, 6.703138101895044 ], [ 1726.3522254246002, 111.55937956365213, 6.703138101895044 ], [ 1726.3522254246002, 114.55937956365213, 6.703138101895044 ], [ 1726.3522254246002, 114.55937956365213, 6.703138101895044 ], [ 1721.1560730018934, 117.55937956365213, 6.703138101895044 ], [ 1718.55799679054, 119.05937956365213, 6.703138101895044 ], [ 1715.55799679054, 119.05937956365213, 6.703138101895044 ], [ 1712.55799679054, 119.05937956365213, 6.703138101895044 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793, 2.6179938779914944, 2.0943951023931957, 2.0943951023931953, 1.5707963267948966, 1.5707963267948966, 2.0943951023931953, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_ue_bigcity/astar_data/low_short/2024-12-22_17-13-11_521595368", "gpt_instruction": "Proceed directly to the large black building with a glass facade , then slightly turn right and continue straight to it . Shift left to the large black building with a grid - like window pattern , then slightly continue straight to a large gray commercial building with tall arched windows . Move forward to the large dark building with a modern glass facade , slightly turn right , and proceed to a tall skyscraper with a grey dome roof and a narrow spire .", "action": [ 8, 3, 1, 2, 9, 9, 8, 2, 2, 1, 3, 3, 9, 9, 9, 3, 1, 0 ], "index_list": [ "20241222_171318", "20241222_171320", "20241222_171322", "20241222_171324", "20241222_171330", "20241222_171336", "20241222_171340", "20241222_171342", "20241222_171344", "20241222_171346", "20241222_171348", "20241222_171350", "20241222_171356", "20241222_171402", "20241222_171407", "20241222_171409", "20241222_171411", "20241222_171413" ], "pos": [ [ 747.5026504199778, 352.4922249190935, 9.589436923359827 ], [ 747.5026504199778, 349.4922249190935, 9.589436923359827 ], [ 747.5026504199778, 349.4922249190935, 9.589436923359827 ], [ 746.0026504199778, 346.89414870774016, 9.589436923359827 ], [ 746.0026504199778, 340.89414870774016, 9.589436923359827 ], [ 746.0026504199778, 331.89414870774016, 9.589436923359827 ], [ 746.0026504199778, 325.89414870774016, 9.589436923359827 ], [ 746.0026504199778, 322.89414870774016, 9.589436923359827 ], [ 746.0026504199778, 322.89414870774016, 9.589436923359827 ], [ 746.0026504199778, 322.89414870774016, 9.589436923359827 ], [ 748.6007266313311, 321.39414870774016, 9.589436923359827 ], [ 748.6007266313311, 321.39414870774016, 9.589436923359827 ], [ 748.6007266313311, 315.39414870774016, 9.589436923359827 ], [ 748.6007266313311, 306.39414870774016, 9.589436923359827 ], [ 748.6007266313311, 297.39414870774016, 9.589436923359827 ], [ 748.6007266313311, 294.39414870774016, 9.589436923359827 ], [ 748.6007266313311, 294.39414870774016, 9.589436923359827 ], [ 747.1007266313311, 291.79607249638684, 9.589436923359827 ] ], "yaw": [ -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.0943951023931953, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511965979, -0.5235987755982989, -0.5235987755983084, -1.0471975511966072, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -2.0943951023931953, -2.0943951023931953 ] }, { "image_path": "env_ue_bigcity/astar_data/high_average/2025-1-4_22-45-43_353673391", "gpt_instruction": "Move forward to a medium - sized flat - roofed building distinguished by its gray color and assorted rooftop fixtures , which also features visible rooftop structures and HVAC systems . Slightly turn left , then move forward again to reach a medium - sized rectangular building with a light beige color , highlighted by red accents on its roof edges . This structure draws attention with its elevated rooftop area , positioned near a large open square and standing out due to its spacing relative to nearby buildings .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 8, 0 ], "index_list": [ "20250104_224553", "20250104_224600", "20250104_224607", "20250104_224613", "20250104_224620", "20250104_224626", "20250104_224633", "20250104_224640", "20250104_224646", "20250104_224653", "20250104_224659", "20250104_224706", "20250104_224708", "20250104_224713", "20250104_224715" ], "pos": [ [ 134.37119750646116, 1187.1385455665838, 73.53355584340784 ], [ 142.1654261405211, 1182.6385455665838, 73.53355584340784 ], [ 149.95965477458105, 1178.1385455665838, 73.53355584340784 ], [ 157.753883408641, 1173.6385455665838, 73.53355584340784 ], [ 165.54811204270095, 1169.1385455665838, 73.53355584340784 ], [ 173.3423406767609, 1164.6385455665838, 73.53355584340784 ], [ 181.13656931082085, 1160.1385455665838, 73.53355584340784 ], [ 188.9307979448808, 1155.6385455665838, 73.53355584340784 ], [ 196.72502657894074, 1151.1385455665838, 73.53355584340784 ], [ 204.5192552130007, 1146.6385455665838, 73.53355584340784 ], [ 212.31348384706064, 1142.1385455665838, 73.53355584340784 ], [ 220.1077124811206, 1137.6385455665838, 73.53355584340784 ], [ 222.7057886924739, 1136.1385455665838, 73.53355584340784 ], [ 225.7057886924739, 1136.1385455665838, 73.53355584340784 ], [ 228.7057886924739, 1136.1385455665838, 73.53355584340784 ] ], "yaw": [ -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988, 0.0, 0.0 ] }, { "image_path": "env_ue_bigcity/astar_data/high_average/2025-1-4_14-57-10_221713886", "gpt_instruction": "Proceed towards the large , grey building with ornate gothic architecture .", "action": [ 1, 2, 2, 9, 1, 0 ], "index_list": [ "20250104_145714", "20250104_145716", "20250104_145718", "20250104_145725", "20250104_145727", "20250104_145729" ], "pos": [ [ 714.7413473961078, -305.2298373207442, 94.8676192281302 ], [ 717.7413473961078, -305.2298373207442, 94.8676192281302 ], [ 717.7413473961078, -305.2298373207442, 94.8676192281302 ], [ 720.7413473961078, -300.03368489803756, 94.8676192281302 ], [ 722.2413473961078, -297.43560868668425, 94.8676192281302 ], [ 723.7413473961078, -294.83753247533093, 94.8676192281302 ] ], "yaw": [ 0.0, 0.0, 0.5235987755982988, 1.0471975511965979, 1.0471975511965979, 1.0471975511965979 ] }, { "image_path": "env_ue_bigcity/astar_data/low_short/2024-12-28_1-43-50_1129566413", "gpt_instruction": "Veer left toward a large , gray and black building characterized by tall , reflective windows . Move ahead to it . Go right to it . Keep going straight to encounter it . Slightly turn right to advance forward towards a large , brown building with an ornate facade . Slightly turn right again to go directly ahead towards yet another large , black building , exhibiting a grid - like window pattern . Finally , slightly turn left and move forward to approach a tall , multi - story modern office building with a dark blue and black glass facade .", "action": [ 1, 2, 2, 2, 9, 3, 3, 8, 3, 8, 3, 8, 2, 9, 0 ], "index_list": [ "20241228_014356", "20241228_014359", "20241228_014401", "20241228_014403", "20241228_014409", "20241228_014411", "20241228_014413", "20241228_014417", "20241228_014419", "20241228_014423", "20241228_014425", "20241228_014429", "20241228_014431", "20241228_014437", "20241228_014439" ], "pos": [ [ -855.7977187325247, 1466.5161984612591, 9.860489917132238 ], [ -857.2977187325247, 1469.1142746726125, 9.860489917132238 ], [ -857.2977187325247, 1469.1142746726125, 9.860489917132238 ], [ -857.2977187325247, 1469.1142746726125, 9.860489917132238 ], [ -862.4938711552313, 1466.1142746726125, 9.860489917132238 ], [ -865.0919473665847, 1464.6142746726125, 9.860489917132238 ], [ -865.0919473665847, 1464.6142746726125, 9.860489917132238 ], [ -867.6900235779381, 1466.1142746726125, 9.860489917132238 ], [ -870.2880997892914, 1467.6142746726125, 9.860489917132238 ], [ -871.7880997892914, 1470.2123508839659, 9.860489917132238 ], [ -873.2880997892914, 1472.8104270953193, 9.860489917132238 ], [ -873.2880997892914, 1475.8104270953193, 9.860489917132238 ], [ -873.2880997892914, 1478.8104270953193, 9.860489917132238 ], [ -876.2880997892914, 1484.006579518026, 9.860489917132238 ], [ -877.7880997892914, 1486.6046557293794, 9.860489917132238 ] ], "yaw": [ 2.094395102393186, 2.094395102393186, 2.6179938779914846, 3.1415926535897833, -2.6179938779915037, -2.6179938779915037, -3.1415926535898024, 2.6179938779915037, 2.6179938779915037, 2.094395102393186, 2.094395102393186, 1.5707963267948966, 1.5707963267948966, 2.094395102393186, 2.094395102393186 ] }, { "image_path": "env_ue_bigcity/astar_data/low_long/2025-1-4_15-1-47_28264029", "gpt_instruction": "Proceed straight towards the commercial building that features light brown rectangular windows arranged in a grid pattern . The building is medium in size .", "action": [ 9, 9, 9, 9, 8, 0 ], "index_list": [ "20250104_150156", "20250104_150203", "20250104_150209", "20250104_150216", "20250104_150220", "20250104_150222" ], "pos": [ [ 1032.5630897376673, 1444.3271738141314, 29.504723423377094 ], [ 1037.0630897376673, 1452.1214024481915, 29.504723423377094 ], [ 1041.5630897376673, 1459.9156310822516, 29.504723423377094 ], [ 1046.0630897376673, 1467.7098597163117, 29.504723423377094 ], [ 1049.0630897376673, 1472.9060121390185, 29.504723423377094 ], [ 1050.5630897376673, 1475.5040883503718, 29.504723423377094 ] ], "yaw": [ 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072, 1.0471975511966072 ] }, { "image_path": "env_ue_bigcity/astar_data/high_long/2025-1-6_20-53-14_423399815", "gpt_instruction": "Proceed straight to a gray building characterized by rectangular windows and a flat rooftop , then slightly turn right and move forward to it . Afterward , slightly turn left and proceed straight to a red building , notable for being tall and narrow with a wide facade and a prominent rooftop structure . Next , take a left turn to reach a gray building with a flat roof housing mechanical equipment . Go directly ahead to a yellow road intersection marked with crosswalk lines . Turn right to find a brown mid-rise building with distinct red trims and an older architectural style . Finally , move forward to it .", "action": [ 9, 9, 9, 3, 9, 9, 8, 2, 9, 1, 2, 2, 9, 9, 8, 3, 3, 1, 0 ], "index_list": [ "20250106_205325", "20250106_205332", "20250106_205338", "20250106_205340", "20250106_205346", "20250106_205353", "20250106_205358", "20250106_205400", "20250106_205406", "20250106_205408", "20250106_205410", "20250106_205413", "20250106_205419", "20250106_205426", "20250106_205431", "20250106_205433", "20250106_205435", "20250106_205437", "20250106_205439" ], "pos": [ [ -1725.9813847773914, 1981.8167284357557, 70.90017127548626 ], [ -1721.4813847773914, 1974.0224998016956, 70.90017127548626 ], [ -1716.9813847773914, 1966.2282711676355, 70.90017127548626 ], [ -1715.4813847773914, 1963.6301949562821, 70.90017127548626 ], [ -1715.4813847773914, 1957.6301949562821, 70.90017127548626 ], [ -1715.4813847773914, 1948.6301949562821, 70.90017127548626 ], [ -1715.4813847773914, 1942.6301949562821, 70.90017127548626 ], [ -1715.4813847773914, 1939.6301949562821, 70.90017127548626 ], [ -1712.4813847773914, 1934.4340425335754, 70.90017127548626 ], [ -1710.9813847773914, 1931.835966322222, 70.90017127548626 ], [ -1709.4813847773914, 1929.2378901108686, 70.90017127548626 ], [ -1709.4813847773914, 1929.2378901108686, 70.90017127548626 ], [ -1703.4813847773914, 1929.2378901108686, 70.90017127548626 ], [ -1694.4813847773914, 1929.2378901108686, 70.90017127548626 ], [ -1688.4813847773914, 1929.2378901108686, 70.90017127548626 ], [ -1685.4813847773914, 1929.2378901108686, 70.90017127548626 ], [ -1685.4813847773914, 1929.2378901108686, 70.90017127548626 ], [ -1685.4813847773914, 1929.2378901108686, 70.90017127548626 ], [ -1683.9813847773914, 1926.6398138995153, 70.90017127548626 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.5707963267948966, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755983084, 0.0, 0.0, 0.0, 0.0, -0.5235987755982988, -1.0471975511965976, -1.0471975511965976 ] }, { "image_path": "env_ue_bigcity/astar_data/high_average/2025-1-4_9-2-16_2039723618", "gpt_instruction": "Proceed to the gray , rectangular structure with a flat rooftop featuring visible utilities . This large building occupies a prominent position in the cityscape and serves as a commercial / office building .", "action": [ 9, 9, 0 ], "index_list": [ "20250104_090226", "20250104_090233", "20250104_090235" ], "pos": [ [ 992.8552604852041, -448.01212712706786, 90.81733680557895 ], [ 985.061031851144, -452.51212712706786, 90.81733680557895 ], [ 982.4629556397906, -454.01212712706786, 90.81733680557895 ] ], "yaw": [ -2.6179938779915037, -2.6179938779915037, -2.6179938779915037 ] }, { "image_path": "env_ue_bigcity/astar_data/low_average/2025-1-3_15-43-46_424238335", "gpt_instruction": "Move forward to the gray , large building characterized by a tall , grid - patterned facade , then slightly turn right and advance forward to the brown , large historic brick building with decorative cornices and pilasters .", "action": [ 9, 9, 1, 3, 9, 0 ], "index_list": [ "20250103_154355", "20250103_154401", "20250103_154403", "20250103_154406", "20250103_154412", "20250103_154414" ], "pos": [ [ 524.5839748352435, -967.4432053826174, 25.633935013868438 ], [ 516.7897462011833, -962.9432053826174, 25.633935013868438 ], [ 514.19166998983, -961.4432053826174, 25.633935013868438 ], [ 511.59359377847665, -959.9432053826174, 25.633935013868438 ], [ 508.59359377847665, -954.7470529599107, 25.633935013868438 ], [ 507.09359377847665, -952.1489767485573, 25.633935013868438 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779914944, 2.094395102393186, 2.094395102393186 ] }, { "image_path": "env_ue_bigcity/astar_data/high_average/2025-1-5_8-45-45_545343058", "gpt_instruction": "Proceed straight towards a building characterized by a grey color , a flat roof with mechanical equipment , and a medium size . Then , slightly turn left and move forward to it .", "action": [ 9, 9, 9, 2, 9, 9, 0 ], "index_list": [ "20250105_084553", "20250105_084600", "20250105_084606", "20250105_084608", "20250105_084615", "20250105_084621", "20250105_084624" ], "pos": [ [ 309.66221195143083, 1764.5557535036996, 93.98483821710346 ], [ 314.16221195143083, 1756.7615248696395, 93.98483821710346 ], [ 318.66221195143083, 1748.9672962355794, 93.98483821710346 ], [ 320.16221195143083, 1746.369220024226, 93.98483821710346 ], [ 325.35836437413747, 1743.369220024226, 93.98483821710346 ], [ 333.1525930081974, 1738.869220024226, 93.98483821710346 ], [ 335.75066921955073, 1737.369220024226, 93.98483821710346 ] ], "yaw": [ -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -1.0471975511966072, -0.5235987755982988, -0.5235987755982988, -0.5235987755982988 ] }, { "image_path": "env_ue_bigcity/astar_data/high_long/2025-1-6_15-4-9_2020532420", "gpt_instruction": "Proceed straight towards a large grey building with a flat roof , featuring a rectangular structure and additional rooftop equipment . Then , slightly turn left and move ahead to approach a light beige building with a wide facade and a repetitive rectangular window pattern . This building is medium - sized compared to other buildings , slightly wider , and also a type of building .", "action": [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 2, 9, 0 ], "index_list": [ "20250106_150419", "20250106_150425", "20250106_150431", "20250106_150438", "20250106_150444", "20250106_150451", "20250106_150457", "20250106_150504", "20250106_150510", "20250106_150517", "20250106_150524", "20250106_150530", "20250106_150537", "20250106_150542", "20250106_150544", "20250106_150550", "20250106_150553" ], "pos": [ [ 1985.9182918434672, 1080.5515611086726, 75.0454269760777 ], [ 1978.124063209407, 1085.0515611086726, 75.0454269760777 ], [ 1970.329834575347, 1089.5515611086726, 75.0454269760777 ], [ 1962.5356059412868, 1094.0515611086726, 75.0454269760777 ], [ 1954.7413773072267, 1098.5515611086726, 75.0454269760777 ], [ 1946.9471486731666, 1103.0515611086726, 75.0454269760777 ], [ 1939.1529200391064, 1107.5515611086726, 75.0454269760777 ], [ 1931.3586914050463, 1112.0515611086726, 75.0454269760777 ], [ 1923.5644627709862, 1116.5515611086726, 75.0454269760777 ], [ 1915.770234136926, 1121.0515611086726, 75.0454269760777 ], [ 1907.976005502866, 1125.5515611086726, 75.0454269760777 ], [ 1900.1817768688059, 1130.0515611086726, 75.0454269760777 ], [ 1892.3875482347457, 1134.5515611086726, 75.0454269760777 ], [ 1887.191395812039, 1137.5515611086726, 75.0454269760777 ], [ 1884.5933196006856, 1139.0515611086726, 75.0454269760777 ], [ 1878.5933196006856, 1139.0515611086726, 75.0454269760777 ], [ 1875.5933196006856, 1139.0515611086726, 75.0454269760777 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793 ] }, { "image_path": "env_ue_bigcity/astar_data/low_average/2025-1-3_16-6-44_628175011", "gpt_instruction": "Proceed directly to the large red building with fire escapes ; then , slightly turn left and continue straight to the medium - sized reddish - orange brick residential building with decorative cornice and brickwork detailing .", "action": [ 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 1, 0 ], "index_list": [ "20250103_160652", "20250103_160659", "20250103_160705", "20250103_160712", "20250103_160719", "20250103_160725", "20250103_160732", "20250103_160735", "20250103_160741", "20250103_160748", "20250103_160755", "20250103_160801", "20250103_160804", "20250103_160806" ], "pos": [ [ 1958.9729982972215, 1277.444688828722, 28.450458553347897 ], [ 1951.1787696631613, 1281.944688828722, 28.450458553347897 ], [ 1943.3845410291012, 1286.444688828722, 28.450458553347897 ], [ 1935.590312395041, 1290.944688828722, 28.450458553347897 ], [ 1927.796083760981, 1295.444688828722, 28.450458553347897 ], [ 1920.0018551269209, 1299.944688828722, 28.450458553347897 ], [ 1912.2076264928608, 1304.444688828722, 28.450458553347897 ], [ 1909.6095502815074, 1305.944688828722, 28.450458553347897 ], [ 1903.6095502815074, 1305.944688828722, 28.450458553347897 ], [ 1894.6095502815074, 1305.944688828722, 28.450458553347897 ], [ 1885.6095502815074, 1305.944688828722, 28.450458553347897 ], [ 1876.6095502815074, 1305.944688828722, 28.450458553347897 ], [ 1873.6095502815074, 1305.944688828722, 28.450458553347897 ], [ 1870.6095502815074, 1305.944688828722, 28.450458553347897 ] ], "yaw": [ 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 2.6179938779915037, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793, 3.141592653589793 ] } ] ================================================ FILE: envs/airsim/AirSim/settings.json ================================================ { "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/main/docs/settings.md", "SettingsVersion": 1.2, "SimMode": "Multirotor", "ClockSpeed": 1.0, "CameraDefaults": { "CaptureSettings": [ { "ImageType": 0, "Width": 1920, "Height": 1080, "FOV_Degrees": 90, "AutoExposureSpeed": 100, "MotionBlurAmount": 0 } ] }, "Vehicles": { "drone_1": { "VehicleType": "SimpleFlight", "DefaultVehicleState": "Armed", "EnableCollisionPassthrogh": false, "EnableCollisions": true, "AllowAPIAlways": true, "RC": { "RemoteControlID": 0, "AllowAPIWhenDisconnected": false }, "Sensors": { "Imu": { "SensorType": 2, "Enabled": true }, "LidarSensor1": { "SensorType": 6, "Enabled": true, "NumberOfChannels": 128, "Range": 500, "RotationsPerSecond": 10, "PointsPerSecond": 50000, "X": 0, "Y": 0, "Z": -1, "Roll": 0, "Pitch": 90, "Yaw": 0, "VerticalFOVUpper": 45, "VerticalFOVLower": -45, "DrawDebugPoints": true, "DataFrame": "SensorLocalFrame" }, "LidarSensor2": { "SensorType": 6, "Enabled": true, "NumberOfChannels": 128, "Range": 500, "RotationsPerSecond": 10, "PointsPerSecond": 50000, "X": 0, "Y": 0, "Z": -1, "Roll": 0, "Pitch": 0, "Yaw": 0, "VerticalFOVUpper": 45, "VerticalFOVLower": -45, "DrawDebugPoints": true, "DataFrame": "SensorLocalFrame" } }, "Cameras": { "front_custom": { "CaptureSettings": [ { "PublishToRos": 1, "ImageType": 0, "Width": 1920, "Height": 1080, "FOV_Degrees": 90, "DepthOfFieldFstop": 2.8, "DepthOfFieldFocalDistance": 200.0, "DepthOfFieldFocalRegion": 200.0, "TargetGamma": 1.5 }, { "PublishToRos": 1, "ImageType": 1, "Width": 640, "Height": 480, "FOV_Degrees": 90, "DepthOfFieldFstop": 2.8, "DepthOfFieldFocalDistance": 200.0, "DepthOfFieldFocalRegion": 200.0, "TargetGamma": 1.5 }, { "PublishToRos": 1, "ImageType": 5, "Width": 640, "Height": 480, "FOV_Degrees": 90, "DepthOfFieldFstop": 2.8, "DepthOfFieldFocalDistance": 200.0, "DepthOfFieldFocalRegion": 200.0, "TargetGamma": 1.5 } ], "X": 0.0, "Y": 0, "Z": 1.0, "Pitch": 0, "Roll": 0, "Yaw": 0 } } } }, "Recording": { "RecordOnMove": false, "RecordInterval": 0.001, "Folder": "", "Enabled": false, "Cameras": [ { "CameraName": "front_custom", "ImageType": 0, "PixelsAsFloat": false, "VehicleName": "drone_1", "Compress": false } ] } } ================================================ FILE: envs/gs/SIBR_viewers/.vscode/c_cpp_properties.json ================================================ { "configurations": [ { "browse": { "databaseFilename": "${default}", "limitSymbolsToIncludedHeaders": false }, "includePath": [ "/opt/ros/humble/include/**", "/usr/include/**" ], "name": "ROS", "intelliSenseMode": "gcc-x64", "compilerPath": "/usr/bin/gcc", "cStandard": "gnu11", "cppStandard": "c++14" } ], "version": 4 } ================================================ FILE: envs/gs/SIBR_viewers/.vscode/settings.json ================================================ { "python.autoComplete.extraPaths": [ "/opt/ros/humble/lib/python3.10/site-packages", "/opt/ros/humble/local/lib/python3.10/dist-packages" ], "python.analysis.extraPaths": [ "/opt/ros/humble/lib/python3.10/site-packages", "/opt/ros/humble/local/lib/python3.10/dist-packages" ], "files.associations": { "cctype": "cpp", "clocale": "cpp", "cmath": "cpp", "csignal": "cpp", "cstdarg": "cpp", "cstddef": "cpp", "cstdio": "cpp", "cstdlib": "cpp", "cstring": "cpp", "ctime": "cpp", "cwchar": "cpp", "cwctype": "cpp", "any": "cpp", "array": "cpp", "atomic": "cpp", "strstream": "cpp", "bit": "cpp", "*.tcc": "cpp", "bitset": "cpp", "cfenv": "cpp", "chrono": "cpp", "codecvt": "cpp", "compare": "cpp", "complex": "cpp", "concepts": "cpp", "condition_variable": "cpp", "coroutine": "cpp", "cstdint": "cpp", "deque": "cpp", "forward_list": "cpp", "list": "cpp", "map": "cpp", "set": "cpp", "string": "cpp", "unordered_map": "cpp", "unordered_set": "cpp", "vector": "cpp", "exception": "cpp", "algorithm": "cpp", "functional": "cpp", "iterator": "cpp", "memory": "cpp", "memory_resource": "cpp", "numeric": "cpp", "optional": "cpp", "random": "cpp", "ratio": "cpp", "regex": "cpp", "source_location": "cpp", "string_view": "cpp", "system_error": "cpp", "tuple": "cpp", "type_traits": "cpp", "utility": "cpp", "hash_map": "cpp", "fstream": "cpp", "future": "cpp", "initializer_list": "cpp", "iomanip": "cpp", "iosfwd": "cpp", "iostream": "cpp", "istream": "cpp", "limits": "cpp", "mutex": "cpp", "new": "cpp", "numbers": "cpp", "ostream": "cpp", "semaphore": "cpp", "shared_mutex": "cpp", "sstream": "cpp", "stdexcept": "cpp", "stop_token": "cpp", "streambuf": "cpp", "thread": "cpp", "cinttypes": "cpp", "typeindex": "cpp", "typeinfo": "cpp", "valarray": "cpp", "variant": "cpp", "*.ipp": "cpp" } } ================================================ FILE: envs/gs/SIBR_viewers/CMakeLists.txt ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr CMAKE_MINIMUM_REQUIRED(VERSION 3.22) set (CMAKE_SYSTEM_VERSION 10.0.15063.0 CACHE INTERNAL "Cmake system version" FORCE) PROJECT(sibr_projects) set(REQUIRED_VERSION "3.22.0") set(CHECKED_VERSION "3.27.0") if (CMAKE_VERSION VERSION_LESS REQUIRED_VERSION) message(WARNING "Deprecated version of cmake. Please update to at least ${REQUIRED_VERSION} (${CHECKED_VERSION} recommended).") elseif (CMAKE_VERSION VERSION_GREATER CHECKED_VERSION) message(WARNING "Untested version of cmake. If you checked everything is working properly, please update ${CHECKED_VERSION} in the main CmakeLists.txt with the version you tested.") endif() ## Include cmake stuff (functions/macros) : Modules files if(WIN32) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/windows) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/windows/Modules) else() list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/linux) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/linux/Modules) endif() set_property(GLOBAL PROPERTY USE_FOLDERS ON) ## To maintain cmake versions compatibilities include(cmake_policies) setPolicies() include(git_describe) git_describe(GIT_BRANCH SIBR_CORE_BRANCH GIT_COMMIT_HASH SIBR_CORE_COMMIT_HASH GIT_TAG SIBR_CORE_TAG GIT_VERSION SIBR_CORE_VERSION) message(STATUS "SIBR version :\n BRANCH ${SIBR_CORE_BRANCH}\n COMMIT_HASH ${SIBR_CORE_COMMIT_HASH}\n TAG ${SIBR_CORE_TAG}\n VERSION ${SIBR_CORE_VERSION}") if(NOT WIN32) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() if (WIN32) ## Allow C++11 + other flags include(CheckCXXCompilerFlag) get_filename_component(currentBuildTool ${CMAKE_BUILD_TOOL} NAME_WE) # tool that can launch the native build system. returned value may be the full path if(${currentBuildTool} MATCHES "(msdev|devenv|nmake|MSBuild)") add_compile_options("$<$:/W3;/DNOMINMAX;/MP;-D_USE_MATH_DEFINES>") #add_definitions(/W3 /DNOMINMAX /MP -D_USE_MATH_DEFINES)# /D_ITERATOR_DEBUG_LEVEL=1 because you need all external DLl to compile with this flag too set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING "" FORCE) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) elseif(${currentBuildTool} MATCHES "(make|gmake)") add_definitions("-Wall -Wno-unknown-pragmas -Wno-sign-compare -g -std=c++14 -D__forceinline=\"inline\ __attribute__((always_inline))\"") # CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_CXX11) # CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_CXX0X) # if(COMPILER_SUPPORTS_CXX11) # add_definitions(-std=gnu++11) # elseif(COMPILER_SUPPORTS_CXX0X) # add_definitions(-std=gnu++0x) # else() # message(SEND_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.") # endif() elseif(APPLE) ## \todo TODO: do a better test and send error on unsupported c++14 compiler add_definitions(-std=c++14 -stdlib=libc++) endif() else() ## Allow C++11 + other flags include(CheckCXXCompilerFlag) get_filename_component(currentBuildTool ${CMAKE_BUILD_TOOL} NAME_WE) # tool that can launch the native build system. returned value may be the full path if(${currentBuildTool} MATCHES "(msdev|devenv|nmake|MSBuild)") add_compile_options("$<$:/W3;/DNOMINMAX;/MP;-D_USE_MATH_DEFINES>") #add_definitions(/W3 /DNOMINMAX /MP -D_USE_MATH_DEFINES)# /D_ITERATOR_DEBUG_LEVEL=1 because you need all external DLl to compile with this flag too set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING "" FORCE) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) elseif(${currentBuildTool} MATCHES "(make|gmake|ninja)") add_definitions("-fpermissive -fPIC -Wall -Wno-unknown-pragmas -Wno-sign-compare -g -std=c++17 -D__forceinline=\"inline\ __attribute__((always_inline))\"") elseif(APPLE) ## \todo TODO: do a better test and send error on unsupported c++14 compiler add_definitions(-std=c++17 -stdlib=libc++) endif() endif() set(INSTALL_STANDALONE ON) ## Set default build output binaries (used also in sub CMakeLists.txt) : set(BIN_BUILT_DIR "bin") if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(ARCHI_BUILT_DIR "x64") set(LIB_BUILT_DIR "lib64") else() set(ARCHI_BUILT_DIR "x86") set(LIB_BUILT_DIR "lib") endif() option(SEPARATE_CONFIGURATIONS "Clearer separation between configurations" OFF) SET(CMAKE_INSTALL_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/install) SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_ROOT}) if(DEFINED CMAKE_BUILD_TYPE) ## for mono config type (make/nmake/ninja based) if(${CMAKE_BUILD_TYPE} MATCHES "Debug") set(CMAKE_DEBUG_POSTFIX "_d") elseif(${CMAKE_BUILD_TYPE} MATCHES "RelWithDebInfo") set(CMAKE_RELWITHDEBINFO_POSTFIX "_rwdi") elseif(${CMAKE_BUILD_TYPE} MATCHES "MinSizeRel") set(CMAKE_MINSIZEREL_POSTFIX "_msr") elseif(${CMAKE_BUILD_TYPE} MATCHES "Release") set(CMAKE_RELEASE_POSTFIX "") endif() if(SEPARATE_CONFIGURATIONS) SET(CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE} ${CMAKE_INSTALL_ROOT}/${CMAKE_BUILD_TYPE}) else() SET(CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE} ${CMAKE_INSTALL_ROOT}) endif() MESSAGE(STATUS "Install path set to ${CMAKE_INSTALL_PREFIX}.") SET(CMAKE_OUTPUT_LIB_${CMAKE_BUILD_TYPE} ${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/lib) SET(CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE} ${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} ${CMAKE_OUTPUT_LIB_${CMAKE_BUILD_TYPE}}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} ${CMAKE_OUTPUT_LIB_${CMAKE_BUILD_TYPE}}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}}) set(CMAKE_PDB_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}}) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) if(${CONFIG_TYPES} MATCHES "Debug") set(CMAKE_DEBUG_POSTFIX "_d") elseif(${CONFIG_TYPES} MATCHES "RelWithDebInfo") set(CMAKE_RELWITHDEBINFO_POSTFIX "_rwdi") elseif(${CONFIG_TYPES} MATCHES "MinSizeRel") set(CMAKE_MINSIZEREL_POSTFIX "_msr") elseif(${CMAKE_BUILD_TYPE} MATCHES "Release") set(CMAKE_RELEASE_POSTFIX "") endif() if(SEPARATE_CONFIGURATIONS) SET(CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC} ${CMAKE_INSTALL_ROOT}/${CONFIG_TYPES}) else() SET(CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC} ${CMAKE_INSTALL_ROOT}) endif() MESSAGE(STATUS "Install path for ${CONFIG_TYPES} set to ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}.") SET(CMAKE_OUTPUT_LIB_${CONFIG_TYPES_UC} ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/lib) SET(CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC} ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC} ${CMAKE_OUTPUT_LIB_${CONFIG_TYPES_UC}}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC} ${CMAKE_OUTPUT_LIB_${CONFIG_TYPES_UC}}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC} ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}}) set(CMAKE_PDB_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC} ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}}) endforeach() # Settings for RPATH if (NOT WIN32) # Default config of Fedora at INRIA has no LD_LIBRARY_PATH (for security reasons I guess) # So at least I had "./" in RPATH and found link paths #set(CMAKE_SKIP_RPATH TRUE) #SET(CMAKE_SKIP_BUILD_RPATH FALSE) SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) SET(CMAKE_INSTALL_RPATH "$ORIGIN") #SET(CMAKE_INSTALL_RPATH "./") #SET(CMAKE_INSTALL_RPATH "./:/usr/lib64/:/usr/lib/:/usr/local/lib64/:/usr/local/lib/") # This one causes be a problem -> a "default" version of libGL (swrast) is located in /usr/lib64 and was selected instead of nvidia one (in /usr/lib64/nividia) SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) endif() set(SIBR_PROGRAMARGS "" CACHE STRING "Default program arguments used in Visual Studio target properties") if ("${SIBR_PROGRAMARGS}" STREQUAL "") if (DEFINED ENV{SIBR_PROGRAMARGS}) set(SIBR_PROGRAMARGS "$ENV{SIBR_PROGRAMARGS}" CACHE STRING "Default program arguments used in Visual Studio target properties" FORCE) message( STATUS "Using program options found in environment variable 'SIBR_PROGRAMARGS' => '${SIBR_PROGRAMARGS}'") else() message( "Note you can provide default program options for Visual Studio target properties by either setting" " a value for the cmake cached variable 'SIBR_PROGRAMARGS' or by setting a new environment " "variable 'SIBR_PROGRAMARGS'") endif() endif() add_custom_target(PREBUILD ALL) ## Include all projects set(SIBR_PROJECTS_SAMPLES_SUBPAGE_REF "") set(SIBR_PROJECTS_OURS_SUBPAGE_REF "") set(SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF "") set(SIBR_PROJECTS_OTHERS_SUBPAGE_REF "") set(SIBR_PROJECTS_SAMPLES_REF_REF "") set(SIBR_PROJECTS_OURS_REF_REF "") set(SIBR_PROJECTS_TOOLBOX_REF_REF "") set(SIBR_PROJECTS_OTHERS_REF_REF "") set(DOXY_APP_SPECIFIC_IMG_PATH "") set(DOXY_DOC_EXCLUDE_PATTERNS_DIRS "") ADD_SUBDIRECTORY(src) ## handle documentation if (WIN32) ADD_SUBDIRECTORY(docs) endif() ================================================ FILE: envs/gs/SIBR_viewers/LICENSE.md ================================================ SIBR License ============ The sibr system is licensed under the Apache 2.0 license, except for some projects in specific branches (in src/projects) that have separate licenses in those directories. Please verify the LICENSE.md file for those directories. -------------- Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS Copyright 2024 Inria / Universite Cote d'Azur Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: envs/gs/SIBR_viewers/README.md ================================================ # SIBR Core **SIBR** is a System for Image-Based Rendering. It is built around the *sibr-core* in this repo and several *Projects* implementing published research papers. For more complete documentation, see here: [SIBR Documentation](https://sibr.gitlabpages.inria.fr) This **SIBR core** repository provides : - a basic Image-Based Renderer - a per-pixel implementation of Unstructured Lumigraph (ULR) - several dataset tools & pipelines do process input images Details on how to run in the documentation and in the section below. If you use this code in a publication, please cite the system as follows: ``` @misc{sibr2020, author = "Bonopera, Sebastien and Esnault, Jerome and Prakash, Siddhant and Rodriguez, Simon and Thonat, Theo and Benadel, Mehdi and Chaurasia, Gaurav and Philip, Julien and Drettakis, George", title = "sibr: A System for Image Based Rendering", year = "2020", url = "https://gitlab.inria.fr/sibr/sibr_core" } ``` ## Setup **Note**: The current release is for *Windows 10* only. We are planning a Linux release soon. #### Binary distribution The easiest way to use SIBR is to download the binary distribution. All steps described below, including all preprocessing for your datasets will work using this code. Download the distribution from the page: https://sibr.gitlabpages.inria.fr/download.html (Core, 57Mb); unzip the file and rename the directory "install". #### Install requirements - [**Visual Studio 2019**](https://visualstudio.microsoft.com/fr/downloads/) - [**Cmake 3.16+**](https://cmake.org/download) - [**7zip**](https://www.7-zip.org) - [**Python 3.8+**](https://www.python.org/downloads/) for shaders installation scripts and dataset preprocess scripts - [**Doxygen 1.8.17+**](https://www.doxygen.nl/download.html#srcbin) for documentation - [**CUDA 10.1+**](https://developer.nvidia.com/cuda-downloads) and [**CUDnn**](https://developer.nvidia.com/cudnn) if projects requires it Make sure Python, CUDA and Doxygen are in the PATH If you have Chocolatey, you can grab most of these with this command: ```sh choco install cmake 7zip python3 doxygen.install cuda ## Visual Studio is available on Chocolatey, ## though we do advise to set it from Visual Studio Installer and to choose your licensing accordingly choco install visualstudio2019community ``` #### Generation of the solution - Checkout this repository's master branch: ```sh ## through HTTPS git clone https://gitlab.inria.fr/sibr/sibr_core.git -b master ## through SSH git clone git@gitlab.inria.fr:sibr/sibr_core.git -b master ``` - Run Cmake-gui once, select the repo root as a source directory, `build/` as the build directory. Configure, select the Visual Studio C++ Win64 compiler - Select the projects you want to generate among the BUILD elements in the list (you can group Cmake flags by categories to access those faster) - Generate #### Compilation - Open the generated Visual Studio solution (`build/sibr_projects.sln`) - Build the `ALL_BUILD` target, and then the `INSTALL` target - The compiled executables will be put in `install/bin` - TODO: are the DLLs properly installed? #### Compilation of the documentation - Open the generated Visual Studio solution (`build/sibr_projects.sln`) - Build the `DOCUMENTATION` target - Run `install/docs/index.html` in a browser ## Scripts Some scripts will require you to install `PIL`, and `convert` from `ImageMagick`. ```sh ## To install pillow python -m pip install pillow ## If you have Chocolatey, you can install imagemagick from this command choco install imagemagick ``` ## Troubleshooting #### Bugs and Issues We will track bugs and issues through the Issues interface on gitlab. Inria gitlab does not allow creation of external accounts, so if you have an issue/bug please email sibr@inria.fr and we will either create a guest account or create the issue on our side. #### Cmake complaining about the version if you are the first to use a very recent Cmake version, you will have to update `CHECKED_VERSION` in the root `CmakeLists.txt`. #### Weird OpenCV error you probably selected the 32-bits compiler in Cmake-gui. #### `Cmd.exe failed with error 009` or similar make sure Python is installed and in the path. #### `BUILD_ALL` or `INSTALL` fail because of a project you don't really need build and install each project separately by selecting the proper targets. #### Error in CUDA headers under Visual Studio 2019 make sure CUDA >= 10.1 (first version to support VS2019) is installed. ## To run an example For more details, please see the documentation: http://sibr.gitlabpages.inria.fr Download a dataset from: https://repo-sam.inria.fr/fungraph/sibr-datasets/ e.g., the *sibr-museum-front* dataset in the *DATASETS_PATH* directory. ``` wget https://repo-sam.inria.fr/fungraph/sibr-datasets/museum_front27_ulr.zip ``` Once you have built the system or downloaded the binaries (see above), go to *install/bin* and you can run: ``` sibr_ulrv2_app.exe --path DATASETS_PATH/sibr-museum-front ``` You will have an interactive viewer and you can navigate freely in the captured scene. Our default interactive viewer has a main view running the algorithm and a top view to visualize the position of the calibrated cameras. By default you are in WASD mode, and can toggle to trackball using the "y" key. Please see the page [Interface](https://sibr.gitlabpages.inria.fr/docs/nightly/howto_sibr_useful_objects.html) for more details on the interface. Please see the documentation on how to create a dataset from your own scene, and the various other IBR algorithms available. ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/MSVCsetUserCommand.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr if(__MSVCsetUserCommand_cmake_INCLUDED__) return() else() set(__MSVCsetUserCommand_cmake_INCLUDED__ ON) endif() ## Allow to configure the Debugger settings of visual studio ## Note: Using this command under linux doesn't affect anything ## On run Debug Windows local : visual will try to load a specific COMMAND with ARGS in the provided WORKING_DIR ## ## usage: ## MSVCsetUserCommand( ## [COMMAND | [ PATH [FILE ] ] ] ## ARGS ## WORKING_DIR ## ) ## ## Warning 1 : All arugments () must be passed under quotes ## Warning 2 : WORKING_DIR path arg have to finish with remain slah '/' ## Warning 3 : use COMMAND for external app OR PATH (optionaly with FILE) option(s) to set your built/installed/moved target ## ## Example 1: ## include(MSVCsetUserCommand) ## MSVCsetUserCommand( UnityRenderingPlugin ## COMMAND "C:/Program Files (x86)/Unity/Editor/Unity.exe" ## ARGS "-force-opengl -projectPath \"${CMAKE_HOME_DIRECTORY}/UnityPlugins/RenderingPluginExample/UnityProject\"" ## WORKING_DIR "${CMAKE_HOME_DIRECTORY}/UnityPlugins/RenderingPluginExample/UnityProject" ## VERBOSE ## ) ## ## Example 2: ## include(MSVCsetUserCommand) ## MSVCsetUserCommand( ibrApp ## PATH "C:/Program Files (x86)/workspace/IBR/install" ## FILE "ibrApp${CMAKE_EXECUTABLE_SUFFIX}" ## this option line is optional since the target name didn't change between build and install step ## ARGS "-path \"${CMAKE_HOME_DIRECTORY}/dataset\"" ## WORKING_DIR "${CMAKE_HOME_DIRECTORY}" ## VERBOSE ## ) ## function(MSVCsetUserCommand targetName) cmake_parse_arguments(MSVCsuc "VERBOSE" "PATH;FILE;COMMAND;ARGS;WORKING_DIR" "" ${ARGN} ) ## If no arguments are given, do not create an unecessary .vcxproj.user file set(MSVCsuc_DEFAULT OFF) if(MSVCsuc_PATH AND MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) endif() if(MSVCsuc_FILE AND MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) endif() if(NOT MSVCsuc_COMMAND) if(MSVCsuc_PATH AND MSVCsuc_FILE) set(MSVCsuc_COMMAND "${MSVCsuc_PATH}\\${MSVCsuc_FILE}") elseif(MSVCsuc_PATH) set(MSVCsuc_COMMAND "${MSVCsuc_PATH}\\$(TargetFileName)") else() set(MSVCsuc_COMMAND "$(TargetPath)") ## => $(TargetDir)\$(TargetName)$(TargetExt) endif() elseif(MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) endif() # NOTE: there was a typo here. there is an else if written after else statement # changing the order of the else if statement if(MSVCsuc_WORKING_DIR) file(TO_NATIVE_PATH ${MSVCsuc_WORKING_DIR} MSVCsuc_WORKING_DIR) elseif(MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) else() set(MSVCsuc_WORKING_DIR "$(ProjectDir)") endif() if(NOT MSVCsuc_ARGS) set(MSVCsuc_ARGS "") elseif(MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) endif() if(MSVC10 OR (MSVC AND MSVC_VERSION GREATER 1600)) # 2010 or newer if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(PLATEFORM_BITS x64) else() set(PLATEFORM_BITS Win32) endif() if(NOT MSVCsuc_DEFAULT AND PLATEFORM_BITS) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${targetName}.vcxproj.user" " ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS} WindowsLocalDebugger ${MSVCsuc_WORKING_DIR} ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS} WindowsLocalDebugger ${MSVCsuc_WORKING_DIR} ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS} WindowsLocalDebugger ${MSVCsuc_WORKING_DIR} ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS} WindowsLocalDebugger ${MSVCsuc_WORKING_DIR} " ) if(MSVCsuc_VERBOSE) message(STATUS "[MSVCsetUserCommand] Write ${CMAKE_CURRENT_BINARY_DIR}/${targetName}.vcxproj.user file") message(STATUS " to execute ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS}") message(STATUS " from derectory ${MSVCsuc_WORKING_DIR}") message(STATUS " on visual studio run debugger button") endif() else() message(WARNING "PLATEFORM_BITS is undefined...") endif() else() if(MSVCsuc_VERBOSE) message(WARNING "MSVCsetUserCommand is disable because too old MSVC is used (need MSVC10 2010 or newer)") endif() endif() endfunction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/Modules/FindASSIMP.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## Try to find the ASSIMP library ## Once done this will define ## ## ASSIMP_FOUND - system has ASSIMP ## ASSIMP_INCLUDE_DIR - The ASSIMP include directory ## ASSIMP_LIBRARIES - The libraries needed to use ASSIMP ## ASSIMP_CMD - the full path of ASSIMP executable ## ASSIMP_DYNAMIC_LIB - the Assimp dynamic lib (available only on windows as .dll file for the moment) ## ## Edited for using a bugfixed version of Assimp if(NOT ASSIMP_DIR) set(ASSIMP_DIR "$ENV{ASSIMP_DIR}" CACHE PATH "ASSIMP root directory") message("NO ASSIMP DIR " ASSIMP_DIR ) file(TO_CMAKE_PATH "/data/graphdeco/share/usr/local" ASSIMP_DIR) set(ASSIMP_DIR "/data/graphdeco/share/usr/local" ) message("SETTING ASSIMP DIR " ASSIMP_DIR ) endif() if(ASSIMP_DIR) file(TO_CMAKE_PATH ${ASSIMP_DIR} ASSIMP_DIR) file(TO_CMAKE_PATH "/data/graphdeco/share/usr/local" ASSIMP_DIR) message("ASSIMP DIR " ASSIMP_DIR ) endif() ## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(ASSIMP_SEARCH_LIB "lib64") set(ASSIMP_SEARCH_BIN "bin64") set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x64") else() set(ASSIMP_SEARCH_LIB "lib32") set(ASSIMP_SEARCH_BIN "bin32") set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x86") endif() set(PROGRAMFILESx86 "PROGRAMFILES(x86)") FIND_PATH(ASSIMP_INCLUDE_DIR NAMES assimp/config.h PATHS ${ASSIMP_DIR} ## linux /usr /usr/include /usr/local /opt/local ## windows "$ENV{PROGRAMFILES}/Assimp" "$ENV{${PROGRAMFILESx86}}/Assimp" "$ENV{ProgramW6432}/Assimp" PATH_SUFFIXES include ) FIND_LIBRARY(ASSIMP_LIBRARY NAMES assimp-vc140-mt assimp PATHS ${ASSIMP_DIR}/${ASSIMP_SEARCH_LIB} ${ASSIMP_DIR}/lib ${ASSIMP_DIR}/lib64 ## linux /usr/${ASSIMP_SEARCH_LIB} /usr/local/${ASSIMP_SEARCH_LIB} /opt/local/${ASSIMP_SEARCH_LIB} /usr/lib /usr/lib64 /usr/local/lib /opt/local/lib ## windows "$ENV{PROGRAMFILES}/Assimp/${ASSIMP_SEARCH_LIB}" "$ENV{${PROGRAMFILESx86}}/Assimp/${ASSIMP_SEARCH_LIB}" "$ENV{ProgramW6432}/Assimp/${ASSIMP_SEARCH_LIB}" "$ENV{PROGRAMFILES}/Assimp/lib" "$ENV{${PROGRAMFILESx86}}/Assimp/lib" "$ENV{ProgramW6432}/Assimp/lib" PATH_SUFFIXES ${ASSIMP_SEARCH_LIB_PATHSUFFIXE} ) set(ASSIMP_LIBRARIES ${ASSIMP_LIBRARY}) if(ASSIMP_LIBRARY) get_filename_component(ASSIMP_LIBRARY_DIR ${ASSIMP_LIBRARY} PATH) if(WIN32) file(GLOB ASSIMP_DYNAMIC_LIB "${ASSIMP_LIBRARY_DIR}/assimp*.dll") if(NOT ASSIMP_DYNAMIC_LIB) message("ASSIMP_DYNAMIC_LIB is missing... at ${ASSIMP_LIBRARY_DIR}") endif() endif() set(ASSIMP_DYNAMIC_LIB ${ASSIMP_DYNAMIC_LIB} CACHE PATH "Windows dll location") endif() MARK_AS_ADVANCED(ASSIMP_DYNAMIC_LIB ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES) INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASSIMP REQUIRED_VARS ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES FAIL_MESSAGE "ASSIMP wasn't found correctly. Set ASSIMP_DIR to the root SDK installation directory." ) if(NOT ASSIMP_FOUND) set(ASSIMP_DIR "" CACHE STRING "Path to ASSIMP install directory") endif() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/Modules/FindEGL.cmake ================================================ #.rst: # FindEGL # ------- # # Try to find EGL. # # This will define the following variables: # # ``EGL_FOUND`` # True if (the requested version of) EGL is available # ``EGL_VERSION`` # The version of EGL; note that this is the API version defined in the # headers, rather than the version of the implementation (eg: Mesa) # ``EGL_LIBRARIES`` # This can be passed to target_link_libraries() instead of the ``EGL::EGL`` # target # ``EGL_INCLUDE_DIRS`` # This should be passed to target_include_directories() if the target is not # used for linking # ``EGL_DEFINITIONS`` # This should be passed to target_compile_options() if the target is not # used for linking # # If ``EGL_FOUND`` is TRUE, it will also define the following imported target: # # ``EGL::EGL`` # The EGL library # # In general we recommend using the imported target, as it is easier to use. # Bear in mind, however, that if the target is in the link interface of an # exported library, it must be made available by the package config file. # # Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry # Copyright 2014 Martin Gräßlin # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #============================================================================= include(CheckCXXSourceCompiles) include(CMakePushCheckState) # Use pkg-config to get the directories and then use these values # in the FIND_PATH() and FIND_LIBRARY() calls find_package(PkgConfig) pkg_check_modules(PKG_EGL QUIET egl) set(EGL_DEFINITIONS ${PKG_EGL_CFLAGS_OTHER}) find_path(EGL_INCLUDE_DIR NAMES EGL/egl.h HINTS ${PKG_EGL_INCLUDE_DIRS} ) find_library(EGL_LIBRARY NAMES EGL HINTS ${PKG_EGL_LIBRARY_DIRS} ) # NB: We do *not* use the version information from pkg-config, as that # is the implementation version (eg: the Mesa version) if(EGL_INCLUDE_DIR) # egl.h has defines of the form EGL_VERSION_x_y for each supported # version; so the header for EGL 1.1 will define EGL_VERSION_1_0 and # EGL_VERSION_1_1. Finding the highest supported version involves # finding all these defines and selecting the highest numbered. file(READ "${EGL_INCLUDE_DIR}/EGL/egl.h" _EGL_header_contents) string(REGEX MATCHALL "[ \t]EGL_VERSION_[0-9_]+" _EGL_version_lines "${_EGL_header_contents}" ) unset(_EGL_header_contents) foreach(_EGL_version_line ${_EGL_version_lines}) string(REGEX REPLACE "[ \t]EGL_VERSION_([0-9_]+)" "\\1" _version_candidate "${_EGL_version_line}" ) string(REPLACE "_" "." _version_candidate "${_version_candidate}") if(NOT DEFINED EGL_VERSION OR EGL_VERSION VERSION_LESS _version_candidate) set(EGL_VERSION "${_version_candidate}") endif() endforeach() unset(_EGL_version_lines) endif() cmake_push_check_state(RESET) list(APPEND CMAKE_REQUIRED_LIBRARIES "${EGL_LIBRARY}") list(APPEND CMAKE_REQUIRED_INCLUDES "${EGL_INCLUDE_DIR}") check_cxx_source_compiles(" #include int main(int argc, char *argv[]) { EGLint x = 0; EGLDisplay dpy = 0; EGLContext ctx = 0; eglDestroyContext(dpy, ctx); }" HAVE_EGL) cmake_pop_check_state() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(EGL FOUND_VAR EGL_FOUND REQUIRED_VARS EGL_LIBRARY EGL_INCLUDE_DIR HAVE_EGL VERSION_VAR EGL_VERSION ) if(EGL_FOUND AND NOT TARGET EGL::EGL) add_library(EGL::EGL UNKNOWN IMPORTED) set_target_properties(EGL::EGL PROPERTIES IMPORTED_LOCATION "${EGL_LIBRARY}" INTERFACE_COMPILE_OPTIONS "${EGL_DEFINITIONS}" INTERFACE_INCLUDE_DIRECTORIES "${EGL_INCLUDE_DIR}" ) endif() mark_as_advanced(EGL_LIBRARY EGL_INCLUDE_DIR HAVE_EGL) # compatibility variables set(EGL_LIBRARIES ${EGL_LIBRARY}) set(EGL_INCLUDE_DIRS ${EGL_INCLUDE_DIR}) set(EGL_VERSION_STRING ${EGL_VERSION}) include(FeatureSummary) set_package_properties(EGL PROPERTIES URL "https://www.khronos.org/egl/" DESCRIPTION "A platform-agnostic mechanism for creating rendering surfaces for use with other graphics libraries, such as OpenGL|ES and OpenVG." ) ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/Modules/FindEmbree.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## Important Note: ## This is not an official Find*cmake. It has been written for searching through ## a custom path (EMBREE_DIR) before checking elsewhere. ## ## FindEMBREE.cmake ## Find EMBREE's includes and library ## ## This module defines : ## [in] EMBREE_DIR, The base directory to search for EMBREE (as cmake var or env var) ## [out] EMBREE_INCLUDE_DIR where to find EMBREE.h ## [out] EMBREE_LIBRARIES, EMBREE_LIBRARY, libraries to link against to use EMBREE ## [out] EMBREE_FOUND, If false, do not try to use EMBREE. ## if(NOT EMBREE_DIR) set(EMBREE_DIR "$ENV{EMBREE_DIR}" CACHE PATH "EMBREE root directory") endif() if(EMBREE_DIR) file(TO_CMAKE_PATH ${EMBREE_DIR} EMBREE_DIR) endif() ## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(EMBREE_SEARCH_LIB "lib64") set(EMBREE_SEARCH_BIN "bin64") set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x64") else() set(EMBREE_SEARCH_LIB "lib32") set(EMBREE_SEARCH_BIN "bin32") set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x86") endif() set(PROGRAMFILESx86 "PROGRAMFILES(x86)") FIND_PATH(EMBREE_INCLUDE_DIR NAMES embree3/rtcore_geometry.h PATHS ${EMBREE_DIR} ## linux /usr /usr/local /opt/local ## windows "$ENV{PROGRAMFILES}/EMBREE" "$ENV{${PROGRAMFILESx86}}/EMBREE" "$ENV{ProgramW6432}/EMBREE" PATH_SUFFIXES include ) FIND_LIBRARY(EMBREE_LIBRARY NAMES embree3 PATHS ${EMBREE_DIR}/${EMBREE_SEARCH_LIB} ${EMBREE_DIR}/lib ## linux /usr/${EMBREE_SEARCH_LIB} /usr/local/${EMBREE_SEARCH_LIB} /opt/local/${EMBREE_SEARCH_LIB} /usr/lib /usr/local/lib /opt/local/lib ## windows "$ENV{PROGRAMFILES}/EMBREE/${EMBREE_SEARCH_LIB}" "$ENV{${PROGRAMFILESx86}}/EMBREE/${EMBREE_SEARCH_LIB}" "$ENV{ProgramW6432}/EMBREE/${EMBREE_SEARCH_LIB}" "$ENV{PROGRAMFILES}/EMBREE/lib" "$ENV{${PROGRAMFILESx86}}/EMBREE/lib" "$ENV{ProgramW6432}/EMBREE/lib" PATH_SUFFIXES ${EMBREE_SEARCH_LIB_PATHSUFFIXE} ) set(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) MARK_AS_ADVANCED(EMBREE_INCLUDE_DIR EMBREE_LIBRARIES) INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE REQUIRED_VARS EMBREE_INCLUDE_DIR EMBREE_LIBRARIES FAIL_MESSAGE "EMBREE wasn't found correctly. Set EMBREE_DIR to the root SDK installation directory." ) if(NOT EMBREE_FOUND) set(EMBREE_DIR "" CACHE STRING "Path to EMBREE install directory") endif() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/Modules/FindFFMPEG.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## Try to find the FFMPEG library ## Once done this will define ## ## FFMPEG_FOUND - system has FFmpeg ## FFMPEG_INCLUDE_DIR - The FFmpeg include directory ## FFMPEG_LIBRARIES - The libraries needed to use FFmpeg ## FFMPEG_DYNAMIC_LIBS - DLLs for windows if(NOT FFMPEG_DIR) set(FFMPEG_DIR "$ENV{FFMPEG_DIR}" CACHE PATH "FFMPEG_DIR root directory") endif() if(FFMPEG_DIR) file(TO_CMAKE_PATH ${FFMPEG_DIR} FFMPEG_DIR) endif() MACRO(FFMPEG_FIND varname shortname headername) # Path to include dirs FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS NAMES "lib${shortname}/${headername}" PATHS "${FFMPEG_DIR}/include" # modify this to adapt according to OS/compiler "/usr/include" "/usr/include/ffmpeg" ) #Add libraries IF(${FFMPEG_${varname}_INCLUDE_DIRS} STREQUAL "FFMPEG_${varname}_INCLUDE_DIR-NOTFOUND") MESSAGE(STATUS "Can't find includes for ${shortname}...") ELSE() FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES NAMES ${shortname} PATHS ${FFMPEG_DIR}/lib "/usr/lib" "/usr/lib64" "/usr/local/lib" "/usr/local/lib64" ) # set libraries and other variables SET(FFMPEG_${varname}_FOUND 1) SET(FFMPEG_${varname}_INCLUDE_DIRS ${FFMPEG_${varname}_INCLUDE_DIR}) SET(FFMPEG_${varname}_LIBS ${FFMPEG_${varname}_LIBRARIES}) ENDIF() ENDMACRO(FFMPEG_FIND) #Calls to ffmpeg_find to get librarires ------------------------------ FFMPEG_FIND(LIBAVFORMAT avformat avformat.h) FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h) FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h) FFMPEG_FIND(LIBAVUTIL avutil avutil.h) FFMPEG_FIND(LIBSWSCALE swscale swscale.h) # check if libs are found and set FFMPEG related variables #SET(FFMPEG_FOUND "NO") IF(FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND AND FFMPEG_LIBSWSCALE_FOUND) # All ffmpeg libs are here SET(FFMPEG_FOUND "YES") SET(FFMPEG_INCLUDE_DIR ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS}) SET(FFMPEG_LIBRARIES ${FFMPEG_LIBAVFORMAT_LIBS} ${FFMPEG_LIBAVDEVICE_LIBS} ${FFMPEG_LIBAVCODEC_LIBS} ${FFMPEG_LIBAVUTIL_LIBS} ${FFMPEG_LIBSWSCALE_LIBS} ) # add dynamic libraries if(WIN32) file(GLOB FFMPEG_DYNAMIC_LIBS "${FFMPEG_DIR}/bin/*.dll") if(NOT FFMPEG_DYNAMIC_LIBS) message("FFMPEG_DYNAMIC_LIBS is missing...") endif() set(FFMPEG_DYNAMIC_LIBS ${FFMPEG_DYNAMIC_LIBS} CACHE PATH "Windows dll location") endif() mark_as_advanced(FFMPEG_INCLUDE_DIR FFMPEG_LIBRARY_DIRS FFMPEG_LIBRARIES FFMPEG_DYNAMIC_LIBS) ELSE () MESSAGE(STATUS "Could not find FFMPEG") ENDIF() INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(FFMPEG REQUIRED_VARS FFMPEG_INCLUDE_DIR FFMPEG_LIBRARIES FAIL_MESSAGE "FFmpeg wasn't found correctly. Set FFMPEG_DIR to the root SDK installation directory." ) if(NOT FFMPEG_FOUND) set(FFMPEG_DIR "" CACHE STRING "Path to FFmpeg install directory") endif() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/Modules/FindGLFW.cmake ================================================ ##============================================================================= ## ## Copyright (c) Kitware, Inc. ## All rights reserved. ## See LICENSE.txt for details. ## ## This software is distributed WITHOUT ANY WARRANTY; without even ## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ## PURPOSE. See the above copyright notice for more information. ## ## Copyright 2016 Sandia Corporation. ## Copyright 2016 UT-Battelle, LLC. ## Copyright 2016 Los Alamos National Security. ## ## Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, ## the U.S. Government retains certain rights in this software. ## Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National ## Laboratory (LANL), the U.S. Government retains certain rights in ## this software. ## ##============================================================================= # Try to find EGL library and include dir. # Once done this will define # # GLFW_FOUND # GLFW_INCLUDE_DIR # GLFW_LIBRARY # include(FindPackageHandleStandardArgs) if (WIN32) find_path( GLFW_INCLUDE_DIR NAMES GLFW/glfw3.h PATHS ${PROJECT_SOURCE_DIR}/shared_external/glfw/include ${PROJECT_SOURCE_DIR}/../shared_external/glfw/include ${GLFW_LOCATION}/include $ENV{GLFW_LOCATION}/include $ENV{PROGRAMFILES}/GLFW/include ${GLFW_LOCATION} $ENV{GLFW_LOCATION} DOC "The directory where GLFW/glfw3.h resides" ) if(ARCH STREQUAL "x86") find_library( GLFW_LIBRARY NAMES glfw3 PATHS ${GLFW_LOCATION}/lib $ENV{GLFW_LOCATION}/lib $ENV{PROGRAMFILES}/GLFW/lib DOC "The GLFW library") else() find_library( GLFW_LIBRARY NAMES glfw3 PATHS ${GLFW_LOCATION}/lib $ENV{GLFW_LOCATION}/lib $ENV{PROGRAMFILES}/GLFW/lib DOC "The GLFW library") endif() endif () if (${CMAKE_HOST_UNIX}) message("GFLW LOCATION " $ENV{GLFW_LOCATION} ) find_path( GLFW_INCLUDE_DIR NAMES GLFW/glfw3.h PATHS # ${GLFW_LOCATION}/include $ENV{GLFW_LOCATION}/include # /usr/include # /usr/local/include # /sw/include # /opt/local/include # NO_DEFAULT_PATH DOC "The directory where GLFW/glfw3.h resides" ) find_library( GLFW_LIBRARY NAMES glfw3 glfw PATHS # ${GLFW_LOCATION}/lib $ENV{GLFW_LOCATION}/lib $ENV{GLFW_LOCATION}/lib64 # /usr/lib64 # /usr/lib # /usr/local/lib64 # /usr/local/lib # /sw/lib # /opt/local/lib # /usr/lib/x86_64-linux-gnu # NO_DEFAULT_PATH DOC "The GLFW library") set( GLFW_INCLUDE_DIR $ENV{GLFW_LOCATION}/include ) set( GLFW_LIBRARY $ENV{GLFW_LOCATION}/lib64/libglfw3.a ) message("*************==========> FindGLFW .cmake " ${GLFW_INCLUDE_DIR} " LIB " ${GLFW_LIBRARY} ) endif () find_package_handle_standard_args(GLFW DEFAULT_MSG GLFW_INCLUDE_DIR GLFW_LIBRARY ) mark_as_advanced( GLFW_FOUND ) ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/Win3rdParty.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## This file should be include and use only on WIN32 OS and once ## It allow to auto check/download and use a preconfigured 3rdParty binaries for cmake usage ## It use the downloadAndExtractZipFile cmake module to work. ## if(__Win3rdParty_cmake_INCLUDED__) return() else() set(__Win3rdParty_cmake_INCLUDED__ ON) endif() ## ## To be sure to reset an empty cached variable but keep any other kind of variables ## ## Usage: ## check_cached_var( [FORCE]) ## ## is the cached cmake variable you need to reset ## is the new default value of the reseted cached cmake variable ## is the kind of GUI cache input can be : FILEPATH; PATH; STRING or BOOL ## is the associated GUI cache input documentation display in the GUI ## FORCE option could be use to reset a cached variable even if it is not empty. ## macro(check_cached_var var resetedCachedValue cacheType cacheDoc) # message(STATUS "inside check_cached_var macro. argn=${ARGN}") cmake_parse_arguments(ccv "FORCE" "" "" ${ARGN}) if(ccv_FORCE) set(FORCE FORCE) else() set(FORCE ) endif() if(NOT ${var} OR ccv_FORCE) unset(${var} CACHE) # message(STATUS "setting new cache value. var ${var} = ${resetedCachedValue}") set(${var} "${resetedCachedValue}" CACHE ${cacheType} "${cacheDoc}" ${FORCE}) endif() endmacro() ## ## Win3rdParty function allow to specify a directory which contain all necessary windows dependenties. ## By uploading 3rdParty directory (which contain dependencies, *.lib, *.dll... for a specific version of compiler) onto Gforge file tab, ## you get back an URL of download you can give to this function with a directory name. So you can provide multiple 3rdParty version of same dependencies (MSVC11, MSVC12...). ## By providing a prefix to this function, you allow to use different kind of 3rdParty which can be handled by CMAKE OPTIONS depending on what your framework need for example. ## ## Usage 1: ## Win3rdParty( MSVC ## [MSVC ] [...] ## [VCID] [DEFAULT_USE] [VERBOSE] ) ## ## * allow to identify which 3rdParty you process (prefix name) ## * MSVC flag could be MSVC11 or MSVC12 (any element of the MSVC_VERSIONS_LIST) and refer to a 3rdParty compiler with : ## * which will be the local pathName of the downloaded 3rdParty : relative to CMAKE_BINARY_DIR ## * which is the link location of the 3rdParty zip ## * VCID flag will make available a cache variable ${prefix}_WIN3RDPARTY_VCID ## * DEFAULT_USE flag [ON|OFF] may be used to set default value of cmake cached variable : _WIN3RDPARTY_USE [default to ON] ## ## WARNING: ## This function define CACHE variables you can use after : ## * ${prefix}_WIN3RDPARTY_USE : allow to check/downloaded win3rdParty dir (it will force the cached variables for this dependency folder generally _DIR>) ## * ${prefix}_WIN3RDPARTY_DIR : where is your local win3rdParty dir (the PATH) ## * ${prefix}_WIN3RDPARTY_VCID : [if VCID flag is used] the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL) ## ## If you want to add a win3rdParty version, please: ## 1- build dependencies on your local side with the compiler you want ## 2- build your own zip with your built dependencies ## 3- upload it (onto the forge where the project is stored) and copy the link location in order to use it for this function ## 4- if you just introduced a new MSVC version, add it to the MSVC_VERSIONS_LIST bellow ## ## In a second pass, you can also use this function to set necessary cmake cached variables in order to let cmake find packages of these 3rdParty. ## ## Usage 2: ## win3rdParty( [VERBOSE] MULTI_SET|SET ## CHECK_CACHED_VAR [LIST] [DOC ] ## [ CHECK_CACHED_VAR [LIST] [DOC ] ] [...] ## ## * MULTI_SET or SET flags are used to tell cmake that all next arguments will use repeated flags with differents entries (SET mean we will provide only one set of arguments, without repetition) ## * CHECK_CACHED_VAR are the repeated flag which contain differents entries ## * is the cmake variable you want to be cached for the project ## * is the kind of cmake variable (couble be: FILEPATH; PATH; STRING or BOOL) => see check_cached_var. ## * LIST optional flag could be used with CHECK_CACHED_VAR when = STRING. It allow to handle multiple STRINGS value list. ## * is the value of the variable (if FILEPATH, PATH or STRING: use quotes, if BOOL : use ON/OFF) ## * DOC optional flag is used to have a tooltips info about this new cmake variable entry into the GUI (use quotes). ## ## Full example 1 : ## win3rdParty(COMMON MSVC11 "win3rdParty-MSVC11" "https://path.to/an.archive.7z" ## SET CHECK_CACHED_VAR SuiteSparse_DIR PATH "SuiteSparse-4.2.1" DOC "default empty doc" ## ) ## ## WARNING: ## For the 2nd usage (with MULTI_SET), if you planned to set some CACHED_VAR using/composed by ${prefix}_WIN3RDPARTY_* just set in this macro (usage 1), ## then (due to the not yet existing var) you will need to call this function 2 times : ## One for the 1st usage (downloading of the current compiler 3rdParty). ## One for the MLUTI_SET flag which will use existsing ${prefix}_WIN3RDPARTY_* cached var. ## ## Full example 2 : ## win3rdParty(COMMON MSVC11 "win3rdParty-MSVC11" "https://path.to/an.archive.7z") ## win3rdParty(COMMON MULTI_SET ## CHECK_CACHED_VAR CGAL_INCLUDE_DIR PATH "CGAL-4.3/include" DOC "default empty doc" ## CHECK_CACHED_VAR CGAL_LIBRARIES STRING LIST "debug;CGAL-4.3/lib${LIB_POSTFIX}/CGAL-${WIN3RDPARTY_COMMON_VCID}-mt-gd-4.3.lib;optimized;CGAL-4.3/lib${LIB_POSTFIX}/CGAL-${WIN3RDPARTY_COMMON_VCID}-mt-4.3.lib" ## ## ## WARNING: This function use internaly : ## * downloadAndExtractZipFile.cmake ## * parse_arguments_multi.cmake ## * check_cached_var macro ## function(win3rdParty prefix ) # ARGV: list of all arguments given to the macro/function # ARGN: list of remaining arguments if(NOT WIN32) return() endif() ## set the handled version of MSVC ## if you plan to add a win3rdParty dir to download with a new MSVC version: build the win3rdParty dir and add the MSCV entry here. set(MSVC_VERSIONS_LIST "MSVC17;MSVC11;MSVC12;MSVC14") #include(CMakeParseArguments) # CMakeParseArguments is obsolete since cmake 3.5 # cmake_parse_arguments ( args) # : options (flags) pass to the macro # : options that neeed a value # : options that neeed more than one value cmake_parse_arguments(w3p "VCID" "VERBOSE;TIMEOUT;DEFAULT_USE" "${MSVC_VERSIONS_LIST};MULTI_SET;SET" ${ARGN}) # message(STATUS "value of w3p_VCID = ${w3p_VCID}") # message(STATUS "value of w3p_VERBOSE = ${w3p_VERBOSE}") # message(STATUS "value of w3p_TIMEOUT = ${w3p_TIMEOUT}") # message(STATUS "value of w3p_DEFAULT_USE = ${w3p_DEFAULT_USE}") # foreach (loop_var ${MSVC_VERSIONS_LIST}) # message(STATUS "value of w3p_${loop_var} = ${w3p_${loop_var}}") # endforeach(loop_var) # message(STATUS "value of w3p_MULTI_SET = ${w3p_MULTI_SET}") # message(STATUS "value of w3p_SET = ${w3p_SET}") # message("values for MSVC = ${w3p_MSVC14}") if(NOT w3p_TIMEOUT) set(w3p_TIMEOUT 300) endif() if(NOT DEFINED w3p_DEFAULT_USE) set(w3p_DEFAULT_USE ON) endif() ## 1st use (check/update|download) : set(${prefix}_WIN3RDPARTY_USE ${w3p_DEFAULT_USE} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist") ## We want to test if each version of MSVC was filled by the function (see associated parameters) ## As CMake is running only for one version of MSVC, if that MSVC version was filled, we get back associated parameters, ## otherwise we can't use the downloadAndExtractZipFile with win3rdParty. set(enableWin3rdParty OFF) foreach(MSVC_VER ${MSVC_VERSIONS_LIST}) if(${MSVC_VER} AND w3p_${MSVC_VER} OR ${MSVC_TOOLSET_VERSION} EQUAL 143 AND ${MSVC_VER} STREQUAL "MSVC17") list(LENGTH w3p_${MSVC_VER} count) if("${count}" LESS "2") #message(WARNING "You are using ${MSVC_VER} with ${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE}, but win3rdParty function isn't filled for ${MSVC_VER}!") else() list(GET w3p_${MSVC_VER} 0 Win3rdPartyName) list(GET w3p_${MSVC_VER} 1 Win3rdPartyUrl) if(w3p_VCID) ## try to get the VcId of MSVC. See also MSVC_VERSION cmake var in the doc. string(REGEX REPLACE "MS([A-Za-z_0-9-]+)" "\\1" vcId ${MSVC_VER}) string(TOLOWER ${vcId} vcId) set(${prefix}_WIN3RDPARTY_VCID "${vcId}0" CACHE STRING "the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL)") mark_as_advanced(${prefix}_WIN3RDPARTY_VCID) endif() set(enableWin3rdParty ON) set(suffixCompilerID ${MSVC_VER}) break() endif() endif() endforeach() ## If previous step succeed to get MSVC dirname and URL of the current MSVC version, use it to auto download/update the win3rdParty dir if(enableWin3rdParty AND ${prefix}_WIN3RDPARTY_USE) if(IS_ABSOLUTE "${Win3rdPartyName}") else() set(Win3rdPartyName "${CMAKE_BINARY_DIR}/${Win3rdPartyName}") endif() if(NOT EXISTS "${Win3rdPartyName}") file(MAKE_DIRECTORY ${Win3rdPartyName}) endif() include(downloadAndExtractZipFile) downloadAndExtractZipFile( "${Win3rdPartyUrl}" ## URL link location "Win3rdParty-${prefix}-${suffixCompilerID}.7z" ## where download it: relative path, so default to CMAKE_BINARY_DIR "${Win3rdPartyName}" ## where extract it : fullPath (default relative to CMAKE_BINARY_DIR) CHECK_DIRTY_URL "${Win3rdPartyName}/Win3rdPartyUrl" ## last downloaded url file : fullPath (default relative to CMAKE_BINARY_DIR) TIMEOUT ${w3p_TIMEOUT} VERBOSE ${w3p_VERBOSE} ) file(GLOB checkDl "${Win3rdPartyName}/*") list(LENGTH checkDl checkDlCount) if("${checkDlCount}" GREATER "1") else() message("The downloadAndExtractZipFile didn't work...?") set(enableWin3rdParty OFF) endif() endif() ## Try to auto set ${prefix}_WIN3RDPARTY_DIR or let user set it manually set(${prefix}_WIN3RDPARTY_DIR "" CACHE PATH "windows ${Win3rdPartyName} dir to ${prefix} dependencies of the project") if(NOT ${prefix}_WIN3RDPARTY_DIR AND ${prefix}_WIN3RDPARTY_USE) if(EXISTS "${Win3rdPartyName}") unset(${prefix}_WIN3RDPARTY_DIR CACHE) set(${prefix}_WIN3RDPARTY_DIR "${Win3rdPartyName}" CACHE PATH "dir to ${prefix} dependencies of the project") endif() endif() if(EXISTS ${${prefix}_WIN3RDPARTY_DIR}) message(STATUS "Found a 3rdParty ${prefix} dir : ${${prefix}_WIN3RDPARTY_DIR}.") set(enableWin3rdParty ON) elseif(${prefix}_WIN3RDPARTY_USE) message(WARNING "${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE} but ${prefix}_WIN3RDPARTY_DIR=${${prefix}_WIN3RDPARTY_DIR}.") set(enableWin3rdParty OFF) endif() ## Final check if(NOT enableWin3rdParty) message("Disable ${prefix}_WIN3RDPARTY_USE (cmake cached var will be not set), due to a win3rdParty problem.") message("You still can set ${prefix}_WIN3RDPARTY_DIR to an already downloaded Win3rdParty directory location.") set(${prefix}_WIN3RDPARTY_USE OFF CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist" FORCE) endif() ## 2nd use : handle multi values args to set cached cmake variables in order to ease the next find_package call if(${prefix}_WIN3RDPARTY_USE AND ${prefix}_WIN3RDPARTY_DIR) if(w3p_VERBOSE) message(STATUS "Try to set cmake cached variables for ${prefix} required libraries directly from : ${${prefix}_WIN3RDPARTY_DIR}.") endif() include(parse_arguments_multi) # message (STATUS "before defining an override of parse_arguments_multi_function") function(parse_arguments_multi_function ) ## overloaded function to handle all CHECK_CACHED_VAR values list (see: parse_arguments_multi) # message(STATUS "inside overloaded parse_arguments_multi_function defined in Win3rdParty.cmake") # message(STATUS ${ARGN}) ## we know the function take 3 args : var cacheType resetedCachedValue (see check_cached_var) cmake_parse_arguments(pamf "" "DOC" "LIST" ${ARGN}) ## var and cacheType are mandatory (with the resetedCachedValue) set(var ${ARGV0}) set(cacheType ${ARGV1}) # message(STATUS "var=${var} and cacheType=${cacheType} list=${pamf_LIST}") if(pamf_DOC) set(cacheDoc ${pamf_DOC}) else() set(cacheDoc "") endif() if(pamf_LIST) set(value ${pamf_LIST}) else() # message("USING ARGV2 with value ${ARGV2}") set(value ${ARGV2}) endif() # message("inside override function in Win3rdparty.cmake value+ ${value}") if("${cacheType}" MATCHES "PATH" AND EXISTS "${${prefix}_WIN3RDPARTY_DIR}/${value}") # message("math with path") set(resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}/${value}") ## path relative to ${prefix}_WIN3RDPARTY_DIR elseif ("${cacheType}" MATCHES "PATH" AND EXISTS "${${prefix}_WIN3RDPARTY_DIR}") set(resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}") ## path relative to ${prefix}_WIN3RDPARTY_DIR elseif("${cacheType}" MATCHES "STRING") foreach(var IN LISTS value) if(EXISTS "${${prefix}_WIN3RDPARTY_DIR}/${var}") list(APPEND resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}/${var}") ## string item of the string list is a path => make relative to ${prefix}_WIN3RDPARTY_DIR else() list(APPEND resetedCachedValue ${var}) ## string item of the string list is not an existing path => simply use the item endif() endforeach() else() set(resetedCachedValue "${value}") ## could be a BOOL or a STRING endif() ## call our macro to reset cmake cache variable if empty check_cached_var(${var} "${resetedCachedValue}" ${cacheType} "${cacheDoc}" FORCE) endfunction() # message (STATUS "after defining an override of parse_arguments_multi_function") if(w3p_MULTI_SET) parse_arguments_multi(CHECK_CACHED_VAR w3p_MULTI_SET ${w3p_MULTI_SET}) ## internaly will call our overloaded parse_arguments_multi_function elseif(w3p_SET) # message("calling set version of parse_arguments_multi with w3p_set = ${w3p_SET}") parse_arguments_multi(CHECK_CACHED_VAR w3p_SET ${w3p_SET}) endif() endif() endfunction() ## cmake variables introspection to globally activate/deactivate ${prefix}_WIN3RDPARTY_USE ## This "one shot" call (only one for the next cmake configure) will automatically then reset the global variable WIN3RDPARTY_USE to UserDefined (do nothing). ## use (call it) before and after the call of all your win3rdParty functions function(Win3rdPartyGlobalCacheAction ) set(WIN3RDPARTY_USE "UserDefined" CACHE STRING "Choose how to handle all cmake cached *_WIN3RDPARTY_USE for the next configure.\nCould be:\nUserDefined [default]\nActivateAll\nDesactivateAll" ) set_property(CACHE WIN3RDPARTY_USE PROPERTY STRINGS "UserDefined;ActivateAll;DesactivateAll" ) if(${WIN3RDPARTY_USE} MATCHES "UserDefined") else() if(${WIN3RDPARTY_USE} MATCHES "ActivateAll") set(win3rdPvalue ON) elseif(${WIN3RDPARTY_USE} MATCHES "DesactivateAll") set(win3rdPvalue OFF) endif() get_cmake_property(_variableNames CACHE_VARIABLES) foreach (_variableName ${_variableNames}) string(REGEX MATCH "[A-Za-z_0-9-]+_WIN3RDPARTY_USE" win3rdpartyUseCacheVar ${_variableName}) if(win3rdpartyUseCacheVar) string(REGEX REPLACE "([A-Za-z_0-9-]+_WIN3RDPARTY_USE)" "\\1" win3rdpartyUseCacheVar ${_variableName}) set(${win3rdpartyUseCacheVar} ${win3rdPvalue} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist" FORCE) message(STATUS "${win3rdpartyUseCacheVar} cached variable set to ${win3rdPvalue}.") endif() endforeach() set(WIN3RDPARTY_USE "UserDefined" CACHE STRING "Choose how to handle all cmake cached *_WIN3RDPARTY_USE for the next configure.\nCould be:\nUserDefined [default]\nActivateAll\nDesactivateAll" FORCE) message(STATUS "reset WIN3RDPARTY_USE to UserDefined.") endif() mark_as_advanced(WIN3RDPARTY_USE) endfunction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/cmake_policies.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr if(__set_policies_INCLUDED__) return() else() set(__set_policies_INCLUDED__ ON) endif() macro(setPolicies) # No more policies to enforce endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/dependencies.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## Included once for all sub project. ## It contain the whole cmake instructions to find necessary common dependencies. ## 3rdParty (provided by sibr_addlibrary win3rdParty or from external packages) are then available in cmake sub projects. ## ## Do not include this file more than once but you can modify it to fit to your own project. ## So please, read it carefully because you can use on of these dependencies for your project or appen new one. ## ## As it is included after camke options, you can use conditional if()/endif() to encapsulate your 3rdParty. ## ## win3rdParty function allowing to auto check/download/update binaries dependencies for current windows compiler ## Please open this file in order to get more documentation and usage examples. include(Win3rdParty) include(sibr_library) Win3rdPartyGlobalCacheAction() find_package(OpenGL REQUIRED) set(OpenGL_GL_PREFERENCE "GLVND") ############ ## Find GLEW ############ ##for headless rendering find_package(EGL QUIET) if(EGL_FOUND) add_definitions(-DGLEW_EGL) message("Activating EGL support for headless GLFW/GLEW") else() message("EGL not found : EGL support for headless GLFW/GLEW is disabled") endif() if (MSVC11 OR MSVC12) set(glew_multiset_arguments CHECK_CACHED_VAR GLEW_INCLUDE_DIR PATH "glew-1.10.0/include" DOC "default empty doc" CHECK_CACHED_VAR GLEW_LIBRARIES STRING LIST "debug;glew-1.10.0/${LIB_BUILT_DIR}/glew32d.lib;optimized;glew-1.10.0/${LIB_BUILT_DIR}/glew32.lib" DOC "default empty doc" ) elseif (MSVC14) set(glew_multiset_arguments CHECK_CACHED_VAR GLEW_INCLUDE_DIR PATH "glew-2.0.0/include" DOC "default empty doc" CHECK_CACHED_VAR GLEW_SHARED_LIBRARY_RELEASE PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32.lib" CHECK_CACHED_VAR GLEW_STATIC_LIBRARY_RELEASE PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32s.lib" CHECK_CACHED_VAR GLEW_SHARED_LIBRARY_DEBUG PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32d.lib" CHECK_CACHED_VAR GLEW_STATIC_LIBRARY_DEBUG PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32sd.lib" ) else () message("There is no provided GLEW library for your compiler, relying on find_package to find it") endif() sibr_addlibrary(NAME GLEW #VERBOSE ON MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/glew-1.10.0.7z" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/glew-1.10.0.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glew-2.0.0.7z" # using recompiled version of glew MULTI_SET ${glew_multiset_arguments} ) set(GLEW_VERBOSE ON) FIND_PACKAGE(GLEW REQUIRED) IF(GLEW_FOUND) INCLUDE_DIRECTORIES(${GLEW_INCLUDE_DIR}) ELSE(GLEW_FOUND) MESSAGE("GLEW not found. Set GLEW_DIR to base directory of GLEW.") ENDIF(GLEW_FOUND) ############## ## Find ASSIMP ############## if (MSVC11 OR MSVC12) set(assimp_set_arguments CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp_3.1_fix" ) elseif (MSVC14) set(assimp_set_arguments CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp-4.1.0" ) else () message("There is no provided ASSIMP library for your compiler, relying on find_package to find it") endif() sibr_addlibrary(NAME ASSIMP #VERBOSE ON MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/Assimp_3.1_fix.7z" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/Assimp_3.1_fix.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/Assimp-4.1.0.7z" MULTI_SET ${assimp_set_arguments} ) find_package(ASSIMP REQUIRED) include_directories(${ASSIMP_INCLUDE_DIR}) ################ ## Find FFMPEG ################ sibr_addlibrary(NAME FFMPEG MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/ffmpeg.zip" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/ffmpeg.zip" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/ffmpeg-4.0.2-win64-win3rdParty.7z" SET CHECK_CACHED_VAR FFMPEG_DIR PATH ${FFMPEG_WIN3RDPARTY_DIR} ) find_package(FFMPEG) include_directories(${FFMPEG_INCLUDE_DIR}) ## COMMENT OUT ALL FFMPEG FOR CLUSTER ################### ## Find embree3 ################### sibr_addlibrary( NAME embree3 MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/embree2.7.0.x64.windows.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/embree-3.6.1.x64.vc14.windows.7z" # TODO SV: provide a valid version if required ) # CLUSTER #find_package(embree 3.0 REQUIRED PATHS "/data/graphdeco/share/embree/usr/local/lib64/cmake/" ) find_package(embree 3.0 ) ################### ## Find eigen3 ################### sibr_addlibrary( NAME eigen3 #MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/eigen-eigen-dc6cfdf9bcec.7z" #MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/eigen-eigen-dc6cfdf9bcec.7z" # TODO SV: provide a valid version if required MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/eigen3.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/eigen3.7z" SET CHECK_CACHED_VAR eigen3_DIR PATH "eigen/share/eigen3/cmake" ) include_directories(/usr/include/eigen3) add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_ZERO) ############# ## Find Boost ############# set(Boost_REQUIRED_COMPONENTS "system;chrono;filesystem;date_time" CACHE INTERNAL "Boost Required Components") if (WIN32) # boost multiset arguments if (MSVC11 OR MSVC12) set(boost_multiset_arguments CHECK_CACHED_VAR BOOST_ROOT PATH "boost_1_55_0" CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost_1_55_0" CHECK_CACHED_VAR BOOST_LIBRARYDIR PATH "boost_1_55_0/${LIB_BUILT_DIR}" #CHECK_CACHED_VAR Boost_COMPILER STRING "-${Boost_WIN3RDPARTY_VCID}" DOC "vcid (eg: -vc110 for MSVC11)" CHECK_CACHED_VAR Boost_COMPILER STRING "-vc110" DOC "vcid (eg: -vc110 for MSVC11)" # NOTE: if it doesnt work, uncomment this option and set the right value for VisualC id ) elseif (MSVC14) set(boost_multiset_arguments CHECK_CACHED_VAR BOOST_ROOT PATH "boost-1.71" CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost-1.71" CHECK_CACHED_VAR BOOST_LIBRARYDIR PATH "boost-1.71/${LIB_BUILT_DIR}" CHECK_CACHED_VAR Boost_COMPILER STRING "-vc141" DOC "vcid (eg: -vc110 for MSVC11)" # NOTE: if it doesnt work, uncomment this option and set the right value for VisualC id ) option(BOOST_MINIMAL_VERSION "Only get minimal Boost dependencies" ON) if(${BOOST_MINIMAL_VERSION}) set(BOOST_MSVC14_ZIP "boost-1.71-ibr-minimal.7z") else() set(BOOST_MSVC14_ZIP "boost-1.71.7z") endif() else () message("There is no provided Boost library for your compiler, relying on find_package to find it") endif() sibr_addlibrary(NAME Boost VCID TIMEOUT 600 #VERBOSE ON MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/boost_1_55_0.7z" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/boost_1_55_0.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/${BOOST_MSVC14_ZIP}" # boost compatible with msvc14 MULTI_SET ${boost_multiset_arguments} CHECK_CACHED_VAR Boost_NO_SYSTEM_PATHS BOOL ON DOC "Set to ON to disable searching in locations not specified by these boost cached hint variables" CHECK_CACHED_VAR Boost_NO_BOOST_CMAKE BOOL ON DOC "Set to ON to disable the search for boost-cmake (package cmake config file if boost was built with cmake)" ) if(NOT Boost_COMPILER AND Boost_WIN3RDPARTY_USE) message(WARNING "Boost_COMPILER is not set and it's needed.") endif() endif() find_package(Boost 1.65.0 REQUIRED COMPONENTS ${Boost_REQUIRED_COMPONENTS}) # for CLUSTER ##find_package(Boost 1.58.0 REQUIRED COMPONENTS ${Boost_REQUIRED_COMPONENTS}) if(WIN32) add_compile_options("$<$:/EHsc>") #add_definitions(/EHsc) endif() if(Boost_LIB_DIAGNOSTIC_DEFINITIONS) add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS}) endif() #if(WIN32) add_definitions(-DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB) #endif() include_directories(${BOOST_INCLUDEDIR} ${Boost_INCLUDE_DIRS}) link_directories(${BOOST_LIBRARYDIR} ${Boost_LIBRARY_DIRS}) ############## ## Find OpenMP ############## find_package(OpenMP) ############## ## Find OpenCV ############## if (WIN32) if (${MSVC_TOOLSET_VERSION} EQUAL 143) MESSAGE("SPECIAL OPENCV HANDLING") set(opencv_set_arguments CHECK_CACHED_VAR OpenCV_DIR PATH "install" ## see OpenCVConfig.cmake ) elseif (MSVC11 OR MSVC12) set(opencv_set_arguments CHECK_CACHED_VAR OpenCV_DIR PATH "opencv/build" ## see OpenCVConfig.cmake ) elseif (MSVC14) set(opencv_set_arguments CHECK_CACHED_VAR OpenCV_DIR PATH "opencv-4.5.0/build" ## see OpenCVConfig.cmake ) else () message("There is no provided OpenCV library for your compiler, relying on find_package to find it") endif() else() message("There is no provided OpenCV library for your compiler, relying on find_package to find it") endif() sibr_addlibrary(NAME OpenCV #VERBOSE ON MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv.7z" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv-4.5.0.7z" # opencv compatible with msvc14 and with contribs MSVC17 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv4-8.7z" SET ${opencv_set_arguments} ) find_package(OpenCV 4.5 REQUIRED) ## Use directly the OpenCVConfig.cmake provided ## FOR CLUSTER ###find_package(OpenCV 4.5 REQUIRED PATHS "/data/graphdeco/share/opencv/usr/local/lib64/cmake/opencv4/" ) ## Use directly the OpenCVConfig.cmake provided ##https://stackoverflow.com/questions/24262081/cmake-relwithdebinfo-links-to-debug-libs set_target_properties(${OpenCV_LIBS} PROPERTIES MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE) add_definitions(-DOPENCV_TRAITS_ENABLE_DEPRECATED) if(OpenCV_INCLUDE_DIRS) foreach(inc ${OpenCV_INCLUDE_DIRS}) if(NOT EXISTS ${inc}) set(OpenCV_INCLUDE_DIR "" CACHE PATH "additional custom include DIR (in case of trouble to find it (fedora 17 opencv package))") endif() endforeach() if(OpenCV_INCLUDE_DIR) list(APPEND OpenCV_INCLUDE_DIRS ${OpenCV_INCLUDE_DIR}) include_directories(${OpenCV_INCLUDE_DIRS}) endif() endif() ################### ## Find GLFW ################### sibr_addlibrary( NAME glfw3 MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glfw-3.2.1.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glfw-3.2.1.7z" # TODO SV: provide a valid version if required SET CHECK_CACHED_VAR glfw3_DIR PATH "glfw-3.2.1" ) ### FOR CLUSTER COMMENT OUT lines above, uncomment lines below ##find_package(GLFW REQUIRED 3.3 ) ##message("***********=============> GLFW IS " ${GLFW_LIBRARY}) ##message("***********=============> GLFW IS " ${GLFW_LIBRARIES}) find_package(glfw3 REQUIRED) sibr_gitlibrary(TARGET imgui GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/imgui.git" GIT_TAG "741fb3ab6c7e1f7cef23ad0501a06b7c2b354944" ) ## FOR CLUSTER COMMENT OUT nativefiledialog sibr_gitlibrary(TARGET nativefiledialog GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/nativefiledialog.git" GIT_TAG "ae2fab73cf44bebdc08d997e307c8df30bb9acec" ) sibr_gitlibrary(TARGET mrf GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/mrf.git" GIT_TAG "30c3c9494a00b6346d72a9e37761824c6f2b7207" ) sibr_gitlibrary(TARGET nanoflann GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/nanoflann.git" GIT_TAG "7a20a9ac0a1d34850fc3a9e398fc4a7618e8a69a" ) sibr_gitlibrary(TARGET picojson GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/picojson.git" GIT_TAG "7cf8feee93c8383dddbcb6b64cf40b04e007c49f" ) sibr_gitlibrary(TARGET rapidxml GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/rapidxml.git" GIT_TAG "069e87f5ec5ce1745253bd64d89644d6b894e516" ) sibr_gitlibrary(TARGET xatlas GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/xatlas.git" GIT_TAG "0fbe06a5368da13fcdc3ee48d4bdb2919ed2a249" INCLUDE_DIRS "source/xatlas" ) Win3rdPartyGlobalCacheAction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/downloadAndExtractZipFile.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## downloadAndExtractZipFile cmake function ## Provide a way to download zip file from public internet ZIP_URL host ## and to extract it in a specific EXCTRATED_ZIP_PATH destination. ## This function use 7-Zip external tool to maximize the compatibles formats. ## This will be not download again if the EXCTRATED_ZIP_PATH already exist and DL_FORCE is set to OFF. ## This will try to unzip file if already exist in the ZIP_DL_PATH. ## ## If EXCTRATED_ZIP_PATH and/or ZIP_DL_PATH are not full path, ## it will be interpreted relative to CMAKE_BINARY_DIR ## ## Usage example : ## include(downloadAndExtractZipFile) ## downloadAndExtractZipFile( ## http://www.cs.cornell.edu/~snavely/bundler/distr/bundler-v0.4-source.zip ## ${CMAKE_BINARY_DIR}/Bundler/bundler-v0.4-source.zip ## ${CMAKE_BINARY_DIR}/Bundler ## [DL_FORCE ON|OFF] ## [TIMEOUT] ## [CHECK_DIRTY_URL] ## ) ## ## option DL_FORCE will redownload the zip file [deafult to OFF] ## option TIMEOUT will end the unzip process after this period of time [default to 600s] ## option CHECK_DIRTY_URL will write into the given file the downloaded URL and then, ## next time, if the URL was updated, it detect it with this file ## and will download the last version. This prevent to alway set manually DL_FORCE to ON... ## if(__downloadAndExtractZipFile_cmake_INCLUDED__) return() else() set(__downloadAndExtractZipFile_cmake_INCLUDED__ ON) endif() function(downloadAndExtractZipFile ZIP_URL ZIP_DL_PATH EXCTRATED_ZIP_PATH) # message(STATUS "zipUrl=${ZIP_URL} zipDlPath=${ZIP_DL_PATH} extractedZipPath=${EXCTRATED_ZIP_PATH}") cmake_parse_arguments(dwnlezf "" "VERBOSE;DL_FORCE;TIMEOUT;CHECK_DIRTY_URL" "" ${ARGN}) set(PROGRAMFILESx86 "PROGRAMFILES(x86)") ## Check entries mandatory args if(IS_ABSOLUTE "${ZIP_DL_PATH}") else() set(ZIP_DL_PATH "${CMAKE_BINARY_DIR}/${ZIP_DL_PATH}") endif() if(IS_ABSOLUTE "${EXCTRATED_ZIP_PATH}") else() set(EXCTRATED_ZIP_PATH "${CMAKE_BINARY_DIR}/${EXCTRATED_ZIP_PATH}") endif() if(NOT EXISTS "${EXCTRATED_ZIP_PATH}") file(MAKE_DIRECTORY ${EXCTRATED_ZIP_PATH}) endif() # SB: Once, one of downloaded zip was corrupted by an error message coming from the server. if(EXISTS "${ZIP_DL_PATH}") # So I check for removing such corrupted files message("Removing previous ${ZIP_DL_PATH} (might be corrupted)") file(REMOVE "${ZIP_DL_PATH}") if(EXISTS "${dwnlezf_CHECK_DIRTY_URL}") # and remove the previous (corrupted) made 'Win3rdPartyUrl' file file(REMOVE "${dwnlezf_CHECK_DIRTY_URL}") endif() endif() ## Check entries optional args macro(readDirtyUrl ) if(dwnlezf_CHECK_DIRTY_URL) if(IS_ABSOLUTE "${dwnlezf_CHECK_DIRTY_URL}") else() set(dwnlezf_CHECK_DIRTY_URL "${CMAKE_BINARY_DIR}/${dwnlezf_CHECK_DIRTY_URL}") endif() get_filename_component(unzipDir ${EXCTRATED_ZIP_PATH} NAME) get_filename_component(unzipPath ${EXCTRATED_ZIP_PATH} PATH) message(STATUS "Checking ${unzipDir} [from ${unzipPath}]...") if(EXISTS "${dwnlezf_CHECK_DIRTY_URL}") get_filename_component(CHECK_DIRTY_URL_FILENAME ${dwnlezf_CHECK_DIRTY_URL} NAME) file(STRINGS "${dwnlezf_CHECK_DIRTY_URL}" contents) list(GET contents 0 downloadURL) list(REMOVE_AT contents 0) if("${downloadURL}" MATCHES "${ZIP_URL}") if(dwnlezf_VERBOSE) message(STATUS "Your downloaded version (URL) seems to be up to date. Let me check if nothing is missing... (see ${dwnlezf_CHECK_DIRTY_URL}).") endif() file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? unset(NAME_PATTERN_LIST) foreach(realPathPattern ${PATHNAME_PATTERN_LIST}) get_filename_component(itemName ${realPathPattern} NAME) list(APPEND NAME_PATTERN_LIST ${itemName}) endforeach() if(NAME_PATTERN_LIST) foreach(item ${contents}) list(FIND NAME_PATTERN_LIST ${item} id) if(${id} MATCHES "-1") message(STATUS "${item} is missing, your downloaded version content changed, need to redownload it.") set(ZIP_DL_FORCE ON) break() else() list(REMOVE_AT NAME_PATTERN_LIST ${id}) set(ZIP_DL_FORCE OFF) endif() endforeach() if(NOT ZIP_DL_FORCE AND NAME_PATTERN_LIST) message("Yours seems to be up to date (regarding to ${CHECK_DIRTY_URL_FILENAME})!\nBut there are additional files/folders into your downloaded destination (feel free to clean it if you want).") foreach(item ${NAME_PATTERN_LIST}) if(item) message("${item}") endif() endforeach() endif() endif() else() set(ZIP_DL_FORCE ON) message(STATUS "Your downloaded version is dirty (too old).") endif() else() file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? if(NOT PATHNAME_PATTERN_LIST) message("We found nothing into ${EXCTRATED_ZIP_PATH}, we will try to download it for you now.") endif() set(ZIP_DL_FORCE ON) endif() endif() endmacro() readDirtyUrl() if(NOT ZIP_DL_FORCE) return() ## do not need to further (as we are up to date, just exit the function endif() macro(writeDirtyUrl ) if(dwnlezf_CHECK_DIRTY_URL) file(WRITE "${dwnlezf_CHECK_DIRTY_URL}" "${ZIP_URL}\n") file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? unset(NAME_PATTERN_LIST) foreach(realPathPattern ${PATHNAME_PATTERN_LIST}) get_filename_component(itemName ${realPathPattern} NAME) list(APPEND NAME_PATTERN_LIST ${itemName}) endforeach() if(NAME_PATTERN_LIST) foreach(item ${NAME_PATTERN_LIST}) file(APPEND "${dwnlezf_CHECK_DIRTY_URL}" "${item}\n") endforeach() endif() endif() endmacro() if(dwnlezf_DL_FORCE) set(ZIP_DL_FORCE ON) endif() if(NOT dwnlezf_TIMEOUT) set(dwnlezf_TIMEOUT 600) endif() math(EXPR dwnlezf_TIMEOUT_MIN "${dwnlezf_TIMEOUT}/60") macro(unzip whichZipFile) if(NOT SEVEN_ZIP_CMD) find_program(SEVEN_ZIP_CMD NAMES 7z 7za p7zip DOC "7-zip executable" PATHS "$ENV{PROGRAMFILES}/7-Zip" "$ENV{${PROGRAMFILESx86}}/7-Zip" "$ENV{ProgramW6432}/7-Zip") endif() if(SEVEN_ZIP_CMD) if(dwnlezf_VERBOSE) message(STATUS "UNZIP: please, WAIT UNTIL ${SEVEN_ZIP_CMD} finished...\n(no more than ${dwnlezf_TIMEOUT_MIN} min)") else() message(STATUS "UNZIP...wait...") endif() execute_process( COMMAND ${SEVEN_ZIP_CMD} x ${whichZipFile} -y WORKING_DIRECTORY ${EXCTRATED_ZIP_PATH} TIMEOUT ${dwnlezf_TIMEOUT} RESULT_VARIABLE resVar OUTPUT_VARIABLE outVar ERROR_VARIABLE errVar ) if(${resVar} MATCHES "0") if(dwnlezf_VERBOSE) message(STATUS "SUCESS to unzip in ${EXCTRATED_ZIP_PATH}. Now we can remove the downloaded zip file.") endif() execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${whichZipFile}) mark_as_advanced(SEVEN_ZIP_CMD) else() message(WARNING "something wrong in ${EXCTRATED_ZIP_PATH}\n with \"${SEVEN_ZIP_CMD} x ${whichZipFile} -y\", redo or try to unzip by yourself...") message("unzip: resVar=${resVar}") message("unzip: outVar=${outVar}") message("unzip: errVar=${errVar}") message("unzip: failed or canceled or timeout") endif() else() message(WARNING "You need 7zip (http://www.7-zip.org/download.html) to unzip the downloaded dir.") set(SEVEN_ZIP_CMD "" CACHE FILEPATH "7-zip executable") mark_as_advanced(CLEAR SEVEN_ZIP_CMD) endif() endmacro() if(dwnlezf_VERBOSE) message(STATUS "Trying to look ${ZIP_DL_PATH} if a zip file exist...") endif() if(EXISTS "${ZIP_DL_PATH}") ## already downloaded, so just unzip it unzip(${ZIP_DL_PATH}) writeDirtyUrl() elseif(ZIP_DL_FORCE) ## the download part (+ unzip) message(STATUS "Let me try to download package for you : ${ZIP_URL}") if(dwnlezf_VERBOSE) message(STATUS "Downloading...\n SRC=${ZIP_URL}\n DEST=${ZIP_DL_PATH}.tmp\n INACTIVITY_TIMEOUT=180s") endif() file(DOWNLOAD ${ZIP_URL} ${ZIP_DL_PATH}.tmp INACTIVITY_TIMEOUT 360 STATUS status SHOW_PROGRESS) list(GET status 0 numResult) if(${numResult} MATCHES "0") if(dwnlezf_VERBOSE) message(STATUS "Download succeed, so let me rename the tmp file to unzip it") endif() execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${ZIP_DL_PATH}.tmp ${ZIP_DL_PATH}) unzip(${ZIP_DL_PATH}) writeDirtyUrl() else() list(GET status 1 errMsg) message(WARNING "DOWNLOAD ${ZIP_URL} to ${ZIP_DL_PATH} failed\n:${errMsg}") message(WARNING "OK, you need to download the ${ZIP_URL} manually and put it into ${ZIP_DL_PATH}") message("Take a look at the project website page to check available URL.") endif() endif() ## clean up the tmp downloaded file if(EXISTS "${ZIP_DL_PATH}.tmp") execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${ZIP_DL_PATH}.tmp) endif() endfunction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/git_describe.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr if(__git_describe_INCLUDED__) return() else() set(__git_describe_INCLUDED__ ON) endif() find_package(Git) if(Git_FOUND) message(STATUS "Git found: ${GIT_EXECUTABLE}") else() message(FATAL_ERROR "Git not found. Aborting") endif() macro(git_describe) cmake_parse_arguments(GIT_DESCRIBE "" "GIT_URL;GIT_BRANCH;GIT_COMMIT_HASH;GIT_TAG;GIT_VERSION;PATH" "" ${ARGN}) if(NOT GIT_DESCRIBE_PATH) set(GIT_DESCRIBE_PATH ${CMAKE_SOURCE_DIR}) endif() if(GIT_DESCRIBE_GIT_URL) # Get the current remote execute_process( COMMAND git remote WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE GIT_DESCRIBE_GIT_REMOTE OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) # Get the current remote execute_process( COMMAND git remote get-url ${GIT_DESCRIBE_GIT_REMOTE} WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_URL} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() if(GIT_DESCRIBE_GIT_BRANCH) # Get the current working branch execute_process( COMMAND git rev-parse --abbrev-ref HEAD WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_BRANCH} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() if(GIT_DESCRIBE_GIT_COMMIT_HASH) # Get the latest abbreviated commit hash of the working branch execute_process( COMMAND git rev-parse HEAD WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_COMMIT_HASH} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() if(GIT_DESCRIBE_GIT_TAG) # Get the tag execute_process( COMMAND git describe --tags --exact-match WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_TAG} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() if(GIT_DESCRIBE_GIT_VERSION) # Get the version from git describe execute_process( COMMAND git describe WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_VERSION} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) if(${GIT_DESCRIBE_GIT_VERSION} STREQUAL "") execute_process( COMMAND git rev-parse --abbrev-ref HEAD WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE GIT_DESCRIBE_GIT_VERSION_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) execute_process( COMMAND git log -1 --format=%h WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE GIT_DESCRIBE_GIT_VERSION_COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) set(${GIT_DESCRIBE_GIT_VERSION} "${GIT_DESCRIBE_GIT_VERSION_BRANCH}-${GIT_DESCRIBE_GIT_VERSION_COMMIT}") endif() endif() endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/include_once.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr macro(include_once file) get_filename_component(INCLUDE_ONCE_FILEPATH ${file} REALPATH) string(REGEX REPLACE "(\\.|\\/+|\\:|\\\\+)" "_" INCLUDE_ONCE_FILEPATH ${INCLUDE_ONCE_FILEPATH}) get_property(INCLUDED_${INCLUDE_ONCE_FILEPATH}_LOCAL GLOBAL PROPERTY INCLUDED_${INCLUDE_ONCE_FILEPATH}) if (INCLUDED_${INCLUDE_ONCE_FILEPATH}_LOCAL) return() else() set_property(GLOBAL PROPERTY INCLUDED_${INCLUDE_ONCE_FILEPATH} true) include(${file}) endif() endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/install_runtime.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## This file is mainly used to allow runtime installation ## There are some utilities cmake functions to ease the generic deployement (abstract common usage of cmake)... ## ## You cannot run your programm automaticaly from your CNAKE_BINARY_DIR when you build ## as it will miss all dependencies and ressources files... ## You have to run install target in order to test your programm. ## ## The only one function/macros you may use inside your sub-CMakeLists.txt (sub-project) is : ## ****************** ## ibr_install_target macro => see documentation at the end of this file ## ****************** ## It use these utilities cmake functions to abstract the installation in an uniform way for all sub-projects. ## if(__install_runtime_cmake_INCLUDED__) return() else() set(__install_runtime_cmake_INCLUDED__ ON) endif() ## ## Allow to write a resource config file which contain additional ressource paths ## (used by IBR_Common Resource system to load shaders and potentialy images, plugins and so on) ## ## ADD option list all the paths to add in the file (relative paths are interpreted relative to working dir of the executable) ## INSTALL option to specify where we want to install this file ## ## Example usage: ## resourceFile(ADD "shaders" "${PROJECT_NAME}_rsc" INSTALL bin) ## macro(resourceFile) cmake_parse_arguments(rsc "" "INSTALL;FILE_PATH;CONFIG_TYPE" "ADD" ${ARGN}) ## both args are directory path if(rsc_ADD) unset(IBR_RSC_FILE_CONTENT_LIST) if(EXISTS "${rsc_FILE_PATH}") file(READ "${rsc_FILE_PATH}" IBR_RSC_FILE_CONTENT) string(REGEX REPLACE "\n" ";" IBR_RSC_FILE_CONTENT_LIST "${IBR_RSC_FILE_CONTENT}") endif() list(APPEND IBR_RSC_FILE_CONTENT_LIST "${rsc_ADD}") list(REMOVE_DUPLICATES IBR_RSC_FILE_CONTENT_LIST) file(WRITE "${rsc_FILE_PATH}" "") foreach(rscDir ${IBR_RSC_FILE_CONTENT_LIST}) file(APPEND "${rsc_FILE_PATH}" "${rscDir}\n") endforeach() unset(rsc_ADD) endif() if(rsc_INSTALL) install(FILES ${rsc_FILE_PATH} CONFIGURATIONS ${rsc_CONFIG_TYPE} DESTINATION ${rsc_INSTALL}) unset(rsc_INSTALL) endif() endmacro() ## ## Install *.pdb generated file for the current cmake project ## assuming the output target name is the cmake project name. ## This macro is useful for crossplateform multi config mode. ## ## Usage Example: ## ## if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based ## installPDB(${PROJECT_NAME} ${CMAKE_BUILD_TYPE} RUNTIME_DEST bin ARCHIVE_DEST lib LIBRARY_DEST lib) ## endif() ## foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) ## installPDB(${PROJECT_NAME} ${CONFIG_TYPES} RUNTIME_DEST bin ARCHIVE_DEST lib LIBRARY_DEST lib) ## endforeach() ## macro(installPDB targetName configType) cmake_parse_arguments(instpdb "" "COMPONENT" "ARCHIVE_DEST;LIBRARY_DEST;RUNTIME_DEST" ${ARGN}) ## both args are directory path if(NOT MSVC) return() endif() ## Check if DESTINATION are provided according to the TYPE of the given target (see install command doc to see correspodances) get_target_property(type ${targetName} TYPE) if(${type} MATCHES "EXECUTABLE" AND instpdb_RUNTIME_DEST) set(pdb_DESTINATION ${instpdb_RUNTIME_DEST}) elseif(${type} MATCHES "STATIC_LIBRARY" AND instpdb_ARCHIVE_DEST) set(pdb_DESTINATION ${instpdb_ARCHIVE_DEST}) elseif(${type} MATCHES "MODULE_LIBRARY" AND instpdb_LIBRARY_DEST) set(pdb_DESTINATION ${instpdb_LIBRARY_DEST}) elseif(${type} MATCHES "SHARED_LIBRARY") if(WIN32 AND instpdb_RUNTIME_DEST) set(pdb_DESTINATION ${instpdb_RUNTIME_DEST}) else() set(pdb_DESTINATION ${instpdb_LIBRARY_DEST}) endif() endif() if(NOT pdb_DESTINATION) set(pdb_DESTINATION bin) ## default destination of the pdb file endif() if(NOT instpdb_COMPONENT) set(instpdb_COMPONENT ) else() set(instpdb_COMPONENT COMPONENT ${instpdb_COMPONENT}) endif() string(TOUPPER ${configType} CONFIG_TYPES_UC) get_target_property(PDB_PATH ${targetName} PDB_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}) get_target_property(confModePostfix ${targetName} ${CONFIG_TYPES_UC}_POSTFIX) if(NOT confModePostfix) set(confModePostfix "") endif() set_target_properties(${targetName} PROPERTIES PDB_NAME_${CONFIG_TYPES_UC} ${targetName}${confModePostfix}) get_target_property(PDB_NAME ${targetName} PDB_NAME_${CONFIG_TYPES_UC})# if not set, this is empty if(EXISTS "${PDB_PATH}/${PDB_NAME}.pdb") install(FILES "${PDB_PATH}/${PDB_NAME}.pdb" CONFIGURATIONS ${configType} DESTINATION ${pdb_DESTINATION} ${instpdb_COMPONENT} OPTIONAL) endif() endmacro() ## ## Add additional target to install a project independently and based on its component ## configMode is used to prevent default Release installation (we want also to install in other build/config type) ## macro(installTargetProject targetOfProject targetOfInstallProject) if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based set(configMode ${CMAKE_BUILD_TYPE}) elseif(MSVC) ## $(Configuration) will be one of the following : Debug, Release, MinSizeRel, RelWithDebInfo set(configMode $(Configuration)) endif() if(configMode) get_target_property(srcFiles ${targetOfProject} SOURCES) add_custom_target( ${targetOfInstallProject} #ALL ${CMAKE_COMMAND} -DBUILD_TYPE=${configMode} -DCOMPONENT=${targetOfInstallProject} -P ${CMAKE_BINARY_DIR}/cmake_install.cmake DEPENDS ${srcFiles} COMMENT "run the installation only for ${targetOfProject}" VERBATIM ) add_dependencies(${targetOfInstallProject} ${targetOfProject}) get_target_property(INSTALL_BUILD_FOLDER ${targetOfProject} FOLDER) set_target_properties(${targetOfInstallProject} PROPERTIES FOLDER ${INSTALL_BUILD_FOLDER}) endif() endmacro() # Collect all currently added targets in all subdirectories # # Parameters: # - _result the list containing all found targets # - _dir root directory to start looking from function(get_all_targets _result _dir) get_property(_subdirs DIRECTORY "${_dir}" PROPERTY SUBDIRECTORIES) foreach(_subdir IN LISTS _subdirs) get_all_targets(${_result} "${_subdir}") endforeach() get_directory_property(_sub_targets DIRECTORY "${_dir}" BUILDSYSTEM_TARGETS) set(${_result} ${${_result}} ${_sub_targets} PARENT_SCOPE) endfunction() ## ## Add targets for building and installing subdirectories macro(subdirectory_target target directory build_folder) add_custom_target(${target} COMMENT "run build for all projects in this directory" VERBATIM ) get_all_targets(ALL_TARGETS ${directory}) add_dependencies(${target} ${ALL_TARGETS}) add_custom_target(${target}_install ${CMAKE_COMMAND} -DBUILD_TYPE=$ -DCOMPONENT=${target}_install -P ${CMAKE_BINARY_DIR}/cmake_install.cmake COMMENT "run install for all projects in this directory" VERBATIM ) add_dependencies(${target}_install ${target}) set_target_properties(${target} PROPERTIES FOLDER ${build_folder}) set_target_properties(${target}_install PROPERTIES FOLDER ${build_folder}) endmacro() ## CMAKE install all required dependencies for an application (included system OS files like msvc*.dll for example) ## ## install_runtime( ## [TARGET name] ## [PLUGINS name [nameN ...] [PLUGIN_PATH_NAME currentPathName [FROM_REL_PATH matchDirFromCurrentPathName] [PLUGIN_PATH_DEST installDir] ] ## [PLUGINS ...] ## [DIRS path [pathN ...] ] ## [TARGET_LIBRARIES filePath [filePathN ...] ] ## [TARGET_PACKAGES packageName [packageNameN ...] ] ## [COMPONENT installComponentName] ## [PLAUSIBLES_POSTFIX Debug_postfix [MinSizeRel_postfix relWithDebInfo_postfix ...] ] ## [VERBOSE] ## ) ## ## installedFilePathTargetAppToResolve : the final installed targetApp absolute full file path name you want to resolve ## ## TARGET : The target app we want to install. If given, it's used to look for link libraries paths (best choice to use, strongly advised to use it) ## ## PLUGINS : Some application built use/load some plugins which can't be detect inside its binary, ## so, here you can specify which plugins the application use/load in order to install them ## and resolve also there dependencies. ## With PLUGINS multi FLAGS : ## PLUGIN_PATH_NAME : The current plugin full file path we want to install ## FROM_REL_PATH : [optional: default only the file is kept] From which matching dir of the plugin path we want to install (keep the directories structure) ## PLUGIN_PATH_DEST : [optional: default relative to executable directory] Where (full path to the install directory) we will install the plugin file (or file path) ## ## DIRS : A list of directories to looking for dependencies ## TARGET_LIBRARIES : DEPRECATED (use TARGET flag instead) : The cmake content variables used for the target_link_libraries( ...) ## TARGET_PACKAGES : DEPRECATED (use TARGET flag instead) : The cmake package names used for the findPackage(...) for your targetApp ## ADVICE: This flag add entries in cache (like: _DIR), it could be useful to fill these variable! ## COMPONENT : (default to runtime) Is the component name associated to the installation ## It is used when you want to install separatly some part of your projets (see install cmake doc) ## VERBOSE : For debug or to get more informations in the output console ## ## Usage: ## install_runtime(${CMAKE_INSTALL_PREFIX}/${EXECUTABLE_NAME}${CMAKE_EXECUTABLE_SUFFIX} ## VERBOSE ## TARGET ${PROJECT_NAME} ## PLAUSIBLES_POSTFIX _d ## PLUGINS ## PLUGIN_PATH_NAME ${PLUGIN_PATH_NAME}${CMAKE_SHARED_MODULE_SUFFIX} ## will be installed (default exec path if no PLUGINS_DEST) and then will be resolved ## FROM_REL_PATH plugins ## optional, used especially for keeping qt plugins tree structure ## PLUGIN_PATH_DEST ${CMAKE_INSTALL_PREFIX}/plugins ## (or relative path 'plugins' will be interpreted relative to installed executable) ## DIRS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ## TARGET_LIBRARIES ${OPENGL_LIBRARIES} ## DEPRECATED (use TARGET flag instead) ## ${GLEW_LIBRARIES} ## ${GLUT_LIBRARIES} ## ${Boost_LIBRARIES} ## ${SuiteSparse_LIBRARIES} ## ${CGAL_LIBRARIES} ## TARGET_PACKAGES OPENGL ## DEPRECATED (use TARGET flag instead) ## GLEW ## GLUT ## CGAL ## Boost ## SuiteSparse ## ) ## ## For plugins part, it use our internal parse_arguments_multi.cmake ## function(install_runtime installedFilePathTargetAppToResolve) set(optionsArgs "VERBOSE") set(oneValueArgs "COMPONENT;INSTALL_FOLDER;CONFIG_TYPE") set(multiValueArgs "DIRS;PLUGINS;TARGET_LIBRARIES;TARGET_PACKAGES;TARGET;PLAUSIBLES_POSTFIX") cmake_parse_arguments(inst_run "${optionsArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) if(IS_ABSOLUTE ${installedFilePathTargetAppToResolve}) else() set(installedFilePathTargetAppToResolve ${inst_run_INSTALL_FOLDER}/${installedFilePathTargetAppToResolve}) endif() get_filename_component(EXEC_NAME ${installedFilePathTargetAppToResolve} NAME_WE) get_filename_component(EXEC_PATH ${installedFilePathTargetAppToResolve} PATH) if(NOT inst_run_COMPONENT) set(inst_run_COMPONENT runtime) endif() ## Try to append as more possible as possible paths to find dependencies (deprecated since we can use target_properties to get back paths) set(libPaths ) foreach(libraryFileName ${inst_run_TARGET_LIBRARIES}) if(IS_DIRECTORY "${libraryFileName}") list(APPEND libPaths "${libraryFileName}") else() get_filename_component(libpath "${libraryFileName}" PATH) if(EXISTS "${libpath}") list(APPEND libPaths "${libpath}") endif() endif() endforeach() ## This macro is used internaly here to recursilvely get path of LINK_LIBRARIES of each non imported target ## Typically if you have 2 internal dependencies between cmake targets, we want cmake to be able to get back path where are these dependencies macro(recurseDepList target) get_target_property(linkLibs ${target} LINK_LIBRARIES) foreach(lib ${linkLibs}) string(FIND ${lib} ">" strId) ## cmake is using generator-expression? if(TARGET ${lib}) ## Skipping interface libraries as they're system ones get_target_property(type ${lib} TYPE) get_target_property(imported ${lib} IMPORTED) if(type STREQUAL "INTERFACE_LIBRARY") get_target_property(imp_loc ${lib} INTERFACE_IMPORTED_LOCATION) if(imp_loc) get_filename_component(imp_loc ${imp_loc} PATH) list(APPEND targetLibPath ${imp_loc}) endif() get_target_property(loc ${lib} INTERFACE_LOCATION) if(loc) get_filename_component(loc ${loc} PATH) list(APPEND targetLibPath ${loc}) endif() ## it's not a path but a single target name ## for build-target which are part of the current cmake configuration : nothing to do as cmake already know the output path ## for imported target, we need to look for theire imported location elseif(imported) get_target_property(imp_loc ${lib} IMPORTED_LOCATION) if(imp_loc) get_filename_component(imp_loc ${imp_loc} PATH) list(APPEND targetLibPath ${imp_loc}) endif() get_target_property(loc ${lib} LOCATION) if(loc) get_filename_component(loc ${loc} PATH) list(APPEND targetLibPath ${loc}) endif() else() recurseDepList(${lib}) endif() elseif(NOT ${strId} MATCHES -1) ## mean cmake use generator-expression (CMAKE VERSION > 3.0) string(REGEX MATCH ">:[@A-Za-z_:/.0-9-]+" targetLibPath ${lib}) string(REGEX REPLACE ">:([@A-Za-z_:/.0-9-]+)" "\\1" targetLibPath ${targetLibPath}) get_filename_component(targetLibPath ${targetLibPath} PATH) elseif(EXISTS ${lib}) set(targetLibPath ${lib}) get_filename_component(targetLibPath ${targetLibPath} PATH) else() #message(STATUS "[install_runtime] skip link library : ${lib} , of target ${target}") endif() if(targetLibPath) list(APPEND targetLinkLibsPathList ${targetLibPath}) endif() endforeach() if(targetLinkLibsPathList) list(REMOVE_DUPLICATES targetLinkLibsPathList) endif() endmacro() if(inst_run_TARGET) recurseDepList(${inst_run_TARGET}) if(targetLinkLibsPathList) list(APPEND libPaths ${targetLinkLibsPathList}) endif() endif() if(libPaths) list(REMOVE_DUPLICATES libPaths) foreach(libPath ${libPaths}) get_filename_component(path ${libPath} PATH) list(APPEND libPaths ${path}) endforeach() endif() ## possible speciale dir(s) according to the build system and OS if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(BUILD_TYPES_FOR_DLL "x64") if(WIN32) list(APPEND BUILD_TYPES_FOR_DLL "Win64") endif() else() set(BUILD_TYPES_FOR_DLL "x86") if(WIN32) list(APPEND BUILD_TYPES_FOR_DLL "Win32") endif() endif() ## Try to append as more as possible paths to find dependencies (here, mainly for *.dll) foreach(dir ${inst_run_DIRS} ${libPaths}) if(EXISTS "${dir}/bin") list(APPEND inst_run_DIRS "${dir}/bin") elseif(EXISTS "${dir}") list(APPEND inst_run_DIRS "${dir}") endif() endforeach() list(REMOVE_DUPLICATES inst_run_DIRS) foreach(dir ${inst_run_DIRS}) if(EXISTS "${dir}") list(APPEND argDirs ${dir}) foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}") list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}") endif() foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") endif() endforeach() if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") endif() endif() endforeach() foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) if(EXISTS "${dir}/${OUTPUTCONFIG}") list(APPEND argDirs "${dir}/${OUTPUTCONFIG}") endif() foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${dir}/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") list(APPEND argDirs "${dir}/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") endif() endforeach() endforeach() if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) if(EXISTS "${dir}/${CMAKE_BUILD_TYPE}") list(APPEND argDirs "${dir}/${CMAKE_BUILD_TYPE}") endif() foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${dir}/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") list(APPEND argDirs "${dir}/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") endif() endforeach() endif() endif() endforeach() if(argDirs) list(REMOVE_DUPLICATES argDirs) endif() ## Try to append as more possible paths to find dependencies (here, mainly for *.dll) foreach(packageName ${inst_run_TARGET_PACKAGES}) if(EXISTS "${${packageName}_DIR}") list(APPEND packageDirs ${${packageName}_DIR}) list(APPEND packageDirs ${${packageName}_DIR}/bin) foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}") endif() foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") endif() endforeach() if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") endif() endif() endforeach() foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) if(EXISTS "${${packageName}_DIR}/bin/${OUTPUTCONFIG}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${OUTPUTCONFIG}") endif() foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${${packageName}_DIR}/bin/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") endif() endforeach() endforeach() if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) if(EXISTS "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}") endif() foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") endif() endforeach() endif() else() set(${packageName}_DIR "$ENV{${packageName}_DIR}" CACHE PATH "${packageName}_DIR root directory for looking for dirs containning *.dll") endif() endforeach() if(packageDirs) list(REMOVE_DUPLICATES packageDirs) endif() set(dirsToLookFor "${EXEC_PATH}") if(packageDirs) list(APPEND dirsToLookFor ${packageDirs}) endif() if(argDirs) list(APPEND dirsToLookFor ${argDirs}) endif() get_property(used_LINK_DIRECTORIES DIRECTORY PROPERTY LINK_DIRECTORIES) if (used_LINK_DIRECTORIES) list(APPEND dirsToLookFor ${used_LINK_DIRECTORIES}) list(REMOVE_DUPLICATES dirsToLookFor) endif() ## handle plugins set(pluginsList "") include(parse_arguments_multi) ## this function will process recursively items of the sub-list [default print messages] function(parse_arguments_multi_function results) cmake_parse_arguments(pamf "VERBOSE" "PLUGIN_PATH_DEST;FROM_REL_PATH;EXEC_PATH;COMPONENT" "" ${ARGN}) ## EXEC_PATH and COMPONENT are for exclusive internal use list(REMOVE_DUPLICATES pamf_UNPARSED_ARGUMENTS) foreach(PLUGIN_PATH_NAME ${pamf_UNPARSED_ARGUMENTS}) if(EXISTS ${PLUGIN_PATH_NAME}) if(IS_DIRECTORY ${PLUGIN_PATH_NAME}) if(pamf_VERBOSE) message(WARNING "${PLUGIN_PATH_NAME} IS_DIRECTORY, cannot installed a directory, please give a path filename") endif() else() if(NOT pamf_PLUGIN_PATH_DEST) set(PLUGIN_PATH_DEST ${pamf_EXEC_PATH}) ## the default dest value else() set(PLUGIN_PATH_DEST ${pamf_PLUGIN_PATH_DEST}) endif() if(pamf_FROM_REL_PATH) file(TO_CMAKE_PATH ${PLUGIN_PATH_NAME} PLUGIN_PATH_NAME) get_filename_component(PLUGIN_PATH ${PLUGIN_PATH_NAME} PATH) unset(PLUGIN_PATH_LIST) unset(PLUGIN_PATH_LIST_COUNT) unset(PLUGIN_REL_PATH_LIST) unset(PLUGIN_REL_PATH) string(REPLACE "/" ";" PLUGIN_PATH_LIST ${PLUGIN_PATH}) ## create a list of dir list(FIND PLUGIN_PATH_LIST ${pamf_FROM_REL_PATH} id) list(LENGTH PLUGIN_PATH_LIST PLUGIN_PATH_LIST_COUNT) if(${id} GREATER 0) math(EXPR id "${id}+1") ## matches relative path not include math(EXPR PLUGIN_PATH_LIST_COUNT "${PLUGIN_PATH_LIST_COUNT}-1") ## the end of the list foreach(i RANGE ${id} ${PLUGIN_PATH_LIST_COUNT}) list(GET PLUGIN_PATH_LIST ${i} out) list(APPEND PLUGIN_REL_PATH_LIST ${out}) endforeach() foreach(dir ${PLUGIN_REL_PATH_LIST}) set(PLUGIN_REL_PATH "${PLUGIN_REL_PATH}/${dir}") endforeach() endif() set(PLUGIN_PATH_DEST ${PLUGIN_PATH_DEST}${PLUGIN_REL_PATH}) endif() install(FILES ${PLUGIN_PATH_NAME} CONFIGURATIONS ${inst_run_CONFIG_TYPE} DESTINATION ${PLUGIN_PATH_DEST} COMPONENT ${pamf_COMPONENT}) get_filename_component(pluginName ${PLUGIN_PATH_NAME} NAME) if(IS_ABSOLUTE ${PLUGIN_PATH_DEST}) else() set(PLUGIN_PATH_DEST ${inst_run_INSTALL_FOLDER}/${PLUGIN_PATH_DEST}) endif() list(APPEND pluginsList ${PLUGIN_PATH_DEST}/${pluginName}) endif() else() message(WARNING "You need to provide a valid PLUGIN_PATH_NAME") set(pluginsList ) endif() endforeach() set(${results} ${pluginsList} PARENT_SCOPE) endfunction() if(inst_run_VERBOSE) list(APPEND extra_flags_to_add VERBOSE) endif() list(APPEND extra_flags_to_add EXEC_PATH ${EXEC_PATH} COMPONENT ${inst_run_COMPONENT}) ## for internal use inside overloaded function list(LENGTH inst_run_PLUGINS inst_run_PLUGINS_count) if(${inst_run_PLUGINS_count} GREATER 0) parse_arguments_multi(PLUGIN_PATH_NAME inst_run_PLUGINS ${inst_run_PLUGINS} ## see internal overload parse_arguments_multi_function for processing each sub-list NEED_RESULTS ${inst_run_PLUGINS_count} ## this is used to check when we are in the first loop (in order to reset parse_arguments_multi_results) EXTRAS_FLAGS ${extra_flags_to_add} ## this is used to allow catching additional internal flags of our overloaded function ) endif() #message(parse_arguments_multi_results = ${parse_arguments_multi_results}) list(APPEND pluginsList ${parse_arguments_multi_results}) ## Install rules for required system runtimes such as MSVCRxx.dll set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP ON) include(InstallRequiredSystemLibraries) if(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS) install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} CONFIGURATIONS ${inst_run_CONFIG_TYPE} DESTINATION ${EXEC_PATH} COMPONENT ${inst_run_COMPONENT} ) endif() ## print what we are doing to do if(inst_run_VERBOSE) message(STATUS "[install_runtime] On install target call, cmake will try to resolve dependencies for given app:\n ${installedFilePathTargetAppToResolve} (with plausible postfix: ${inst_run_PLAUSIBLES_POSTFIX})") if(pluginsList) message(STATUS " and also for plugins :") foreach(plugin ${pluginsList}) message(STATUS " ${plugin}") endforeach() endif() message(STATUS " Looking for dependencies into:") foreach(dir ${dirsToLookFor}) message(STATUS " ${dir}") endforeach() endif() ## Install rules for required dependencies libs/plugins for the target app ## will resolve all installed target files with config modes postfixes string(TOUPPER ${inst_run_CONFIG_TYPE} inst_run_CONFIG_TYPE_UC) get_target_property(postfix ${inst_run_TARGET} "${inst_run_CONFIG_TYPE_UC}_POSTFIX") install(CODE "set(target \"${inst_run_TARGET}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE "set(inst_run_CONFIG_TYPE \"${inst_run_CONFIG_TYPE}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE "set(inst_run_INSTALL_FOLDER \"${inst_run_INSTALL_FOLDER}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE "set(app \"${EXEC_PATH}/${EXEC_NAME}${postfix}${CMAKE_EXECUTABLE_SUFFIX}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE "set(dirsToLookFor \"${dirsToLookFor}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE [[ if("${CMAKE_INSTALL_CONFIG_NAME}" STREQUAL "${inst_run_CONFIG_TYPE}") message(STATUS "Installing ${target} dependencies...") file(GET_RUNTIME_DEPENDENCIES EXECUTABLES ${app} RESOLVED_DEPENDENCIES_VAR _r_deps UNRESOLVED_DEPENDENCIES_VAR _u_deps CONFLICTING_DEPENDENCIES_PREFIX _c_deps DIRECTORIES ${dirsToLookFor} PRE_EXCLUDE_REGEXES "api-ms-*" POST_EXCLUDE_REGEXES ".*system32/.*\\.dll" ".*SysWOW64/.*\\.dll" ) if(_u_deps) message(WARNING "There were unresolved dependencies for executable ${EXEC_FILE}: \"${_u_deps}\"!") endif() if(_c_deps_FILENAMES) message(WARNING "There were conflicting dependencies for executable ${EXEC_FILE}: \"${_c_deps_FILENAMES}\"!") endif() foreach(_file ${_r_deps}) file(INSTALL DESTINATION "${inst_run_INSTALL_FOLDER}/bin" TYPE SHARED_LIBRARY FOLLOW_SYMLINK_CHAIN FILES "${_file}" ) endforeach() endif() ]] COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE} ) endfunction() ## High level macro to install resources in the correct folder ## ## EXECUTABLE: [opt] option to copy files as programs ## RELATIVE : [opt] copy files relatively to current folder ## TYPE : [opt] type and folder where to store the files ## FOLDER : [opt] subfolder to use ## FILES : [opt] contains a list of resources files to copy to install folder macro(ibr_install_rsc target) cmake_parse_arguments(install_rsc_${target} "EXECUTABLE;RELATIVE" "TYPE;FOLDER" "FILES" ${ARGN}) set(rsc_target "${target}_${install_rsc_${target}_TYPE}") if(install_rsc_${target}_FOLDER) set(rsc_folder "${install_rsc_${target}_TYPE}/${install_rsc_${target}_FOLDER}") else() set(rsc_folder "${install_rsc_${target}_TYPE}") endif() add_custom_target(${rsc_target} COMMENT "run the ${install_rsc_${target}_TYPE} installation only for ${target} (component ${rsc_target})" VERBATIM) foreach(scriptFile ${install_rsc_${target}_FILES}) if(install_rsc_${target}_RELATIVE) file(RELATIVE_PATH relativeFilename ${CMAKE_CURRENT_SOURCE_DIR} ${scriptFile}) else() get_filename_component(relativeFilename ${scriptFile} NAME) endif() if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based add_custom_command(TARGET ${rsc_target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${scriptFile} ${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}/${relativeFilename}) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) add_custom_command(TARGET ${rsc_target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${scriptFile} ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}/${relativeFilename}) endforeach() endforeach() get_target_property(INSTALL_RSC_BUILD_FOLDER ${target} FOLDER) set_target_properties(${rsc_target} PROPERTIES FOLDER ${INSTALL_RSC_BUILD_FOLDER}) add_dependencies(${target} ${rsc_target}) add_dependencies(PREBUILD ${rsc_target}) if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based resourceFile(ADD ${rsc_folder} CONFIG_TYPE ${CMAKE_BUILD_TYPE} FILE_PATH "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/ibr_resources.ini") if(install_rsc_${target}_EXECUTABLE) install( PROGRAMS ${install_rsc_${target}_FILES} CONFIGURATIONS ${CMAKE_BUILD_TYPE} DESTINATION "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}" ) else() install( FILES ${install_rsc_${target}_FILES} CONFIGURATIONS ${CMAKE_BUILD_TYPE} DESTINATION "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}" ) endif() endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) resourceFile(ADD ${rsc_folder} CONFIG_TYPE ${CONFIG_TYPES} FILE_PATH "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/ibr_resources.ini") if(install_rsc_${target}_EXECUTABLE) install( PROGRAMS ${install_rsc_${target}_FILES} CONFIGURATIONS ${CONFIG_TYPES} DESTINATION "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}" ) else() install( FILES ${install_rsc_${target}_FILES} CONFIGURATIONS ${CONFIG_TYPES} DESTINATION "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}" ) endif() endforeach() endmacro() ## High level macro to install in an homogen way all our ibr targets (it use some functions inside this file) ## ## RSC_FILE_ADD : [opt] is used to auto write/append relative paths of target resources into a common file ## INSTALL_PDB : [opt] is used to auto install PDB file (when using MSVC according to the target type) ## STANDALONE : [opt] bool ON/OFF var to call install_runtime or not (for bundle resolution) ## DIRS : [opt] used if STANDALONE set to ON, see install_runtime doc ## PLUGINS: [opt] used if STANDALONE set to ON, see install_runtime doc ## MSVC_CMD : [opt] used to specify an absolute filePathName application to launch with the MSVC IDE Debugger associated to this target (project file) ## MSVC_ARGS : [opt] load the MSVC debugger with correct settings (app path, args, working dir) ## macro(ibr_install_target target) cmake_parse_arguments(ibrInst${target} "VERBOSE;INSTALL_PDB" "COMPONENT;MSVC_ARGS;STANDALONE;RSC_FOLDER" "SHADERS;RESOURCES;SCRIPTS;DIRS;PLUGINS" ${ARGN}) if(ibrInst${target}_RSC_FOLDER) set(rsc_folder "${ibrInst${target}_RSC_FOLDER}") else() set(rsc_folder "${target}") endif() if(ibrInst${target}_SHADERS) ibr_install_rsc(${target} EXECUTABLE TYPE "shaders" FOLDER ${rsc_folder} FILES "${ibrInst${target}_SHADERS}") endif() if(ibrInst${target}_RESOURCES) ibr_install_rsc(${target} TYPE "resources" FOLDER ${rsc_folder} FILES "${ibrInst${target}_RESOURCES}") endif() if(ibrInst${target}_SCRIPTS) ibr_install_rsc(${target} EXECUTABLE TYPE "scripts" FOLDER ${rsc_folder} FILES "${ibrInst${target}_SCRIPTS}") endif() if(ibrInst${target}_COMPONENT) set(installCompArg COMPONENT ${ibrInst${target}_COMPONENT}) ## Create a custom install target based on COMPONENT installTargetProject(${target} ${ibrInst${target}_COMPONENT}) endif() if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based set_target_properties(${target} PROPERTIES ${CMAKE_BUILD_TYPE}_POSTFIX "${CMAKE_${CMAKE_BUILD_TYPE}_POSTFIX}") get_target_property(CURRENT_TARGET_BUILD_TYPE_POSTFIX ${target} ${CMAKE_BUILD_TYPE}_POSTFIX) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) set_target_properties(${target} PROPERTIES ${CONFIG_TYPES_UC}_POSTFIX "${CMAKE_${CONFIG_TYPES_UC}_POSTFIX}") get_target_property(CURRENT_TARGET_BUILD_TYPE_POSTFIX ${target} ${CONFIG_TYPES_UC}_POSTFIX) endforeach() ## Specify default installation rules if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based install(TARGETS ${target} CONFIGURATIONS ${CMAKE_BUILD_TYPE} LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} ) install(TARGETS ${target} CONFIGURATIONS ${CMAKE_BUILD_TYPE} LIBRARY DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} ARCHIVE DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} ) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) install(TARGETS ${target} CONFIGURATIONS ${CONFIG_TYPES} LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} ) install(TARGETS ${target} CONFIGURATIONS ${CONFIG_TYPES} LIBRARY DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} ARCHIVE DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} ) endforeach() if(ibrInst${target}_INSTALL_PDB) if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based installPDB(${target} ${CMAKE_BUILD_TYPE} LIBRARY_DEST ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ARCHIVE_DEST ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} RUNTIME_DEST ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) installPDB(${target} ${CONFIG_TYPES} LIBRARY_DEST ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ARCHIVE_DEST ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} RUNTIME_DEST ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ) endforeach() endif() ## install dynamic necessary dependencies if(ibrInst${target}_STANDALONE) get_target_property(type ${target} TYPE) if(${type} MATCHES "EXECUTABLE") if(ibrInst${target}_VERBOSE) set(VERBOSE VERBOSE) else() set(VERBOSE ) endif() if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based install_runtime(bin/${target}${CMAKE_EXECUTABLE_SUFFIX} ## default relative to CMAKE_INSTALL_PREFIX INSTALL_FOLDER "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}" CONFIG_TYPE ${CMAKE_BUILD_TYPE} ${VERBOSE} TARGET ${target} ${installCompArg} PLUGINS ## will be installed ${ibrInst${target}_PLUGINS} DIRS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${ibrInst${target}_DIRS} ) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) install_runtime(bin/${target}${CMAKE_EXECUTABLE_SUFFIX} ## default relative to CMAKE_INSTALL_PREFIX INSTALL_FOLDER "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}" CONFIG_TYPE ${CONFIG_TYPES} ${VERBOSE} TARGET ${target} ${installCompArg} PLUGINS ## will be installed ${ibrInst${target}_PLUGINS} DIRS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${ibrInst${target}_DIRS} ) endforeach() else() message(WARNING "STANDALONE option is only compatible with EXECUTABLES target type. Skip the STANDALONE installation process.") endif() endif() ## Provide a way to directly load the MSVC debugger with correct settings if(MSVC) if(ibrInst${target}_MSVC_CMD) ## command absolute filePathName is optional as the default is to use the installed target file application set(msvcCmdArg COMMAND ${ibrInst${target}_MSVC_CMD}) ## flag following by the value (both to pass to the MSVCsetUserCommand function) endif() if(ibrInst${target}_MSVC_ARGS) ## args (between quotes) are optional set(msvcArgsArg ARGS ${ibrInst${target}_MSVC_ARGS}) ## flag following by the value (both to pass to the MSVCsetUserCommand function) endif() get_target_property(type ${target} TYPE) if( (ibrInst${target}_MSVC_CMD OR ibrInst${target}_MSVC_ARGS) OR (${type} MATCHES "EXECUTABLE") ) include(MSVCsetUserCommand) if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based MSVCsetUserCommand( ${target} PATH ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}} ##FILE option not necessary since it deduced from targetName ARGS "${SIBR_PROGRAMARGS}" ${msvcCmdArg} #${msvcArgsArg} WORKING_DIR ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}} ) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) MSVCsetUserCommand( ${target} PATH ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}} ##FILE option not necessary since it deduced from targetName ARGS "${SIBR_PROGRAMARGS}" ${msvcCmdArg} #${msvcArgsArg} WORKING_DIR ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}} ) endforeach() elseif(NOT ${type} MATCHES "EXECUTABLE") #message("Cannot set MSVCsetUserCommand with target ${target} without COMMAND parameter as it is not an executable (skip it)") endif() endif() endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/parse_arguments_multi.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr if(NOT WIN32 OR __parse_arguments_multi_cmake_INCLUDED__) return() else() set(__parse_arguments_multi_cmake_INCLUDED__ ON) endif() ## This macro allow to process repeating multi value args from a given function which use cmake_parse_arguments module. ## ## cmake_parse_arguments multi args standard behavior: ## function(foo) ## cmake_parse_arguments(arg "" "" "MULTI" ${ARGN}) ## foreach(item IN LISTS arg_MULTI) ## message(STATUS "${item}") ## endforeach() ## endfunction() ## foo(MULTI x y MULTI z w) ## The above code outputs 'z' and 'w'. It originally expected it to output all of 'x' 'y' 'z' 'w'. ## ## Using this macro inside a function which want to handle repeating multi args values ## will recursively iterate onto the multi tags list to process each sub list. ## It take as 1st argument the subTag flag to separate sub list from the main multi list. ## It take as 2nd argument the nameList of the main multi list (the multiValuesArgs from cmake_parse_arguments: here it is MULTI in the example) ## and that's why it is important that it should be a macro and not a function (to get access to external variable). ## Then you give the content of this list allowing to be processed by the macro. ## ## parse_arguments_multi macro call a parse_arguments_multi_function which do actually the process from the given sub-list. ## By default this function only print infos about what variables you are trying to pass/process (only verbose messages), ## but, by overloading this cmake function, you will be able to externalize the process of your multi argument list. ## ## Usage (into a function) : ## parse_arguments_multi( ## [NEED_RESULTS ] [EXTRAS_FLAGS <...> <...> ...] ## ) ## ## Simple usage example [user point of view]: ## foo(MULTI ## SUB_MULTI x y ## SUB_MULTI z w ## ) ## ## Simple usage example [inside a function]: ## function(foo) ## cmake_parse_arguments(arg "" "" "MULTI" ${ARGN}) ## include(parse_arguments_multi) ## function(parse_arguments_multi_function ) ## #message("I'm an overloaded cmake function used by parse_arguments_multi") ## #message("I'm processing first part of my sub list: ${ARGN}") ## message("ARGV0=${ARGV0}") ## message("ARGV1=${ARGV1}") ## endfunction() ## parse_arguments_multi(SUB_MULTI arg_MULTI ${arg_MULTI}) ## this function will process recusively items of the sub-list [default print messages] ## endfunction() ## ## Will print: ## ARGV0=z ## ARGV1=w ## ARGV0=x ## ARGV1=y ## ## WARNING : DO NEVER ADD EXTRA THINGS TO parse_arguments_multi MACRO : ## parse_arguments_multi(SUB_MULTI arg_MULTI ${arg_MULTI} EXTRAS foo bar SOMTHING) => will failed !! ## use EXTRAS_FLAGS instead !! ## ## Advanced usage example [user point of view]: ## bar(C:/prout/test.exe VERBOSE ## PLUGINS ## PLUGIN_PATH_NAME x PLUGIN_PATH_DEST w ## PLUGIN_PATH_NAME a b PLUGIN_PATH_DEST y ## PLUGIN_PATH_NAME c ## ) ## ## Advanced usage example [inside a function]: ## function(bar execFilePathName) ## cmake_parse_arguments(arg "VERBOSE" "" "PLUGINS" ${ARGN}) ## ## include(parse_arguments_multi) ## function(parse_arguments_multi_function results) ## cmake_parse_arguments(pamf "VERBOSE" "PLUGIN_PATH_DEST;EXEC_PATH" "" ${ARGN}) ## EXEC_PATH is for internal use ## message("") ## message("I'm an overloaded cmake function used by parse_arguments_multi from install_runtime function") ## message("I'm processing first part of my sub list: ${ARGN}") ## message("PLUGIN_PATH_NAME = ${pamf_UNPARSED_ARGUMENTS}") ## message(pamf_VERBOSE = ${pamf_VERBOSE}) ## message("pamf_PLUGIN_PATH_DEST = ${pamf_PLUGIN_PATH_DEST}") ## message(pamf_EXEC_PATH = ${pamf_EXEC_PATH}) ## if(NOT ${pamf_PLUGIN_PATH_DEST}) ## set(pamf_PLUGIN_PATH_DEST ${pamf_EXEC_PATH}) ## endif() ## foreach(plugin ${pamf_UNPARSED_ARGUMENTS}) ## get_filename_component(pluginName ${plugin} NAME) ## list(APPEND pluginsList ${pamf_PLUGIN_PATH_DEST}/${pluginName}) ## endforeach() ## set(${results} ${pluginsList} PARENT_SCOPE) ## endfunction() ## ## if(arg_VERBOSE) ## list(APPEND extra_flags_to_add VERBOSE) ## here we transmit the VERNOSE flag ## endif() ## get_filename_component(EXEC_PATH ${execFilePathName} PATH) ## will be the default value if PLUGIN_PATH_DEST option is not provided ## list(APPEND extra_flags_to_add EXEC_PATH ${EXEC_PATH}) ## list(LENGTH arg_PLUGINS arg_PLUGINS_count) ## parse_arguments_multi(PLUGIN_PATH_NAME arg_PLUGINS ${arg_PLUGINS} ## NEED_RESULTS ${arg_PLUGINS_count} ## this is used to check when we are in the first loop (in order to reset parse_arguments_multi_results) ## EXTRAS_FLAGS ${extra_flags_to_add} ## this is used to allow catching VERBOSE and PLUGIN_PATH_DEST flags of our overloaded function ## ) ## endfunction() ## message(parse_arguments_multi_results = ${parse_arguments_multi_results}) ## list of the whole pluginsList ## #Will print w/x;a/y;b/y;C:/prout/c ## ## NOTE that here, since our overloaded function need to provide a result list, we use the other parse_arguments_multi_function signature (the which one with a results arg) ## function(parse_arguments_multi_function_default) ## used in case of you want to reset the default behavior of this function process message("[default function] parse_arguments_multi_function(ARGC=${ARGC} ARGV=${ARGV} ARGN=${ARGN})") message("This function is used by parse_arguments_multi and have to be overloaded to process sub list of multi values args") endfunction() function(parse_arguments_multi_function ) ## => the function to overload parse_arguments_multi_function_default(${ARGN}) endfunction() ## first default signature above ##------------------------------ ## second results signature behind function(parse_arguments_multi_function_default result) ## used in case of you want to reset the default behavior of this function process message("[default function] parse_arguments_multi_function(ARGC=${ARGC} ARGV=${ARGV} ARGN=${ARGN})") message("This function is used by parse_arguments_multi and have to be overloaded to process sub list of muluti values args") endfunction() function(parse_arguments_multi_function result) ## => the function to overload parse_arguments_multi_function_default(result ${ARGN}) endfunction() ## => the macro to use inside your function which use cmake_parse_arguments # NOTE: entry point of parse_arguments_multi, which is called from win3rdPart) macro(parse_arguments_multi multiArgsSubTag multiArgsList #<${multiArgsList}> the content of the list ) # message (STATUS "") # message(STATUS "calling parse_arguemnts_multi defined in parse_arguments_multi.cmake:141") # message(STATUS "multiArgsSubTag = ${multiArgsSubTag}") # CHECK_CACHED_VAR # message(STATUS "multiArgsList = ${multiArgsList}") # it contains the name of the variable which is holding the list i.e w3p_MULTI_SET # message(STATUS "value of ${multiArgsList} = ${${multiArgsList}}") # a semicolon separated list of values passed to SET or MULTISET keyword in win3rdParty # message(STATUS "actual values ARGN = ${ARGN}") # the same as ${${multiArgsList}} ## INFO ## starting from CMake 3.5 cmake_parse_arguments is not a module anymore and now is a native CMake command. ## the behaviour is different though ## In CMake 3.4, if you pass multiple times a multi_value_keyword, CMake returns the values of the LAST match ## In CMake 3.5 and above, CMake returns the whole list of values that were following that multi_value_keyword ## example: ## cmake_parse_arguments( ## ## "" # options ## "" # one value keywords ## "MY_MULTI_VALUE_TAG" ## MY_MULTI_VALUE_TAG value1 value2 ## MY_MULTI_VALUE_TAG value3 value4 ## MY_MULTI_VALUE_TAG value5 value6 ## ) ## result in CMake 3.4 ## _MY_MULTI_VALUE_TAG = "value5;value6" ## ## result in CMake 3.8 ## _MY_MULTI_VALUE_TAG = "value5;value6" #include(CMakeParseArguments) #module CMakeParseArguments is obsolete since cmake 3.5 # cmake_parse_arguments ( args) # : options (flags) pass to the macro # : options that neeed a value # : options that neeed more than one value cmake_parse_arguments(_pam "" "NEED_RESULTS" "${multiArgsSubTag};EXTRAS_FLAGS" ${ARGN}) ## multiArgsList is the name of the list used by the multiValuesOption flag from the cmake_parse_arguments of the user function ## that's why we absolutly need to use MACRO here (and also for passing parse_arguments_multi_results when NEED_RESULTS flag is set) ## for debugging #message("") #message("[parse_arguments_multi] => ARGN = ${ARGN}") #message("_pam_NEED_RESULTS=${_pam_NEED_RESULTS}") #message("_pam_EXTRAS_FLAGS=${_pam_EXTRAS_FLAGS}") # foreach(var ${_pam_${multiArgsSubTag}}) # message("arg=${var}") # endforeach() if (${CMAKE_VERSION} VERSION_GREATER "3.5") # lets make ${_pam_${multiArgsSubTag}} behave as it is in version 3.4 # that means, cmake_parse_arguments should have only the last values of a multi set for a given keyword # message("") # message("values in multiArgsList") # foreach(val ${${multiArgsList}}) # message(STATUS ${val}) # endforeach() # message("end values in multiArgsList") set(lastIndexFound OFF) list(LENGTH ${multiArgsList} argnLength) # message(${argnLength}) math(EXPR argnLength "${argnLength}-1") # make last index a valid one set(recordIndex 0) set(records "") # clear records list set(record0 "") # clear first record list foreach(iter RANGE ${argnLength}) list(GET ${multiArgsList} ${iter} value) # message(STATUS "index=${iter} value=${value}") if (${value} STREQUAL ${multiArgsSubTag}) if (lastIndexFound) list(APPEND records ${recordIndex}) # records store the list NAMES math(EXPR recordIndex "${recordIndex}+1") set(record${recordIndex} "") # clear record list else () set(lastIndexFound ON) endif() set(lastIndex ${iter}) else () if (lastIndexFound) # message(${value}) list(APPEND record${recordIndex} ${value}) endif() endif() endforeach() # save the last list of values if (lastIndexFound) list(APPEND records ${recordIndex}) # records store the list NAMES endif() # set multiArgsList to make it behave like CMake 3.4 # message("") # message("using my records") foreach(recordName ${records}) # message(${recordName}) # foreach(value ${record${recordName}}) # message(${value}) # endforeach() # message("") set(_pam_${multiArgsSubTag} ${record${recordName}}) endforeach() # message(${_pam_${multiArgsSubTag}}) # message("") # message("using argn") # foreach(value ${ARGN}) # message(${value}) # endforeach() endif() # end if cmake > 3.5 # message("values with pam ${_pam_${multiArgsSubTag}}") ## check and init list(LENGTH ${multiArgsList} globalListCount) # GLUT_TRACE: globalListCound=16 in CMake3.4 and CMake3.8 # message(STATUS "nr items in multiArgsList: ${globalListCount}") math(EXPR globalListCount "${globalListCount}-1") ## because it will contain [multiArgsSubTag + ${multiArgsList}] if(_pam_NEED_RESULTS) if(${globalListCount} EQUAL ${_pam_NEED_RESULTS}) ## first time we enter into this macro (because we call it recursively) unset(parse_arguments_multi_results) endif() endif() ## process the part of the multi agrs list ## ${ARGN} shouldn't be passed to the function in order to avoid missmatch size list ${multiArgsList} and _pam_${multiArgsSubTag} ## if you want to pass extra internal flags from your function to this callback, use EXTRAS_FLAGS if(_pam_NEED_RESULTS) parse_arguments_multi_function(parse_arguments_multi_function_result ${_pam_${multiArgsSubTag}} ${_pam_EXTRAS_FLAGS}) list(APPEND parse_arguments_multi_results ${parse_arguments_multi_function_result}) else() # message(STATUS "about to call parse_arguments_multi_function in parse_arguments_multi.cmake:177 ${_pam_${multiArgsSubTag}} and extra flags ${_pam_EXTRAS_FLAGS}") parse_arguments_multi_function(${_pam_${multiArgsSubTag}} ${_pam_EXTRAS_FLAGS}) endif() ## remove just processed items from the main list to process (multiArgsList) list(REVERSE ${multiArgsList}) list(LENGTH _pam_${multiArgsSubTag} subTagListCount) unset(ids) foreach(id RANGE ${subTagListCount}) list(APPEND ids ${id}) endforeach() list(REMOVE_AT ${multiArgsList} ${ids}) list(REVERSE ${multiArgsList}) ## test if remain sub multi list to process (recursive call) or finish the process list(LENGTH ${multiArgsList} mainTagListCount) if(${mainTagListCount} GREATER 1) ## do not pass ${ARGN} just because it will re pass the initial 2 inputs args and we wont as they was consumed (in order to avoir conflicts) # message(STATUS "about to call a parse_arguments_multi but without knowing where the definition is going to be taken from") parse_arguments_multi(${multiArgsSubTag} ${multiArgsList} ${${multiArgsList}} NEED_RESULTS ${_pam_NEED_RESULTS} EXTRAS_FLAGS ${_pam_EXTRAS_FLAGS} ) endif() endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/linux/sibr_library.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr # NOTE # This feature is used to easily download, store and link external dependencies. This # requires to prepare pre-compiled libraries (to download). For now, packages have # only be prepare for Windows 64-bit with Visual Studio 2012. (You should re-build # everything if you want to use another version of Visual Studio/ another compiler). # NOTE ABOUT UNIX SYSTEMS # There is no need for "searching mechanism". This function is discard and your # libraries should be installed is the standard folders that are: # # /usr/include/ # /usr/lib/ # /usr/lib64/ # for packages downloaded using apt-get/yum # # /usr/local/include/ # /usr/local/lib/ # /usr/local/lib64/ # for packages manually installed ("make install") # # if you encounter problems when linking (e.g. lib not found even if it is installed), # please check these folders are in your search PATH environment variables. set(EXTLIBS_PACKAGE_FOLDER "${CMAKE_SOURCE_DIR}/extlibs") function(sibr_addlibrary) if(NOT WIN32) return() endif() file(MAKE_DIRECTORY ${EXTLIBS_PACKAGE_FOLDER}) cmake_parse_arguments(args "VCID" "VERBOSE;TIMEOUT;DEFAULT_USE;NAME;VERSION;MSVC11;MSVC12;MSVC14;MSVC17" "MULTI_SET;SET" ${ARGN}) if (NOT "${args_VERSION}" MATCHES "") message(WARNING "VERSION is not implemented yet") endif() set(lcname "") set(ucname "") string(TOLOWER "${args_NAME}" lcname) string(TOUPPER "${args_NAME}" ucname) set(LIB_PACKAGE_FOLDER "${EXTLIBS_PACKAGE_FOLDER}/${lcname}") win3rdParty(${ucname} $ VERBOSE ${args_VERBOSE} TIMEOUT ${args_TIMEOUT} DEFAULT_USE ${args_DEFAULT_USE} MSVC11 "${LIB_PACKAGE_FOLDER}" "${args_MSVC11}" MSVC12 "${LIB_PACKAGE_FOLDER}" "${args_MSVC12}" MSVC14 "${LIB_PACKAGE_FOLDER}" "${args_MSVC14}" # TODO SV: make sure to build this library if required MSVC17 "${LIB_PACKAGE_FOLDER}" "${args_MSVC17}" SET ${args_SET} MULTI_SET ${args_MULTI_SET} ) # Add include/ directory # and lib/ directories # TODO SV: paths not matching with current hierarchy. example: libraw/libraw-0.17.1/include # SR: The link directories will also be used to lookup for dependency DLLs to copy in the install directory. # Some libraries put the DLLs in the bin/ directory, so we include those. file(GLOB subdirs RELATIVE ${LIB_PACKAGE_FOLDER} ${LIB_PACKAGE_FOLDER}/*) set(dirlist "") foreach(dir ${subdirs}) if(IS_DIRECTORY ${LIB_PACKAGE_FOLDER}/${dir}) # message("adding ${LIB_PACKAGE_FOLDER}/${dir}/include/ to the include directories") include_directories("${LIB_PACKAGE_FOLDER}/${dir}/include/") # message("adding ${LIB_PACKAGE_FOLDER}/${dir}/lib[64] to the link directories") link_directories("${LIB_PACKAGE_FOLDER}/${dir}/") link_directories("${LIB_PACKAGE_FOLDER}/${dir}/lib/") link_directories("${LIB_PACKAGE_FOLDER}/${dir}/lib64/") link_directories("${LIB_PACKAGE_FOLDER}/${dir}/bin/") endif() endforeach() endfunction() include(FetchContent) include(git_describe) include(install_runtime) function(sibr_gitlibrary) cmake_parse_arguments(args "" "TARGET;GIT_REPOSITORY;GIT_TAG;ROOT_DIR;SOURCE_DIR" "INCLUDE_DIRS" ${ARGN}) if(NOT args_TARGET) message(FATAL "Error on sibr_gitlibrary : please define your target name.") return() endif() if(NOT args_ROOT_DIR) set(args_ROOT_DIR ${args_TARGET}) endif() if(NOT args_SOURCE_DIR) set(args_SOURCE_DIR ${args_TARGET}) endif() if(args_GIT_REPOSITORY AND args_GIT_TAG) if(EXISTS ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR}/.git) git_describe( PATH ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} GIT_URL SIBR_GITLIBRARY_URL GIT_BRANCH SIBR_GITLIBRARY_BRANCH GIT_COMMIT_HASH SIBR_GITLIBRARY_COMMIT_HASH GIT_TAG SIBR_GITLIBRARY_TAG ) if((SIBR_GITLIBRARY_URL STREQUAL args_GIT_REPOSITORY) AND ((SIBR_GITLIBRARY_BRANCH STREQUAL args_GIT_TAG) OR (SIBR_GITLIBRARY_TAG STREQUAL args_GIT_TAG) OR (SIBR_GITLIBRARY_COMMIT_HASH STREQUAL args_GIT_TAG))) message(STATUS "Library ${args_TARGET} already available, skipping.") set(SIBR_GITLIBRARY_DECLARED ON) else() message(STATUS "Adding library ${args_TARGET} from git...") endif() endif() FetchContent_Declare(${args_TARGET} GIT_REPOSITORY ${args_GIT_REPOSITORY} GIT_TAG ${args_GIT_TAG} GIT_SHALLOW ON SOURCE_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} SUBBUILD_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/subbuild BINARY_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build ) FetchContent_GetProperties(${args_TARGET}) string(TOLOWER "" lcTargetName) if((NOT SIBR_GITLIBRARY_DECLARED) AND (NOT ${lcTargetName}_POPULATED)) message(STATUS "Populating library ${args_TARGET}...") FetchContent_Populate(${args_TARGET} QUIET GIT_REPOSITORY ${args_GIT_REPOSITORY} GIT_TAG ${args_GIT_TAG} SOURCE_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} SUBBUILD_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/subbuild BINARY_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build ) endif() add_subdirectory(${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build) get_target_property(type ${args_TARGET} TYPE) if(NOT (type STREQUAL "INTERFACE_LIBRARY")) set_target_properties(${args_TARGET} PROPERTIES FOLDER "extlibs") ibr_install_target(${args_TARGET} COMPONENT ${args_TARGET}_install ## will create custom target to install only this project ) endif() list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}) list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}/${args_SOURCE_DIR}) foreach(args_INCLUDE_DIR ${args_INCLUDE_DIRS}) list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}/${args_SOURCE_DIR}/${args_INCLUDE_DIR}) endforeach() include_directories(${${args_TARGET}_INCLUDE_DIRS}) else() message(FATAL "Error on sibr_gitlibrary for target ${args_TARGET}: missing git tag or git url.") endif() endfunction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/MSVCsetUserCommand.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr if(__MSVCsetUserCommand_cmake_INCLUDED__) return() else() set(__MSVCsetUserCommand_cmake_INCLUDED__ ON) endif() ## Allow to configure the Debugger settings of visual studio ## Note: Using this command under linux doesn't affect anything ## On run Debug Windows local : visual will try to load a specific COMMAND with ARGS in the provided WORKING_DIR ## ## usage: ## MSVCsetUserCommand( ## [COMMAND | [ PATH [FILE ] ] ] ## ARGS ## WORKING_DIR ## ) ## ## Warning 1 : All arugments () must be passed under quotes ## Warning 2 : WORKING_DIR path arg have to finish with remain slah '/' ## Warning 3 : use COMMAND for external app OR PATH (optionaly with FILE) option(s) to set your built/installed/moved target ## ## Example 1: ## include(MSVCsetUserCommand) ## MSVCsetUserCommand( UnityRenderingPlugin ## COMMAND "C:/Program Files (x86)/Unity/Editor/Unity.exe" ## ARGS "-force-opengl -projectPath \"${CMAKE_HOME_DIRECTORY}/UnityPlugins/RenderingPluginExample/UnityProject\"" ## WORKING_DIR "${CMAKE_HOME_DIRECTORY}/UnityPlugins/RenderingPluginExample/UnityProject" ## VERBOSE ## ) ## ## Example 2: ## include(MSVCsetUserCommand) ## MSVCsetUserCommand( ibrApp ## PATH "C:/Program Files (x86)/workspace/IBR/install" ## FILE "ibrApp${CMAKE_EXECUTABLE_SUFFIX}" ## this option line is optional since the target name didn't change between build and install step ## ARGS "-path \"${CMAKE_HOME_DIRECTORY}/dataset\"" ## WORKING_DIR "${CMAKE_HOME_DIRECTORY}" ## VERBOSE ## ) ## function(MSVCsetUserCommand targetName) cmake_parse_arguments(MSVCsuc "VERBOSE" "PATH;FILE;COMMAND;ARGS;WORKING_DIR" "" ${ARGN} ) ## If no arguments are given, do not create an unecessary .vcxproj.user file set(MSVCsuc_DEFAULT OFF) if(MSVCsuc_PATH AND MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) endif() if(MSVCsuc_FILE AND MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) endif() if(NOT MSVCsuc_COMMAND) if(MSVCsuc_PATH AND MSVCsuc_FILE) set(MSVCsuc_COMMAND "${MSVCsuc_PATH}\\${MSVCsuc_FILE}") elseif(MSVCsuc_PATH) set(MSVCsuc_COMMAND "${MSVCsuc_PATH}\\$(TargetFileName)") else() set(MSVCsuc_COMMAND "$(TargetPath)") ## => $(TargetDir)\$(TargetName)$(TargetExt) endif() elseif(MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) endif() # NOTE: there was a typo here. there is an else if written after else statement # changing the order of the else if statement if(MSVCsuc_WORKING_DIR) file(TO_NATIVE_PATH ${MSVCsuc_WORKING_DIR} MSVCsuc_WORKING_DIR) elseif(MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) else() set(MSVCsuc_WORKING_DIR "$(ProjectDir)") endif() if(NOT MSVCsuc_ARGS) set(MSVCsuc_ARGS "") elseif(MSVCsuc_DEFAULT) set(MSVCsuc_DEFAULT OFF) endif() if(MSVC10 OR (MSVC AND MSVC_VERSION GREATER 1600)) # 2010 or newer if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(PLATEFORM_BITS x64) else() set(PLATEFORM_BITS Win32) endif() if(NOT MSVCsuc_DEFAULT AND PLATEFORM_BITS) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${targetName}.vcxproj.user" " ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS} WindowsLocalDebugger ${MSVCsuc_WORKING_DIR} ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS} WindowsLocalDebugger ${MSVCsuc_WORKING_DIR} ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS} WindowsLocalDebugger ${MSVCsuc_WORKING_DIR} ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS} WindowsLocalDebugger ${MSVCsuc_WORKING_DIR} " ) if(MSVCsuc_VERBOSE) message(STATUS "[MSVCsetUserCommand] Write ${CMAKE_CURRENT_BINARY_DIR}/${targetName}.vcxproj.user file") message(STATUS " to execute ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS}") message(STATUS " from derectory ${MSVCsuc_WORKING_DIR}") message(STATUS " on visual studio run debugger button") endif() else() message(WARNING "PLATEFORM_BITS is undefined...") endif() else() if(MSVCsuc_VERBOSE) message(WARNING "MSVCsetUserCommand is disable because too old MSVC is used (need MSVC10 2010 or newer)") endif() endif() endfunction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/Modules/FindASSIMP.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## Try to find the ASSIMP library ## Once done this will define ## ## ASSIMP_FOUND - system has ASSIMP ## ASSIMP_INCLUDE_DIR - The ASSIMP include directory ## ASSIMP_LIBRARIES - The libraries needed to use ASSIMP ## ASSIMP_CMD - the full path of ASSIMP executable ## ASSIMP_DYNAMIC_LIB - the Assimp dynamic lib (available only on windows as .dll file for the moment) ## ## Edited for using a bugfixed version of Assimp if(NOT ASSIMP_DIR) set(ASSIMP_DIR "$ENV{ASSIMP_DIR}" CACHE PATH "ASSIMP root directory") endif() if(ASSIMP_DIR) file(TO_CMAKE_PATH ${ASSIMP_DIR} ASSIMP_DIR) endif() ## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(ASSIMP_SEARCH_LIB "lib64") set(ASSIMP_SEARCH_BIN "bin64") set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x64") else() set(ASSIMP_SEARCH_LIB "lib32") set(ASSIMP_SEARCH_BIN "bin32") set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x86") endif() set(PROGRAMFILESx86 "PROGRAMFILES(x86)") FIND_PATH(ASSIMP_INCLUDE_DIR NAMES assimp/config.h PATHS ${ASSIMP_DIR} ## linux /usr /usr/local /opt/local ## windows "$ENV{PROGRAMFILES}/Assimp" "$ENV{${PROGRAMFILESx86}}/Assimp" "$ENV{ProgramW6432}/Assimp" PATH_SUFFIXES include ) FIND_LIBRARY(ASSIMP_LIBRARY NAMES assimp-vc140-mt PATHS ${ASSIMP_DIR}/${ASSIMP_SEARCH_LIB} ${ASSIMP_DIR}/lib ${ASSIMP_DIR}/lib64 ## linux /usr/${ASSIMP_SEARCH_LIB} /usr/local/${ASSIMP_SEARCH_LIB} /opt/local/${ASSIMP_SEARCH_LIB} /usr/lib /usr/local/lib /opt/local/lib ## windows "$ENV{PROGRAMFILES}/Assimp/${ASSIMP_SEARCH_LIB}" "$ENV{${PROGRAMFILESx86}}/Assimp/${ASSIMP_SEARCH_LIB}" "$ENV{ProgramW6432}/Assimp/${ASSIMP_SEARCH_LIB}" "$ENV{PROGRAMFILES}/Assimp/lib" "$ENV{${PROGRAMFILESx86}}/Assimp/lib" "$ENV{ProgramW6432}/Assimp/lib" PATH_SUFFIXES ${ASSIMP_SEARCH_LIB_PATHSUFFIXE} ) set(ASSIMP_LIBRARIES ${ASSIMP_LIBRARY}) if(ASSIMP_LIBRARY) get_filename_component(ASSIMP_LIBRARY_DIR ${ASSIMP_LIBRARY} PATH) file(GLOB ASSIMP_DYNAMIC_LIB "${ASSIMP_LIBRARY_DIR}/assimp*.dll") if(NOT ASSIMP_DYNAMIC_LIB) message("ASSIMP_DYNAMIC_LIB is missing... at ${ASSIMP_LIBRARY_DIR}") endif() set(ASSIMP_DYNAMIC_LIB ${ASSIMP_DYNAMIC_LIB} CACHE PATH "Windows dll location") endif() MARK_AS_ADVANCED(ASSIMP_DYNAMIC_LIB ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES) INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASSIMP REQUIRED_VARS ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES FAIL_MESSAGE "ASSIMP wasn't found correctly. Set ASSIMP_DIR to the root SDK installation directory." ) if(NOT ASSIMP_FOUND) set(ASSIMP_DIR "" CACHE STRING "Path to ASSIMP install directory") endif() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/Modules/FindEmbree.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## Important Note: ## This is not an official Find*cmake. It has been written for searching through ## a custom path (EMBREE_DIR) before checking elsewhere. ## ## FindEMBREE.cmake ## Find EMBREE's includes and library ## ## This module defines : ## [in] EMBREE_DIR, The base directory to search for EMBREE (as cmake var or env var) ## [out] EMBREE_INCLUDE_DIR where to find EMBREE.h ## [out] EMBREE_LIBRARIES, EMBREE_LIBRARY, libraries to link against to use EMBREE ## [out] EMBREE_FOUND, If false, do not try to use EMBREE. ## if(NOT EMBREE_DIR) set(EMBREE_DIR "$ENV{EMBREE_DIR}" CACHE PATH "EMBREE root directory") endif() if(EMBREE_DIR) file(TO_CMAKE_PATH ${EMBREE_DIR} EMBREE_DIR) endif() ## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(EMBREE_SEARCH_LIB "lib64") set(EMBREE_SEARCH_BIN "bin64") set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x64") else() set(EMBREE_SEARCH_LIB "lib32") set(EMBREE_SEARCH_BIN "bin32") set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x86") endif() set(PROGRAMFILESx86 "PROGRAMFILES(x86)") FIND_PATH(EMBREE_INCLUDE_DIR NAMES embree3/rtcore_geometry.h PATHS ${EMBREE_DIR} ## linux /usr /usr/local /opt/local ## windows "$ENV{PROGRAMFILES}/EMBREE" "$ENV{${PROGRAMFILESx86}}/EMBREE" "$ENV{ProgramW6432}/EMBREE" PATH_SUFFIXES include ) FIND_LIBRARY(EMBREE_LIBRARY NAMES embree3 PATHS ${EMBREE_DIR}/${EMBREE_SEARCH_LIB} ${EMBREE_DIR}/lib ## linux /usr/${EMBREE_SEARCH_LIB} /usr/local/${EMBREE_SEARCH_LIB} /opt/local/${EMBREE_SEARCH_LIB} /usr/lib /usr/local/lib /opt/local/lib ## windows "$ENV{PROGRAMFILES}/EMBREE/${EMBREE_SEARCH_LIB}" "$ENV{${PROGRAMFILESx86}}/EMBREE/${EMBREE_SEARCH_LIB}" "$ENV{ProgramW6432}/EMBREE/${EMBREE_SEARCH_LIB}" "$ENV{PROGRAMFILES}/EMBREE/lib" "$ENV{${PROGRAMFILESx86}}/EMBREE/lib" "$ENV{ProgramW6432}/EMBREE/lib" PATH_SUFFIXES ${EMBREE_SEARCH_LIB_PATHSUFFIXE} ) set(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) MARK_AS_ADVANCED(EMBREE_INCLUDE_DIR EMBREE_LIBRARIES) INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE REQUIRED_VARS EMBREE_INCLUDE_DIR EMBREE_LIBRARIES FAIL_MESSAGE "EMBREE wasn't found correctly. Set EMBREE_DIR to the root SDK installation directory." ) if(NOT EMBREE_FOUND) set(EMBREE_DIR "" CACHE STRING "Path to EMBREE install directory") endif() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/Modules/FindFFmpeg.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## Try to find the FFMPEG library ## Once done this will define ## ## FFMPEG_FOUND - system has FFmpeg ## FFMPEG_INCLUDE_DIR - The FFmpeg include directory ## FFMPEG_LIBRARIES - The libraries needed to use FFmpeg ## FFMPEG_DYNAMIC_LIBS - DLLs for windows if(NOT FFMPEG_DIR) set(FFMPEG_DIR "$ENV{FFMPEG_DIR}" CACHE PATH "FFMPEG_DIR root directory") endif() if(FFMPEG_DIR) file(TO_CMAKE_PATH ${FFMPEG_DIR} FFMPEG_DIR) endif() MACRO(FFMPEG_FIND varname shortname headername) # Path to include dirs FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS NAMES "lib${shortname}/${headername}" PATHS "${FFMPEG_DIR}/include" # modify this to adapt according to OS/compiler ) #Add libraries IF(${FFMPEG_${varname}_INCLUDE_DIRS} STREQUAL "FFMPEG_${varname}_INCLUDE_DIR-NOTFOUND") MESSAGE(STATUS "Can't find includes for ${shortname}...") ELSE() FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES NAMES ${shortname} PATHS ${FFMPEG_DIR}/lib ) # set libraries and other variables SET(FFMPEG_${varname}_FOUND 1) SET(FFMPEG_${varname}_INCLUDE_DIRS ${FFMPEG_${varname}_INCLUDE_DIR}) SET(FFMPEG_${varname}_LIBS ${FFMPEG_${varname}_LIBRARIES}) ENDIF() ENDMACRO(FFMPEG_FIND) #Calls to ffmpeg_find to get librarires ------------------------------ FFMPEG_FIND(LIBAVFORMAT avformat avformat.h) FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h) FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h) FFMPEG_FIND(LIBAVUTIL avutil avutil.h) FFMPEG_FIND(LIBSWSCALE swscale swscale.h) # check if libs are found and set FFMPEG related variables #SET(FFMPEG_FOUND "NO") IF(FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND AND FFMPEG_LIBSWSCALE_FOUND) # All ffmpeg libs are here SET(FFMPEG_FOUND "YES") SET(FFMPEG_INCLUDE_DIR ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS}) SET(FFMPEG_LIBRARIES ${FFMPEG_LIBAVFORMAT_LIBS} ${FFMPEG_LIBAVDEVICE_LIBS} ${FFMPEG_LIBAVCODEC_LIBS} ${FFMPEG_LIBAVUTIL_LIBS} ${FFMPEG_LIBSWSCALE_LIBS} ) # add dynamic libraries if(WIN32) file(GLOB FFMPEG_DYNAMIC_LIBS "${FFMPEG_DIR}/bin/*.dll") if(NOT FFMPEG_DYNAMIC_LIBS) message("FFMPEG_DYNAMIC_LIBS is missing...") endif() set(FFMPEG_DYNAMIC_LIBS ${FFMPEG_DYNAMIC_LIBS} CACHE PATH "Windows dll location") endif() mark_as_advanced(FFMPEG_INCLUDE_DIR FFMPEG_LIBRARY_DIRS FFMPEG_LIBRARIES FFMPEG_DYNAMIC_LIBS) ELSE () MESSAGE(STATUS "Could not find FFMPEG") ENDIF() INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(FFMPEG REQUIRED_VARS FFMPEG_INCLUDE_DIR FFMPEG_LIBRARIES FAIL_MESSAGE "FFmpeg wasn't found correctly. Set FFMPEG_DIR to the root SDK installation directory." ) if(NOT FFMPEG_FOUND) set(FFMPEG_DIR "" CACHE STRING "Path to FFmpeg install directory") endif() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/Win3rdParty.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## This file should be include and use only on WIN32 OS and once ## It allow to auto check/download and use a preconfigured 3rdParty binaries for cmake usage ## It use the downloadAndExtractZipFile cmake module to work. ## if(__Win3rdParty_cmake_INCLUDED__) return() else() set(__Win3rdParty_cmake_INCLUDED__ ON) endif() ## ## To be sure to reset an empty cached variable but keep any other kind of variables ## ## Usage: ## check_cached_var( [FORCE]) ## ## is the cached cmake variable you need to reset ## is the new default value of the reseted cached cmake variable ## is the kind of GUI cache input can be : FILEPATH; PATH; STRING or BOOL ## is the associated GUI cache input documentation display in the GUI ## FORCE option could be use to reset a cached variable even if it is not empty. ## macro(check_cached_var var resetedCachedValue cacheType cacheDoc) # message(STATUS "inside check_cached_var macro. argn=${ARGN}") cmake_parse_arguments(ccv "FORCE" "" "" ${ARGN}) if(ccv_FORCE) set(FORCE FORCE) else() set(FORCE ) endif() if(NOT ${var} OR ccv_FORCE) unset(${var} CACHE) # message(STATUS "setting new cache value. var ${var} = ${resetedCachedValue}") set(${var} "${resetedCachedValue}" CACHE ${cacheType} "${cacheDoc}" ${FORCE}) endif() endmacro() ## ## Win3rdParty function allow to specify a directory which contain all necessary windows dependenties. ## By uploading 3rdParty directory (which contain dependencies, *.lib, *.dll... for a specific version of compiler) onto Gforge file tab, ## you get back an URL of download you can give to this function with a directory name. So you can provide multiple 3rdParty version of same dependencies (MSVC11, MSVC12...). ## By providing a prefix to this function, you allow to use different kind of 3rdParty which can be handled by CMAKE OPTIONS depending on what your framework need for example. ## ## Usage 1: ## Win3rdParty( MSVC ## [MSVC ] [...] ## [VCID] [DEFAULT_USE] [VERBOSE] ) ## ## * allow to identify which 3rdParty you process (prefix name) ## * MSVC flag could be MSVC11 or MSVC12 (any element of the MSVC_VERSIONS_LIST) and refer to a 3rdParty compiler with : ## * which will be the local pathName of the downloaded 3rdParty : relative to CMAKE_BINARY_DIR ## * which is the link location of the 3rdParty zip ## * VCID flag will make available a cache variable ${prefix}_WIN3RDPARTY_VCID ## * DEFAULT_USE flag [ON|OFF] may be used to set default value of cmake cached variable : _WIN3RDPARTY_USE [default to ON] ## ## WARNING: ## This function define CACHE variables you can use after : ## * ${prefix}_WIN3RDPARTY_USE : allow to check/downloaded win3rdParty dir (it will force the cached variables for this dependency folder generally _DIR>) ## * ${prefix}_WIN3RDPARTY_DIR : where is your local win3rdParty dir (the PATH) ## * ${prefix}_WIN3RDPARTY_VCID : [if VCID flag is used] the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL) ## ## If you want to add a win3rdParty version, please: ## 1- build dependencies on your local side with the compiler you want ## 2- build your own zip with your built dependencies ## 3- upload it (onto the forge where the project is stored) and copy the link location in order to use it for this function ## 4- if you just introduced a new MSVC version, add it to the MSVC_VERSIONS_LIST bellow ## ## In a second pass, you can also use this function to set necessary cmake cached variables in order to let cmake find packages of these 3rdParty. ## ## Usage 2: ## win3rdParty( [VERBOSE] MULTI_SET|SET ## CHECK_CACHED_VAR [LIST] [DOC ] ## [ CHECK_CACHED_VAR [LIST] [DOC ] ] [...] ## ## * MULTI_SET or SET flags are used to tell cmake that all next arguments will use repeated flags with differents entries (SET mean we will provide only one set of arguments, without repetition) ## * CHECK_CACHED_VAR are the repeated flag which contain differents entries ## * is the cmake variable you want to be cached for the project ## * is the kind of cmake variable (couble be: FILEPATH; PATH; STRING or BOOL) => see check_cached_var. ## * LIST optional flag could be used with CHECK_CACHED_VAR when = STRING. It allow to handle multiple STRINGS value list. ## * is the value of the variable (if FILEPATH, PATH or STRING: use quotes, if BOOL : use ON/OFF) ## * DOC optional flag is used to have a tooltips info about this new cmake variable entry into the GUI (use quotes). ## ## Full example 1 : ## win3rdParty(COMMON MSVC11 "win3rdParty-MSVC11" "https://path.to/an.archive.7z" ## SET CHECK_CACHED_VAR SuiteSparse_DIR PATH "SuiteSparse-4.2.1" DOC "default empty doc" ## ) ## ## WARNING: ## For the 2nd usage (with MULTI_SET), if you planned to set some CACHED_VAR using/composed by ${prefix}_WIN3RDPARTY_* just set in this macro (usage 1), ## then (due to the not yet existing var) you will need to call this function 2 times : ## One for the 1st usage (downloading of the current compiler 3rdParty). ## One for the MLUTI_SET flag which will use existsing ${prefix}_WIN3RDPARTY_* cached var. ## ## Full example 2 : ## win3rdParty(COMMON MSVC11 "win3rdParty-MSVC11" "https://path.to/an.archive.7z") ## win3rdParty(COMMON MULTI_SET ## CHECK_CACHED_VAR CGAL_INCLUDE_DIR PATH "CGAL-4.3/include" DOC "default empty doc" ## CHECK_CACHED_VAR CGAL_LIBRARIES STRING LIST "debug;CGAL-4.3/lib${LIB_POSTFIX}/CGAL-${WIN3RDPARTY_COMMON_VCID}-mt-gd-4.3.lib;optimized;CGAL-4.3/lib${LIB_POSTFIX}/CGAL-${WIN3RDPARTY_COMMON_VCID}-mt-4.3.lib" ## ## ## WARNING: This function use internaly : ## * downloadAndExtractZipFile.cmake ## * parse_arguments_multi.cmake ## * check_cached_var macro ## function(win3rdParty prefix ) # ARGV: list of all arguments given to the macro/function # ARGN: list of remaining arguments if(NOT WIN32) return() endif() ## set the handled version of MSVC ## if you plan to add a win3rdParty dir to download with a new MSVC version: build the win3rdParty dir and add the MSCV entry here. set(MSVC_VERSIONS_LIST "MSVC17;MSVC11;MSVC12;MSVC14") #include(CMakeParseArguments) # CMakeParseArguments is obsolete since cmake 3.5 # cmake_parse_arguments ( args) # : options (flags) pass to the macro # : options that neeed a value # : options that neeed more than one value cmake_parse_arguments(w3p "VCID" "VERBOSE;TIMEOUT;DEFAULT_USE" "${MSVC_VERSIONS_LIST};MULTI_SET;SET" ${ARGN}) # message(STATUS "value of w3p_VCID = ${w3p_VCID}") # message(STATUS "value of w3p_VERBOSE = ${w3p_VERBOSE}") # message(STATUS "value of w3p_TIMEOUT = ${w3p_TIMEOUT}") # message(STATUS "value of w3p_DEFAULT_USE = ${w3p_DEFAULT_USE}") # foreach (loop_var ${MSVC_VERSIONS_LIST}) # message(STATUS "value of w3p_${loop_var} = ${w3p_${loop_var}}") # endforeach(loop_var) # message(STATUS "value of w3p_MULTI_SET = ${w3p_MULTI_SET}") # message(STATUS "value of w3p_SET = ${w3p_SET}") # message("values for MSVC = ${w3p_MSVC14}") if(NOT w3p_TIMEOUT) set(w3p_TIMEOUT 300) endif() if(NOT DEFINED w3p_DEFAULT_USE) set(w3p_DEFAULT_USE ON) endif() ## 1st use (check/update|download) : set(${prefix}_WIN3RDPARTY_USE ${w3p_DEFAULT_USE} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist") ## We want to test if each version of MSVC was filled by the function (see associated parameters) ## As CMake is running only for one version of MSVC, if that MSVC version was filled, we get back associated parameters, ## otherwise we can't use the downloadAndExtractZipFile with win3rdParty. set(enableWin3rdParty OFF) foreach(MSVC_VER ${MSVC_VERSIONS_LIST}) if(${MSVC_VER} AND w3p_${MSVC_VER} OR ${MSVC_TOOLSET_VERSION} EQUAL 143 AND ${MSVC_VER} STREQUAL "MSVC17") list(LENGTH w3p_${MSVC_VER} count) if("${count}" LESS "2") #message(WARNING "You are using ${MSVC_VER} with ${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE}, but win3rdParty function isn't filled for ${MSVC_VER}!") else() list(GET w3p_${MSVC_VER} 0 Win3rdPartyName) list(GET w3p_${MSVC_VER} 1 Win3rdPartyUrl) if(w3p_VCID) ## try to get the VcId of MSVC. See also MSVC_VERSION cmake var in the doc. string(REGEX REPLACE "MS([A-Za-z_0-9-]+)" "\\1" vcId ${MSVC_VER}) string(TOLOWER ${vcId} vcId) set(${prefix}_WIN3RDPARTY_VCID "${vcId}0" CACHE STRING "the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL)") mark_as_advanced(${prefix}_WIN3RDPARTY_VCID) endif() set(enableWin3rdParty ON) set(suffixCompilerID ${MSVC_VER}) break() endif() endif() endforeach() ## If previous step succeed to get MSVC dirname and URL of the current MSVC version, use it to auto download/update the win3rdParty dir if(enableWin3rdParty AND ${prefix}_WIN3RDPARTY_USE) if(IS_ABSOLUTE "${Win3rdPartyName}") else() set(Win3rdPartyName "${CMAKE_BINARY_DIR}/${Win3rdPartyName}") endif() if(NOT EXISTS "${Win3rdPartyName}") file(MAKE_DIRECTORY ${Win3rdPartyName}) endif() include(downloadAndExtractZipFile) downloadAndExtractZipFile( "${Win3rdPartyUrl}" ## URL link location "Win3rdParty-${prefix}-${suffixCompilerID}.7z" ## where download it: relative path, so default to CMAKE_BINARY_DIR "${Win3rdPartyName}" ## where extract it : fullPath (default relative to CMAKE_BINARY_DIR) CHECK_DIRTY_URL "${Win3rdPartyName}/Win3rdPartyUrl" ## last downloaded url file : fullPath (default relative to CMAKE_BINARY_DIR) TIMEOUT ${w3p_TIMEOUT} VERBOSE ${w3p_VERBOSE} ) file(GLOB checkDl "${Win3rdPartyName}/*") list(LENGTH checkDl checkDlCount) if("${checkDlCount}" GREATER "1") else() message("The downloadAndExtractZipFile didn't work...?") set(enableWin3rdParty OFF) endif() endif() ## Try to auto set ${prefix}_WIN3RDPARTY_DIR or let user set it manually set(${prefix}_WIN3RDPARTY_DIR "" CACHE PATH "windows ${Win3rdPartyName} dir to ${prefix} dependencies of the project") if(NOT ${prefix}_WIN3RDPARTY_DIR AND ${prefix}_WIN3RDPARTY_USE) if(EXISTS "${Win3rdPartyName}") unset(${prefix}_WIN3RDPARTY_DIR CACHE) set(${prefix}_WIN3RDPARTY_DIR "${Win3rdPartyName}" CACHE PATH "dir to ${prefix} dependencies of the project") endif() endif() if(EXISTS ${${prefix}_WIN3RDPARTY_DIR}) message(STATUS "Found a 3rdParty ${prefix} dir : ${${prefix}_WIN3RDPARTY_DIR}.") set(enableWin3rdParty ON) elseif(${prefix}_WIN3RDPARTY_USE) message(WARNING "${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE} but ${prefix}_WIN3RDPARTY_DIR=${${prefix}_WIN3RDPARTY_DIR}.") set(enableWin3rdParty OFF) endif() ## Final check if(NOT enableWin3rdParty) message("Disable ${prefix}_WIN3RDPARTY_USE (cmake cached var will be not set), due to a win3rdParty problem.") message("You still can set ${prefix}_WIN3RDPARTY_DIR to an already downloaded Win3rdParty directory location.") set(${prefix}_WIN3RDPARTY_USE OFF CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist" FORCE) endif() ## 2nd use : handle multi values args to set cached cmake variables in order to ease the next find_package call if(${prefix}_WIN3RDPARTY_USE AND ${prefix}_WIN3RDPARTY_DIR) if(w3p_VERBOSE) message(STATUS "Try to set cmake cached variables for ${prefix} required libraries directly from : ${${prefix}_WIN3RDPARTY_DIR}.") endif() include(parse_arguments_multi) # message (STATUS "before defining an override of parse_arguments_multi_function") function(parse_arguments_multi_function ) ## overloaded function to handle all CHECK_CACHED_VAR values list (see: parse_arguments_multi) # message(STATUS "inside overloaded parse_arguments_multi_function defined in Win3rdParty.cmake") # message(STATUS ${ARGN}) ## we know the function take 3 args : var cacheType resetedCachedValue (see check_cached_var) cmake_parse_arguments(pamf "" "DOC" "LIST" ${ARGN}) ## var and cacheType are mandatory (with the resetedCachedValue) set(var ${ARGV0}) set(cacheType ${ARGV1}) # message(STATUS "var=${var} and cacheType=${cacheType} list=${pamf_LIST}") if(pamf_DOC) set(cacheDoc ${pamf_DOC}) else() set(cacheDoc "") endif() if(pamf_LIST) set(value ${pamf_LIST}) else() # message("USING ARGV2 with value ${ARGV2}") set(value ${ARGV2}) endif() # message("inside override function in Win3rdparty.cmake value+ ${value}") if("${cacheType}" MATCHES "PATH" AND EXISTS "${${prefix}_WIN3RDPARTY_DIR}/${value}") # message("math with path") set(resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}/${value}") ## path relative to ${prefix}_WIN3RDPARTY_DIR elseif ("${cacheType}" MATCHES "PATH" AND EXISTS "${${prefix}_WIN3RDPARTY_DIR}") set(resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}") ## path relative to ${prefix}_WIN3RDPARTY_DIR elseif("${cacheType}" MATCHES "STRING") foreach(var IN LISTS value) if(EXISTS "${${prefix}_WIN3RDPARTY_DIR}/${var}") list(APPEND resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}/${var}") ## string item of the string list is a path => make relative to ${prefix}_WIN3RDPARTY_DIR else() list(APPEND resetedCachedValue ${var}) ## string item of the string list is not an existing path => simply use the item endif() endforeach() else() set(resetedCachedValue "${value}") ## could be a BOOL or a STRING endif() ## call our macro to reset cmake cache variable if empty check_cached_var(${var} "${resetedCachedValue}" ${cacheType} "${cacheDoc}" FORCE) endfunction() # message (STATUS "after defining an override of parse_arguments_multi_function") if(w3p_MULTI_SET) parse_arguments_multi(CHECK_CACHED_VAR w3p_MULTI_SET ${w3p_MULTI_SET}) ## internaly will call our overloaded parse_arguments_multi_function elseif(w3p_SET) # message("calling set version of parse_arguments_multi with w3p_set = ${w3p_SET}") parse_arguments_multi(CHECK_CACHED_VAR w3p_SET ${w3p_SET}) endif() endif() endfunction() ## cmake variables introspection to globally activate/deactivate ${prefix}_WIN3RDPARTY_USE ## This "one shot" call (only one for the next cmake configure) will automatically then reset the global variable WIN3RDPARTY_USE to UserDefined (do nothing). ## use (call it) before and after the call of all your win3rdParty functions function(Win3rdPartyGlobalCacheAction ) set(WIN3RDPARTY_USE "UserDefined" CACHE STRING "Choose how to handle all cmake cached *_WIN3RDPARTY_USE for the next configure.\nCould be:\nUserDefined [default]\nActivateAll\nDesactivateAll" ) set_property(CACHE WIN3RDPARTY_USE PROPERTY STRINGS "UserDefined;ActivateAll;DesactivateAll" ) if(${WIN3RDPARTY_USE} MATCHES "UserDefined") else() if(${WIN3RDPARTY_USE} MATCHES "ActivateAll") set(win3rdPvalue ON) elseif(${WIN3RDPARTY_USE} MATCHES "DesactivateAll") set(win3rdPvalue OFF) endif() get_cmake_property(_variableNames CACHE_VARIABLES) foreach (_variableName ${_variableNames}) string(REGEX MATCH "[A-Za-z_0-9-]+_WIN3RDPARTY_USE" win3rdpartyUseCacheVar ${_variableName}) if(win3rdpartyUseCacheVar) string(REGEX REPLACE "([A-Za-z_0-9-]+_WIN3RDPARTY_USE)" "\\1" win3rdpartyUseCacheVar ${_variableName}) set(${win3rdpartyUseCacheVar} ${win3rdPvalue} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist" FORCE) message(STATUS "${win3rdpartyUseCacheVar} cached variable set to ${win3rdPvalue}.") endif() endforeach() set(WIN3RDPARTY_USE "UserDefined" CACHE STRING "Choose how to handle all cmake cached *_WIN3RDPARTY_USE for the next configure.\nCould be:\nUserDefined [default]\nActivateAll\nDesactivateAll" FORCE) message(STATUS "reset WIN3RDPARTY_USE to UserDefined.") endif() mark_as_advanced(WIN3RDPARTY_USE) endfunction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/cmake_policies.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr if(__set_policies_INCLUDED__) return() else() set(__set_policies_INCLUDED__ ON) endif() macro(setPolicies) # No more policies to enforce endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/dependencies.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## Included once for all sub project. ## It contain the whole cmake instructions to find necessary common dependencies. ## 3rdParty (provided by sibr_addlibrary win3rdParty or from external packages) are then available in cmake sub projects. ## ## Do not include this file more than once but you can modify it to fit to your own project. ## So please, read it carefully because you can use on of these dependencies for your project or appen new one. ## ## As it is included after camke options, you can use conditional if()/endif() to encapsulate your 3rdParty. ## ## win3rdParty function allowing to auto check/download/update binaries dependencies for current windows compiler ## Please open this file in order to get more documentation and usage examples. include(Win3rdParty) include(sibr_library) Win3rdPartyGlobalCacheAction() find_package(OpenGL REQUIRED) ############ ## Find GLEW ############ if (MSVC11 OR MSVC12) set(glew_multiset_arguments CHECK_CACHED_VAR GLEW_INCLUDE_DIR PATH "glew-1.10.0/include" DOC "default empty doc" CHECK_CACHED_VAR GLEW_LIBRARIES STRING LIST "debug;glew-1.10.0/${LIB_BUILT_DIR}/glew32d.lib;optimized;glew-1.10.0/${LIB_BUILT_DIR}/glew32.lib" DOC "default empty doc" ) elseif (MSVC14) set(glew_multiset_arguments CHECK_CACHED_VAR GLEW_INCLUDE_DIR PATH "glew-2.0.0/include" DOC "default empty doc" CHECK_CACHED_VAR GLEW_SHARED_LIBRARY_RELEASE PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32.lib" CHECK_CACHED_VAR GLEW_STATIC_LIBRARY_RELEASE PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32s.lib" CHECK_CACHED_VAR GLEW_SHARED_LIBRARY_DEBUG PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32d.lib" CHECK_CACHED_VAR GLEW_STATIC_LIBRARY_DEBUG PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32sd.lib" ) else () message("There is no provided GLEW library for your version of MSVC") endif() sibr_addlibrary(NAME GLEW #VERBOSE ON MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/glew-1.10.0.7z" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/glew-1.10.0.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glew-2.0.0.7z" # using recompiled version of glew MULTI_SET ${glew_multiset_arguments} ) set(GLEW_VERBOSE ON) FIND_PACKAGE(GLEW REQUIRED) IF(GLEW_FOUND) INCLUDE_DIRECTORIES(${GLEW_INCLUDE_DIR}) ELSE(GLEW_FOUND) MESSAGE("GLEW not found. Set GLEW_DIR to base directory of GLEW.") ENDIF(GLEW_FOUND) ############## ## Find ASSIMP ############## if (MSVC11 OR MSVC12) set(assimp_set_arguments CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp_3.1_fix" ) elseif (MSVC14) set(assimp_set_arguments CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp-4.1.0" ) else () message("There is no provided ASSIMP library for your version of MSVC") endif() sibr_addlibrary(NAME ASSIMP #VERBOSE ON MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/Assimp_3.1_fix.7z" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/Assimp_3.1_fix.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/Assimp-4.1.0.7z" MULTI_SET ${assimp_set_arguments} ) find_package(ASSIMP REQUIRED) include_directories(${ASSIMP_INCLUDE_DIR}) ################ ## Find FFMPEG ################ sibr_addlibrary(NAME FFMPEG MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/ffmpeg.zip" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/ffmpeg.zip" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/ffmpeg-4.0.2-win64-win3rdParty.7z" SET CHECK_CACHED_VAR FFMPEG_DIR PATH ${FFMPEG_WIN3RDPARTY_DIR} ) find_package(FFMPEG QUIET) include_directories(${FFMPEG_INCLUDE_DIR}) ################### ## Find embree3 ################### sibr_addlibrary( NAME embree3 MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/embree2.7.0.x64.windows.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/embree-3.6.1.x64.vc14.windows.7z" # TODO SV: provide a valid version if required ) ################### ## Find eigen3 ################### sibr_addlibrary( NAME eigen3 #MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/eigen-eigen-dc6cfdf9bcec.7z" #MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/eigen-eigen-dc6cfdf9bcec.7z" # TODO SV: provide a valid version if required MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/eigen3.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/eigen3.7z" SET CHECK_CACHED_VAR eigen3_DIR PATH "eigen/share/eigen3/cmake" ) include_directories(/usr/include/eigen3) add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_ZERO) ############# ## Find Boost ############# set(Boost_REQUIRED_COMPONENTS "system;chrono;filesystem;date_time" CACHE INTERNAL "Boost Required Components") if (WIN32) # boost multiset arguments if (MSVC11 OR MSVC12) set(boost_multiset_arguments CHECK_CACHED_VAR BOOST_ROOT PATH "boost_1_55_0" CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost_1_55_0" CHECK_CACHED_VAR BOOST_LIBRARYDIR PATH "boost_1_55_0/${LIB_BUILT_DIR}" #CHECK_CACHED_VAR Boost_COMPILER STRING "-${Boost_WIN3RDPARTY_VCID}" DOC "vcid (eg: -vc110 for MSVC11)" CHECK_CACHED_VAR Boost_COMPILER STRING "-vc110" DOC "vcid (eg: -vc110 for MSVC11)" # NOTE: if it doesnt work, uncomment this option and set the right value for VisualC id ) elseif (MSVC14) set(boost_multiset_arguments CHECK_CACHED_VAR BOOST_ROOT PATH "boost-1.71" CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost-1.71" CHECK_CACHED_VAR BOOST_LIBRARYDIR PATH "boost-1.71/${LIB_BUILT_DIR}" CHECK_CACHED_VAR Boost_COMPILER STRING "-vc141" DOC "vcid (eg: -vc110 for MSVC11)" # NOTE: if it doesnt work, uncomment this option and set the right value for VisualC id ) option(BOOST_MINIMAL_VERSION "Only get minimal Boost dependencies" ON) if(${BOOST_MINIMAL_VERSION}) set(BOOST_MSVC14_ZIP "boost-1.71-ibr-minimal.7z") else() set(BOOST_MSVC14_ZIP "boost-1.71.7z") endif() else () message("There is no provided Boost library for your version of MSVC") endif() sibr_addlibrary(NAME Boost VCID TIMEOUT 600 #VERBOSE ON MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/boost_1_55_0.7z" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/boost_1_55_0.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/${BOOST_MSVC14_ZIP}" # boost compatible with msvc14 MULTI_SET ${boost_multiset_arguments} CHECK_CACHED_VAR Boost_NO_SYSTEM_PATHS BOOL ON DOC "Set to ON to disable searching in locations not specified by these boost cached hint variables" CHECK_CACHED_VAR Boost_NO_BOOST_CMAKE BOOL ON DOC "Set to ON to disable the search for boost-cmake (package cmake config file if boost was built with cmake)" ) if(NOT Boost_COMPILER AND Boost_WIN3RDPARTY_USE) message(WARNING "Boost_COMPILER is not set and it's needed.") endif() endif() find_package(Boost 1.71.0 REQUIRED COMPONENTS ${Boost_REQUIRED_COMPONENTS}) if(WIN32) add_compile_options("$<$:/EHsc>") #add_definitions(/EHsc) endif() if(Boost_LIB_DIAGNOSTIC_DEFINITIONS) add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS}) endif() #if(WIN32) add_definitions(-DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB) #endif() include_directories(${BOOST_INCLUDEDIR} ${Boost_INCLUDE_DIRS}) link_directories(${BOOST_LIBRARYDIR} ${Boost_LIBRARY_DIRS}) ############## ## Find OpenMP ############## find_package(OpenMP) sibr_addlibrary( NAME NativeFileDialog MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/nfd.7z" ) ############## ## Find OpenCV ############## if (WIN32) if (${MSVC_TOOLSET_VERSION} EQUAL 143) MESSAGE("SPECIAL OPENCV HANDLING") set(opencv_set_arguments CHECK_CACHED_VAR OpenCV_DIR PATH "install" ## see OpenCVConfig.cmake ) elseif (MSVC11 OR MSVC12) set(opencv_set_arguments CHECK_CACHED_VAR OpenCV_DIR PATH "opencv/build" ## see OpenCVConfig.cmake ) elseif (MSVC14) set(opencv_set_arguments CHECK_CACHED_VAR OpenCV_DIR PATH "opencv-4.5.0/build" ## see OpenCVConfig.cmake ) else () message("There is no provided OpenCV library for your compiler, relying on find_package to find it") endif() else() message("There is no provided OpenCV library for your compiler, relying on find_package to find it") endif() sibr_addlibrary(NAME OpenCV #VERBOSE ON MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv.7z" MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv-4.5.0.7z" # opencv compatible with msvc14 and with contribs MSVC17 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv4-8.7z" SET ${opencv_set_arguments} ) find_package(OpenCV REQUIRED) ## Use directly the OpenCVConfig.cmake provided ##https://stackoverflow.com/questions/24262081/cmake-relwithdebinfo-links-to-debug-libs set_target_properties(${OpenCV_LIBS} PROPERTIES MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE) add_definitions(-DOPENCV_TRAITS_ENABLE_DEPRECATED) if(OpenCV_INCLUDE_DIRS) foreach(inc ${OpenCV_INCLUDE_DIRS}) if(NOT EXISTS ${inc}) set(OpenCV_INCLUDE_DIR "" CACHE PATH "additional custom include DIR (in case of trouble to find it (fedora 17 opencv package))") endif() endforeach() if(OpenCV_INCLUDE_DIR) list(APPEND OpenCV_INCLUDE_DIRS ${OpenCV_INCLUDE_DIR}) include_directories(${OpenCV_INCLUDE_DIRS}) endif() endif() ################### ## Find GLFW ################### sibr_addlibrary( NAME GLFW MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glfw-3.2.1.7z" MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glfw-3.2.1.7z" # TODO SV: provide a valid version if required ) sibr_gitlibrary(TARGET imgui GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/imgui.git" GIT_TAG "e7f0fa31b9fa3ee4ecd2620b9951f131b4e377c6" ) sibr_gitlibrary(TARGET mrf GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/mrf.git" GIT_TAG "564e5e0b395c788d2f8b2cf4f879fed2493faea7" ) sibr_gitlibrary(TARGET nanoflann GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/nanoflann.git" GIT_TAG "7a20a9ac0a1d34850fc3a9e398fc4a7618e8a69a" ) sibr_gitlibrary(TARGET picojson GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/picojson.git" GIT_TAG "7cf8feee93c8383dddbcb6b64cf40b04e007c49f" ) sibr_gitlibrary(TARGET rapidxml GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/rapidxml.git" GIT_TAG "069e87f5ec5ce1745253bd64d89644d6b894e516" ) sibr_gitlibrary(TARGET xatlas GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/xatlas.git" GIT_TAG "0fbe06a5368da13fcdc3ee48d4bdb2919ed2a249" INCLUDE_DIRS "source/xatlas" ) Win3rdPartyGlobalCacheAction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/downloadAndExtractZipFile.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## downloadAndExtractZipFile cmake function ## Provide a way to download zip file from public internet ZIP_URL host ## and to extract it in a specific EXCTRATED_ZIP_PATH destination. ## This function use 7-Zip external tool to maximize the compatibles formats. ## This will be not download again if the EXCTRATED_ZIP_PATH already exist and DL_FORCE is set to OFF. ## This will try to unzip file if already exist in the ZIP_DL_PATH. ## ## If EXCTRATED_ZIP_PATH and/or ZIP_DL_PATH are not full path, ## it will be interpreted relative to CMAKE_BINARY_DIR ## ## Usage example : ## include(downloadAndExtractZipFile) ## downloadAndExtractZipFile( ## http://www.cs.cornell.edu/~snavely/bundler/distr/bundler-v0.4-source.zip ## ${CMAKE_BINARY_DIR}/Bundler/bundler-v0.4-source.zip ## ${CMAKE_BINARY_DIR}/Bundler ## [DL_FORCE ON|OFF] ## [TIMEOUT] ## [CHECK_DIRTY_URL] ## ) ## ## option DL_FORCE will redownload the zip file [deafult to OFF] ## option TIMEOUT will end the unzip process after this period of time [default to 600s] ## option CHECK_DIRTY_URL will write into the given file the downloaded URL and then, ## next time, if the URL was updated, it detect it with this file ## and will download the last version. This prevent to alway set manually DL_FORCE to ON... ## if(__downloadAndExtractZipFile_cmake_INCLUDED__) return() else() set(__downloadAndExtractZipFile_cmake_INCLUDED__ ON) endif() function(downloadAndExtractZipFile ZIP_URL ZIP_DL_PATH EXCTRATED_ZIP_PATH) # message(STATUS "zipUrl=${ZIP_URL} zipDlPath=${ZIP_DL_PATH} extractedZipPath=${EXCTRATED_ZIP_PATH}") cmake_parse_arguments(dwnlezf "" "VERBOSE;DL_FORCE;TIMEOUT;CHECK_DIRTY_URL" "" ${ARGN}) set(PROGRAMFILESx86 "PROGRAMFILES(x86)") ## Check entries mandatory args if(IS_ABSOLUTE "${ZIP_DL_PATH}") else() set(ZIP_DL_PATH "${CMAKE_BINARY_DIR}/${ZIP_DL_PATH}") endif() if(IS_ABSOLUTE "${EXCTRATED_ZIP_PATH}") else() set(EXCTRATED_ZIP_PATH "${CMAKE_BINARY_DIR}/${EXCTRATED_ZIP_PATH}") endif() if(NOT EXISTS "${EXCTRATED_ZIP_PATH}") file(MAKE_DIRECTORY ${EXCTRATED_ZIP_PATH}) endif() # SB: Once, one of downloaded zip was corrupted by an error message coming from the server. if(EXISTS "${ZIP_DL_PATH}") # So I check for removing such corrupted files message("Removing previous ${ZIP_DL_PATH} (might be corrupted)") file(REMOVE "${ZIP_DL_PATH}") if(EXISTS "${dwnlezf_CHECK_DIRTY_URL}") # and remove the previous (corrupted) made 'Win3rdPartyUrl' file file(REMOVE "${dwnlezf_CHECK_DIRTY_URL}") endif() endif() ## Check entries optional args macro(readDirtyUrl ) if(dwnlezf_CHECK_DIRTY_URL) if(IS_ABSOLUTE "${dwnlezf_CHECK_DIRTY_URL}") else() set(dwnlezf_CHECK_DIRTY_URL "${CMAKE_BINARY_DIR}/${dwnlezf_CHECK_DIRTY_URL}") endif() get_filename_component(unzipDir ${EXCTRATED_ZIP_PATH} NAME) get_filename_component(unzipPath ${EXCTRATED_ZIP_PATH} PATH) message(STATUS "Checking ${unzipDir} [from ${unzipPath}]...") if(EXISTS "${dwnlezf_CHECK_DIRTY_URL}") get_filename_component(CHECK_DIRTY_URL_FILENAME ${dwnlezf_CHECK_DIRTY_URL} NAME) file(STRINGS "${dwnlezf_CHECK_DIRTY_URL}" contents) list(GET contents 0 downloadURL) list(REMOVE_AT contents 0) if("${downloadURL}" MATCHES "${ZIP_URL}") if(dwnlezf_VERBOSE) message(STATUS "Your downloaded version (URL) seems to be up to date. Let me check if nothing is missing... (see ${dwnlezf_CHECK_DIRTY_URL}).") endif() file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? unset(NAME_PATTERN_LIST) foreach(realPathPattern ${PATHNAME_PATTERN_LIST}) get_filename_component(itemName ${realPathPattern} NAME) list(APPEND NAME_PATTERN_LIST ${itemName}) endforeach() if(NAME_PATTERN_LIST) foreach(item ${contents}) list(FIND NAME_PATTERN_LIST ${item} id) if(${id} MATCHES "-1") message(STATUS "${item} is missing, your downloaded version content changed, need to redownload it.") set(ZIP_DL_FORCE ON) break() else() list(REMOVE_AT NAME_PATTERN_LIST ${id}) set(ZIP_DL_FORCE OFF) endif() endforeach() if(NOT ZIP_DL_FORCE AND NAME_PATTERN_LIST) message("Yours seems to be up to date (regarding to ${CHECK_DIRTY_URL_FILENAME})!\nBut there are additional files/folders into your downloaded destination (feel free to clean it if you want).") foreach(item ${NAME_PATTERN_LIST}) if(item) message("${item}") endif() endforeach() endif() endif() else() set(ZIP_DL_FORCE ON) message(STATUS "Your downloaded version is dirty (too old).") endif() else() file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? if(NOT PATHNAME_PATTERN_LIST) message("We found nothing into ${EXCTRATED_ZIP_PATH}, we will try to download it for you now.") endif() set(ZIP_DL_FORCE ON) endif() endif() endmacro() readDirtyUrl() if(NOT ZIP_DL_FORCE) return() ## do not need to further (as we are up to date, just exit the function endif() macro(writeDirtyUrl ) if(dwnlezf_CHECK_DIRTY_URL) file(WRITE "${dwnlezf_CHECK_DIRTY_URL}" "${ZIP_URL}\n") file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? unset(NAME_PATTERN_LIST) foreach(realPathPattern ${PATHNAME_PATTERN_LIST}) get_filename_component(itemName ${realPathPattern} NAME) list(APPEND NAME_PATTERN_LIST ${itemName}) endforeach() if(NAME_PATTERN_LIST) foreach(item ${NAME_PATTERN_LIST}) file(APPEND "${dwnlezf_CHECK_DIRTY_URL}" "${item}\n") endforeach() endif() endif() endmacro() if(dwnlezf_DL_FORCE) set(ZIP_DL_FORCE ON) endif() if(NOT dwnlezf_TIMEOUT) set(dwnlezf_TIMEOUT 600) endif() math(EXPR dwnlezf_TIMEOUT_MIN "${dwnlezf_TIMEOUT}/60") macro(unzip whichZipFile) if(NOT SEVEN_ZIP_CMD) find_program(SEVEN_ZIP_CMD NAMES 7z 7za p7zip DOC "7-zip executable" PATHS "$ENV{PROGRAMFILES}/7-Zip" "$ENV{${PROGRAMFILESx86}}/7-Zip" "$ENV{ProgramW6432}/7-Zip") endif() if(SEVEN_ZIP_CMD) if(dwnlezf_VERBOSE) message(STATUS "UNZIP: please, WAIT UNTIL ${SEVEN_ZIP_CMD} finished...\n(no more than ${dwnlezf_TIMEOUT_MIN} min)") else() message(STATUS "UNZIP...wait...") endif() execute_process( COMMAND ${SEVEN_ZIP_CMD} x ${whichZipFile} -y WORKING_DIRECTORY ${EXCTRATED_ZIP_PATH} TIMEOUT ${dwnlezf_TIMEOUT} RESULT_VARIABLE resVar OUTPUT_VARIABLE outVar ERROR_VARIABLE errVar ) if(${resVar} MATCHES "0") if(dwnlezf_VERBOSE) message(STATUS "SUCESS to unzip in ${EXCTRATED_ZIP_PATH}. Now we can remove the downloaded zip file.") endif() execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${whichZipFile}) mark_as_advanced(SEVEN_ZIP_CMD) else() message(WARNING "something wrong in ${EXCTRATED_ZIP_PATH}\n with \"${SEVEN_ZIP_CMD} x ${whichZipFile} -y\", redo or try to unzip by yourself...") message("unzip: resVar=${resVar}") message("unzip: outVar=${outVar}") message("unzip: errVar=${errVar}") message("unzip: failed or canceled or timeout") endif() else() message(WARNING "You need 7zip (http://www.7-zip.org/download.html) to unzip the downloaded dir.") set(SEVEN_ZIP_CMD "" CACHE FILEPATH "7-zip executable") mark_as_advanced(CLEAR SEVEN_ZIP_CMD) endif() endmacro() if(dwnlezf_VERBOSE) message(STATUS "Trying to look ${ZIP_DL_PATH} if a zip file exist...") endif() if(EXISTS "${ZIP_DL_PATH}") ## already downloaded, so just unzip it unzip(${ZIP_DL_PATH}) writeDirtyUrl() elseif(ZIP_DL_FORCE) ## the download part (+ unzip) message(STATUS "Let me try to download package for you : ${ZIP_URL}") if(dwnlezf_VERBOSE) message(STATUS "Downloading...\n SRC=${ZIP_URL}\n DEST=${ZIP_DL_PATH}.tmp\n INACTIVITY_TIMEOUT=180s") endif() file(DOWNLOAD ${ZIP_URL} ${ZIP_DL_PATH}.tmp INACTIVITY_TIMEOUT 360 STATUS status SHOW_PROGRESS) list(GET status 0 numResult) if(${numResult} MATCHES "0") if(dwnlezf_VERBOSE) message(STATUS "Download succeed, so let me rename the tmp file to unzip it") endif() execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${ZIP_DL_PATH}.tmp ${ZIP_DL_PATH}) unzip(${ZIP_DL_PATH}) writeDirtyUrl() else() list(GET status 1 errMsg) message(WARNING "DOWNLOAD ${ZIP_URL} to ${ZIP_DL_PATH} failed\n:${errMsg}") message(WARNING "OK, you need to download the ${ZIP_URL} manually and put it into ${ZIP_DL_PATH}") message("Take a look at the project website page to check available URL.") endif() endif() ## clean up the tmp downloaded file if(EXISTS "${ZIP_DL_PATH}.tmp") execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${ZIP_DL_PATH}.tmp) endif() endfunction() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/git_describe.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr if(__git_describe_INCLUDED__) return() else() set(__git_describe_INCLUDED__ ON) endif() find_package(Git) if(Git_FOUND) message(STATUS "Git found: ${GIT_EXECUTABLE}") else() message(FATAL_ERROR "Git not found. Aborting") endif() macro(git_describe) cmake_parse_arguments(GIT_DESCRIBE "" "GIT_URL;GIT_BRANCH;GIT_COMMIT_HASH;GIT_TAG;GIT_VERSION;PATH" "" ${ARGN}) if(NOT GIT_DESCRIBE_PATH) set(GIT_DESCRIBE_PATH ${CMAKE_SOURCE_DIR}) endif() if(GIT_DESCRIBE_GIT_URL) # Get the current remote execute_process( COMMAND git remote WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE GIT_DESCRIBE_GIT_REMOTE OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) # Get the current remote execute_process( COMMAND git remote get-url ${GIT_DESCRIBE_GIT_REMOTE} WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_URL} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() if(GIT_DESCRIBE_GIT_BRANCH) # Get the current working branch execute_process( COMMAND git rev-parse --abbrev-ref HEAD WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_BRANCH} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() if(GIT_DESCRIBE_GIT_COMMIT_HASH) # Get the latest abbreviated commit hash of the working branch execute_process( COMMAND git rev-parse HEAD WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_COMMIT_HASH} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() if(GIT_DESCRIBE_GIT_TAG) # Get the tag execute_process( COMMAND git describe --tags --exact-match WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_TAG} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) endif() if(GIT_DESCRIBE_GIT_VERSION) # Get the version from git describe execute_process( COMMAND git describe WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_VERSION} OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) if(${GIT_DESCRIBE_GIT_VERSION} STREQUAL "") execute_process( COMMAND git rev-parse --abbrev-ref HEAD WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE GIT_DESCRIBE_GIT_VERSION_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) execute_process( COMMAND git log -1 --format=%h WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} OUTPUT_VARIABLE GIT_DESCRIBE_GIT_VERSION_COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) set(${GIT_DESCRIBE_GIT_VERSION} "${GIT_DESCRIBE_GIT_VERSION_BRANCH}-${GIT_DESCRIBE_GIT_VERSION_COMMIT}") endif() endif() endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/include_once.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr macro(include_once file) get_filename_component(INCLUDE_ONCE_FILEPATH ${file} REALPATH) string(REGEX REPLACE "(\\.|\\/+|\\:|\\\\+)" "_" INCLUDE_ONCE_FILEPATH ${INCLUDE_ONCE_FILEPATH}) get_property(INCLUDED_${INCLUDE_ONCE_FILEPATH}_LOCAL GLOBAL PROPERTY INCLUDED_${INCLUDE_ONCE_FILEPATH}) if (INCLUDED_${INCLUDE_ONCE_FILEPATH}_LOCAL) return() else() set_property(GLOBAL PROPERTY INCLUDED_${INCLUDE_ONCE_FILEPATH} true) include(${file}) endif() endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/install_runtime.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ## This file is mainly used to allow runtime installation ## There are some utilities cmake functions to ease the generic deployement (abstract common usage of cmake)... ## ## You cannot run your programm automaticaly from your CNAKE_BINARY_DIR when you build ## as it will miss all dependencies and ressources files... ## You have to run install target in order to test your programm. ## ## The only one function/macros you may use inside your sub-CMakeLists.txt (sub-project) is : ## ****************** ## ibr_install_target macro => see documentation at the end of this file ## ****************** ## It use these utilities cmake functions to abstract the installation in an uniform way for all sub-projects. ## if(__install_runtime_cmake_INCLUDED__) return() else() set(__install_runtime_cmake_INCLUDED__ ON) endif() ## ## Allow to write a resource config file which contain additional ressource paths ## (used by IBR_Common Resource system to load shaders and potentialy images, plugins and so on) ## ## ADD option list all the paths to add in the file (relative paths are interpreted relative to working dir of the executable) ## INSTALL option to specify where we want to install this file ## ## Example usage: ## resourceFile(ADD "shaders" "${PROJECT_NAME}_rsc" INSTALL bin) ## macro(resourceFile) cmake_parse_arguments(rsc "" "INSTALL;FILE_PATH;CONFIG_TYPE" "ADD" ${ARGN}) ## both args are directory path if(rsc_ADD) unset(IBR_RSC_FILE_CONTENT_LIST) if(EXISTS "${rsc_FILE_PATH}") file(READ "${rsc_FILE_PATH}" IBR_RSC_FILE_CONTENT) string(REGEX REPLACE "\n" ";" IBR_RSC_FILE_CONTENT_LIST "${IBR_RSC_FILE_CONTENT}") endif() list(APPEND IBR_RSC_FILE_CONTENT_LIST "${rsc_ADD}") list(REMOVE_DUPLICATES IBR_RSC_FILE_CONTENT_LIST) file(WRITE "${rsc_FILE_PATH}" "") foreach(rscDir ${IBR_RSC_FILE_CONTENT_LIST}) file(APPEND "${rsc_FILE_PATH}" "${rscDir}\n") endforeach() unset(rsc_ADD) endif() if(rsc_INSTALL) install(FILES ${rsc_FILE_PATH} CONFIGURATIONS ${rsc_CONFIG_TYPE} DESTINATION ${rsc_INSTALL}) unset(rsc_INSTALL) endif() endmacro() ## ## Install *.pdb generated file for the current cmake project ## assuming the output target name is the cmake project name. ## This macro is useful for crossplateform multi config mode. ## ## Usage Example: ## ## if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based ## installPDB(${PROJECT_NAME} ${CMAKE_BUILD_TYPE} RUNTIME_DEST bin ARCHIVE_DEST lib LIBRARY_DEST lib) ## endif() ## foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) ## installPDB(${PROJECT_NAME} ${CONFIG_TYPES} RUNTIME_DEST bin ARCHIVE_DEST lib LIBRARY_DEST lib) ## endforeach() ## macro(installPDB targetName configType) cmake_parse_arguments(instpdb "" "COMPONENT" "ARCHIVE_DEST;LIBRARY_DEST;RUNTIME_DEST" ${ARGN}) ## both args are directory path if(NOT MSVC) return() endif() ## Check if DESTINATION are provided according to the TYPE of the given target (see install command doc to see correspodances) get_target_property(type ${targetName} TYPE) if(${type} MATCHES "EXECUTABLE" AND instpdb_RUNTIME_DEST) set(pdb_DESTINATION ${instpdb_RUNTIME_DEST}) elseif(${type} MATCHES "STATIC_LIBRARY" AND instpdb_ARCHIVE_DEST) set(pdb_DESTINATION ${instpdb_ARCHIVE_DEST}) elseif(${type} MATCHES "MODULE_LIBRARY" AND instpdb_LIBRARY_DEST) set(pdb_DESTINATION ${instpdb_LIBRARY_DEST}) elseif(${type} MATCHES "SHARED_LIBRARY") if(WIN32 AND instpdb_RUNTIME_DEST) set(pdb_DESTINATION ${instpdb_RUNTIME_DEST}) else() set(pdb_DESTINATION ${instpdb_LIBRARY_DEST}) endif() endif() if(NOT pdb_DESTINATION) set(pdb_DESTINATION bin) ## default destination of the pdb file endif() if(NOT instpdb_COMPONENT) set(instpdb_COMPONENT ) else() set(instpdb_COMPONENT COMPONENT ${instpdb_COMPONENT}) endif() string(TOUPPER ${configType} CONFIG_TYPES_UC) get_target_property(PDB_PATH ${targetName} PDB_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}) get_target_property(confModePostfix ${targetName} ${CONFIG_TYPES_UC}_POSTFIX) if(NOT confModePostfix) set(confModePostfix "") endif() set_target_properties(${targetName} PROPERTIES PDB_NAME_${CONFIG_TYPES_UC} ${targetName}${confModePostfix}) get_target_property(PDB_NAME ${targetName} PDB_NAME_${CONFIG_TYPES_UC})# if not set, this is empty if(EXISTS "${PDB_PATH}/${PDB_NAME}.pdb") install(FILES "${PDB_PATH}/${PDB_NAME}.pdb" CONFIGURATIONS ${configType} DESTINATION ${pdb_DESTINATION} ${instpdb_COMPONENT} OPTIONAL) endif() endmacro() ## ## Add additional target to install a project independently and based on its component ## configMode is used to prevent default Release installation (we want also to install in other build/config type) ## macro(installTargetProject targetOfProject targetOfInstallProject) if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based set(configMode ${CMAKE_BUILD_TYPE}) elseif(MSVC) ## $(Configuration) will be one of the following : Debug, Release, MinSizeRel, RelWithDebInfo set(configMode $(Configuration)) endif() if(configMode) get_target_property(srcFiles ${targetOfProject} SOURCES) add_custom_target( ${targetOfInstallProject} #ALL ${CMAKE_COMMAND} -DBUILD_TYPE=${configMode} -DCOMPONENT=${targetOfInstallProject} -P ${CMAKE_BINARY_DIR}/cmake_install.cmake DEPENDS ${srcFiles} COMMENT "run the installation only for ${targetOfProject}" VERBATIM ) add_dependencies(${targetOfInstallProject} ${targetOfProject}) get_target_property(INSTALL_BUILD_FOLDER ${targetOfProject} FOLDER) set_target_properties(${targetOfInstallProject} PROPERTIES FOLDER ${INSTALL_BUILD_FOLDER}) endif() endmacro() # Collect all currently added targets in all subdirectories # # Parameters: # - _result the list containing all found targets # - _dir root directory to start looking from function(get_all_targets _result _dir) get_property(_subdirs DIRECTORY "${_dir}" PROPERTY SUBDIRECTORIES) foreach(_subdir IN LISTS _subdirs) get_all_targets(${_result} "${_subdir}") endforeach() get_directory_property(_sub_targets DIRECTORY "${_dir}" BUILDSYSTEM_TARGETS) set(${_result} ${${_result}} ${_sub_targets} PARENT_SCOPE) endfunction() ## ## Add targets for building and installing subdirectories macro(subdirectory_target target directory build_folder) add_custom_target(${target} COMMENT "run build for all projects in this directory" VERBATIM ) get_all_targets(ALL_TARGETS ${directory}) add_dependencies(${target} ${ALL_TARGETS}) add_custom_target(${target}_install ${CMAKE_COMMAND} -DBUILD_TYPE=$ -DCOMPONENT=${target}_install -P ${CMAKE_BINARY_DIR}/cmake_install.cmake COMMENT "run install for all projects in this directory" VERBATIM ) add_dependencies(${target}_install ${target}) set_target_properties(${target} PROPERTIES FOLDER ${build_folder}) set_target_properties(${target}_install PROPERTIES FOLDER ${build_folder}) endmacro() ## CMAKE install all required dependencies for an application (included system OS files like msvc*.dll for example) ## ## install_runtime( ## [TARGET name] ## [PLUGINS name [nameN ...] [PLUGIN_PATH_NAME currentPathName [FROM_REL_PATH matchDirFromCurrentPathName] [PLUGIN_PATH_DEST installDir] ] ## [PLUGINS ...] ## [DIRS path [pathN ...] ] ## [TARGET_LIBRARIES filePath [filePathN ...] ] ## [TARGET_PACKAGES packageName [packageNameN ...] ] ## [COMPONENT installComponentName] ## [PLAUSIBLES_POSTFIX Debug_postfix [MinSizeRel_postfix relWithDebInfo_postfix ...] ] ## [VERBOSE] ## ) ## ## installedFilePathTargetAppToResolve : the final installed targetApp absolute full file path name you want to resolve ## ## TARGET : The target app we want to install. If given, it's used to look for link libraries paths (best choice to use, strongly advised to use it) ## ## PLUGINS : Some application built use/load some plugins which can't be detect inside its binary, ## so, here you can specify which plugins the application use/load in order to install them ## and resolve also there dependencies. ## With PLUGINS multi FLAGS : ## PLUGIN_PATH_NAME : The current plugin full file path we want to install ## FROM_REL_PATH : [optional: default only the file is kept] From which matching dir of the plugin path we want to install (keep the directories structure) ## PLUGIN_PATH_DEST : [optional: default relative to executable directory] Where (full path to the install directory) we will install the plugin file (or file path) ## ## DIRS : A list of directories to looking for dependencies ## TARGET_LIBRARIES : DEPRECATED (use TARGET flag instead) : The cmake content variables used for the target_link_libraries( ...) ## TARGET_PACKAGES : DEPRECATED (use TARGET flag instead) : The cmake package names used for the findPackage(...) for your targetApp ## ADVICE: This flag add entries in cache (like: _DIR), it could be useful to fill these variable! ## COMPONENT : (default to runtime) Is the component name associated to the installation ## It is used when you want to install separatly some part of your projets (see install cmake doc) ## VERBOSE : For debug or to get more informations in the output console ## ## Usage: ## install_runtime(${CMAKE_INSTALL_PREFIX}/${EXECUTABLE_NAME}${CMAKE_EXECUTABLE_SUFFIX} ## VERBOSE ## TARGET ${PROJECT_NAME} ## PLAUSIBLES_POSTFIX _d ## PLUGINS ## PLUGIN_PATH_NAME ${PLUGIN_PATH_NAME}${CMAKE_SHARED_MODULE_SUFFIX} ## will be installed (default exec path if no PLUGINS_DEST) and then will be resolved ## FROM_REL_PATH plugins ## optional, used especially for keeping qt plugins tree structure ## PLUGIN_PATH_DEST ${CMAKE_INSTALL_PREFIX}/plugins ## (or relative path 'plugins' will be interpreted relative to installed executable) ## DIRS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ## TARGET_LIBRARIES ${OPENGL_LIBRARIES} ## DEPRECATED (use TARGET flag instead) ## ${GLEW_LIBRARIES} ## ${GLUT_LIBRARIES} ## ${Boost_LIBRARIES} ## ${SuiteSparse_LIBRARIES} ## ${CGAL_LIBRARIES} ## TARGET_PACKAGES OPENGL ## DEPRECATED (use TARGET flag instead) ## GLEW ## GLUT ## CGAL ## Boost ## SuiteSparse ## ) ## ## For plugins part, it use our internal parse_arguments_multi.cmake ## function(install_runtime installedFilePathTargetAppToResolve) set(optionsArgs "VERBOSE") set(oneValueArgs "COMPONENT;INSTALL_FOLDER;CONFIG_TYPE") set(multiValueArgs "DIRS;PLUGINS;TARGET_LIBRARIES;TARGET_PACKAGES;TARGET;PLAUSIBLES_POSTFIX") cmake_parse_arguments(inst_run "${optionsArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) if(IS_ABSOLUTE ${installedFilePathTargetAppToResolve}) else() set(installedFilePathTargetAppToResolve ${inst_run_INSTALL_FOLDER}/${installedFilePathTargetAppToResolve}) endif() get_filename_component(EXEC_NAME ${installedFilePathTargetAppToResolve} NAME_WE) get_filename_component(EXEC_PATH ${installedFilePathTargetAppToResolve} PATH) if(NOT inst_run_COMPONENT) set(inst_run_COMPONENT runtime) endif() ## Try to append as more possible as possible paths to find dependencies (deprecated since we can use target_properties to get back paths) set(libPaths ) foreach(libraryFileName ${inst_run_TARGET_LIBRARIES}) if(IS_DIRECTORY "${libraryFileName}") list(APPEND libPaths "${libraryFileName}") else() get_filename_component(libpath "${libraryFileName}" PATH) if(EXISTS "${libpath}") list(APPEND libPaths "${libpath}") endif() endif() endforeach() ## This macro is used internaly here to recursilvely get path of LINK_LIBRARIES of each non imported target ## Typically if you have 2 internal dependencies between cmake targets, we want cmake to be able to get back path where are these dependencies macro(recurseDepList target) get_target_property(linkLibs ${target} LINK_LIBRARIES) foreach(lib ${linkLibs}) string(FIND ${lib} ">" strId) ## cmake is using generator-expression? if(TARGET ${lib}) ## Skipping interface libraries as they're system ones get_target_property(type ${lib} TYPE) get_target_property(imported ${lib} IMPORTED) if(type STREQUAL "INTERFACE_LIBRARY") get_target_property(imp_loc ${lib} INTERFACE_IMPORTED_LOCATION) if(imp_loc) get_filename_component(imp_loc ${imp_loc} PATH) list(APPEND targetLibPath ${imp_loc}) endif() get_target_property(loc ${lib} INTERFACE_LOCATION) if(loc) get_filename_component(loc ${loc} PATH) list(APPEND targetLibPath ${loc}) endif() ## it's not a path but a single target name ## for build-target which are part of the current cmake configuration : nothing to do as cmake already know the output path ## for imported target, we need to look for theire imported location elseif(imported) get_target_property(imp_loc ${lib} IMPORTED_LOCATION) if(imp_loc) get_filename_component(imp_loc ${imp_loc} PATH) list(APPEND targetLibPath ${imp_loc}) endif() get_target_property(loc ${lib} LOCATION) if(loc) get_filename_component(loc ${loc} PATH) list(APPEND targetLibPath ${loc}) endif() else() recurseDepList(${lib}) endif() elseif(NOT ${strId} MATCHES -1) ## mean cmake use generator-expression (CMAKE VERSION > 3.0) string(REGEX MATCH ">:[@A-Za-z_:/.0-9-]+" targetLibPath ${lib}) string(REGEX REPLACE ">:([@A-Za-z_:/.0-9-]+)" "\\1" targetLibPath ${targetLibPath}) get_filename_component(targetLibPath ${targetLibPath} PATH) elseif(EXISTS ${lib}) set(targetLibPath ${lib}) get_filename_component(targetLibPath ${targetLibPath} PATH) else() #message(STATUS "[install_runtime] skip link library : ${lib} , of target ${target}") endif() if(targetLibPath) list(APPEND targetLinkLibsPathList ${targetLibPath}) endif() endforeach() if(targetLinkLibsPathList) list(REMOVE_DUPLICATES targetLinkLibsPathList) endif() endmacro() if(inst_run_TARGET) recurseDepList(${inst_run_TARGET}) if(targetLinkLibsPathList) list(APPEND libPaths ${targetLinkLibsPathList}) endif() endif() if(libPaths) list(REMOVE_DUPLICATES libPaths) foreach(libPath ${libPaths}) get_filename_component(path ${libPath} PATH) list(APPEND libPaths ${path}) endforeach() endif() ## possible speciale dir(s) according to the build system and OS if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(BUILD_TYPES_FOR_DLL "x64") if(WIN32) list(APPEND BUILD_TYPES_FOR_DLL "Win64") endif() else() set(BUILD_TYPES_FOR_DLL "x86") if(WIN32) list(APPEND BUILD_TYPES_FOR_DLL "Win32") endif() endif() ## Try to append as more as possible paths to find dependencies (here, mainly for *.dll) foreach(dir ${inst_run_DIRS} ${libPaths}) if(EXISTS "${dir}/bin") list(APPEND inst_run_DIRS "${dir}/bin") elseif(EXISTS "${dir}") list(APPEND inst_run_DIRS "${dir}") endif() endforeach() list(REMOVE_DUPLICATES inst_run_DIRS) foreach(dir ${inst_run_DIRS}) if(EXISTS "${dir}") list(APPEND argDirs ${dir}) foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}") list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}") endif() foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") endif() endforeach() if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") endif() endif() endforeach() foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) if(EXISTS "${dir}/${OUTPUTCONFIG}") list(APPEND argDirs "${dir}/${OUTPUTCONFIG}") endif() foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${dir}/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") list(APPEND argDirs "${dir}/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") endif() endforeach() endforeach() if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) if(EXISTS "${dir}/${CMAKE_BUILD_TYPE}") list(APPEND argDirs "${dir}/${CMAKE_BUILD_TYPE}") endif() foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${dir}/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") list(APPEND argDirs "${dir}/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") endif() endforeach() endif() endif() endforeach() if(argDirs) list(REMOVE_DUPLICATES argDirs) endif() ## Try to append as more possible paths to find dependencies (here, mainly for *.dll) foreach(packageName ${inst_run_TARGET_PACKAGES}) if(EXISTS "${${packageName}_DIR}") list(APPEND packageDirs ${${packageName}_DIR}) list(APPEND packageDirs ${${packageName}_DIR}/bin) foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}") endif() foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") endif() endforeach() if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") endif() endif() endforeach() foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) if(EXISTS "${${packageName}_DIR}/bin/${OUTPUTCONFIG}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${OUTPUTCONFIG}") endif() foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${${packageName}_DIR}/bin/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") endif() endforeach() endforeach() if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) if(EXISTS "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}") endif() foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) if(EXISTS "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") list(APPEND packageDirs "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") endif() endforeach() endif() else() set(${packageName}_DIR "$ENV{${packageName}_DIR}" CACHE PATH "${packageName}_DIR root directory for looking for dirs containning *.dll") endif() endforeach() if(packageDirs) list(REMOVE_DUPLICATES packageDirs) endif() set(dirsToLookFor "${EXEC_PATH}") if(packageDirs) list(APPEND dirsToLookFor ${packageDirs}) endif() if(argDirs) list(APPEND dirsToLookFor ${argDirs}) endif() get_property(used_LINK_DIRECTORIES DIRECTORY PROPERTY LINK_DIRECTORIES) if (used_LINK_DIRECTORIES) list(APPEND dirsToLookFor ${used_LINK_DIRECTORIES}) list(REMOVE_DUPLICATES dirsToLookFor) endif() ## handle plugins set(pluginsList "") include(parse_arguments_multi) ## this function will process recursively items of the sub-list [default print messages] function(parse_arguments_multi_function results) cmake_parse_arguments(pamf "VERBOSE" "PLUGIN_PATH_DEST;FROM_REL_PATH;EXEC_PATH;COMPONENT" "" ${ARGN}) ## EXEC_PATH and COMPONENT are for exclusive internal use list(REMOVE_DUPLICATES pamf_UNPARSED_ARGUMENTS) foreach(PLUGIN_PATH_NAME ${pamf_UNPARSED_ARGUMENTS}) if(EXISTS ${PLUGIN_PATH_NAME}) if(IS_DIRECTORY ${PLUGIN_PATH_NAME}) if(pamf_VERBOSE) message(WARNING "${PLUGIN_PATH_NAME} IS_DIRECTORY, cannot installed a directory, please give a path filename") endif() else() if(NOT pamf_PLUGIN_PATH_DEST) set(PLUGIN_PATH_DEST ${pamf_EXEC_PATH}) ## the default dest value else() set(PLUGIN_PATH_DEST ${pamf_PLUGIN_PATH_DEST}) endif() if(pamf_FROM_REL_PATH) file(TO_CMAKE_PATH ${PLUGIN_PATH_NAME} PLUGIN_PATH_NAME) get_filename_component(PLUGIN_PATH ${PLUGIN_PATH_NAME} PATH) unset(PLUGIN_PATH_LIST) unset(PLUGIN_PATH_LIST_COUNT) unset(PLUGIN_REL_PATH_LIST) unset(PLUGIN_REL_PATH) string(REPLACE "/" ";" PLUGIN_PATH_LIST ${PLUGIN_PATH}) ## create a list of dir list(FIND PLUGIN_PATH_LIST ${pamf_FROM_REL_PATH} id) list(LENGTH PLUGIN_PATH_LIST PLUGIN_PATH_LIST_COUNT) if(${id} GREATER 0) math(EXPR id "${id}+1") ## matches relative path not include math(EXPR PLUGIN_PATH_LIST_COUNT "${PLUGIN_PATH_LIST_COUNT}-1") ## the end of the list foreach(i RANGE ${id} ${PLUGIN_PATH_LIST_COUNT}) list(GET PLUGIN_PATH_LIST ${i} out) list(APPEND PLUGIN_REL_PATH_LIST ${out}) endforeach() foreach(dir ${PLUGIN_REL_PATH_LIST}) set(PLUGIN_REL_PATH "${PLUGIN_REL_PATH}/${dir}") endforeach() endif() set(PLUGIN_PATH_DEST ${PLUGIN_PATH_DEST}${PLUGIN_REL_PATH}) endif() install(FILES ${PLUGIN_PATH_NAME} CONFIGURATIONS ${inst_run_CONFIG_TYPE} DESTINATION ${PLUGIN_PATH_DEST} COMPONENT ${pamf_COMPONENT}) get_filename_component(pluginName ${PLUGIN_PATH_NAME} NAME) if(IS_ABSOLUTE ${PLUGIN_PATH_DEST}) else() set(PLUGIN_PATH_DEST ${inst_run_INSTALL_FOLDER}/${PLUGIN_PATH_DEST}) endif() list(APPEND pluginsList ${PLUGIN_PATH_DEST}/${pluginName}) endif() else() message(WARNING "You need to provide a valid PLUGIN_PATH_NAME") set(pluginsList ) endif() endforeach() set(${results} ${pluginsList} PARENT_SCOPE) endfunction() if(inst_run_VERBOSE) list(APPEND extra_flags_to_add VERBOSE) endif() list(APPEND extra_flags_to_add EXEC_PATH ${EXEC_PATH} COMPONENT ${inst_run_COMPONENT}) ## for internal use inside overloaded function list(LENGTH inst_run_PLUGINS inst_run_PLUGINS_count) if(${inst_run_PLUGINS_count} GREATER 0) parse_arguments_multi(PLUGIN_PATH_NAME inst_run_PLUGINS ${inst_run_PLUGINS} ## see internal overload parse_arguments_multi_function for processing each sub-list NEED_RESULTS ${inst_run_PLUGINS_count} ## this is used to check when we are in the first loop (in order to reset parse_arguments_multi_results) EXTRAS_FLAGS ${extra_flags_to_add} ## this is used to allow catching additional internal flags of our overloaded function ) endif() #message(parse_arguments_multi_results = ${parse_arguments_multi_results}) list(APPEND pluginsList ${parse_arguments_multi_results}) ## Install rules for required system runtimes such as MSVCRxx.dll set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP ON) include(InstallRequiredSystemLibraries) if(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS) install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} CONFIGURATIONS ${inst_run_CONFIG_TYPE} DESTINATION ${EXEC_PATH} COMPONENT ${inst_run_COMPONENT} ) endif() ## print what we are doing to do if(inst_run_VERBOSE) message(STATUS "[install_runtime] On install target call, cmake will try to resolve dependencies for given app:\n ${installedFilePathTargetAppToResolve} (with plausible postfix: ${inst_run_PLAUSIBLES_POSTFIX})") if(pluginsList) message(STATUS " and also for plugins :") foreach(plugin ${pluginsList}) message(STATUS " ${plugin}") endforeach() endif() message(STATUS " Looking for dependencies into:") foreach(dir ${dirsToLookFor}) message(STATUS " ${dir}") endforeach() endif() ## Install rules for required dependencies libs/plugins for the target app ## will resolve all installed target files with config modes postfixes string(TOUPPER ${inst_run_CONFIG_TYPE} inst_run_CONFIG_TYPE_UC) get_target_property(postfix ${inst_run_TARGET} "${inst_run_CONFIG_TYPE_UC}_POSTFIX") install(CODE "set(target \"${inst_run_TARGET}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE "set(inst_run_CONFIG_TYPE \"${inst_run_CONFIG_TYPE}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE "set(inst_run_INSTALL_FOLDER \"${inst_run_INSTALL_FOLDER}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE "set(app \"${EXEC_PATH}/${EXEC_NAME}${postfix}${CMAKE_EXECUTABLE_SUFFIX}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE "set(dirsToLookFor \"${dirsToLookFor}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) install(CODE [[ if("${CMAKE_INSTALL_CONFIG_NAME}" STREQUAL "${inst_run_CONFIG_TYPE}") message(STATUS "Installing ${target} dependencies...") file(GET_RUNTIME_DEPENDENCIES EXECUTABLES ${app} RESOLVED_DEPENDENCIES_VAR _r_deps UNRESOLVED_DEPENDENCIES_VAR _u_deps CONFLICTING_DEPENDENCIES_PREFIX _c_deps DIRECTORIES ${dirsToLookFor} PRE_EXCLUDE_REGEXES "api-ms-*" POST_EXCLUDE_REGEXES ".*system32/.*\\.dll" ".*SysWOW64/.*\\.dll" ) if(_u_deps) message(WARNING "There were unresolved dependencies for executable ${EXEC_FILE}: \"${_u_deps}\"!") endif() if(_c_deps_FILENAMES) message(WARNING "There were conflicting dependencies for executable ${EXEC_FILE}: \"${_c_deps_FILENAMES}\"!") endif() foreach(_file ${_r_deps}) file(INSTALL DESTINATION "${inst_run_INSTALL_FOLDER}/bin" TYPE SHARED_LIBRARY FOLLOW_SYMLINK_CHAIN FILES "${_file}" ) endforeach() endif() ]] COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE} ) endfunction() ## High level macro to install resources in the correct folder ## ## EXECUTABLE: [opt] option to copy files as programs ## RELATIVE : [opt] copy files relatively to current folder ## TYPE : [opt] type and folder where to store the files ## FOLDER : [opt] subfolder to use ## FILES : [opt] contains a list of resources files to copy to install folder macro(ibr_install_rsc target) cmake_parse_arguments(install_rsc_${target} "EXECUTABLE;RELATIVE" "TYPE;FOLDER" "FILES" ${ARGN}) set(rsc_target "${target}_${install_rsc_${target}_TYPE}") if(install_rsc_${target}_FOLDER) set(rsc_folder "${install_rsc_${target}_TYPE}/${install_rsc_${target}_FOLDER}") else() set(rsc_folder "${install_rsc_${target}_TYPE}") endif() add_custom_target(${rsc_target} COMMENT "run the ${install_rsc_${target}_TYPE} installation only for ${target} (component ${rsc_target})" VERBATIM) foreach(scriptFile ${install_rsc_${target}_FILES}) if(install_rsc_${target}_RELATIVE) file(RELATIVE_PATH relativeFilename ${CMAKE_CURRENT_SOURCE_DIR} ${scriptFile}) else() get_filename_component(relativeFilename ${scriptFile} NAME) endif() if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based add_custom_command(TARGET ${rsc_target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${scriptFile} ${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}/${relativeFilename}) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) add_custom_command(TARGET ${rsc_target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${scriptFile} ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}/${relativeFilename}) endforeach() endforeach() get_target_property(INSTALL_RSC_BUILD_FOLDER ${target} FOLDER) set_target_properties(${rsc_target} PROPERTIES FOLDER ${INSTALL_RSC_BUILD_FOLDER}) add_dependencies(${target} ${rsc_target}) add_dependencies(PREBUILD ${rsc_target}) if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based resourceFile(ADD ${rsc_folder} CONFIG_TYPE ${CMAKE_BUILD_TYPE} FILE_PATH "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/ibr_resources.ini") if(install_rsc_${target}_EXECUTABLE) install( PROGRAMS ${install_rsc_${target}_FILES} CONFIGURATIONS ${CMAKE_BUILD_TYPE} DESTINATION "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}" ) else() install( FILES ${install_rsc_${target}_FILES} CONFIGURATIONS ${CMAKE_BUILD_TYPE} DESTINATION "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}" ) endif() endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) resourceFile(ADD ${rsc_folder} CONFIG_TYPE ${CONFIG_TYPES} FILE_PATH "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/ibr_resources.ini") if(install_rsc_${target}_EXECUTABLE) install( PROGRAMS ${install_rsc_${target}_FILES} CONFIGURATIONS ${CONFIG_TYPES} DESTINATION "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}" ) else() install( FILES ${install_rsc_${target}_FILES} CONFIGURATIONS ${CONFIG_TYPES} DESTINATION "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}" ) endif() endforeach() endmacro() ## High level macro to install in an homogen way all our ibr targets (it use some functions inside this file) ## ## RSC_FILE_ADD : [opt] is used to auto write/append relative paths of target resources into a common file ## INSTALL_PDB : [opt] is used to auto install PDB file (when using MSVC according to the target type) ## STANDALONE : [opt] bool ON/OFF var to call install_runtime or not (for bundle resolution) ## DIRS : [opt] used if STANDALONE set to ON, see install_runtime doc ## PLUGINS: [opt] used if STANDALONE set to ON, see install_runtime doc ## MSVC_CMD : [opt] used to specify an absolute filePathName application to launch with the MSVC IDE Debugger associated to this target (project file) ## MSVC_ARGS : [opt] load the MSVC debugger with correct settings (app path, args, working dir) ## macro(ibr_install_target target) cmake_parse_arguments(ibrInst${target} "VERBOSE;INSTALL_PDB" "COMPONENT;MSVC_ARGS;STANDALONE;RSC_FOLDER" "SHADERS;RESOURCES;SCRIPTS;DIRS;PLUGINS" ${ARGN}) if(ibrInst${target}_RSC_FOLDER) set(rsc_folder "${ibrInst${target}_RSC_FOLDER}") else() set(rsc_folder "${target}") endif() if(ibrInst${target}_SHADERS) ibr_install_rsc(${target} EXECUTABLE TYPE "shaders" FOLDER ${rsc_folder} FILES "${ibrInst${target}_SHADERS}") endif() if(ibrInst${target}_RESOURCES) ibr_install_rsc(${target} TYPE "resources" FOLDER ${rsc_folder} FILES "${ibrInst${target}_RESOURCES}") endif() if(ibrInst${target}_SCRIPTS) ibr_install_rsc(${target} EXECUTABLE TYPE "scripts" FOLDER ${rsc_folder} FILES "${ibrInst${target}_SCRIPTS}") endif() if(ibrInst${target}_COMPONENT) set(installCompArg COMPONENT ${ibrInst${target}_COMPONENT}) ## Create a custom install target based on COMPONENT installTargetProject(${target} ${ibrInst${target}_COMPONENT}) endif() if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based string(TOUPPER ${CMAKE_BUILD_TYPE} CONFIG_TYPES_UC) set_target_properties(${target} PROPERTIES ${CONFIG_TYPES_UC}_POSTFIX "${CMAKE_${CONFIG_TYPES_UC}_POSTFIX}") get_target_property(CURRENT_TARGET_BUILD_TYPE_POSTFIX ${target} ${CONFIG_TYPES_UC}_POSTFIX) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) set_target_properties(${target} PROPERTIES ${CONFIG_TYPES_UC}_POSTFIX "${CMAKE_${CONFIG_TYPES_UC}_POSTFIX}") get_target_property(CURRENT_TARGET_BUILD_TYPE_POSTFIX ${target} ${CONFIG_TYPES_UC}_POSTFIX) endforeach() ## Specify default installation rules if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based string(TOUPPER ${CMAKE_BUILD_TYPE} CONFIG_TYPES_UC) install(TARGETS ${target} CONFIGURATIONS ${CMAKE_BUILD_TYPE} LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} ) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) install(TARGETS ${target} CONFIGURATIONS ${CONFIG_TYPES} LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} ) endforeach() if(ibrInst${target}_INSTALL_PDB) if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based installPDB(${target} ${CMAKE_BUILD_TYPE} LIBRARY_DEST ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ARCHIVE_DEST ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} RUNTIME_DEST ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) installPDB(${target} ${CONFIG_TYPES} LIBRARY_DEST ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ARCHIVE_DEST ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} RUNTIME_DEST ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ) endforeach() endif() ## install dynamic necessary dependencies if(ibrInst${target}_STANDALONE) get_target_property(type ${target} TYPE) if(${type} MATCHES "EXECUTABLE") if(ibrInst${target}_VERBOSE) set(VERBOSE VERBOSE) else() set(VERBOSE ) endif() if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based install_runtime(bin/${target}${CMAKE_EXECUTABLE_SUFFIX} ## default relative to CMAKE_INSTALL_PREFIX INSTALL_FOLDER "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}" CONFIG_TYPE ${CMAKE_BUILD_TYPE} ${VERBOSE} TARGET ${target} ${installCompArg} PLUGINS ## will be installed ${ibrInst${target}_PLUGINS} DIRS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${ibrInst${target}_DIRS} ) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) install_runtime(bin/${target}${CMAKE_EXECUTABLE_SUFFIX} ## default relative to CMAKE_INSTALL_PREFIX INSTALL_FOLDER "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}" CONFIG_TYPE ${CONFIG_TYPES} ${VERBOSE} TARGET ${target} ${installCompArg} PLUGINS ## will be installed ${ibrInst${target}_PLUGINS} DIRS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${ibrInst${target}_DIRS} ) endforeach() else() message(WARNING "STANDALONE option is only compatible with EXECUTABLES target type. Skip the STANDALONE installation process.") endif() endif() ## Provide a way to directly load the MSVC debugger with correct settings if(MSVC) if(ibrInst${target}_MSVC_CMD) ## command absolute filePathName is optional as the default is to use the installed target file application set(msvcCmdArg COMMAND ${ibrInst${target}_MSVC_CMD}) ## flag following by the value (both to pass to the MSVCsetUserCommand function) endif() if(ibrInst${target}_MSVC_ARGS) ## args (between quotes) are optional set(msvcArgsArg ARGS ${ibrInst${target}_MSVC_ARGS}) ## flag following by the value (both to pass to the MSVCsetUserCommand function) endif() get_target_property(type ${target} TYPE) if( (ibrInst${target}_MSVC_CMD OR ibrInst${target}_MSVC_ARGS) OR (${type} MATCHES "EXECUTABLE") ) include(MSVCsetUserCommand) if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based MSVCsetUserCommand( ${target} PATH ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}} ##FILE option not necessary since it deduced from targetName ARGS "${SIBR_PROGRAMARGS}" ${msvcCmdArg} #${msvcArgsArg} WORKING_DIR ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}} ) endif() foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) MSVCsetUserCommand( ${target} PATH ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}} ##FILE option not necessary since it deduced from targetName ARGS "${SIBR_PROGRAMARGS}" ${msvcCmdArg} #${msvcArgsArg} WORKING_DIR ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}} ) endforeach() elseif(NOT ${type} MATCHES "EXECUTABLE") #message("Cannot set MSVCsetUserCommand with target ${target} without COMMAND parameter as it is not an executable (skip it)") endif() endif() endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/parse_arguments_multi.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr if(NOT WIN32 OR __parse_arguments_multi_cmake_INCLUDED__) return() else() set(__parse_arguments_multi_cmake_INCLUDED__ ON) endif() ## This macro allow to process repeating multi value args from a given function which use cmake_parse_arguments module. ## ## cmake_parse_arguments multi args standard behavior: ## function(foo) ## cmake_parse_arguments(arg "" "" "MULTI" ${ARGN}) ## foreach(item IN LISTS arg_MULTI) ## message(STATUS "${item}") ## endforeach() ## endfunction() ## foo(MULTI x y MULTI z w) ## The above code outputs 'z' and 'w'. It originally expected it to output all of 'x' 'y' 'z' 'w'. ## ## Using this macro inside a function which want to handle repeating multi args values ## will recursively iterate onto the multi tags list to process each sub list. ## It take as 1st argument the subTag flag to separate sub list from the main multi list. ## It take as 2nd argument the nameList of the main multi list (the multiValuesArgs from cmake_parse_arguments: here it is MULTI in the example) ## and that's why it is important that it should be a macro and not a function (to get access to external variable). ## Then you give the content of this list allowing to be processed by the macro. ## ## parse_arguments_multi macro call a parse_arguments_multi_function which do actually the process from the given sub-list. ## By default this function only print infos about what variables you are trying to pass/process (only verbose messages), ## but, by overloading this cmake function, you will be able to externalize the process of your multi argument list. ## ## Usage (into a function) : ## parse_arguments_multi( ## [NEED_RESULTS ] [EXTRAS_FLAGS <...> <...> ...] ## ) ## ## Simple usage example [user point of view]: ## foo(MULTI ## SUB_MULTI x y ## SUB_MULTI z w ## ) ## ## Simple usage example [inside a function]: ## function(foo) ## cmake_parse_arguments(arg "" "" "MULTI" ${ARGN}) ## include(parse_arguments_multi) ## function(parse_arguments_multi_function ) ## #message("I'm an overloaded cmake function used by parse_arguments_multi") ## #message("I'm processing first part of my sub list: ${ARGN}") ## message("ARGV0=${ARGV0}") ## message("ARGV1=${ARGV1}") ## endfunction() ## parse_arguments_multi(SUB_MULTI arg_MULTI ${arg_MULTI}) ## this function will process recusively items of the sub-list [default print messages] ## endfunction() ## ## Will print: ## ARGV0=z ## ARGV1=w ## ARGV0=x ## ARGV1=y ## ## WARNING : DO NEVER ADD EXTRA THINGS TO parse_arguments_multi MACRO : ## parse_arguments_multi(SUB_MULTI arg_MULTI ${arg_MULTI} EXTRAS foo bar SOMTHING) => will failed !! ## use EXTRAS_FLAGS instead !! ## ## Advanced usage example [user point of view]: ## bar(C:/prout/test.exe VERBOSE ## PLUGINS ## PLUGIN_PATH_NAME x PLUGIN_PATH_DEST w ## PLUGIN_PATH_NAME a b PLUGIN_PATH_DEST y ## PLUGIN_PATH_NAME c ## ) ## ## Advanced usage example [inside a function]: ## function(bar execFilePathName) ## cmake_parse_arguments(arg "VERBOSE" "" "PLUGINS" ${ARGN}) ## ## include(parse_arguments_multi) ## function(parse_arguments_multi_function results) ## cmake_parse_arguments(pamf "VERBOSE" "PLUGIN_PATH_DEST;EXEC_PATH" "" ${ARGN}) ## EXEC_PATH is for internal use ## message("") ## message("I'm an overloaded cmake function used by parse_arguments_multi from install_runtime function") ## message("I'm processing first part of my sub list: ${ARGN}") ## message("PLUGIN_PATH_NAME = ${pamf_UNPARSED_ARGUMENTS}") ## message(pamf_VERBOSE = ${pamf_VERBOSE}) ## message("pamf_PLUGIN_PATH_DEST = ${pamf_PLUGIN_PATH_DEST}") ## message(pamf_EXEC_PATH = ${pamf_EXEC_PATH}) ## if(NOT ${pamf_PLUGIN_PATH_DEST}) ## set(pamf_PLUGIN_PATH_DEST ${pamf_EXEC_PATH}) ## endif() ## foreach(plugin ${pamf_UNPARSED_ARGUMENTS}) ## get_filename_component(pluginName ${plugin} NAME) ## list(APPEND pluginsList ${pamf_PLUGIN_PATH_DEST}/${pluginName}) ## endforeach() ## set(${results} ${pluginsList} PARENT_SCOPE) ## endfunction() ## ## if(arg_VERBOSE) ## list(APPEND extra_flags_to_add VERBOSE) ## here we transmit the VERNOSE flag ## endif() ## get_filename_component(EXEC_PATH ${execFilePathName} PATH) ## will be the default value if PLUGIN_PATH_DEST option is not provided ## list(APPEND extra_flags_to_add EXEC_PATH ${EXEC_PATH}) ## list(LENGTH arg_PLUGINS arg_PLUGINS_count) ## parse_arguments_multi(PLUGIN_PATH_NAME arg_PLUGINS ${arg_PLUGINS} ## NEED_RESULTS ${arg_PLUGINS_count} ## this is used to check when we are in the first loop (in order to reset parse_arguments_multi_results) ## EXTRAS_FLAGS ${extra_flags_to_add} ## this is used to allow catching VERBOSE and PLUGIN_PATH_DEST flags of our overloaded function ## ) ## endfunction() ## message(parse_arguments_multi_results = ${parse_arguments_multi_results}) ## list of the whole pluginsList ## #Will print w/x;a/y;b/y;C:/prout/c ## ## NOTE that here, since our overloaded function need to provide a result list, we use the other parse_arguments_multi_function signature (the which one with a results arg) ## function(parse_arguments_multi_function_default) ## used in case of you want to reset the default behavior of this function process message("[default function] parse_arguments_multi_function(ARGC=${ARGC} ARGV=${ARGV} ARGN=${ARGN})") message("This function is used by parse_arguments_multi and have to be overloaded to process sub list of multi values args") endfunction() function(parse_arguments_multi_function ) ## => the function to overload parse_arguments_multi_function_default(${ARGN}) endfunction() ## first default signature above ##------------------------------ ## second results signature behind function(parse_arguments_multi_function_default result) ## used in case of you want to reset the default behavior of this function process message("[default function] parse_arguments_multi_function(ARGC=${ARGC} ARGV=${ARGV} ARGN=${ARGN})") message("This function is used by parse_arguments_multi and have to be overloaded to process sub list of muluti values args") endfunction() function(parse_arguments_multi_function result) ## => the function to overload parse_arguments_multi_function_default(result ${ARGN}) endfunction() ## => the macro to use inside your function which use cmake_parse_arguments # NOTE: entry point of parse_arguments_multi, which is called from win3rdPart) macro(parse_arguments_multi multiArgsSubTag multiArgsList #<${multiArgsList}> the content of the list ) # message (STATUS "") # message(STATUS "calling parse_arguemnts_multi defined in parse_arguments_multi.cmake:141") # message(STATUS "multiArgsSubTag = ${multiArgsSubTag}") # CHECK_CACHED_VAR # message(STATUS "multiArgsList = ${multiArgsList}") # it contains the name of the variable which is holding the list i.e w3p_MULTI_SET # message(STATUS "value of ${multiArgsList} = ${${multiArgsList}}") # a semicolon separated list of values passed to SET or MULTISET keyword in win3rdParty # message(STATUS "actual values ARGN = ${ARGN}") # the same as ${${multiArgsList}} ## INFO ## starting from CMake 3.5 cmake_parse_arguments is not a module anymore and now is a native CMake command. ## the behaviour is different though ## In CMake 3.4, if you pass multiple times a multi_value_keyword, CMake returns the values of the LAST match ## In CMake 3.5 and above, CMake returns the whole list of values that were following that multi_value_keyword ## example: ## cmake_parse_arguments( ## ## "" # options ## "" # one value keywords ## "MY_MULTI_VALUE_TAG" ## MY_MULTI_VALUE_TAG value1 value2 ## MY_MULTI_VALUE_TAG value3 value4 ## MY_MULTI_VALUE_TAG value5 value6 ## ) ## result in CMake 3.4 ## _MY_MULTI_VALUE_TAG = "value5;value6" ## ## result in CMake 3.8 ## _MY_MULTI_VALUE_TAG = "value5;value6" #include(CMakeParseArguments) #module CMakeParseArguments is obsolete since cmake 3.5 # cmake_parse_arguments ( args) # : options (flags) pass to the macro # : options that neeed a value # : options that neeed more than one value cmake_parse_arguments(_pam "" "NEED_RESULTS" "${multiArgsSubTag};EXTRAS_FLAGS" ${ARGN}) ## multiArgsList is the name of the list used by the multiValuesOption flag from the cmake_parse_arguments of the user function ## that's why we absolutly need to use MACRO here (and also for passing parse_arguments_multi_results when NEED_RESULTS flag is set) ## for debugging #message("") #message("[parse_arguments_multi] => ARGN = ${ARGN}") #message("_pam_NEED_RESULTS=${_pam_NEED_RESULTS}") #message("_pam_EXTRAS_FLAGS=${_pam_EXTRAS_FLAGS}") # foreach(var ${_pam_${multiArgsSubTag}}) # message("arg=${var}") # endforeach() if (${CMAKE_VERSION} VERSION_GREATER "3.5") # lets make ${_pam_${multiArgsSubTag}} behave as it is in version 3.4 # that means, cmake_parse_arguments should have only the last values of a multi set for a given keyword # message("") # message("values in multiArgsList") # foreach(val ${${multiArgsList}}) # message(STATUS ${val}) # endforeach() # message("end values in multiArgsList") set(lastIndexFound OFF) list(LENGTH ${multiArgsList} argnLength) # message(${argnLength}) math(EXPR argnLength "${argnLength}-1") # make last index a valid one set(recordIndex 0) set(records "") # clear records list set(record0 "") # clear first record list foreach(iter RANGE ${argnLength}) list(GET ${multiArgsList} ${iter} value) # message(STATUS "index=${iter} value=${value}") if (${value} STREQUAL ${multiArgsSubTag}) if (lastIndexFound) list(APPEND records ${recordIndex}) # records store the list NAMES math(EXPR recordIndex "${recordIndex}+1") set(record${recordIndex} "") # clear record list else () set(lastIndexFound ON) endif() set(lastIndex ${iter}) else () if (lastIndexFound) # message(${value}) list(APPEND record${recordIndex} ${value}) endif() endif() endforeach() # save the last list of values if (lastIndexFound) list(APPEND records ${recordIndex}) # records store the list NAMES endif() # set multiArgsList to make it behave like CMake 3.4 # message("") # message("using my records") foreach(recordName ${records}) # message(${recordName}) # foreach(value ${record${recordName}}) # message(${value}) # endforeach() # message("") set(_pam_${multiArgsSubTag} ${record${recordName}}) endforeach() # message(${_pam_${multiArgsSubTag}}) # message("") # message("using argn") # foreach(value ${ARGN}) # message(${value}) # endforeach() endif() # end if cmake > 3.5 # message("values with pam ${_pam_${multiArgsSubTag}}") ## check and init list(LENGTH ${multiArgsList} globalListCount) # GLUT_TRACE: globalListCound=16 in CMake3.4 and CMake3.8 # message(STATUS "nr items in multiArgsList: ${globalListCount}") math(EXPR globalListCount "${globalListCount}-1") ## because it will contain [multiArgsSubTag + ${multiArgsList}] if(_pam_NEED_RESULTS) if(${globalListCount} EQUAL ${_pam_NEED_RESULTS}) ## first time we enter into this macro (because we call it recursively) unset(parse_arguments_multi_results) endif() endif() ## process the part of the multi agrs list ## ${ARGN} shouldn't be passed to the function in order to avoid missmatch size list ${multiArgsList} and _pam_${multiArgsSubTag} ## if you want to pass extra internal flags from your function to this callback, use EXTRAS_FLAGS if(_pam_NEED_RESULTS) parse_arguments_multi_function(parse_arguments_multi_function_result ${_pam_${multiArgsSubTag}} ${_pam_EXTRAS_FLAGS}) list(APPEND parse_arguments_multi_results ${parse_arguments_multi_function_result}) else() # message(STATUS "about to call parse_arguments_multi_function in parse_arguments_multi.cmake:177 ${_pam_${multiArgsSubTag}} and extra flags ${_pam_EXTRAS_FLAGS}") parse_arguments_multi_function(${_pam_${multiArgsSubTag}} ${_pam_EXTRAS_FLAGS}) endif() ## remove just processed items from the main list to process (multiArgsList) list(REVERSE ${multiArgsList}) list(LENGTH _pam_${multiArgsSubTag} subTagListCount) unset(ids) foreach(id RANGE ${subTagListCount}) list(APPEND ids ${id}) endforeach() list(REMOVE_AT ${multiArgsList} ${ids}) list(REVERSE ${multiArgsList}) ## test if remain sub multi list to process (recursive call) or finish the process list(LENGTH ${multiArgsList} mainTagListCount) if(${mainTagListCount} GREATER 1) ## do not pass ${ARGN} just because it will re pass the initial 2 inputs args and we wont as they was consumed (in order to avoir conflicts) # message(STATUS "about to call a parse_arguments_multi but without knowing where the definition is going to be taken from") parse_arguments_multi(${multiArgsSubTag} ${multiArgsList} ${${multiArgsList}} NEED_RESULTS ${_pam_NEED_RESULTS} EXTRAS_FLAGS ${_pam_EXTRAS_FLAGS} ) endif() endmacro() ================================================ FILE: envs/gs/SIBR_viewers/cmake/windows/sibr_library.cmake ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr # NOTE # This feature is used to easily download, store and link external dependencies. This # requires to prepare pre-compiled libraries (to download). For now, packages have # only be prepare for Windows 64-bit with Visual Studio 2012. (You should re-build # everything if you want to use another version of Visual Studio/ another compiler). # NOTE ABOUT UNIX SYSTEMS # There is no need for "searching mechanism". This function is discard and your # libraries should be installed is the standard folders that are: # # /usr/include/ # /usr/lib/ # /usr/lib64/ # for packages downloaded using apt-get/yum # # /usr/local/include/ # /usr/local/lib/ # /usr/local/lib64/ # for packages manually installed ("make install") # # if you encounter problems when linking (e.g. lib not found even if it is installed), # please check these folders are in your search PATH environment variables. set(EXTLIBS_PACKAGE_FOLDER "${CMAKE_SOURCE_DIR}/extlibs") function(sibr_addlibrary) if(NOT WIN32) return() endif() file(MAKE_DIRECTORY ${EXTLIBS_PACKAGE_FOLDER}) cmake_parse_arguments(args "VCID" "VERBOSE;TIMEOUT;DEFAULT_USE;NAME;VERSION;MSVC11;MSVC12;MSVC14;MSVC17" "MULTI_SET;SET" ${ARGN}) if (NOT "${args_VERSION}" MATCHES "") message(WARNING "VERSION is not implemented yet") endif() set(lcname "") set(ucname "") string(TOLOWER "${args_NAME}" lcname) string(TOUPPER "${args_NAME}" ucname) set(LIB_PACKAGE_FOLDER "${EXTLIBS_PACKAGE_FOLDER}/${lcname}") win3rdParty(${ucname} $ VERBOSE ${args_VERBOSE} TIMEOUT ${args_TIMEOUT} DEFAULT_USE ${args_DEFAULT_USE} MSVC11 "${LIB_PACKAGE_FOLDER}" "${args_MSVC11}" MSVC12 "${LIB_PACKAGE_FOLDER}" "${args_MSVC12}" MSVC14 "${LIB_PACKAGE_FOLDER}" "${args_MSVC14}" # TODO SV: make sure to build this library if required MSVC17 "${LIB_PACKAGE_FOLDER}" "${args_MSVC17}" SET ${args_SET} MULTI_SET ${args_MULTI_SET} ) # Add include/ directory # and lib/ directories # TODO SV: paths not matching with current hierarchy. example: libraw/libraw-0.17.1/include # SR: The link directories will also be used to lookup for dependency DLLs to copy in the install directory. # Some libraries put the DLLs in the bin/ directory, so we include those. file(GLOB subdirs RELATIVE ${LIB_PACKAGE_FOLDER} ${LIB_PACKAGE_FOLDER}/*) set(dirlist "") foreach(dir ${subdirs}) if(IS_DIRECTORY ${LIB_PACKAGE_FOLDER}/${dir}) # message("adding ${LIB_PACKAGE_FOLDER}/${dir}/include/ to the include directories") include_directories("${LIB_PACKAGE_FOLDER}/${dir}/include/") # message("adding ${LIB_PACKAGE_FOLDER}/${dir}/lib[64] to the link directories") link_directories("${LIB_PACKAGE_FOLDER}/${dir}/") link_directories("${LIB_PACKAGE_FOLDER}/${dir}/lib/") link_directories("${LIB_PACKAGE_FOLDER}/${dir}/lib64/") link_directories("${LIB_PACKAGE_FOLDER}/${dir}/bin/") endif() endforeach() endfunction() include(FetchContent) include(git_describe) function(sibr_gitlibrary) cmake_parse_arguments(args "" "TARGET;GIT_REPOSITORY;GIT_TAG;ROOT_DIR;SOURCE_DIR" "INCLUDE_DIRS" ${ARGN}) if(NOT args_TARGET) message(FATAL "Error on sibr_gitlibrary : please define your target name.") return() endif() if(NOT args_ROOT_DIR) set(args_ROOT_DIR ${args_TARGET}) endif() if(NOT args_SOURCE_DIR) set(args_SOURCE_DIR ${args_TARGET}) endif() if(args_GIT_REPOSITORY AND args_GIT_TAG) if(EXISTS ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR}/.git) git_describe( PATH ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} GIT_URL SIBR_GITLIBRARY_URL GIT_BRANCH SIBR_GITLIBRARY_BRANCH GIT_COMMIT_HASH SIBR_GITLIBRARY_COMMIT_HASH GIT_TAG SIBR_GITLIBRARY_TAG ) if((SIBR_GITLIBRARY_URL STREQUAL args_GIT_REPOSITORY) AND ((SIBR_GITLIBRARY_BRANCH STREQUAL args_GIT_TAG) OR (SIBR_GITLIBRARY_TAG STREQUAL args_GIT_TAG) OR (SIBR_GITLIBRARY_COMMIT_HASH STREQUAL args_GIT_TAG))) message(STATUS "Library ${args_TARGET} already available, skipping.") set(SIBR_GITLIBRARY_DECLARED ON) else() message(STATUS "Adding library ${args_TARGET} from git...") endif() endif() FetchContent_Declare(${args_TARGET} GIT_REPOSITORY ${args_GIT_REPOSITORY} GIT_TAG ${args_GIT_TAG} GIT_SHALLOW ON SOURCE_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} SUBBUILD_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/subbuild BINARY_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build ) FetchContent_GetProperties(${args_TARGET}) string(TOLOWER "" lcTargetName) if((NOT SIBR_GITLIBRARY_DECLARED) AND (NOT ${lcTargetName}_POPULATED)) message(STATUS "Populating library ${args_TARGET}...") FetchContent_Populate(${args_TARGET} QUIET GIT_REPOSITORY ${args_GIT_REPOSITORY} GIT_TAG ${args_GIT_TAG} SOURCE_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} SUBBUILD_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/subbuild BINARY_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build ) endif() add_subdirectory(${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build) get_target_property(type ${args_TARGET} TYPE) if(NOT (type STREQUAL "INTERFACE_LIBRARY")) set_target_properties(${args_TARGET} PROPERTIES FOLDER "extlibs") endif() list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}) list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}/${args_SOURCE_DIR}) foreach(args_INCLUDE_DIR ${args_INCLUDE_DIRS}) list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}/${args_SOURCE_DIR}/${args_INCLUDE_DIR}) endforeach() include_directories(${${args_TARGET}_INCLUDE_DIRS}) else() message(FATAL "Error on sibr_gitlibrary for target ${args_TARGET}: missing git tag or git url.") endif() endfunction() ================================================ FILE: envs/gs/SIBR_viewers/docs/CMakeLists.txt ================================================ # Copyright (C) 2020, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr ######################################################### # Include doxygen documentation target ######################################################### option(BUILD_DOCUMENTATION "build doxygen documentation ('Build' DOCUMENTATION target, and find the compiled docs in install/docs/index.html)" OFF) if(BUILD_DOCUMENTATION) set(DOXYGEN_REQUIRED_VERSION "1.8.17") find_package(Doxygen) if(NOT DOXYGEN_FOUND) message(FATAL_ERROR "Doxygen not found, unable to generate documentation.") elseif(DOXYGEN_VERSION VERSION_LESS DOXYGEN_REQUIRED_VERSION) message(FATAL_ERROR "Doxygen version is less than ${DOXYGEN_REQUIRED_VERSION} (Current version is ${DOXYGEN_VERSION}).") else() set(DOXY_DOC_DEST_DIR ${CMAKE_INSTALL_ROOT}/docs) ## used in the doxyfile.in set(DOXY_DOC_INPUT_ROOT_DIRS "${CMAKE_HOME_DIRECTORY}/src ${CMAKE_HOME_DIRECTORY}/docs ${CMAKE_CURRENT_BINARY_DIR}/generated") ## used in the doxyfile.in set(DOXY_DOC_EXCLUDE_PATTERNS_DIRS "${DOXY_DOC_EXCLUDE_PATTERNS_DIRS}") ## used in the doxyfile.in set(DOXY_DOC_COMMON_IMG_PATH "${CMAKE_CURRENT_SOURCE_DIR}/img ${CMAKE_HOME_DIRECTORY}/src/projects") set(DOXY_DOC_PAGES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/pages") set(DOXY_DOC_GENERATED_DOC_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") string(REPLACE "\\" "\\\\" SIBR_PROJECTS_SAMPLES_SUBPAGE_REF "${SIBR_PROJECTS_SAMPLES_SUBPAGE_REF}") string(REPLACE "\\" "\\\\" SIBR_PROJECTS_OURS_SUBPAGE_REF "${SIBR_PROJECTS_OURS_SUBPAGE_REF}") string(REPLACE "\\" "\\\\" SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF "${SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF}") string(REPLACE "\\" "\\\\" SIBR_PROJECTS_OTHERS_SUBPAGE_REF "${SIBR_PROJECTS_OTHERS_SUBPAGE_REF}") string(REPLACE "\\" "\\\\" SIBR_PROJECTS_SAMPLES_REF_REF "${SIBR_PROJECTS_SAMPLES_REF_REF}") string(REPLACE "\\" "\\\\" SIBR_PROJECTS_OURS_REF_REF "${SIBR_PROJECTS_OURS_REF_REF}") string(REPLACE "\\" "\\\\" SIBR_PROJECTS_TOOLBOX_REF_REF "${SIBR_PROJECTS_TOOLBOX_REF_REF}") string(REPLACE "\\" "\\\\" SIBR_PROJECTS_OTHERS_REF_REF "${SIBR_PROJECTS_OTHERS_REF_REF}") string(REPLACE "\n" "\\n" SIBR_PROJECTS_SAMPLES_SUBPAGE_REF "${SIBR_PROJECTS_SAMPLES_SUBPAGE_REF}") string(REPLACE "\n" "\\n" SIBR_PROJECTS_OURS_SUBPAGE_REF "${SIBR_PROJECTS_OURS_SUBPAGE_REF}") string(REPLACE "\n" "\\n" SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF "${SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF}") string(REPLACE "\n" "\\n" SIBR_PROJECTS_OTHERS_SUBPAGE_REF "${SIBR_PROJECTS_OTHERS_SUBPAGE_REF}") string(REPLACE "\n" "\\n" SIBR_PROJECTS_SAMPLES_REF_REF "${SIBR_PROJECTS_SAMPLES_REF_REF}") string(REPLACE "\n" "\\n" SIBR_PROJECTS_OURS_REF_REF "${SIBR_PROJECTS_OURS_REF_REF}") string(REPLACE "\n" "\\n" SIBR_PROJECTS_TOOLBOX_REF_REF "${SIBR_PROJECTS_TOOLBOX_REF_REF}") string(REPLACE "\n" "\\n" SIBR_PROJECTS_OTHERS_REF_REF "${SIBR_PROJECTS_OTHERS_REF_REF}") file(GLOB doxygen_config_files "*.in") foreach(filename ${doxygen_config_files}) message(STATUS "Generating ${filename}...") get_filename_component(output_filename ${filename} NAME_WLE) message(STATUS "Output in ${CMAKE_CURRENT_BINARY_DIR}/${output_filename}...") configure_file(${filename} ${CMAKE_CURRENT_BINARY_DIR}/${output_filename} @ONLY) endforeach() add_custom_target(DOCUMENTATION ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/doxygen_prebuild.cmake COMMAND ${DOXYGEN_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/doxyfile" WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY} COMMENT "Building user's documentation into ${DOXY_DOC_DEST_DIR} dir..." ) endif() endif() ================================================ FILE: envs/gs/SIBR_viewers/docs/doxyfile.in ================================================ # Doxyfile 1.8.20 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # front of the TAG it is preceding. # # All text after a single hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the configuration # file that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by # double-quotes, unless you are using Doxywizard) that should identify the # project for which the documentation is generated. This name is used in the # title of most generated pages and in a few other places. # The default value is: My Project. PROJECT_NAME = SIBR # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. PROJECT_NUMBER = @SIBR_CORE_VERSION@ # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. OUTPUT_DIRECTORY = @DOXY_DOC_DEST_DIR@ # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and # will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes # performance problems for the file system. # The default value is: NO. CREATE_SUBDIRS = NO # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode # U+3044. # The default value is: NO. ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), # Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, # Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, # Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, # Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English # The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all generated output in the proper direction. # Possible values are: None, LTR, RTL and Context. # The default value is: None. OUTPUT_TEXT_DIRECTION = None # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. # The default value is: YES. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator that is # used to form the text in various listings. Each string in this list, if found # as the leading text of the brief description, will be stripped from the text # and the result, after processing the whole list, is used as the annotated # text. Otherwise, the brief description is used as-is. If left blank, the # following values are used ($name is automatically replaced with the name of # the entity):The $name class, The $name widget, The $name file, is, provides, # specifies, contains, represents, a, an and the. ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # doxygen will generate a detailed section even if there is only a brief # description. # The default value is: NO. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. # The default value is: NO. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. FULL_PATH_NAMES = YES # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # Stripping is only done if one of the specified strings matches the left-hand # part of the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the path to # strip. # # Note that you can specify absolute paths here, but also relative paths, which # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which # header file to include in order to use a class. If left blank only the name of # the header file containing the class definition is used. Otherwise one should # specify the list of include paths that are normally passed to the compiler # using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't # support long names like on DOS, Mac, or CD-ROM. # The default value is: NO. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the # first line (until the first dot) of a Javadoc-style comment as the brief # description. If set to NO, the Javadoc-style will behave just like regular Qt- # style comments (thus requiring an explicit @brief command for a brief # description.) # The default value is: NO. JAVADOC_AUTOBRIEF = YES # If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line # such as # /*************** # as being the beginning of a Javadoc-style comment "banner". If set to NO, the # Javadoc-style will behave just like regular comments and it will not be # interpreted by doxygen. # The default value is: NO. JAVADOC_BANNER = NO # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus # requiring an explicit \brief command for a brief description.) # The default value is: NO. QT_AUTOBRIEF = YES # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this # tag to YES if you prefer the old behavior instead. # # Note that setting this tag to YES also means that rational rose comments are # not recognized any more. # The default value is: NO. MULTILINE_CPP_IS_BRIEF = NO # By default Python docstrings are displayed as preformatted text and doxygen's # special commands cannot be used. By setting PYTHON_DOCSTRING to NO the # doxygen's special commands can be used and the contents of the docstring # documentation blocks is shown as doxygen documentation. # The default value is: YES. PYTHON_DOCSTRING = YES # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new # page for each member. If set to NO, the documentation of a member will be part # of the file/class/namespace that contains it. # The default value is: NO. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen # uses this value to replace tabs by spaces in code fragments. # Minimum value: 1, maximum value: 16, default value: 4. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that act as commands in # the documentation. An alias has the form: # name=value # For example adding # "sideeffect=@par Side Effects:\n" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading # "Side Effects:". You can put \n's in the value part of an alias to insert # newlines (in the resulting output). You can put ^^ in the value part of an # alias to insert a newline as if a physical newline was in the original file. # When you need a literal { or } or , in the value part of an alias you have to # escape them by means of a backslash (\), this can lead to conflicts with the # commands \{ and \} for these it is advised to use the version @{ and @} or use # a double escape (\\{ and \\}) ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all # members will be omitted, etc. # The default value is: NO. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or # Python sources only. Doxygen will then generate output that is more tailored # for that language. For instance, namespaces will be presented as packages, # qualified scopes will look different, etc. # The default value is: NO. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources. Doxygen will then generate output that is tailored for Fortran. # The default value is: NO. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for VHDL. # The default value is: NO. OPTIMIZE_OUTPUT_VHDL = NO # Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice # sources only. Doxygen will then generate output that is more tailored for that # language. For instance, namespaces will be presented as modules, types will be # separated into more groups, etc. # The default value is: NO. OPTIMIZE_OUTPUT_SLICE = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, JavaScript, # Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL, # Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the # default for Fortran type files). For instance to make doxygen treat .inc files # as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable # documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. # The default value is: YES. MARKDOWN_SUPPORT = YES # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. # Minimum value: 0, maximum value: 99, default value: 5. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. TOC_INCLUDE_HEADINGS = 0 # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or # globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. AUTOLINK_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this # tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); # versus func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. # The default value is: NO. BUILTIN_STL_SUPPORT = YES # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. # The default value is: NO. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: # https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES will make # doxygen to replace the get and set methods by a property in the documentation. # This will only work if the methods are indeed getting or setting a simple # type. If this is not the case, or you want to show the methods anyway, you # should set this option to NO. # The default value is: YES. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. DISTRIBUTE_GROUP_DOC = YES # If one adds a struct or class to a group and this option is enabled, then also # any nested class or struct is added to the same group. By default this option # is disabled and one has to add nested compounds explicitly via \ingroup. # The default value is: NO. GROUP_NESTED_COMPOUNDS = NO # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent # subgrouping. Alternatively, this can be done per class using the # \nosubgrouping command. # The default value is: YES. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions # are shown inside the group in which they are included (e.g. using \ingroup) # instead of on a separate page (for HTML and Man pages) or section (for LaTeX # and RTF). # # Note that this feature does not work in combination with # SEPARATE_MEMBER_PAGES. # The default value is: NO. INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions # with only public data fields or simple typedef fields will be shown inline in # the documentation of the scope in which they are defined (i.e. file, # namespace, or group documentation), provided this scope is documented. If set # to NO, structs, classes, and unions are shown on a separate page (for HTML and # Man pages) or section (for LaTeX and RTF). # The default value is: NO. INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or # enum is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically be # useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. # The default value is: NO. TYPEDEF_HIDES_STRUCT = NO # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This # cache is used to resolve symbols given their name and scope. Since this can be # an expensive process and often the same symbol appears multiple times in the # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small # doxygen will become slower. If the cache is too large, memory is wasted. The # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 # symbols. At the end of a run doxygen will report the cache usage and suggest # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 # The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use # during processing. When set to 0 doxygen will based this on the number of # cores available in the system. You can set it explicitly to a value larger # than 0 to get more control over the balance between CPU load and processing # speed. At this moment only the input processing can be done using multiple # threads. Since this is still an experimental feature the default is set to 1, # which efficively disables parallel processing. Please report any issues you # encounter. Generating dot graphs in parallel is controlled by the # DOT_NUM_THREADS setting. # Minimum value: 0, maximum value: 32, default value: 1. NUM_PROC_THREADS = 1 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. # Note: This will also disable the warnings about undocumented members that are # normally produced when WARNINGS is set to YES. # The default value is: NO. EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = YES # If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual # methods of a class will be included in the documentation. # The default value is: NO. EXTRACT_PRIV_VIRTUAL = NO # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. EXTRACT_PACKAGE = YES # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be # included in the documentation. # The default value is: NO. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined # locally in source files will be included in the documentation. If set to NO, # only classes defined in header files are included. Does not have any effect # for Java sources. # The default value is: YES. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. If set to YES, local methods, # which are defined in the implementation section but not in the interface are # included in the documentation. If set to NO, only methods in the interface are # included. # The default value is: NO. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base name of # the file that contains the anonymous namespace. By default anonymous namespace # are hidden. # The default value is: NO. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation # section is generated. This option has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option # has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend # declarations. If set to NO, these declarations will be included in the # documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any # documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. HIDE_IN_BODY_DOCS = YES # The INTERNAL_DOCS tag determines if documentation that is typed after a # \internal command is included. If the tag is set to NO then the documentation # will be excluded. Set it to YES to include the internal documentation. # The default value is: NO. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file # names in lower-case letters. If set to YES, upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # (including Cygwin) and Mac users are advised to set this option to NO. # The default value is: system dependent. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with # their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will # append additional text to a page's title, such as Class Reference. If set to # YES the compound reference will be hidden. # The default value is: NO. HIDE_COMPOUND_REFERENCE= NO # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. SHOW_INCLUDE_FILES = YES # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each # grouped member an include statement to the documentation, telling the reader # which file to include in order to use the member. # The default value is: NO. SHOW_GROUPED_MEMB_INC = NO # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the # documentation for inline members. # The default value is: YES. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the # (detailed) documentation of file and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. # The default value is: NO. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the # (brief and detailed) documentation of class members so that constructors and # destructors are listed first. If set to NO the constructors will appear in the # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief # member documentation. # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting # detailed member documentation. # The default value is: NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will # appear in their defined order. # The default value is: NO. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by # fully-qualified names, including namespaces. If set to NO, the class list will # be sorted only by class name, not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the alphabetical # list. # The default value is: NO. SORT_BY_SCOPE_NAME = YES # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper # type resolution of all parameters of a function it will reject a match between # the prototype and the implementation of a member function even if there is # only one candidate or it is obvious which candidate to choose by doing a # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still # accept a match between prototype and implementation in such cases. # The default value is: NO. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo # list. This list is created by putting \todo commands in the documentation. # The default value is: YES. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test # list. This list is created by putting \test commands in the documentation. # The default value is: YES. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond # ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the # documentation. If the initializer consists of more lines than specified here # it will be hidden. Use a value of 0 to hide initializers completely. The # appearance of the value of individual variables and macros / defines can be # controlled using \showinitializer or \hideinitializer command in the # documentation regardless of this setting. # Minimum value: 0, maximum value: 10000, default value: 30. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at # the bottom of the documentation of classes and structs. If set to YES, the # list will mention the files that were used to generate the documentation. # The default value is: YES. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This # will remove the Files entry from the Quick Index and from the Folder Tree View # (if specified). # The default value is: YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces # page. This will remove the Namespaces entry from the Quick Index and from the # Folder Tree View (if specified). # The default value is: YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file, where command is the value of the # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml # will be used as the name of the layout file. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. LAYOUT_FILE = @CMAKE_CURRENT_BINARY_DIR@/layout.xml # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool # to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated to # standard output by doxygen. If QUIET is set to YES this implies that the # messages are off. # The default value is: NO. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. # The default value is: YES. WARNINGS = YES # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. WARN_IF_UNDOCUMENTED = NO # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some parameters # in a documented function, or documenting parameters that don't exist or using # markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return # value. If set to NO, doxygen will only warn about wrong or incomplete # parameter documentation, but not about the absence of documentation. If # EXTRACT_ALL is set to YES then this flag will automatically be disabled. # The default value is: NO. WARN_NO_PARAMDOC = NO # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when # a warning is encountered. # The default value is: NO. WARN_AS_ERROR = NO # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard # error (stderr). WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag is used to specify the files and/or directories that contain # documented source files. You may enter file names like myfile.cpp or # directories like /usr/src/myproject. Separate the files or directories with # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. INPUT = @DOXY_DOC_INPUT_ROOT_DIRS@ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv # documentation (see: https://www.gnu.org/software/libiconv/) for the list of # possible encodings. # The default value is: UTF-8. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, # *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), # *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen # C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, # *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.h \ *.hh \ *.hpp \ *.hxx \ *.cpp \ *.cxx \ *.cc \ *.fp \ *.vp \ *.gp \ *.vs \ *.fs \ *.gs \ *.vert \ *.frag \ *.geom \ *.md \ *.dox \ *.py # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. # The default value is: NO. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = @DOXY_DOC_EXCLUDE_PATTERNS_DIRS@ # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. # The default value is: NO. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands # irrespective of the value of the RECURSIVE tag. # The default value is: NO. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the # \image command). IMAGE_PATH = @DOXY_DOC_COMMON_IMG_PATH@ \ @DOXY_APP_SPECIFIC_IMG_PATH@ # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command: # # # # where is the value of the INPUT_FILTER tag, and is the # name of an input file. Doxygen will then use the output that the filter # program writes to standard output. If FILTER_PATTERNS is specified, this tag # will be ignored. # # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: pattern=filter # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will also be used to filter the input files that are used for # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). # The default value is: NO. FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and # it is also possible to disable source filtering for a specific pattern using # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will be # generated. Documented entities will be cross-referenced with these sources. # # Note: To get rid of all source code in the generated output, make sure that # also VERBATIM_HEADERS is set to NO. # The default value is: NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. # The default value is: NO. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and # Fortran comments will always remain visible. # The default value is: YES. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented # entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES then for each documented function # all documented entities called/used by that function will be listed. # The default value is: NO. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set # to YES then the hyperlinks from functions in REFERENCES_RELATION and # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will # link to the documentation. # The default value is: YES. REFERENCES_LINK_SOURCE = YES # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the # source code will show a tooltip with additional information such as prototype, # brief description and links to the definition and documentation. Since this # will make the HTML file larger and loading of large files a bit slower, you # can opt to disable this feature. # The default value is: YES. # This tag requires that the tag SOURCE_BROWSER is set to YES. SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system # (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global # - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # # Doxygen will invoke htags (and that will in turn invoke gtags), so these # tools must be available from the command line (i.e. in the search path). # # The result: instead of the source browser generated by doxygen, the links to # source code will now point to the output of htags. # The default value is: NO. # This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a # verbatim copy of the header file for each class for which an include is # specified. Set to NO to disable this. # See also: Section \class. # The default value is: YES. VERBATIM_HEADERS = YES # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the # clang parser (see: http://clang.llvm.org/) for more accurate parsing at the # cost of reduced performance. This can be particularly helpful with template # rich C++ code for which doxygen's built-in parser lacks the necessary type # information. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that # the include paths will already be set by doxygen for the files and directories # specified with INPUT and INCLUDE_PATH. # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. CLANG_OPTIONS = # If clang assisted parsing is enabled you can provide the clang parser with the # path to the directory containing a file called compile_commands.json. This # file is the compilation database (see: # http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the # options used when the source files were built. This is equivalent to # specifying the "-p" option to a clang tool, such as clang-check. These options # will then be passed to the parser. Any options specified with CLANG_OPTIONS # will be added as well. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. CLANG_DATABASE_PATH = #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all # compounds will be generated. Enable this if the project contains a lot of # classes, structs, unions or interfaces. # The default value is: YES. ALPHABETICAL_INDEX = NO # The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in # which the alphabetical index list will be split. # Minimum value: 1, maximum value: 20, default value: 5. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored # while generating the index headers. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of # it. # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_OUTPUT = . # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). # The default value is: .html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a user-defined HTML header file for # each generated HTML page. If the tag is left blank doxygen will generate a # standard header. # # To get valid HTML the header file that includes any scripts and style sheets # that doxygen needs, which is dependent on the configuration options used (e.g. # the setting GENERATE_TREEVIEW). It is highly recommended to start with a # default header using # doxygen -w html new_header.html new_footer.html new_stylesheet.css # YourConfigFile # and then modify the file new_header.html. See also section "Doxygen usage" # for information on how to generate the default header that doxygen normally # uses. # Note: The header is subject to change so you typically have to regenerate the # default header when upgrading to a newer version of doxygen. For a description # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard # footer. See HTML_HEADER for more information on how to generate a default # footer and what special commands can be used inside the footer. See also # section "Doxygen usage" for information on how to generate the default footer # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of # the HTML output. If left blank doxygen will generate a default style sheet. # See also section "Doxygen usage" for information on how to generate the style # sheet that doxygen normally uses. # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as # it is more robust and this tag (HTML_STYLESHEET) will in the future become # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefore more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that the # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to # this color. Hue is specified as an angle on a colorwheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors # in the HTML output. For a value of 0 the output will use grayscales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the # luminance component of the colors in the HTML output. Values below 100 # gradually make the output lighter, whereas values above 100 make the output # darker. The value divided by 100 is the actual gamma applied, so 80 represents # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not # change the gamma. # Minimum value: 40, maximum value: 240, default value: 80. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting this # to YES can help to show when doxygen was last run and thus if the # documentation is up to date. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = NO # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that # are dynamically created via JavaScript. If disabled, the navigation index will # consists of multiple levels of tabs that are statically embedded in every HTML # page. Disable this option to support browsers that do not have JavaScript, # like the Qt help browser. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_MENUS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = NO # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to # such a level that at most the specified number of entries are visible (unless # a fully collapsed tree already exceeds this amount). So setting the number of # entries 1 will produce a full collapsed tree by default. 0 is a special value # representing an infinite number of entries and will result in a full expanded # tree by default. # Minimum value: 0, maximum value: 9999, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development # environment (see: https://developer.apple.com/xcode/), introduced with OSX # 10.5 (Leopard). To create a documentation set, doxygen will generate a # Makefile in the HTML output directory. Running make will produce the docset in # that directory and running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy # genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_DOCSET = NO # This tag determines the name of the docset feed. A documentation feed provides # an umbrella under which multiple documentation sets from a single provider # (such as a company or product suite) can be grouped. # The default value is: Doxygen generated docs. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDNAME = "Doxygen generated docs" # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_BUNDLE_ID = org.doxygen.Project # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. # The default value is: org.doxygen.Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. # The default value is: Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop # (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on # Windows. # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML # files are now used as the Windows 98 help format, and will replace the old # Windows help format (.hlp) on all Windows platforms in the future. Compressed # HTML files also contain an index, a table of contents, and you can search for # words in the documentation. The HTML workshop also contains a viewer for # compressed HTML files. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO # The CHM_FILE tag can be used to specify the file name of the resulting .chm # file. You can add a path in front of the file if the result should not be # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, # doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated # (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it # enables the Previous and Next buttons. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members to # the table of contents of the HTML help documentation and to the tree view. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help # (.qch) of the generated HTML documentation. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify # the file name of the resulting .qch file. The path specified is relative to # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace # (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual # Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- # folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom # Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom # Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location of Qt's # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the # generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To # install this plugin and make it available under the help contents menu in # Eclipse, the contents of the directory containing the HTML and XML files needs # to be copied into the plugins directory of eclipse. The name of the directory # within the plugins directory should be the same as the ECLIPSE_DOC_ID value. # After copying Eclipse needs to be restarted before the help appears. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO # A unique identifier for the Eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have this # name. Each documentation set should have its own identifier. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project # If you want full control over the layout of the generated HTML pages it might # be necessary to disable the index and replace it with your own. The # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top # of each HTML page. A value of NO enables the index and the value YES disables # it. Since the tabs in the index contain the same information as the navigation # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = YES # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. If the tag # value is set to YES, a side panel will be generated containing a tree-like # index structure (just like the one that is generated for HTML Help). For this # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can # further fine-tune the look of the index. As an example, the default style # sheet generated by doxygen has an example that shows how to put an image at # the root of the tree instead of the PROJECT_NAME. Since the tree basically has # the same information as the tab index, you could consider setting # DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # # Note that a value of 0 will completely suppress the enum values from appearing # in the overview section. # Minimum value: 0, maximum value: 20, default value: 4. # This tag requires that the tag GENERATE_HTML is set to YES. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. # Minimum value: 0, maximum value: 1500, default value: 250. # This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 250 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO # If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg # tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see # https://inkscape.org) to generate formulas as SVG images instead of PNGs for # the HTML output. These images will generally look nicer at scaled resolutions. # Possible values are: png (the default) and svg (looks nicer but requires the # pdf2svg or inkscape tool). # The default value is: png. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FORMULA_FORMAT = png # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML # output directory to force them to be regenerated. # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANSPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are not # supported properly for IE 6.0, but are supported on all modern browsers. # # Note that when changing this option you need to delete any form_*.png files in # the HTML output directory before the changes have effect. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_TRANSPARENT = YES # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands # to create new LaTeX commands to be used in formulas as building blocks. See # the section "Including formulas" for details. FORMULA_MACROFILE = # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # https://www.mathjax.org) which uses client side JavaScript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path # to it using the MATHJAX_RELPATH option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # the MathJax output. See the MathJax site (see: # http://docs.mathjax.org/en/latest/output.html) for more details. # Possible values are: HTML-CSS (which is slower, but has the best # compatibility), NativeMML (i.e. MathML) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the HTML # output directory using the MATHJAX_RELPATH option. The destination directory # should contain the MathJax.js script. For instance, if the mathjax directory # is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of # MathJax from https://www.mathjax.org before deployment. # The default value is: https://cdn.jsdelivr.net/npm/mathjax@2. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site # (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and # should work on any modern browser. Note that when using HTML help # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) # there is already a search function so this one should typically be disabled. # For large projects the javascript based search engine can be slow, then # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to # search using the keyboard; to jump to the search box use + S # (what the is depends on the OS and browser, but it is typically # , /