Add shoreline facility
This commit is contained in:
@@ -18,9 +18,9 @@ needs to be provided to exit the program and go back to shell.
|
|||||||
We have to simulate everything as we are not allowed to have an actual radar at
|
We have to simulate everything as we are not allowed to have an actual radar at
|
||||||
our location because we are not on the water.
|
our location because we are not on the water.
|
||||||
|
|
||||||
The proposed location of the radar antenna is at the dock of the Community
|
The proposed location of the radar antenna is in the middle of Bellingham
|
||||||
boating center in Bellingham, Washington.
|
Bay on a 100 foot platform.
|
||||||
Location is 48.72° N Latitude and -122.51° W Longitude
|
Location is 48.74361448950435 latitude, -122.56466911663048 longitude
|
||||||
|
|
||||||
Zero degrees on Radar Scope is True North.
|
Zero degrees on Radar Scope is True North.
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
find_package(glfw3 REQUIRED)
|
find_package(glfw3 REQUIRED)
|
||||||
find_package(Freetype REQUIRED)
|
find_package(Freetype REQUIRED)
|
||||||
|
find_package(GDAL REQUIRED)
|
||||||
|
|
||||||
add_executable(radar_simulation
|
add_executable(radar_simulation
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
@@ -16,12 +17,18 @@ add_executable(radar_simulation
|
|||||||
target_include_directories(radar_simulation PRIVATE
|
target_include_directories(radar_simulation PRIVATE
|
||||||
${CMAKE_SOURCE_DIR}/include
|
${CMAKE_SOURCE_DIR}/include
|
||||||
${FREETYPE_INCLUDE_DIRS}
|
${FREETYPE_INCLUDE_DIRS}
|
||||||
|
${GDAL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_definitions(radar_simulation PRIVATE
|
||||||
|
MAP_DIR="${CMAKE_SOURCE_DIR}/map"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(radar_simulation PRIVATE
|
target_link_libraries(radar_simulation PRIVATE
|
||||||
OpenGL::GL
|
OpenGL::GL
|
||||||
glfw
|
glfw
|
||||||
Freetype::Freetype
|
Freetype::Freetype
|
||||||
|
${GDAL_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(copy_shaders ALL
|
add_custom_target(copy_shaders ALL
|
||||||
|
|||||||
@@ -227,6 +227,15 @@ FREETYPE_LIBRARY_DEBUG:FILEPATH=FREETYPE_LIBRARY_DEBUG-NOTFOUND
|
|||||||
//Path to a library.
|
//Path to a library.
|
||||||
FREETYPE_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libfreetype.so
|
FREETYPE_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libfreetype.so
|
||||||
|
|
||||||
|
//Path to the gdal-config tool
|
||||||
|
GDAL_CONFIG:FILEPATH=/usr/bin/gdal-config
|
||||||
|
|
||||||
|
//Path to the GDAL include directory
|
||||||
|
GDAL_INCLUDE_DIR:PATH=/usr/include/gdal
|
||||||
|
|
||||||
|
//Path to the GDAL library
|
||||||
|
GDAL_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libgdal.so
|
||||||
|
|
||||||
//Path to a file.
|
//Path to a file.
|
||||||
OPENGL_EGL_INCLUDE_DIR:PATH=/usr/include
|
OPENGL_EGL_INCLUDE_DIR:PATH=/usr/include
|
||||||
|
|
||||||
@@ -434,6 +443,8 @@ CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
|||||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||||
//Details about finding Freetype
|
//Details about finding Freetype
|
||||||
FIND_PACKAGE_MESSAGE_DETAILS_Freetype:INTERNAL=[/usr/lib/x86_64-linux-gnu/libfreetype.so][/usr/include/freetype2][v2.13.3()]
|
FIND_PACKAGE_MESSAGE_DETAILS_Freetype:INTERNAL=[/usr/lib/x86_64-linux-gnu/libfreetype.so][/usr/include/freetype2][v2.13.3()]
|
||||||
|
//Details about finding GDAL
|
||||||
|
FIND_PACKAGE_MESSAGE_DETAILS_GDAL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libgdal.so][/usr/include/gdal][v3.10.3()]
|
||||||
//Details about finding OpenGL
|
//Details about finding OpenGL
|
||||||
FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libOpenGL.so][/usr/lib/x86_64-linux-gnu/libGLX.so][/usr/include][c ][v()]
|
FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libOpenGL.so][/usr/lib/x86_64-linux-gnu/libGLX.so][/usr/include][c ][v()]
|
||||||
//Details about finding Threads
|
//Details about finding Threads
|
||||||
@@ -446,6 +457,12 @@ FREETYPE_INCLUDE_DIR_ft2build-ADVANCED:INTERNAL=1
|
|||||||
FREETYPE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
|
FREETYPE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
|
||||||
//ADVANCED property for variable: FREETYPE_LIBRARY_RELEASE
|
//ADVANCED property for variable: FREETYPE_LIBRARY_RELEASE
|
||||||
FREETYPE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
|
FREETYPE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: GDAL_CONFIG
|
||||||
|
GDAL_CONFIG-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: GDAL_INCLUDE_DIR
|
||||||
|
GDAL_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: GDAL_LIBRARY
|
||||||
|
GDAL_LIBRARY-ADVANCED:INTERNAL=1
|
||||||
//ADVANCED property for variable: OPENGL_EGL_INCLUDE_DIR
|
//ADVANCED property for variable: OPENGL_EGL_INCLUDE_DIR
|
||||||
OPENGL_EGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
OPENGL_EGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||||
//ADVANCED property for variable: OPENGL_GLES2_INCLUDE_DIR
|
//ADVANCED property for variable: OPENGL_GLES2_INCLUDE_DIR
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ set(CMAKE_MAKEFILE_DEPENDS
|
|||||||
"/usr/share/cmake-3.31/Modules/Compiler/GNU-CXX.cmake"
|
"/usr/share/cmake-3.31/Modules/Compiler/GNU-CXX.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/GNU.cmake"
|
"/usr/share/cmake-3.31/Modules/Compiler/GNU.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/FindFreetype.cmake"
|
"/usr/share/cmake-3.31/Modules/FindFreetype.cmake"
|
||||||
|
"/usr/share/cmake-3.31/Modules/FindGDAL.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/FindOpenGL.cmake"
|
"/usr/share/cmake-3.31/Modules/FindOpenGL.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake"
|
"/usr/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/FindPackageMessage.cmake"
|
"/usr/share/cmake-3.31/Modules/FindPackageMessage.cmake"
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ radar_simulation: CMakeFiles/radar_simulation.dir/build.make
|
|||||||
radar_simulation: CMakeFiles/radar_simulation.dir/compiler_depend.ts
|
radar_simulation: CMakeFiles/radar_simulation.dir/compiler_depend.ts
|
||||||
radar_simulation: /usr/lib/x86_64-linux-gnu/libglfw.so.3.4
|
radar_simulation: /usr/lib/x86_64-linux-gnu/libglfw.so.3.4
|
||||||
radar_simulation: /usr/lib/x86_64-linux-gnu/libfreetype.so
|
radar_simulation: /usr/lib/x86_64-linux-gnu/libfreetype.so
|
||||||
|
radar_simulation: /usr/lib/x86_64-linux-gnu/libgdal.so
|
||||||
radar_simulation: /usr/lib/x86_64-linux-gnu/libGLX.so
|
radar_simulation: /usr/lib/x86_64-linux-gnu/libGLX.so
|
||||||
radar_simulation: /usr/lib/x86_64-linux-gnu/libOpenGL.so
|
radar_simulation: /usr/lib/x86_64-linux-gnu/libOpenGL.so
|
||||||
radar_simulation: CMakeFiles/radar_simulation.dir/link.txt
|
radar_simulation: CMakeFiles/radar_simulation.dir/link.txt
|
||||||
|
|||||||
@@ -93,11 +93,16 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/asm-generic/posix_types.h
|
/usr/include/asm-generic/posix_types.h
|
||||||
/usr/include/asm-generic/types.h
|
/usr/include/asm-generic/types.h
|
||||||
/usr/include/c++/15/algorithm
|
/usr/include/c++/15/algorithm
|
||||||
|
/usr/include/c++/15/backward/auto_ptr.h
|
||||||
/usr/include/c++/15/backward/binders.h
|
/usr/include/c++/15/backward/binders.h
|
||||||
/usr/include/c++/15/bit
|
/usr/include/c++/15/bit
|
||||||
/usr/include/c++/15/bits/algorithmfwd.h
|
/usr/include/c++/15/bits/algorithmfwd.h
|
||||||
|
/usr/include/c++/15/bits/align.h
|
||||||
/usr/include/c++/15/bits/alloc_traits.h
|
/usr/include/c++/15/bits/alloc_traits.h
|
||||||
|
/usr/include/c++/15/bits/allocated_ptr.h
|
||||||
/usr/include/c++/15/bits/allocator.h
|
/usr/include/c++/15/bits/allocator.h
|
||||||
|
/usr/include/c++/15/bits/atomic_base.h
|
||||||
|
/usr/include/c++/15/bits/atomic_lockfree_defines.h
|
||||||
/usr/include/c++/15/bits/basic_ios.h
|
/usr/include/c++/15/bits/basic_ios.h
|
||||||
/usr/include/c++/15/bits/basic_ios.tcc
|
/usr/include/c++/15/bits/basic_ios.tcc
|
||||||
/usr/include/c++/15/bits/basic_string.h
|
/usr/include/c++/15/bits/basic_string.h
|
||||||
@@ -109,6 +114,8 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/bits/cpp_type_traits.h
|
/usr/include/c++/15/bits/cpp_type_traits.h
|
||||||
/usr/include/c++/15/bits/cxxabi_forced.h
|
/usr/include/c++/15/bits/cxxabi_forced.h
|
||||||
/usr/include/c++/15/bits/cxxabi_init_exception.h
|
/usr/include/c++/15/bits/cxxabi_init_exception.h
|
||||||
|
/usr/include/c++/15/bits/deque.tcc
|
||||||
|
/usr/include/c++/15/bits/erase_if.h
|
||||||
/usr/include/c++/15/bits/exception.h
|
/usr/include/c++/15/bits/exception.h
|
||||||
/usr/include/c++/15/bits/exception_defines.h
|
/usr/include/c++/15/bits/exception_defines.h
|
||||||
/usr/include/c++/15/bits/exception_ptr.h
|
/usr/include/c++/15/bits/exception_ptr.h
|
||||||
@@ -129,6 +136,7 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/bits/move.h
|
/usr/include/c++/15/bits/move.h
|
||||||
/usr/include/c++/15/bits/nested_exception.h
|
/usr/include/c++/15/bits/nested_exception.h
|
||||||
/usr/include/c++/15/bits/new_allocator.h
|
/usr/include/c++/15/bits/new_allocator.h
|
||||||
|
/usr/include/c++/15/bits/node_handle.h
|
||||||
/usr/include/c++/15/bits/ostream.h
|
/usr/include/c++/15/bits/ostream.h
|
||||||
/usr/include/c++/15/bits/ostream.tcc
|
/usr/include/c++/15/bits/ostream.tcc
|
||||||
/usr/include/c++/15/bits/ostream_insert.h
|
/usr/include/c++/15/bits/ostream_insert.h
|
||||||
@@ -138,6 +146,9 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/bits/range_access.h
|
/usr/include/c++/15/bits/range_access.h
|
||||||
/usr/include/c++/15/bits/refwrap.h
|
/usr/include/c++/15/bits/refwrap.h
|
||||||
/usr/include/c++/15/bits/requires_hosted.h
|
/usr/include/c++/15/bits/requires_hosted.h
|
||||||
|
/usr/include/c++/15/bits/shared_ptr.h
|
||||||
|
/usr/include/c++/15/bits/shared_ptr_atomic.h
|
||||||
|
/usr/include/c++/15/bits/shared_ptr_base.h
|
||||||
/usr/include/c++/15/bits/specfun.h
|
/usr/include/c++/15/bits/specfun.h
|
||||||
/usr/include/c++/15/bits/sstream.tcc
|
/usr/include/c++/15/bits/sstream.tcc
|
||||||
/usr/include/c++/15/bits/std_abs.h
|
/usr/include/c++/15/bits/std_abs.h
|
||||||
@@ -145,20 +156,29 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/bits/stl_algobase.h
|
/usr/include/c++/15/bits/stl_algobase.h
|
||||||
/usr/include/c++/15/bits/stl_bvector.h
|
/usr/include/c++/15/bits/stl_bvector.h
|
||||||
/usr/include/c++/15/bits/stl_construct.h
|
/usr/include/c++/15/bits/stl_construct.h
|
||||||
|
/usr/include/c++/15/bits/stl_deque.h
|
||||||
/usr/include/c++/15/bits/stl_function.h
|
/usr/include/c++/15/bits/stl_function.h
|
||||||
/usr/include/c++/15/bits/stl_heap.h
|
/usr/include/c++/15/bits/stl_heap.h
|
||||||
/usr/include/c++/15/bits/stl_iterator.h
|
/usr/include/c++/15/bits/stl_iterator.h
|
||||||
/usr/include/c++/15/bits/stl_iterator_base_funcs.h
|
/usr/include/c++/15/bits/stl_iterator_base_funcs.h
|
||||||
/usr/include/c++/15/bits/stl_iterator_base_types.h
|
/usr/include/c++/15/bits/stl_iterator_base_types.h
|
||||||
|
/usr/include/c++/15/bits/stl_map.h
|
||||||
|
/usr/include/c++/15/bits/stl_multimap.h
|
||||||
|
/usr/include/c++/15/bits/stl_multiset.h
|
||||||
/usr/include/c++/15/bits/stl_pair.h
|
/usr/include/c++/15/bits/stl_pair.h
|
||||||
|
/usr/include/c++/15/bits/stl_raw_storage_iter.h
|
||||||
|
/usr/include/c++/15/bits/stl_set.h
|
||||||
/usr/include/c++/15/bits/stl_tempbuf.h
|
/usr/include/c++/15/bits/stl_tempbuf.h
|
||||||
|
/usr/include/c++/15/bits/stl_tree.h
|
||||||
/usr/include/c++/15/bits/stl_uninitialized.h
|
/usr/include/c++/15/bits/stl_uninitialized.h
|
||||||
/usr/include/c++/15/bits/stl_vector.h
|
/usr/include/c++/15/bits/stl_vector.h
|
||||||
|
/usr/include/c++/15/bits/stream_iterator.h
|
||||||
/usr/include/c++/15/bits/streambuf.tcc
|
/usr/include/c++/15/bits/streambuf.tcc
|
||||||
/usr/include/c++/15/bits/streambuf_iterator.h
|
/usr/include/c++/15/bits/streambuf_iterator.h
|
||||||
/usr/include/c++/15/bits/string_view.tcc
|
/usr/include/c++/15/bits/string_view.tcc
|
||||||
/usr/include/c++/15/bits/stringfwd.h
|
/usr/include/c++/15/bits/stringfwd.h
|
||||||
/usr/include/c++/15/bits/uniform_int_dist.h
|
/usr/include/c++/15/bits/uniform_int_dist.h
|
||||||
|
/usr/include/c++/15/bits/unique_ptr.h
|
||||||
/usr/include/c++/15/bits/uses_allocator.h
|
/usr/include/c++/15/bits/uses_allocator.h
|
||||||
/usr/include/c++/15/bits/uses_allocator_args.h
|
/usr/include/c++/15/bits/uses_allocator_args.h
|
||||||
/usr/include/c++/15/bits/utility.h
|
/usr/include/c++/15/bits/utility.h
|
||||||
@@ -166,10 +186,13 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/bits/version.h
|
/usr/include/c++/15/bits/version.h
|
||||||
/usr/include/c++/15/cctype
|
/usr/include/c++/15/cctype
|
||||||
/usr/include/c++/15/cerrno
|
/usr/include/c++/15/cerrno
|
||||||
|
/usr/include/c++/15/climits
|
||||||
/usr/include/c++/15/clocale
|
/usr/include/c++/15/clocale
|
||||||
/usr/include/c++/15/cmath
|
/usr/include/c++/15/cmath
|
||||||
|
/usr/include/c++/15/complex
|
||||||
/usr/include/c++/15/concepts
|
/usr/include/c++/15/concepts
|
||||||
/usr/include/c++/15/cstddef
|
/usr/include/c++/15/cstddef
|
||||||
|
/usr/include/c++/15/cstdint
|
||||||
/usr/include/c++/15/cstdio
|
/usr/include/c++/15/cstdio
|
||||||
/usr/include/c++/15/cstdlib
|
/usr/include/c++/15/cstdlib
|
||||||
/usr/include/c++/15/cstring
|
/usr/include/c++/15/cstring
|
||||||
@@ -177,9 +200,12 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/cwctype
|
/usr/include/c++/15/cwctype
|
||||||
/usr/include/c++/15/debug/assertions.h
|
/usr/include/c++/15/debug/assertions.h
|
||||||
/usr/include/c++/15/debug/debug.h
|
/usr/include/c++/15/debug/debug.h
|
||||||
|
/usr/include/c++/15/deque
|
||||||
/usr/include/c++/15/exception
|
/usr/include/c++/15/exception
|
||||||
|
/usr/include/c++/15/ext/aligned_buffer.h
|
||||||
/usr/include/c++/15/ext/alloc_traits.h
|
/usr/include/c++/15/ext/alloc_traits.h
|
||||||
/usr/include/c++/15/ext/atomicity.h
|
/usr/include/c++/15/ext/atomicity.h
|
||||||
|
/usr/include/c++/15/ext/concurrence.h
|
||||||
/usr/include/c++/15/ext/numeric_traits.h
|
/usr/include/c++/15/ext/numeric_traits.h
|
||||||
/usr/include/c++/15/ext/string_conversions.h
|
/usr/include/c++/15/ext/string_conversions.h
|
||||||
/usr/include/c++/15/ext/type_traits.h
|
/usr/include/c++/15/ext/type_traits.h
|
||||||
@@ -189,12 +215,18 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/iosfwd
|
/usr/include/c++/15/iosfwd
|
||||||
/usr/include/c++/15/iostream
|
/usr/include/c++/15/iostream
|
||||||
/usr/include/c++/15/istream
|
/usr/include/c++/15/istream
|
||||||
|
/usr/include/c++/15/iterator
|
||||||
/usr/include/c++/15/limits
|
/usr/include/c++/15/limits
|
||||||
|
/usr/include/c++/15/map
|
||||||
|
/usr/include/c++/15/math.h
|
||||||
|
/usr/include/c++/15/memory
|
||||||
/usr/include/c++/15/new
|
/usr/include/c++/15/new
|
||||||
/usr/include/c++/15/ostream
|
/usr/include/c++/15/ostream
|
||||||
/usr/include/c++/15/pstl/execution_defs.h
|
/usr/include/c++/15/pstl/execution_defs.h
|
||||||
/usr/include/c++/15/pstl/glue_algorithm_defs.h
|
/usr/include/c++/15/pstl/glue_algorithm_defs.h
|
||||||
|
/usr/include/c++/15/pstl/glue_memory_defs.h
|
||||||
/usr/include/c++/15/pstl/pstl_config.h
|
/usr/include/c++/15/pstl/pstl_config.h
|
||||||
|
/usr/include/c++/15/set
|
||||||
/usr/include/c++/15/sstream
|
/usr/include/c++/15/sstream
|
||||||
/usr/include/c++/15/stdexcept
|
/usr/include/c++/15/stdexcept
|
||||||
/usr/include/c++/15/stdlib.h
|
/usr/include/c++/15/stdlib.h
|
||||||
@@ -238,11 +270,39 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/freetype2/freetype/ftsystem.h
|
/usr/include/freetype2/freetype/ftsystem.h
|
||||||
/usr/include/freetype2/freetype/fttypes.h
|
/usr/include/freetype2/freetype/fttypes.h
|
||||||
/usr/include/freetype2/ft2build.h
|
/usr/include/freetype2/ft2build.h
|
||||||
|
/usr/include/gdal/cpl_atomic_ops.h
|
||||||
|
/usr/include/gdal/cpl_config.h
|
||||||
|
/usr/include/gdal/cpl_conv.h
|
||||||
|
/usr/include/gdal/cpl_error.h
|
||||||
|
/usr/include/gdal/cpl_json.h
|
||||||
|
/usr/include/gdal/cpl_minixml.h
|
||||||
|
/usr/include/gdal/cpl_multiproc.h
|
||||||
|
/usr/include/gdal/cpl_port.h
|
||||||
|
/usr/include/gdal/cpl_progress.h
|
||||||
|
/usr/include/gdal/cpl_string.h
|
||||||
|
/usr/include/gdal/cpl_virtualmem.h
|
||||||
|
/usr/include/gdal/cpl_vsi.h
|
||||||
|
/usr/include/gdal/gdal.h
|
||||||
|
/usr/include/gdal/gdal_frmts.h
|
||||||
|
/usr/include/gdal/gdal_priv.h
|
||||||
|
/usr/include/gdal/gdal_version.h
|
||||||
|
/usr/include/gdal/gdalsubdatasetinfo.h
|
||||||
|
/usr/include/gdal/ogr_api.h
|
||||||
|
/usr/include/gdal/ogr_core.h
|
||||||
|
/usr/include/gdal/ogr_feature.h
|
||||||
|
/usr/include/gdal/ogr_featurestyle.h
|
||||||
|
/usr/include/gdal/ogr_geomcoordinateprecision.h
|
||||||
|
/usr/include/gdal/ogr_geometry.h
|
||||||
|
/usr/include/gdal/ogr_spatialref.h
|
||||||
|
/usr/include/gdal/ogr_srs_api.h
|
||||||
|
/usr/include/gdal/ogrsf_frmts.h
|
||||||
/usr/include/limits.h
|
/usr/include/limits.h
|
||||||
|
/usr/include/linux/close_range.h
|
||||||
/usr/include/linux/errno.h
|
/usr/include/linux/errno.h
|
||||||
/usr/include/linux/limits.h
|
/usr/include/linux/limits.h
|
||||||
/usr/include/linux/posix_types.h
|
/usr/include/linux/posix_types.h
|
||||||
/usr/include/linux/sched/types.h
|
/usr/include/linux/sched/types.h
|
||||||
|
/usr/include/linux/stat.h
|
||||||
/usr/include/linux/stddef.h
|
/usr/include/linux/stddef.h
|
||||||
/usr/include/linux/types.h
|
/usr/include/linux/types.h
|
||||||
/usr/include/locale.h
|
/usr/include/locale.h
|
||||||
@@ -257,6 +317,7 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/string.h
|
/usr/include/string.h
|
||||||
/usr/include/strings.h
|
/usr/include/strings.h
|
||||||
/usr/include/time.h
|
/usr/include/time.h
|
||||||
|
/usr/include/unistd.h
|
||||||
/usr/include/wchar.h
|
/usr/include/wchar.h
|
||||||
/usr/include/wctype.h
|
/usr/include/wctype.h
|
||||||
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h
|
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h
|
||||||
@@ -266,15 +327,19 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/asm/types.h
|
/usr/include/x86_64-linux-gnu/asm/types.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h
|
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/byteswap.h
|
/usr/include/x86_64-linux-gnu/bits/byteswap.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/confname.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/cpu-set.h
|
/usr/include/x86_64-linux-gnu/bits/cpu-set.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/endian.h
|
/usr/include/x86_64-linux-gnu/bits/endian.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/endianness.h
|
/usr/include/x86_64-linux-gnu/bits/endianness.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/environments.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/errno.h
|
/usr/include/x86_64-linux-gnu/bits/errno.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/floatn-common.h
|
/usr/include/x86_64-linux-gnu/bits/floatn-common.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/floatn.h
|
/usr/include/x86_64-linux-gnu/bits/floatn.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h
|
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/fp-fast.h
|
/usr/include/x86_64-linux-gnu/bits/fp-fast.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/fp-logb.h
|
/usr/include/x86_64-linux-gnu/bits/fp-logb.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/getopt_core.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/iscanonical.h
|
/usr/include/x86_64-linux-gnu/bits/iscanonical.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
|
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h
|
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h
|
||||||
@@ -288,6 +353,7 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/bits/mathcalls.h
|
/usr/include/x86_64-linux-gnu/bits/mathcalls.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h
|
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h
|
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/posix_opt.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h
|
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
|
||||||
@@ -297,6 +363,9 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/bits/select2.h
|
/usr/include/x86_64-linux-gnu/bits/select2.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/setjmp.h
|
/usr/include/x86_64-linux-gnu/bits/setjmp.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/setjmp2.h
|
/usr/include/x86_64-linux-gnu/bits/setjmp2.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/stat.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/statx-generic.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/statx.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-least.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-least.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
|
||||||
@@ -311,6 +380,7 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h
|
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
|
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
|
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/struct_stat.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
|
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/time.h
|
/usr/include/x86_64-linux-gnu/bits/time.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/time64.h
|
/usr/include/x86_64-linux-gnu/bits/time64.h
|
||||||
@@ -335,6 +405,8 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h
|
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h
|
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h
|
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h
|
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h
|
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h
|
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h
|
||||||
@@ -344,6 +416,9 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/bits/typesizes.h
|
/usr/include/x86_64-linux-gnu/bits/typesizes.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h
|
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/uio_lim.h
|
/usr/include/x86_64-linux-gnu/bits/uio_lim.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/unistd-decl.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/unistd.h
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/waitflags.h
|
/usr/include/x86_64-linux-gnu/bits/waitflags.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/waitstatus.h
|
/usr/include/x86_64-linux-gnu/bits/waitstatus.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar.h
|
/usr/include/x86_64-linux-gnu/bits/wchar.h
|
||||||
@@ -370,22 +445,151 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/sys/cdefs.h
|
/usr/include/x86_64-linux-gnu/sys/cdefs.h
|
||||||
/usr/include/x86_64-linux-gnu/sys/select.h
|
/usr/include/x86_64-linux-gnu/sys/select.h
|
||||||
/usr/include/x86_64-linux-gnu/sys/single_threaded.h
|
/usr/include/x86_64-linux-gnu/sys/single_threaded.h
|
||||||
|
/usr/include/x86_64-linux-gnu/sys/stat.h
|
||||||
/usr/include/x86_64-linux-gnu/sys/types.h
|
/usr/include/x86_64-linux-gnu/sys/types.h
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/include/limits.h
|
/usr/lib/gcc/x86_64-linux-gnu/15/include/limits.h
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/include/stdarg.h
|
/usr/lib/gcc/x86_64-linux-gnu/15/include/stdarg.h
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/15/include/stdbool.h
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/include/stddef.h
|
/usr/lib/gcc/x86_64-linux-gnu/15/include/stddef.h
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/include/stdint.h
|
/usr/lib/gcc/x86_64-linux-gnu/15/include/stdint.h
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/include/syslimits.h
|
/usr/lib/gcc/x86_64-linux-gnu/15/include/syslimits.h
|
||||||
|
|
||||||
radar_simulation
|
radar_simulation
|
||||||
|
/lib/libarmadillo.so.14
|
||||||
|
/lib/x86_64-linux-gnu/libLerc.so.4
|
||||||
|
/lib/x86_64-linux-gnu/libSvtAv1Enc.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_base.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_debugging_internal.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_decode_rust_punycode.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_demangle_internal.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_demangle_rust.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_graphcycles_internal.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_kernel_timeout_internal.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_malloc_internal.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_raw_logging_internal.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_spinlock_wait.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_stacktrace.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_string_view.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_strings.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_strings_internal.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_symbolize.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_synchronization.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_time.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_time_zone.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_utf8_for_code_point.so.20240722
|
||||||
|
/lib/x86_64-linux-gnu/libaec.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libaom.so.3
|
||||||
|
/lib/x86_64-linux-gnu/libarpack.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libassuan.so.9
|
||||||
|
/lib/x86_64-linux-gnu/libavif.so.16
|
||||||
|
/lib/x86_64-linux-gnu/libblas.so.3
|
||||||
|
/lib/x86_64-linux-gnu/libblosc.so.1
|
||||||
/lib/x86_64-linux-gnu/libbrotlicommon.so.1
|
/lib/x86_64-linux-gnu/libbrotlicommon.so.1
|
||||||
/lib/x86_64-linux-gnu/libbrotlidec.so.1
|
/lib/x86_64-linux-gnu/libbrotlidec.so.1
|
||||||
/lib/x86_64-linux-gnu/libbz2.so.1.0
|
/lib/x86_64-linux-gnu/libbz2.so.1.0
|
||||||
/lib/x86_64-linux-gnu/libc.so.6
|
/lib/x86_64-linux-gnu/libc.so.6
|
||||||
|
/lib/x86_64-linux-gnu/libcfitsio.so.10
|
||||||
|
/lib/x86_64-linux-gnu/libcom_err.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libcrypto.so.3
|
||||||
|
/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
|
||||||
|
/lib/x86_64-linux-gnu/libcurl.so.4
|
||||||
|
/lib/x86_64-linux-gnu/libdav1d.so.7
|
||||||
|
/lib/x86_64-linux-gnu/libdeflate.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libdfalt.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libexpat.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libffi.so.8
|
||||||
|
/lib/x86_64-linux-gnu/libfontconfig.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libfreexl.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libfyba.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libfygm.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libfyut.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libgav1.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libgeos.so.3.13.1
|
||||||
|
/lib/x86_64-linux-gnu/libgeos_c.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libgeotiff.so.5
|
||||||
|
/lib/x86_64-linux-gnu/libgfortran.so.5
|
||||||
|
/lib/x86_64-linux-gnu/libgif.so.7
|
||||||
|
/lib/x86_64-linux-gnu/libgmp.so.10
|
||||||
|
/lib/x86_64-linux-gnu/libgnutls.so.30
|
||||||
|
/lib/x86_64-linux-gnu/libgpg-error.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libgpgme.so.11
|
||||||
|
/lib/x86_64-linux-gnu/libgpgmepp.so.6
|
||||||
|
/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libhdf5_serial.so.310
|
||||||
|
/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.310
|
||||||
|
/lib/x86_64-linux-gnu/libheif.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libhogweed.so.6
|
||||||
|
/lib/x86_64-linux-gnu/libicudata.so.76
|
||||||
|
/lib/x86_64-linux-gnu/libicuuc.so.76
|
||||||
|
/lib/x86_64-linux-gnu/libidn2.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libjbig.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libjpeg.so.8
|
||||||
|
/lib/x86_64-linux-gnu/libjson-c.so.5
|
||||||
|
/lib/x86_64-linux-gnu/libk5crypto.so.3
|
||||||
|
/lib/x86_64-linux-gnu/libkeyutils.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libkmlbase.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libkmldom.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libkmlengine.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libkrb5.so.3
|
||||||
|
/lib/x86_64-linux-gnu/libkrb5support.so.0
|
||||||
|
/lib/x86_64-linux-gnu/liblapack.so.3
|
||||||
|
/lib/x86_64-linux-gnu/liblber.so.2
|
||||||
|
/lib/x86_64-linux-gnu/liblcms2.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libldap.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libltdl.so.7
|
||||||
|
/lib/x86_64-linux-gnu/liblz4.so.1
|
||||||
|
/lib/x86_64-linux-gnu/liblzma.so.5
|
||||||
/lib/x86_64-linux-gnu/libm.so.6
|
/lib/x86_64-linux-gnu/libm.so.6
|
||||||
|
/lib/x86_64-linux-gnu/libmfhdfalt.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libminizip.so.1
|
||||||
/lib/x86_64-linux-gnu/libmvec.so.1
|
/lib/x86_64-linux-gnu/libmvec.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libmysqlclient.so.24
|
||||||
|
/lib/x86_64-linux-gnu/libnetcdf.so.22
|
||||||
|
/lib/x86_64-linux-gnu/libnettle.so.8
|
||||||
|
/lib/x86_64-linux-gnu/libnghttp2.so.14
|
||||||
|
/lib/x86_64-linux-gnu/libnspr4.so
|
||||||
|
/lib/x86_64-linux-gnu/libnss3.so
|
||||||
|
/lib/x86_64-linux-gnu/libnssutil3.so
|
||||||
|
/lib/x86_64-linux-gnu/libodbc.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libodbcinst.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libogdi.so.4.1
|
||||||
|
/lib/x86_64-linux-gnu/libopenjp2.so.7
|
||||||
|
/lib/x86_64-linux-gnu/libp11-kit.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libpcre2-8.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libplc4.so
|
||||||
|
/lib/x86_64-linux-gnu/libplds4.so
|
||||||
/lib/x86_64-linux-gnu/libpng16.so.16
|
/lib/x86_64-linux-gnu/libpng16.so.16
|
||||||
|
/lib/x86_64-linux-gnu/libpoppler.so.147
|
||||||
|
/lib/x86_64-linux-gnu/libpq.so.5
|
||||||
|
/lib/x86_64-linux-gnu/libproj.so.25
|
||||||
|
/lib/x86_64-linux-gnu/libpsl.so.5
|
||||||
|
/lib/x86_64-linux-gnu/libqhull_r.so.8.0
|
||||||
|
/lib/x86_64-linux-gnu/librav1e.so.0.7
|
||||||
|
/lib/x86_64-linux-gnu/libresolv.so.2
|
||||||
|
/lib/x86_64-linux-gnu/librtmp.so.1
|
||||||
|
/lib/x86_64-linux-gnu/librttopo.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libsasl2.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libsharpyuv.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libsmime3.so
|
||||||
|
/lib/x86_64-linux-gnu/libsnappy.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libspatialite.so.8
|
||||||
|
/lib/x86_64-linux-gnu/libsqlite3.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libssh2.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libssl.so.3
|
||||||
|
/lib/x86_64-linux-gnu/libsz.so.2
|
||||||
|
/lib/x86_64-linux-gnu/libtasn1.so.6
|
||||||
|
/lib/x86_64-linux-gnu/libtiff.so.6
|
||||||
|
/lib/x86_64-linux-gnu/libtirpc.so.3
|
||||||
|
/lib/x86_64-linux-gnu/libunistring.so.5
|
||||||
|
/lib/x86_64-linux-gnu/liburiparser.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libwebp.so.7
|
||||||
|
/lib/x86_64-linux-gnu/libxerces-c-3.2.so
|
||||||
|
/lib/x86_64-linux-gnu/libxml2.so.16
|
||||||
|
/lib/x86_64-linux-gnu/libxxhash.so.0
|
||||||
|
/lib/x86_64-linux-gnu/libyuv.so.0
|
||||||
/lib/x86_64-linux-gnu/libz.so.1
|
/lib/x86_64-linux-gnu/libz.so.1
|
||||||
|
/lib/x86_64-linux-gnu/libzstd.so.1
|
||||||
/lib64/ld-linux-x86-64.so.2
|
/lib64/ld-linux-x86-64.so.2
|
||||||
/usr/lib/x86_64-linux-gnu/Scrt1.o
|
/usr/lib/x86_64-linux-gnu/Scrt1.o
|
||||||
/usr/lib/x86_64-linux-gnu/crti.o
|
/usr/lib/x86_64-linux-gnu/crti.o
|
||||||
@@ -400,8 +604,10 @@ radar_simulation
|
|||||||
/usr/lib/gcc/x86_64-linux-gnu/15/libstdc++.so
|
/usr/lib/gcc/x86_64-linux-gnu/15/libstdc++.so
|
||||||
/usr/lib/x86_64-linux-gnu/libGLX.so
|
/usr/lib/x86_64-linux-gnu/libGLX.so
|
||||||
/usr/lib/x86_64-linux-gnu/libOpenGL.so
|
/usr/lib/x86_64-linux-gnu/libOpenGL.so
|
||||||
|
/usr/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722
|
||||||
/usr/lib/x86_64-linux-gnu/libc_nonshared.a
|
/usr/lib/x86_64-linux-gnu/libc_nonshared.a
|
||||||
/usr/lib/x86_64-linux-gnu/libfreetype.so
|
/usr/lib/x86_64-linux-gnu/libfreetype.so
|
||||||
|
/usr/lib/x86_64-linux-gnu/libgdal.so
|
||||||
/usr/lib/x86_64-linux-gnu/libglfw.so.3.4
|
/usr/lib/x86_64-linux-gnu/libglfw.so.3.4
|
||||||
/home/maallyn/radar-simulation/build/CMakeFiles/radar_simulation.dir/glad/src/glad.c.o
|
/home/maallyn/radar-simulation/build/CMakeFiles/radar_simulation.dir/glad/src/glad.c.o
|
||||||
/home/maallyn/radar-simulation/build/CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
/home/maallyn/radar-simulation/build/CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -3,15 +3,15 @@
|
|||||||
|
|
||||||
# compile C with /usr/bin/cc
|
# compile C with /usr/bin/cc
|
||||||
# compile CXX with /usr/bin/c++
|
# compile CXX with /usr/bin/c++
|
||||||
C_DEFINES =
|
C_DEFINES = -DMAP_DIR=\"/home/maallyn/radar-simulation/map\"
|
||||||
|
|
||||||
C_INCLUDES = -I/home/maallyn/radar-simulation/include -isystem /usr/include/freetype2
|
C_INCLUDES = -I/home/maallyn/radar-simulation/include -I/usr/include/gdal -isystem /usr/include/freetype2
|
||||||
|
|
||||||
C_FLAGS = -O3 -DNDEBUG
|
C_FLAGS = -O3 -DNDEBUG
|
||||||
|
|
||||||
CXX_DEFINES =
|
CXX_DEFINES = -DMAP_DIR=\"/home/maallyn/radar-simulation/map\"
|
||||||
|
|
||||||
CXX_INCLUDES = -I/home/maallyn/radar-simulation/include -isystem /usr/include/freetype2
|
CXX_INCLUDES = -I/home/maallyn/radar-simulation/include -I/usr/include/gdal -isystem /usr/include/freetype2
|
||||||
|
|
||||||
CXX_FLAGS = -O3 -DNDEBUG -std=gnu++17
|
CXX_FLAGS = -O3 -DNDEBUG -std=gnu++17
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ radar_simulation: \
|
|||||||
CMakeFiles/radar_simulation.dir/glad/src/glad.c.o \
|
CMakeFiles/radar_simulation.dir/glad/src/glad.c.o \
|
||||||
/usr/lib/x86_64-linux-gnu/libglfw.so.3.4 \
|
/usr/lib/x86_64-linux-gnu/libglfw.so.3.4 \
|
||||||
/usr/lib/x86_64-linux-gnu/libfreetype.so \
|
/usr/lib/x86_64-linux-gnu/libfreetype.so \
|
||||||
|
/usr/lib/x86_64-linux-gnu/libgdal.so \
|
||||||
/usr/lib/x86_64-linux-gnu/libGLX.so \
|
/usr/lib/x86_64-linux-gnu/libGLX.so \
|
||||||
/usr/lib/x86_64-linux-gnu/libOpenGL.so \
|
/usr/lib/x86_64-linux-gnu/libOpenGL.so \
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/libstdc++.so \
|
/usr/lib/gcc/x86_64-linux-gnu/15/libstdc++.so \
|
||||||
@@ -38,8 +39,141 @@ radar_simulation: \
|
|||||||
/lib/x86_64-linux-gnu/libbz2.so.1.0 \
|
/lib/x86_64-linux-gnu/libbz2.so.1.0 \
|
||||||
/lib/x86_64-linux-gnu/libpng16.so.16 \
|
/lib/x86_64-linux-gnu/libpng16.so.16 \
|
||||||
/lib/x86_64-linux-gnu/libbrotlidec.so.1 \
|
/lib/x86_64-linux-gnu/libbrotlidec.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 \
|
||||||
|
/lib/x86_64-linux-gnu/libodbc.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libodbcinst.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libxml2.so.16 \
|
||||||
|
/lib/x86_64-linux-gnu/libcrypto.so.3 \
|
||||||
|
/lib/x86_64-linux-gnu/liblzma.so.5 \
|
||||||
|
/lib/x86_64-linux-gnu/libdeflate.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/liblz4.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libblosc.so.1 \
|
||||||
|
/lib/libarmadillo.so.14 \
|
||||||
|
/lib/x86_64-linux-gnu/libqhull_r.so.8.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libxerces-c-3.2.so \
|
||||||
|
/lib/x86_64-linux-gnu/libjpeg.so.8 \
|
||||||
|
/lib/x86_64-linux-gnu/libtiff.so.6 \
|
||||||
|
/lib/x86_64-linux-gnu/libgeotiff.so.5 \
|
||||||
|
/lib/x86_64-linux-gnu/libavif.so.16 \
|
||||||
|
/lib/x86_64-linux-gnu/libheif.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libzstd.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libaec.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libpoppler.so.147 \
|
||||||
|
/lib/x86_64-linux-gnu/libgif.so.7 \
|
||||||
|
/lib/x86_64-linux-gnu/libnetcdf.so.22 \
|
||||||
|
/lib/x86_64-linux-gnu/libcfitsio.so.10 \
|
||||||
|
/lib/x86_64-linux-gnu/libhdf5_serial.so.310 \
|
||||||
|
/lib/x86_64-linux-gnu/libwebp.so.7 \
|
||||||
|
/lib/x86_64-linux-gnu/libsqlite3.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libpq.so.5 \
|
||||||
|
/lib/x86_64-linux-gnu/libopenjp2.so.7 \
|
||||||
|
/lib/x86_64-linux-gnu/libkmlbase.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libkmldom.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libkmlengine.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libfyba.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libpcre2-8.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libspatialite.so.8 \
|
||||||
|
/lib/x86_64-linux-gnu/libmysqlclient.so.24 \
|
||||||
|
/lib/x86_64-linux-gnu/libfreexl.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libogdi.so.4.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libexpat.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libgeos_c.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libproj.so.25 \
|
||||||
|
/lib/x86_64-linux-gnu/libjson-c.so.5 \
|
||||||
|
/lib/x86_64-linux-gnu/libdfalt.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libmfhdfalt.so.0 \
|
||||||
/lib64/ld-linux-x86-64.so.2 \
|
/lib64/ld-linux-x86-64.so.2 \
|
||||||
/lib/x86_64-linux-gnu/libbrotlicommon.so.1
|
/lib/x86_64-linux-gnu/libbrotlicommon.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libnghttp2.so.14 \
|
||||||
|
/lib/x86_64-linux-gnu/libidn2.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/librtmp.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libssh2.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libpsl.so.5 \
|
||||||
|
/lib/x86_64-linux-gnu/libnettle.so.8 \
|
||||||
|
/lib/x86_64-linux-gnu/libgnutls.so.30 \
|
||||||
|
/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libldap.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/liblber.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libltdl.so.7 \
|
||||||
|
/lib/x86_64-linux-gnu/libxxhash.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libsnappy.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libblas.so.3 \
|
||||||
|
/lib/x86_64-linux-gnu/liblapack.so.3 \
|
||||||
|
/lib/x86_64-linux-gnu/libarpack.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libicuuc.so.76 \
|
||||||
|
/lib/x86_64-linux-gnu/libLerc.so.4 \
|
||||||
|
/lib/x86_64-linux-gnu/libjbig.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libyuv.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libdav1d.so.7 \
|
||||||
|
/lib/x86_64-linux-gnu/libgav1.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/librav1e.so.0.7 \
|
||||||
|
/lib/x86_64-linux-gnu/libSvtAv1Enc.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libaom.so.3 \
|
||||||
|
/lib/x86_64-linux-gnu/libsharpyuv.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libfontconfig.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libgpgmepp.so.6 \
|
||||||
|
/lib/x86_64-linux-gnu/liblcms2.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libnss3.so \
|
||||||
|
/lib/x86_64-linux-gnu/libsmime3.so \
|
||||||
|
/lib/x86_64-linux-gnu/libplc4.so \
|
||||||
|
/lib/x86_64-linux-gnu/libnspr4.so \
|
||||||
|
/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.310 \
|
||||||
|
/lib/x86_64-linux-gnu/libcurl.so.4 \
|
||||||
|
/lib/x86_64-linux-gnu/libsz.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libssl.so.3 \
|
||||||
|
/lib/x86_64-linux-gnu/libminizip.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/liburiparser.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libfyut.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libfygm.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/librttopo.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libresolv.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libtirpc.so.3 \
|
||||||
|
/lib/x86_64-linux-gnu/libgeos.so.3.13.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libunistring.so.5 \
|
||||||
|
/lib/x86_64-linux-gnu/libhogweed.so.6 \
|
||||||
|
/lib/x86_64-linux-gnu/libgmp.so.10 \
|
||||||
|
/lib/x86_64-linux-gnu/libp11-kit.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libtasn1.so.6 \
|
||||||
|
/lib/x86_64-linux-gnu/libkrb5.so.3 \
|
||||||
|
/lib/x86_64-linux-gnu/libk5crypto.so.3 \
|
||||||
|
/lib/x86_64-linux-gnu/libcom_err.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libkrb5support.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libsasl2.so.2 \
|
||||||
|
/lib/x86_64-linux-gnu/libgfortran.so.5 \
|
||||||
|
/lib/x86_64-linux-gnu/libmvec.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libicudata.so.76 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_synchronization.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libgpgme.so.11 \
|
||||||
|
/lib/x86_64-linux-gnu/libnssutil3.so \
|
||||||
|
/lib/x86_64-linux-gnu/libplds4.so \
|
||||||
|
/lib/x86_64-linux-gnu/libffi.so.8 \
|
||||||
|
/lib/x86_64-linux-gnu/libkeyutils.so.1 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_graphcycles_internal.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_kernel_timeout_internal.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_stacktrace.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_symbolize.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_time.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_malloc_internal.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_base.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_spinlock_wait.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_raw_logging_internal.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libassuan.so.9 \
|
||||||
|
/lib/x86_64-linux-gnu/libgpg-error.so.0 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_debugging_internal.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_demangle_internal.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_strings.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_time_zone.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_demangle_rust.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_strings_internal.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_string_view.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722 \
|
||||||
|
/usr/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722 \
|
||||||
|
/usr/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_decode_rust_punycode.so.20240722 \
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_utf8_for_code_point.so.20240722
|
||||||
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/../../../x86_64-linux-gnu/Scrt1.o:
|
/usr/lib/gcc/x86_64-linux-gnu/15/../../../x86_64-linux-gnu/Scrt1.o:
|
||||||
|
|
||||||
@@ -55,6 +189,8 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/lib/x86_64-linux-gnu/libfreetype.so:
|
/usr/lib/x86_64-linux-gnu/libfreetype.so:
|
||||||
|
|
||||||
|
/usr/lib/x86_64-linux-gnu/libgdal.so:
|
||||||
|
|
||||||
/usr/lib/x86_64-linux-gnu/libGLX.so:
|
/usr/lib/x86_64-linux-gnu/libGLX.so:
|
||||||
|
|
||||||
/usr/lib/x86_64-linux-gnu/libOpenGL.so:
|
/usr/lib/x86_64-linux-gnu/libOpenGL.so:
|
||||||
@@ -119,6 +255,272 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/lib/x86_64-linux-gnu/libbrotlidec.so.1:
|
/lib/x86_64-linux-gnu/libbrotlidec.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libcurl-gnutls.so.4:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libodbc.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libodbcinst.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libxml2.so.16:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libcrypto.so.3:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/liblzma.so.5:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libdeflate.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/liblz4.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libblosc.so.1:
|
||||||
|
|
||||||
|
/lib/libarmadillo.so.14:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libqhull_r.so.8.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libxerces-c-3.2.so:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libjpeg.so.8:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libtiff.so.6:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgeotiff.so.5:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libavif.so.16:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libheif.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libzstd.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libaec.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libpoppler.so.147:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgif.so.7:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libnetcdf.so.22:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libcfitsio.so.10:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libhdf5_serial.so.310:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libwebp.so.7:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libsqlite3.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libpq.so.5:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libopenjp2.so.7:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libkmlbase.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libkmldom.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libkmlengine.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libfyba.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libpcre2-8.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libspatialite.so.8:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libmysqlclient.so.24:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libfreexl.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libogdi.so.4.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libexpat.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgeos_c.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libproj.so.25:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libjson-c.so.5:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libdfalt.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libmfhdfalt.so.0:
|
||||||
|
|
||||||
/lib64/ld-linux-x86-64.so.2:
|
/lib64/ld-linux-x86-64.so.2:
|
||||||
|
|
||||||
/lib/x86_64-linux-gnu/libbrotlicommon.so.1:
|
/lib/x86_64-linux-gnu/libbrotlicommon.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libnghttp2.so.14:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libidn2.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/librtmp.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libssh2.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libpsl.so.5:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libnettle.so.8:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgnutls.so.30:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgssapi_krb5.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libldap.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/liblber.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libltdl.so.7:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libxxhash.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libsnappy.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libblas.so.3:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/liblapack.so.3:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libarpack.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libicuuc.so.76:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libLerc.so.4:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libjbig.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libyuv.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libdav1d.so.7:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgav1.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/librav1e.so.0.7:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libSvtAv1Enc.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libaom.so.3:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libsharpyuv.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libfontconfig.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgpgmepp.so.6:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/liblcms2.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libnss3.so:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libsmime3.so:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libplc4.so:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libnspr4.so:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.310:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libcurl.so.4:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libsz.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libssl.so.3:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libminizip.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/liburiparser.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libfyut.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libfygm.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/librttopo.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libresolv.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libtirpc.so.3:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgeos.so.3.13.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libunistring.so.5:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libhogweed.so.6:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgmp.so.10:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libp11-kit.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libtasn1.so.6:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libkrb5.so.3:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libk5crypto.so.3:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libcom_err.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libkrb5support.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libsasl2.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgfortran.so.5:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libmvec.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libicudata.so.76:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_synchronization.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgpgme.so.11:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libnssutil3.so:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libplds4.so:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libffi.so.8:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libkeyutils.so.1:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_graphcycles_internal.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_kernel_timeout_internal.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_stacktrace.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_symbolize.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_time.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_malloc_internal.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_base.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_spinlock_wait.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_raw_logging_internal.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libassuan.so.9:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libgpg-error.so.0:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_debugging_internal.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_demangle_internal.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_strings.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_time_zone.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_demangle_rust.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_strings_internal.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_string_view.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722:
|
||||||
|
|
||||||
|
/usr/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722:
|
||||||
|
|
||||||
|
/usr/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_throw_delegate.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_decode_rust_punycode.so.20240722:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libabsl_utf8_for_code_point.so.20240722:
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
/usr/bin/c++ -O3 -DNDEBUG -Wl,--dependency-file=CMakeFiles/radar_simulation.dir/link.d CMakeFiles/radar_simulation.dir/src/main.cpp.o CMakeFiles/radar_simulation.dir/glad/src/glad.c.o -o radar_simulation /usr/lib/x86_64-linux-gnu/libglfw.so.3.4 /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so
|
/usr/bin/c++ -O3 -DNDEBUG -Wl,--dependency-file=CMakeFiles/radar_simulation.dir/link.d CMakeFiles/radar_simulation.dir/src/main.cpp.o CMakeFiles/radar_simulation.dir/glad/src/glad.c.o -o radar_simulation /usr/lib/x86_64-linux-gnu/libglfw.so.3.4 /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/x86_64-linux-gnu/libgdal.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so
|
||||||
|
|||||||
Binary file not shown.
@@ -99,7 +99,10 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: \
|
|||||||
/usr/include/freetype2/freetype/ftimage.h \
|
/usr/include/freetype2/freetype/ftimage.h \
|
||||||
/usr/include/freetype2/freetype/fterrors.h \
|
/usr/include/freetype2/freetype/fterrors.h \
|
||||||
/usr/include/freetype2/freetype/ftmoderr.h \
|
/usr/include/freetype2/freetype/ftmoderr.h \
|
||||||
/usr/include/freetype2/freetype/fterrdef.h /usr/include/c++/15/cmath \
|
/usr/include/freetype2/freetype/fterrdef.h /usr/include/gdal/gdal_priv.h \
|
||||||
|
/usr/include/gdal/gdal.h /usr/include/gdal/gdal_version.h \
|
||||||
|
/usr/include/gdal/cpl_port.h /usr/include/gdal/cpl_config.h \
|
||||||
|
/usr/include/c++/15/math.h /usr/include/c++/15/cmath \
|
||||||
/usr/include/c++/15/bits/requires_hosted.h \
|
/usr/include/c++/15/bits/requires_hosted.h \
|
||||||
/usr/include/c++/15/bits/cpp_type_traits.h \
|
/usr/include/c++/15/bits/cpp_type_traits.h \
|
||||||
/usr/include/c++/15/bits/version.h /usr/include/c++/15/type_traits \
|
/usr/include/c++/15/bits/version.h /usr/include/c++/15/type_traits \
|
||||||
@@ -140,58 +143,47 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: \
|
|||||||
/usr/include/c++/15/tr1/modified_bessel_func.tcc \
|
/usr/include/c++/15/tr1/modified_bessel_func.tcc \
|
||||||
/usr/include/c++/15/tr1/poly_hermite.tcc \
|
/usr/include/c++/15/tr1/poly_hermite.tcc \
|
||||||
/usr/include/c++/15/tr1/poly_laguerre.tcc \
|
/usr/include/c++/15/tr1/poly_laguerre.tcc \
|
||||||
/usr/include/c++/15/tr1/riemann_zeta.tcc /usr/include/c++/15/vector \
|
/usr/include/c++/15/tr1/riemann_zeta.tcc /usr/include/ctype.h \
|
||||||
|
/usr/include/time.h /usr/include/x86_64-linux-gnu/bits/time.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/timex.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
|
||||||
|
/usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
|
||||||
|
/usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
|
||||||
|
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
|
||||||
|
/usr/include/gdal/cpl_error.h /usr/include/c++/15/memory \
|
||||||
|
/usr/include/c++/15/bits/memoryfwd.h \
|
||||||
/usr/include/c++/15/bits/allocator.h \
|
/usr/include/c++/15/bits/allocator.h \
|
||||||
/usr/include/x86_64-linux-gnu/c++/15/bits/c++allocator.h \
|
/usr/include/x86_64-linux-gnu/c++/15/bits/c++allocator.h \
|
||||||
/usr/include/c++/15/bits/new_allocator.h /usr/include/c++/15/new \
|
/usr/include/c++/15/bits/new_allocator.h /usr/include/c++/15/new \
|
||||||
/usr/include/c++/15/bits/exception.h \
|
/usr/include/c++/15/bits/exception.h \
|
||||||
/usr/include/c++/15/bits/memoryfwd.h \
|
/usr/include/c++/15/bits/stl_tempbuf.h \
|
||||||
/usr/include/c++/15/bits/stl_construct.h \
|
/usr/include/c++/15/bits/stl_construct.h \
|
||||||
/usr/include/c++/15/bits/stl_uninitialized.h \
|
/usr/include/c++/15/bits/stl_uninitialized.h \
|
||||||
/usr/include/c++/15/ext/alloc_traits.h \
|
/usr/include/c++/15/ext/alloc_traits.h \
|
||||||
/usr/include/c++/15/bits/alloc_traits.h \
|
/usr/include/c++/15/bits/alloc_traits.h \
|
||||||
/usr/include/c++/15/bits/stl_vector.h \
|
/usr/include/c++/15/bits/stl_raw_storage_iter.h \
|
||||||
/usr/include/c++/15/initializer_list \
|
/usr/include/c++/15/bits/align.h \
|
||||||
/usr/include/c++/15/bits/stl_bvector.h \
|
/usr/include/c++/15/bits/uses_allocator.h \
|
||||||
/usr/include/c++/15/bits/functional_hash.h \
|
/usr/include/c++/15/bits/unique_ptr.h /usr/include/c++/15/tuple \
|
||||||
/usr/include/c++/15/bits/hash_bytes.h /usr/include/c++/15/bits/refwrap.h \
|
|
||||||
/usr/include/c++/15/bits/invoke.h \
|
/usr/include/c++/15/bits/invoke.h \
|
||||||
/usr/include/c++/15/bits/stl_function.h \
|
/usr/include/c++/15/bits/stl_function.h \
|
||||||
/usr/include/c++/15/backward/binders.h \
|
/usr/include/c++/15/backward/binders.h \
|
||||||
/usr/include/c++/15/bits/range_access.h \
|
/usr/include/c++/15/bits/functional_hash.h \
|
||||||
/usr/include/c++/15/bits/vector.tcc \
|
/usr/include/c++/15/bits/hash_bytes.h \
|
||||||
/usr/include/c++/15/bits/memory_resource.h /usr/include/c++/15/cstddef \
|
/usr/include/c++/15/bits/shared_ptr.h /usr/include/c++/15/iosfwd \
|
||||||
/usr/include/c++/15/bits/uses_allocator.h \
|
/usr/include/c++/15/bits/stringfwd.h /usr/include/c++/15/bits/postypes.h \
|
||||||
/usr/include/c++/15/bits/uses_allocator_args.h /usr/include/c++/15/tuple \
|
/usr/include/c++/15/cwchar /usr/include/wchar.h \
|
||||||
/usr/include/c++/15/string /usr/include/c++/15/bits/stringfwd.h \
|
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
|
||||||
/usr/include/c++/15/bits/char_traits.h \
|
|
||||||
/usr/include/c++/15/bits/postypes.h /usr/include/c++/15/cwchar \
|
|
||||||
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
|
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar2-decl.h \
|
/usr/include/x86_64-linux-gnu/bits/wchar2-decl.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar2.h \
|
/usr/include/x86_64-linux-gnu/bits/wchar2.h \
|
||||||
/usr/include/c++/15/bits/localefwd.h \
|
/usr/include/c++/15/bits/shared_ptr_base.h /usr/include/c++/15/typeinfo \
|
||||||
/usr/include/x86_64-linux-gnu/c++/15/bits/c++locale.h \
|
/usr/include/c++/15/bits/allocated_ptr.h \
|
||||||
/usr/include/c++/15/clocale /usr/include/locale.h \
|
/usr/include/c++/15/bits/refwrap.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/15/iosfwd \
|
/usr/include/c++/15/ext/aligned_buffer.h \
|
||||||
/usr/include/c++/15/cctype /usr/include/ctype.h \
|
/usr/include/c++/15/ext/atomicity.h \
|
||||||
/usr/include/c++/15/bits/ostream_insert.h \
|
|
||||||
/usr/include/c++/15/bits/cxxabi_forced.h \
|
|
||||||
/usr/include/c++/15/bits/basic_string.h /usr/include/c++/15/string_view \
|
|
||||||
/usr/include/c++/15/bits/string_view.tcc \
|
|
||||||
/usr/include/c++/15/ext/string_conversions.h /usr/include/c++/15/cstdio \
|
|
||||||
/usr/include/c++/15/cerrno /usr/include/errno.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/asm/errno.h \
|
|
||||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
|
|
||||||
/usr/include/c++/15/bits/charconv.h \
|
|
||||||
/usr/include/c++/15/bits/basic_string.tcc /usr/include/c++/15/fstream \
|
|
||||||
/usr/include/c++/15/istream /usr/include/c++/15/ios \
|
|
||||||
/usr/include/c++/15/exception /usr/include/c++/15/bits/exception_ptr.h \
|
|
||||||
/usr/include/c++/15/bits/cxxabi_init_exception.h \
|
|
||||||
/usr/include/c++/15/typeinfo /usr/include/c++/15/bits/nested_exception.h \
|
|
||||||
/usr/include/c++/15/bits/ios_base.h /usr/include/c++/15/ext/atomicity.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/c++/15/bits/gthr.h \
|
/usr/include/x86_64-linux-gnu/c++/15/bits/gthr.h \
|
||||||
/usr/include/x86_64-linux-gnu/c++/15/bits/gthr-default.h \
|
/usr/include/x86_64-linux-gnu/c++/15/bits/gthr-default.h \
|
||||||
/usr/include/pthread.h /usr/include/sched.h \
|
/usr/include/pthread.h /usr/include/sched.h \
|
||||||
@@ -206,13 +198,64 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: \
|
|||||||
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
|
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
|
||||||
/usr/include/asm-generic/posix_types.h \
|
/usr/include/asm-generic/posix_types.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
|
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
|
/usr/include/x86_64-linux-gnu/bits/cpu-set.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/time.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/timex.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/c++/15/bits/atomic_word.h \
|
/usr/include/x86_64-linux-gnu/c++/15/bits/atomic_word.h \
|
||||||
/usr/include/x86_64-linux-gnu/sys/single_threaded.h \
|
/usr/include/x86_64-linux-gnu/sys/single_threaded.h \
|
||||||
|
/usr/include/c++/15/ext/concurrence.h /usr/include/c++/15/exception \
|
||||||
|
/usr/include/c++/15/bits/exception_ptr.h \
|
||||||
|
/usr/include/c++/15/bits/cxxabi_init_exception.h \
|
||||||
|
/usr/include/c++/15/bits/nested_exception.h \
|
||||||
|
/usr/include/c++/15/bits/shared_ptr_atomic.h \
|
||||||
|
/usr/include/c++/15/bits/atomic_base.h \
|
||||||
|
/usr/include/c++/15/bits/atomic_lockfree_defines.h \
|
||||||
|
/usr/include/c++/15/backward/auto_ptr.h \
|
||||||
|
/usr/include/c++/15/pstl/glue_memory_defs.h \
|
||||||
|
/usr/include/c++/15/pstl/execution_defs.h /usr/include/c++/15/string \
|
||||||
|
/usr/include/c++/15/bits/char_traits.h \
|
||||||
|
/usr/include/c++/15/bits/localefwd.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/c++/15/bits/c++locale.h \
|
||||||
|
/usr/include/c++/15/clocale /usr/include/locale.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/15/cctype \
|
||||||
|
/usr/include/c++/15/bits/ostream_insert.h \
|
||||||
|
/usr/include/c++/15/bits/cxxabi_forced.h \
|
||||||
|
/usr/include/c++/15/bits/range_access.h \
|
||||||
|
/usr/include/c++/15/initializer_list \
|
||||||
|
/usr/include/c++/15/bits/basic_string.h /usr/include/c++/15/string_view \
|
||||||
|
/usr/include/c++/15/bits/string_view.tcc \
|
||||||
|
/usr/include/c++/15/ext/string_conversions.h /usr/include/c++/15/cstdio \
|
||||||
|
/usr/include/c++/15/cerrno /usr/include/c++/15/bits/charconv.h \
|
||||||
|
/usr/include/c++/15/bits/basic_string.tcc \
|
||||||
|
/usr/include/c++/15/bits/memory_resource.h /usr/include/c++/15/cstddef \
|
||||||
|
/usr/include/c++/15/bits/uses_allocator_args.h \
|
||||||
|
/usr/include/gdal/cpl_progress.h /usr/include/gdal/cpl_virtualmem.h \
|
||||||
|
/usr/include/gdal/cpl_vsi.h \
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/15/include/stdbool.h /usr/include/unistd.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/environments.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/confname.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/unistd.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/unistd-decl.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
|
||||||
|
/usr/include/linux/close_range.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/sys/stat.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/stat.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
|
||||||
|
/usr/include/gdal/cpl_minixml.h /usr/include/gdal/ogr_api.h \
|
||||||
|
/usr/include/gdal/ogr_core.h /usr/include/gdal/gdal_frmts.h \
|
||||||
|
/usr/include/gdal/gdalsubdatasetinfo.h /usr/include/gdal/cpl_conv.h \
|
||||||
|
/usr/include/gdal/cpl_string.h /usr/include/c++/15/vector \
|
||||||
|
/usr/include/c++/15/bits/stl_vector.h \
|
||||||
|
/usr/include/c++/15/bits/stl_bvector.h \
|
||||||
|
/usr/include/c++/15/bits/vector.tcc /usr/include/gdal/cpl_multiproc.h \
|
||||||
|
/usr/include/gdal/cpl_atomic_ops.h /usr/include/c++/15/complex \
|
||||||
|
/usr/include/c++/15/sstream /usr/include/c++/15/istream \
|
||||||
|
/usr/include/c++/15/ios /usr/include/c++/15/bits/ios_base.h \
|
||||||
/usr/include/c++/15/bits/locale_classes.h \
|
/usr/include/c++/15/bits/locale_classes.h \
|
||||||
/usr/include/c++/15/bits/locale_classes.tcc \
|
/usr/include/c++/15/bits/locale_classes.tcc \
|
||||||
/usr/include/c++/15/system_error \
|
/usr/include/c++/15/system_error \
|
||||||
@@ -228,15 +271,31 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: \
|
|||||||
/usr/include/c++/15/bits/locale_facets.tcc \
|
/usr/include/c++/15/bits/locale_facets.tcc \
|
||||||
/usr/include/c++/15/bits/basic_ios.tcc /usr/include/c++/15/ostream \
|
/usr/include/c++/15/bits/basic_ios.tcc /usr/include/c++/15/ostream \
|
||||||
/usr/include/c++/15/bits/ostream.h /usr/include/c++/15/bits/ostream.tcc \
|
/usr/include/c++/15/bits/ostream.h /usr/include/c++/15/bits/ostream.tcc \
|
||||||
/usr/include/c++/15/bits/istream.tcc /usr/include/c++/15/bits/codecvt.h \
|
/usr/include/c++/15/bits/istream.tcc \
|
||||||
|
/usr/include/c++/15/bits/sstream.tcc /usr/include/c++/15/cstdint \
|
||||||
|
/usr/include/c++/15/iterator /usr/include/c++/15/bits/stream_iterator.h \
|
||||||
|
/usr/include/c++/15/map /usr/include/c++/15/bits/stl_tree.h \
|
||||||
|
/usr/include/c++/15/bits/node_handle.h \
|
||||||
|
/usr/include/c++/15/bits/stl_map.h \
|
||||||
|
/usr/include/c++/15/bits/stl_multimap.h \
|
||||||
|
/usr/include/c++/15/bits/erase_if.h /usr/include/c++/15/set \
|
||||||
|
/usr/include/c++/15/bits/stl_set.h \
|
||||||
|
/usr/include/c++/15/bits/stl_multiset.h /usr/include/gdal/ogr_feature.h \
|
||||||
|
/usr/include/gdal/ogr_featurestyle.h /usr/include/gdal/ogr_geometry.h \
|
||||||
|
/usr/include/gdal/cpl_json.h \
|
||||||
|
/usr/include/gdal/ogr_geomcoordinateprecision.h \
|
||||||
|
/usr/include/gdal/ogr_spatialref.h /usr/include/gdal/ogr_srs_api.h \
|
||||||
|
/usr/include/c++/15/climits /usr/include/gdal/ogrsf_frmts.h \
|
||||||
|
/usr/include/gdal/gdal_priv.h /usr/include/c++/15/deque \
|
||||||
|
/usr/include/c++/15/bits/stl_deque.h /usr/include/c++/15/bits/deque.tcc \
|
||||||
|
/usr/include/gdal/cpl_conv.h /usr/include/c++/15/fstream \
|
||||||
|
/usr/include/c++/15/bits/codecvt.h \
|
||||||
/usr/include/x86_64-linux-gnu/c++/15/bits/basic_file.h \
|
/usr/include/x86_64-linux-gnu/c++/15/bits/basic_file.h \
|
||||||
/usr/include/x86_64-linux-gnu/c++/15/bits/c++io.h \
|
/usr/include/x86_64-linux-gnu/c++/15/bits/c++io.h \
|
||||||
/usr/include/c++/15/bits/fstream.tcc /usr/include/c++/15/sstream \
|
/usr/include/c++/15/bits/fstream.tcc /usr/include/c++/15/iostream \
|
||||||
/usr/include/c++/15/bits/sstream.tcc /usr/include/c++/15/iostream \
|
|
||||||
/usr/include/c++/15/algorithm /usr/include/c++/15/bits/stl_algo.h \
|
/usr/include/c++/15/algorithm /usr/include/c++/15/bits/stl_algo.h \
|
||||||
/usr/include/c++/15/bits/algorithmfwd.h \
|
/usr/include/c++/15/bits/algorithmfwd.h \
|
||||||
/usr/include/c++/15/bits/stl_heap.h \
|
/usr/include/c++/15/bits/stl_heap.h \
|
||||||
/usr/include/c++/15/bits/uniform_int_dist.h \
|
/usr/include/c++/15/bits/uniform_int_dist.h \
|
||||||
/usr/include/c++/15/bits/stl_tempbuf.h \
|
|
||||||
/usr/include/c++/15/pstl/glue_algorithm_defs.h \
|
/usr/include/c++/15/pstl/glue_algorithm_defs.h \
|
||||||
/usr/include/c++/15/pstl/execution_defs.h /usr/include/c++/15/cstring
|
/usr/include/c++/15/cstring
|
||||||
|
|||||||
Binary file not shown.
20
build/shaders/ppi_shoreline.frag
Normal file
20
build/shaders/ppi_shoreline.frag
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#version 330 core
|
||||||
|
// Feature 9: PPI Shoreline / Terrain — fragment stage
|
||||||
|
// Active points render in P7 blue; fading points render in P7 greenish-yellow
|
||||||
|
// with brightness proportional to vFade.
|
||||||
|
in float vFade;
|
||||||
|
in float vActive;
|
||||||
|
|
||||||
|
uniform vec3 uActiveColor; // P7A blue
|
||||||
|
uniform vec3 uPersistColor; // P7P greenish yellow
|
||||||
|
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
if (vFade <= 0.01) discard;
|
||||||
|
vec3 col = (vActive > 0.5)
|
||||||
|
? uActiveColor
|
||||||
|
: uPersistColor * vFade;
|
||||||
|
fragColor = vec4(col, vFade);
|
||||||
|
}
|
||||||
49
build/shaders/ppi_shoreline.vert
Normal file
49
build/shaders/ppi_shoreline.vert
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#version 330 core
|
||||||
|
// Feature 9: PPI Shoreline / Terrain
|
||||||
|
// Each vertex encodes (bearingDeg, rangeMiles) in polar radar coordinates.
|
||||||
|
// The vertex shader converts to NDC and computes sweep-based fade on the GPU,
|
||||||
|
// so the geometry buffer is static — only uniforms change each frame.
|
||||||
|
layout(location = 0) in vec2 aBearingRange; // x = bearing °CW-from-N, y = range miles
|
||||||
|
|
||||||
|
uniform vec2 uCenter; // NDC centre of PPI scope
|
||||||
|
uniform float uPpiRx; // ppiR * 2.0 / W (one full-radius in NDC, x axis)
|
||||||
|
uniform float uPpiRy; // ppiR * 2.0 / H (one full-radius in NDC, y axis)
|
||||||
|
uniform float uMaxRange; // current max range (miles)
|
||||||
|
uniform float uSweepAngle; // current sweep angle (degrees CW from N)
|
||||||
|
uniform float uSweepDegPS; // sweep speed (degrees / second)
|
||||||
|
uniform float uPersist; // phosphor persistence duration (seconds)
|
||||||
|
|
||||||
|
out float vFade; // 0..1 brightness multiplier
|
||||||
|
out float vActive; // 1.0 when sweep head is over this point
|
||||||
|
|
||||||
|
const float PI = 3.14159265358979;
|
||||||
|
const float THRESH = 3.5; // degrees — active window around sweep head
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
float bearDeg = aBearingRange.x;
|
||||||
|
float rangeMi = aBearingRange.y;
|
||||||
|
float rangeFrac = rangeMi / uMaxRange;
|
||||||
|
|
||||||
|
// Push out-of-range points outside the NDC clip volume
|
||||||
|
if (rangeFrac > 1.0) {
|
||||||
|
gl_Position = vec4(2.0, 2.0, 2.0, 1.0);
|
||||||
|
vFade = 0.0;
|
||||||
|
vActive = 0.0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert polar radar coords → NDC
|
||||||
|
// North (0°) = +Y in NDC; East (90°) = +X in NDC
|
||||||
|
float bearRad = bearDeg * PI / 180.0;
|
||||||
|
float nx = uCenter.x + rangeFrac * uPpiRx * sin(bearRad);
|
||||||
|
float ny = uCenter.y + rangeFrac * uPpiRy * cos(bearRad);
|
||||||
|
gl_Position = vec4(nx, ny, 0.0, 1.0);
|
||||||
|
gl_PointSize = 2.0;
|
||||||
|
|
||||||
|
// Degrees the sweep has travelled past this point since last illumination
|
||||||
|
float angBehind = mod(uSweepAngle - bearDeg + 360.0, 360.0);
|
||||||
|
float timeSinceLit = angBehind / uSweepDegPS;
|
||||||
|
vFade = clamp(1.0 - timeSinceLit / uPersist, 0.0, 1.0);
|
||||||
|
vActive = (angBehind < THRESH) ? 1.0 : 0.0;
|
||||||
|
}
|
||||||
BIN
map/US5WA45M.000
Executable file
BIN
map/US5WA45M.000
Executable file
Binary file not shown.
BIN
map/n48_w123_1arc_v3.tif
Executable file
BIN
map/n48_w123_1arc_v3.tif
Executable file
Binary file not shown.
20
shaders/ppi_shoreline.frag
Normal file
20
shaders/ppi_shoreline.frag
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#version 330 core
|
||||||
|
// Feature 9: PPI Shoreline / Terrain — fragment stage
|
||||||
|
// Active points render in P7 blue; fading points render in P7 greenish-yellow
|
||||||
|
// with brightness proportional to vFade.
|
||||||
|
in float vFade;
|
||||||
|
in float vActive;
|
||||||
|
|
||||||
|
uniform vec3 uActiveColor; // P7A blue
|
||||||
|
uniform vec3 uPersistColor; // P7P greenish yellow
|
||||||
|
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
if (vFade <= 0.01) discard;
|
||||||
|
vec3 col = (vActive > 0.5)
|
||||||
|
? uActiveColor
|
||||||
|
: uPersistColor * vFade;
|
||||||
|
fragColor = vec4(col, vFade);
|
||||||
|
}
|
||||||
49
shaders/ppi_shoreline.vert
Normal file
49
shaders/ppi_shoreline.vert
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#version 330 core
|
||||||
|
// Feature 9: PPI Shoreline / Terrain
|
||||||
|
// Each vertex encodes (bearingDeg, rangeMiles) in polar radar coordinates.
|
||||||
|
// The vertex shader converts to NDC and computes sweep-based fade on the GPU,
|
||||||
|
// so the geometry buffer is static — only uniforms change each frame.
|
||||||
|
layout(location = 0) in vec2 aBearingRange; // x = bearing °CW-from-N, y = range miles
|
||||||
|
|
||||||
|
uniform vec2 uCenter; // NDC centre of PPI scope
|
||||||
|
uniform float uPpiRx; // ppiR * 2.0 / W (one full-radius in NDC, x axis)
|
||||||
|
uniform float uPpiRy; // ppiR * 2.0 / H (one full-radius in NDC, y axis)
|
||||||
|
uniform float uMaxRange; // current max range (miles)
|
||||||
|
uniform float uSweepAngle; // current sweep angle (degrees CW from N)
|
||||||
|
uniform float uSweepDegPS; // sweep speed (degrees / second)
|
||||||
|
uniform float uPersist; // phosphor persistence duration (seconds)
|
||||||
|
|
||||||
|
out float vFade; // 0..1 brightness multiplier
|
||||||
|
out float vActive; // 1.0 when sweep head is over this point
|
||||||
|
|
||||||
|
const float PI = 3.14159265358979;
|
||||||
|
const float THRESH = 3.5; // degrees — active window around sweep head
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
float bearDeg = aBearingRange.x;
|
||||||
|
float rangeMi = aBearingRange.y;
|
||||||
|
float rangeFrac = rangeMi / uMaxRange;
|
||||||
|
|
||||||
|
// Push out-of-range points outside the NDC clip volume
|
||||||
|
if (rangeFrac > 1.0) {
|
||||||
|
gl_Position = vec4(2.0, 2.0, 2.0, 1.0);
|
||||||
|
vFade = 0.0;
|
||||||
|
vActive = 0.0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert polar radar coords → NDC
|
||||||
|
// North (0°) = +Y in NDC; East (90°) = +X in NDC
|
||||||
|
float bearRad = bearDeg * PI / 180.0;
|
||||||
|
float nx = uCenter.x + rangeFrac * uPpiRx * sin(bearRad);
|
||||||
|
float ny = uCenter.y + rangeFrac * uPpiRy * cos(bearRad);
|
||||||
|
gl_Position = vec4(nx, ny, 0.0, 1.0);
|
||||||
|
gl_PointSize = 2.0;
|
||||||
|
|
||||||
|
// Degrees the sweep has travelled past this point since last illumination
|
||||||
|
float angBehind = mod(uSweepAngle - bearDeg + 360.0, 360.0);
|
||||||
|
float timeSinceLit = angBehind / uSweepDegPS;
|
||||||
|
vFade = clamp(1.0 - timeSinceLit / uPersist, 0.0, 1.0);
|
||||||
|
vActive = (angBehind < THRESH) ? 1.0 : 0.0;
|
||||||
|
}
|
||||||
441
src/main.cpp
441
src/main.cpp
@@ -1,4 +1,4 @@
|
|||||||
// Radar Simulation — Feature Test: 1–6
|
// Radar Simulation — Feature Test: 1–6, 9
|
||||||
// Feature 1: Initialize display, draw scope boundaries (PPI circle, A scope box)
|
// Feature 1: Initialize display, draw scope boundaries (PPI circle, A scope box)
|
||||||
// Feature 2: PPI bearing ring with tick marks, degree labels, and outer label ring
|
// Feature 2: PPI bearing ring with tick marks, degree labels, and outer label ring
|
||||||
// Feature 3: Replaceable A scope graticule — cycles through 2/5/10/15 mi ranges,
|
// Feature 3: Replaceable A scope graticule — cycles through 2/5/10/15 mi ranges,
|
||||||
@@ -15,6 +15,11 @@
|
|||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
#include FT_FREETYPE_H
|
#include FT_FREETYPE_H
|
||||||
|
|
||||||
|
// GDAL / OGR — for ENC S-57 shoreline and DEM terrain loading
|
||||||
|
#include <gdal_priv.h>
|
||||||
|
#include <ogrsf_frmts.h>
|
||||||
|
#include <cpl_conv.h>
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
@@ -69,6 +74,12 @@ static constexpr int TRAIL_SEGS = 50;
|
|||||||
// Feature 5 — target glow lifetime (s) after sweep passes
|
// Feature 5 — target glow lifetime (s) after sweep passes
|
||||||
static constexpr float TARG_PERSIST = 5.0f;
|
static constexpr float TARG_PERSIST = 5.0f;
|
||||||
|
|
||||||
|
// ─── Radar location (WGS84, latitude first) ──────────────────────────────────
|
||||||
|
// Middle of Bellingham Bay, 100-foot platform
|
||||||
|
static constexpr double RADAR_LAT = 48.74361448950435;
|
||||||
|
static constexpr double RADAR_LON = -122.56466911663048;
|
||||||
|
static constexpr float MAX_RANGE_MILES = 6.0f;
|
||||||
|
|
||||||
// ─── NDC helpers ─────────────────────────────────────────────────────────────
|
// ─── NDC helpers ─────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
static inline float ndcX(float px, float W) { return px / W * 2.0f - 1.0f; }
|
static inline float ndcX(float px, float W) { return px / W * 2.0f - 1.0f; }
|
||||||
@@ -450,17 +461,25 @@ static BearingGraticule buildBearingGraticule(const Layout& L, const FontAtlas&
|
|||||||
|
|
||||||
struct RangeConfig {
|
struct RangeConfig {
|
||||||
float maxMiles;
|
float maxMiles;
|
||||||
int numMajor;
|
int numRings;
|
||||||
int numMinorPerMajor;
|
float rings[8]; // explicit ring positions in miles (up to 8)
|
||||||
};
|
};
|
||||||
|
|
||||||
static const RangeConfig RANGE_CONFIGS[4] = {
|
// PPI scope range ring configs (selectable by operator): 2, 4, 6 miles
|
||||||
{ 2.0f, 2, 4 }, // labels: 1, 2 mi
|
static const RangeConfig RANGE_CONFIGS[3] = {
|
||||||
{ 5.0f, 5, 1 }, // labels: 1,2,3,4,5 mi
|
{ 2.0f, 2, { 1.0f, 2.0f } },
|
||||||
{ 10.0f, 5, 1 }, // labels: 2,4,6,8,10 mi
|
{ 4.0f, 2, { 2.0f, 4.0f } },
|
||||||
{ 15.0f, 5, 2 }, // labels: 3,6,9,12,15 mi
|
{ 6.0f, 4, { 1.0f, 2.0f, 4.0f, 6.0f } },
|
||||||
};
|
};
|
||||||
static constexpr int RANGE_COUNT = 4;
|
static constexpr int RANGE_COUNT = 3;
|
||||||
|
|
||||||
|
// A scope graticule configs — independent from PPI: 2, 4, 6 miles
|
||||||
|
static const RangeConfig ASCOPE_RANGE_CONFIGS[3] = {
|
||||||
|
{ 2.0f, 2, { 1.0f, 2.0f } },
|
||||||
|
{ 4.0f, 2, { 2.0f, 4.0f } },
|
||||||
|
{ 6.0f, 4, { 1.0f, 2.0f, 4.0f, 6.0f } },
|
||||||
|
};
|
||||||
|
static constexpr int ASCOPE_RANGE_COUNT = 3;
|
||||||
|
|
||||||
// ─── Feature 3: A scope replaceable graticule ────────────────────────────────
|
// ─── Feature 3: A scope replaceable graticule ────────────────────────────────
|
||||||
|
|
||||||
@@ -521,32 +540,21 @@ static AScopeGraticule buildAScopeGraticule(
|
|||||||
for (int i = 1; i <= 3; ++i)
|
for (int i = 1; i <= 3; ++i)
|
||||||
ln(gx0, gy0 + sigH * i * 0.25f, gx1, gy0 + sigH * i * 0.25f);
|
ln(gx0, gy0 + sigH * i * 0.25f, gx1, gy0 + sigH * i * 0.25f);
|
||||||
|
|
||||||
// Vertical tick marks
|
// Vertical tick marks at each explicit ring position
|
||||||
const float majorSpan = sigW / rc.numMajor;
|
for (int ri = 0; ri < rc.numRings; ++ri) {
|
||||||
const float minorSpan = majorSpan / (rc.numMinorPerMajor + 1);
|
float xMaj = gx0 + (rc.rings[ri] / rc.maxMiles) * sigW;
|
||||||
const float minorTickH = sigH * 0.35f;
|
|
||||||
|
|
||||||
for (int m = 0; m < rc.numMajor; ++m) {
|
|
||||||
float xMaj = gx0 + (m + 1) * majorSpan;
|
|
||||||
ln(xMaj, gy1, xMaj, gy0);
|
ln(xMaj, gy1, xMaj, gy0);
|
||||||
|
|
||||||
float xBase = gx0 + m * majorSpan;
|
|
||||||
for (int n = 1; n <= rc.numMinorPerMajor; ++n) {
|
|
||||||
float xMin = xBase + n * minorSpan;
|
|
||||||
ln(xMin, gy1, xMin, gy1 - minorTickH);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ag.lineCount = (int)lineV.size() / 2;
|
ag.lineCount = (int)lineV.size() / 2;
|
||||||
makeLineVAO(ag.lineVAO, ag.lineVBO, lineV);
|
makeLineVAO(ag.lineVAO, ag.lineVBO, lineV);
|
||||||
|
|
||||||
// Range labels at each major tick
|
// Range labels at each ring tick
|
||||||
std::vector<float> textV;
|
std::vector<float> textV;
|
||||||
const float labelY = L.asTop + asH * 0.90f;
|
const float labelY = L.asTop + asH * 0.90f;
|
||||||
const float milesPerMajor = rc.maxMiles / rc.numMajor;
|
for (int ri = 0; ri < rc.numRings; ++ri) {
|
||||||
for (int m = 1; m <= rc.numMajor; ++m) {
|
float x = gx0 + (rc.rings[ri] / rc.maxMiles) * sigW;
|
||||||
float x = gx0 + m * majorSpan;
|
int labelMi = (int)std::round(rc.rings[ri]);
|
||||||
int labelMi = (int)std::round(m * milesPerMajor);
|
|
||||||
appendTextQuads(textV, fa, std::to_string(labelMi), x, labelY, W, H);
|
appendTextQuads(textV, fa, std::to_string(labelMi), x, labelY, W, H);
|
||||||
}
|
}
|
||||||
ag.textVerts = (int)textV.size() / 4;
|
ag.textVerts = (int)textV.size() / 4;
|
||||||
@@ -595,16 +603,16 @@ static void buildRingVerts(std::vector<float>& v,
|
|||||||
float sweepAngle, float W, float H)
|
float sweepAngle, float W, float H)
|
||||||
{
|
{
|
||||||
const RangeConfig& rc = RANGE_CONFIGS[rangeIdx];
|
const RangeConfig& rc = RANGE_CONFIGS[rangeIdx];
|
||||||
const int nr = rc.numMajor;
|
const int nr = rc.numRings;
|
||||||
|
|
||||||
auto push = [&](float px, float py, float r, float g, float b) {
|
auto push = [&](float px, float py, float r, float g, float b) {
|
||||||
v.push_back(ndcX(px,W)); v.push_back(ndcY(py,H));
|
v.push_back(ndcX(px,W)); v.push_back(ndcY(py,H));
|
||||||
v.push_back(r); v.push_back(g); v.push_back(b);
|
v.push_back(r); v.push_back(g); v.push_back(b);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Full persistence rings (dim greenish yellow)
|
// Full persistence rings (dim greenish yellow) at explicit ring positions
|
||||||
for (int ri = 1; ri <= nr; ++ri) {
|
for (int ri = 0; ri < nr; ++ri) {
|
||||||
float frac = (float)ri / nr;
|
float frac = rc.rings[ri] / rc.maxMiles;
|
||||||
for (int i = 0; i <= RING_SEGS; ++i) {
|
for (int i = 0; i <= RING_SEGS; ++i) {
|
||||||
float a = 2.0f * PI * i / RING_SEGS;
|
float a = 2.0f * PI * i / RING_SEGS;
|
||||||
push(L.ppiCX + frac*L.ppiR*std::cos(a),
|
push(L.ppiCX + frac*L.ppiR*std::cos(a),
|
||||||
@@ -613,9 +621,9 @@ static void buildRingVerts(std::vector<float>& v,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sweep trail arcs: gradient from active blue at head to dim persistence at tail
|
// Sweep trail arcs at each ring
|
||||||
for (int ri = 1; ri <= nr; ++ri) {
|
for (int ri = 0; ri < nr; ++ri) {
|
||||||
float frac = (float)ri / nr;
|
float frac = rc.rings[ri] / rc.maxMiles;
|
||||||
for (int i = 0; i <= TRAIL_SEGS; ++i) {
|
for (int i = 0; i <= TRAIL_SEGS; ++i) {
|
||||||
float t = 1.0f - (float)i / TRAIL_SEGS;
|
float t = 1.0f - (float)i / TRAIL_SEGS;
|
||||||
float ang = sweepAngle - (float)i * TRAIL_DEG / TRAIL_SEGS;
|
float ang = sweepAngle - (float)i * TRAIL_DEG / TRAIL_SEGS;
|
||||||
@@ -690,7 +698,8 @@ static void renderRingLayer(RingLayer& rl, const Layout& L,
|
|||||||
glUseProgram(rl.prog);
|
glUseProgram(rl.prog);
|
||||||
glBindVertexArray(rl.vao);
|
glBindVertexArray(rl.vao);
|
||||||
|
|
||||||
const int nr = RANGE_CONFIGS[rangeIdx].numMajor;
|
const RangeConfig& rcDraw = RANGE_CONFIGS[rangeIdx];
|
||||||
|
const int nr = rcDraw.numRings;
|
||||||
int off = 0;
|
int off = 0;
|
||||||
for (int ri = 0; ri < nr; ++ri) {
|
for (int ri = 0; ri < nr; ++ri) {
|
||||||
glDrawArrays(GL_LINE_STRIP, off, RING_SEGS+1);
|
glDrawArrays(GL_LINE_STRIP, off, RING_SEGS+1);
|
||||||
@@ -723,11 +732,11 @@ static void renderRingLayer(RingLayer& rl, const Layout& L,
|
|||||||
|
|
||||||
if (lr + lg + lb > 0.01f) {
|
if (lr + lg + lb > 0.01f) {
|
||||||
std::vector<float> tv;
|
std::vector<float> tv;
|
||||||
for (int ri = 1; ri <= nr; ++ri) {
|
for (int ri = 0; ri < nr; ++ri) {
|
||||||
float frac = (float)ri / nr;
|
float frac = rcDraw.rings[ri] / rcDraw.maxMiles;
|
||||||
float px = L.ppiCX;
|
float px = L.ppiCX;
|
||||||
float py = L.ppiCY + frac * L.ppiR + LABEL_OFFSET_PX;
|
float py = L.ppiCY + frac * L.ppiR + LABEL_OFFSET_PX;
|
||||||
int lmi = (int)std::round(RANGE_CONFIGS[rangeIdx].maxMiles * frac);
|
int lmi = (int)std::round(rcDraw.rings[ri]);
|
||||||
appendTextQuads(tv, fa, std::to_string(lmi), px, py, W, H);
|
appendTextQuads(tv, fa, std::to_string(lmi), px, py, W, H);
|
||||||
}
|
}
|
||||||
if (!tv.empty()) {
|
if (!tv.empty()) {
|
||||||
@@ -1217,6 +1226,318 @@ static void renderGratNotifyWindow(GratNotifyWindow& gn, const Layout& L,
|
|||||||
glDisable(GL_SCISSOR_TEST);
|
glDisable(GL_SCISSOR_TEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ─── Feature 9: Shoreline & Terrain ──────────────────────────────────────────
|
||||||
|
//
|
||||||
|
// Two data sources are combined into one GL_POINTS buffer:
|
||||||
|
//
|
||||||
|
// 1. NOAA ENC S-57 (COALNE layer) — precise nautical coastline.
|
||||||
|
// Line-string vertices are densified with intermediate points every
|
||||||
|
// ~40 m so the coastline appears continuous on-screen.
|
||||||
|
//
|
||||||
|
// 2. USGS 3DEP 1/3-arc-second DEM (GeoTIFF) — terrain elevation grid.
|
||||||
|
// All land pixels (elevation > 0 m) within the 15-mile radius are
|
||||||
|
// sampled at ~150 m intervals and added as terrain-return points.
|
||||||
|
// (Full line-of-sight shadow calculation is deferred to a later
|
||||||
|
// feature iteration.)
|
||||||
|
//
|
||||||
|
// The vertex shader holds the geometry fixed; sweep-based phosphor fade is
|
||||||
|
// computed entirely on the GPU from a small set of uniforms each frame.
|
||||||
|
|
||||||
|
// Convert WGS84 lat/lon to radar-local bearing (° CW from N) and range (miles).
|
||||||
|
// Uses flat-earth approximation — accurate to <0.01% at 15-mile range.
|
||||||
|
static void latLonToRadar(double lat, double lon,
|
||||||
|
float& bearDeg, float& rangeMi)
|
||||||
|
{
|
||||||
|
constexpr double MI_PER_DEG_LAT = 69.11;
|
||||||
|
double cosLat = std::cos(RADAR_LAT * M_PI / 180.0);
|
||||||
|
double dy = (lat - RADAR_LAT) * MI_PER_DEG_LAT; // + = north
|
||||||
|
double dx = (lon - RADAR_LON) * MI_PER_DEG_LAT * cosLat; // + = east
|
||||||
|
rangeMi = static_cast<float>(std::sqrt(dx*dx + dy*dy));
|
||||||
|
bearDeg = static_cast<float>(std::atan2(dx, dy) * 180.0 / M_PI);
|
||||||
|
if (bearDeg < 0.0f) bearDeg += 360.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vertex: (bearingDeg, rangeMiles)
|
||||||
|
struct ShorelineVert { float bearDeg; float rangeMi; };
|
||||||
|
|
||||||
|
// ── ENC coastline loading ─────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
// Recursively extract line-string geometry points, densifying at stepMiles.
|
||||||
|
static void appendENCGeomPts(OGRGeometry* geom, float maxRange,
|
||||||
|
float stepMiles,
|
||||||
|
std::vector<ShorelineVert>& pts)
|
||||||
|
{
|
||||||
|
if (!geom) return;
|
||||||
|
OGRwkbGeometryType gtype = wkbFlatten(geom->getGeometryType());
|
||||||
|
|
||||||
|
if (gtype == wkbLineString || gtype == wkbLinearRing) {
|
||||||
|
OGRLineString* ls = geom->toLineString();
|
||||||
|
int n = ls->getNumPoints();
|
||||||
|
if (n < 1) return;
|
||||||
|
|
||||||
|
constexpr double MI_PER_DEG_LAT = 69.11;
|
||||||
|
double cosLat = std::cos(RADAR_LAT * M_PI / 180.0);
|
||||||
|
|
||||||
|
for (int i = 0; i < n - 1; ++i) {
|
||||||
|
double lon0 = ls->getX(i), lat0 = ls->getY(i);
|
||||||
|
double lon1 = ls->getX(i+1),lat1 = ls->getY(i+1);
|
||||||
|
|
||||||
|
// Segment length in miles
|
||||||
|
double dlat = (lat1 - lat0) * MI_PER_DEG_LAT;
|
||||||
|
double dlon = (lon1 - lon0) * MI_PER_DEG_LAT * cosLat;
|
||||||
|
float segMi = static_cast<float>(std::sqrt(dlat*dlat + dlon*dlon));
|
||||||
|
|
||||||
|
int nSteps = std::max(1, static_cast<int>(segMi / stepMiles));
|
||||||
|
for (int j = 0; j <= nSteps; ++j) {
|
||||||
|
double t = static_cast<double>(j) / nSteps;
|
||||||
|
double lat = lat0 + t * (lat1 - lat0);
|
||||||
|
double lon = lon0 + t * (lon1 - lon0);
|
||||||
|
float bear, range;
|
||||||
|
latLonToRadar(lat, lon, bear, range);
|
||||||
|
if (range <= maxRange)
|
||||||
|
pts.push_back({bear, range});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Last point
|
||||||
|
{
|
||||||
|
float bear, range;
|
||||||
|
latLonToRadar(ls->getY(n-1), ls->getX(n-1), bear, range);
|
||||||
|
if (range <= maxRange) pts.push_back({bear, range});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (gtype == wkbPolygon) {
|
||||||
|
OGRPolygon* poly = geom->toPolygon();
|
||||||
|
OGRLinearRing* ring = poly->getExteriorRing();
|
||||||
|
if (ring) appendENCGeomPts(ring, maxRange, stepMiles, pts);
|
||||||
|
}
|
||||||
|
else if (gtype == wkbMultiLineString || gtype == wkbMultiPolygon ||
|
||||||
|
gtype == wkbGeometryCollection) {
|
||||||
|
OGRGeometryCollection* gc = geom->toGeometryCollection();
|
||||||
|
for (int i = 0; i < gc->getNumGeometries(); ++i)
|
||||||
|
appendENCGeomPts(gc->getGeometryRef(i), maxRange, stepMiles, pts);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load COALNE coastline from an S-57 ENC file.
|
||||||
|
// Points are densified at ~40 m intervals so they appear continuous.
|
||||||
|
static std::vector<ShorelineVert> loadENCCoastline(const std::string& encPath)
|
||||||
|
{
|
||||||
|
GDALAllRegister();
|
||||||
|
GDALDataset* ds = static_cast<GDALDataset*>(
|
||||||
|
GDALOpenEx(encPath.c_str(), GDAL_OF_VECTOR | GDAL_OF_READONLY,
|
||||||
|
nullptr, nullptr, nullptr));
|
||||||
|
if (!ds) {
|
||||||
|
std::cerr << "Feature 9: cannot open ENC: " << encPath << "\n";
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<ShorelineVert> pts;
|
||||||
|
|
||||||
|
// COALNE = coastline (primary); SLCONS = shoreline construction (piers etc.)
|
||||||
|
const char* layerNames[] = { "COALNE", "SLCONS" };
|
||||||
|
for (const char* lname : layerNames) {
|
||||||
|
OGRLayer* layer = ds->GetLayerByName(lname);
|
||||||
|
if (!layer) continue;
|
||||||
|
|
||||||
|
OGRFeature* feat;
|
||||||
|
layer->ResetReading();
|
||||||
|
while ((feat = layer->GetNextFeature()) != nullptr) {
|
||||||
|
OGRGeometry* geom = feat->GetGeometryRef();
|
||||||
|
// densify: one point every ~0.025 miles (~40 m)
|
||||||
|
appendENCGeomPts(geom, MAX_RANGE_MILES, 0.025f, pts);
|
||||||
|
OGRFeature::DestroyFeature(feat);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GDALClose(ds);
|
||||||
|
std::cerr << "Feature 9 ENC: " << pts.size() << " coastline points\n";
|
||||||
|
return pts;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ── DEM terrain loading with line-of-sight (radar shadow) ────────────────────
|
||||||
|
//
|
||||||
|
// For each azimuth (0.05° steps), march outward from the radar. Track the
|
||||||
|
// maximum elevation angle seen so far. A terrain point is visible — and
|
||||||
|
// generates a radar return — only when its elevation angle equals or exceeds
|
||||||
|
// the current maximum. Everything behind that horizon is in radar shadow.
|
||||||
|
// This correctly shows the faces of hills toward the radar and hides valleys
|
||||||
|
// and reverse slopes behind them.
|
||||||
|
|
||||||
|
static constexpr float RADAR_HEIGHT_M = 30.48f; // 100-foot platform
|
||||||
|
|
||||||
|
static std::vector<ShorelineVert> loadDEMTerrainWithLOS(const std::string& demPath)
|
||||||
|
{
|
||||||
|
GDALAllRegister();
|
||||||
|
GDALDataset* ds = static_cast<GDALDataset*>(
|
||||||
|
GDALOpen(demPath.c_str(), GA_ReadOnly));
|
||||||
|
if (!ds) {
|
||||||
|
std::cerr << "Feature 9: cannot open DEM: " << demPath << "\n";
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
GDALRasterBand* band = ds->GetRasterBand(1);
|
||||||
|
if (!band) {
|
||||||
|
std::cerr << "Feature 9: DEM has no band 1\n";
|
||||||
|
GDALClose(ds); return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
double gt[6];
|
||||||
|
ds->GetGeoTransform(gt);
|
||||||
|
int rasterW = ds->GetRasterXSize();
|
||||||
|
int rasterH = ds->GetRasterYSize();
|
||||||
|
|
||||||
|
// Bounding box with 2% margin
|
||||||
|
constexpr double M_PER_DEG_LAT = 111320.0;
|
||||||
|
double cosLat = std::cos(RADAR_LAT * M_PI / 180.0);
|
||||||
|
double mPerDegLon = M_PER_DEG_LAT * cosLat;
|
||||||
|
double maxRangeM = MAX_RANGE_MILES * 1609.344;
|
||||||
|
double dLat = maxRangeM / M_PER_DEG_LAT * 1.02;
|
||||||
|
double dLon = maxRangeM / mPerDegLon * 1.02;
|
||||||
|
|
||||||
|
int px0 = std::max(0, static_cast<int>((RADAR_LON - dLon - gt[0]) / gt[1]));
|
||||||
|
int px1 = std::min(rasterW-1,static_cast<int>((RADAR_LON + dLon - gt[0]) / gt[1]) + 1);
|
||||||
|
int py0 = std::max(0, static_cast<int>((RADAR_LAT + dLat - gt[3]) / gt[5]));
|
||||||
|
int py1 = std::min(rasterH-1,static_cast<int>((RADAR_LAT - dLat - gt[3]) / gt[5]) + 1);
|
||||||
|
int readW = px1 - px0 + 1;
|
||||||
|
int readH = py1 - py0 + 1;
|
||||||
|
if (readW <= 0 || readH <= 0) {
|
||||||
|
std::cerr << "Feature 9: DEM bounding box empty\n";
|
||||||
|
GDALClose(ds); return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bulk-read elevation tile into memory (float32, metres)
|
||||||
|
std::vector<float> elevGrid(readW * readH, 0.0f);
|
||||||
|
if (band->RasterIO(GF_Read, px0, py0, readW, readH,
|
||||||
|
elevGrid.data(), readW, readH, GDT_Float32, 0, 0) != CE_None) {
|
||||||
|
std::cerr << "Feature 9: DEM RasterIO failed\n";
|
||||||
|
GDALClose(ds); return {};
|
||||||
|
}
|
||||||
|
GDALClose(ds);
|
||||||
|
|
||||||
|
// ── Ray-march LOS ─────────────────────────────────────────────────────────
|
||||||
|
// 7200 rays (0.05° apart) × 20 m steps out to maxRange
|
||||||
|
const int NUM_AZIMUTHS = 7200;
|
||||||
|
const float STEP_M = 20.0f;
|
||||||
|
const int NUM_STEPS = static_cast<int>(maxRangeM / STEP_M) + 1;
|
||||||
|
|
||||||
|
std::vector<ShorelineVert> pts;
|
||||||
|
pts.reserve(60000);
|
||||||
|
|
||||||
|
for (int ai = 0; ai < NUM_AZIMUTHS; ++ai) {
|
||||||
|
float bearDeg = ai * 360.0f / NUM_AZIMUTHS;
|
||||||
|
float bearRad = bearDeg * static_cast<float>(M_PI) / 180.0f;
|
||||||
|
float sinB = std::sin(bearRad); // east component
|
||||||
|
float cosB = std::cos(bearRad); // north component
|
||||||
|
|
||||||
|
float maxElevAngle = -static_cast<float>(M_PI) / 2.0f; // horizon starts at -90°
|
||||||
|
|
||||||
|
for (int step = 1; step < NUM_STEPS; ++step) {
|
||||||
|
float rangeM = step * STEP_M;
|
||||||
|
float rangeMi = rangeM / 1609.344f;
|
||||||
|
|
||||||
|
// Geographic position of this ray step
|
||||||
|
double lat = RADAR_LAT + cosB * rangeM / M_PER_DEG_LAT;
|
||||||
|
double lon = RADAR_LON + sinB * rangeM / mPerDegLon;
|
||||||
|
|
||||||
|
// DEM pixel lookup (nearest-neighbour)
|
||||||
|
int pxg = static_cast<int>((lon - gt[0]) / gt[1]);
|
||||||
|
int pyg = static_cast<int>((lat - gt[3]) / gt[5]);
|
||||||
|
int pxl = pxg - px0;
|
||||||
|
int pyl = pyg - py0;
|
||||||
|
if (pxl < 0 || pxl >= readW || pyl < 0 || pyl >= readH) continue;
|
||||||
|
|
||||||
|
float elev = elevGrid[pyl * readW + pxl];
|
||||||
|
|
||||||
|
// Elevation angle from radar platform to this terrain point
|
||||||
|
float elevAngle = std::atan2(elev - RADAR_HEIGHT_M, rangeM);
|
||||||
|
|
||||||
|
if (elevAngle >= maxElevAngle) {
|
||||||
|
if (elev > 0.0f) // land (not ocean)
|
||||||
|
pts.push_back({bearDeg, rangeMi});
|
||||||
|
maxElevAngle = elevAngle; // raise the horizon
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cerr << "Feature 9 DEM LOS: " << pts.size() << " visible terrain points\n";
|
||||||
|
return pts;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ── ShorelineLayer GL object ──────────────────────────────────────────────────
|
||||||
|
|
||||||
|
struct ShorelineLayer {
|
||||||
|
GLuint prog = 0;
|
||||||
|
GLuint vao = 0;
|
||||||
|
GLuint vbo = 0;
|
||||||
|
int count = 0; // number of GL_POINTS vertices
|
||||||
|
};
|
||||||
|
|
||||||
|
static ShorelineLayer buildShorelineLayer()
|
||||||
|
{
|
||||||
|
const std::string encPath = MAP_DIR "/US5WA45M.000";
|
||||||
|
const std::string demPath = MAP_DIR "/n48_w123_1arc_v3.tif";
|
||||||
|
|
||||||
|
auto encPts = loadENCCoastline(encPath);
|
||||||
|
auto demPts = loadDEMTerrainWithLOS(demPath);
|
||||||
|
|
||||||
|
// Pack both into a single interleaved buffer: (bearDeg, rangeMi) per vertex
|
||||||
|
std::vector<float> verts;
|
||||||
|
verts.reserve((encPts.size() + demPts.size()) * 2);
|
||||||
|
for (auto& p : encPts) { verts.push_back(p.bearDeg); verts.push_back(p.rangeMi); }
|
||||||
|
for (auto& p : demPts) { verts.push_back(p.bearDeg); verts.push_back(p.rangeMi); }
|
||||||
|
|
||||||
|
ShorelineLayer sl{};
|
||||||
|
sl.count = static_cast<int>(verts.size() / 2);
|
||||||
|
|
||||||
|
glGenVertexArrays(1, &sl.vao);
|
||||||
|
glGenBuffers(1, &sl.vbo);
|
||||||
|
glBindVertexArray(sl.vao);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, sl.vbo);
|
||||||
|
glBufferData(GL_ARRAY_BUFFER,
|
||||||
|
static_cast<GLsizeiptr>(verts.size() * sizeof(float)),
|
||||||
|
verts.data(), GL_STATIC_DRAW);
|
||||||
|
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 2 * sizeof(float), nullptr);
|
||||||
|
glEnableVertexAttribArray(0);
|
||||||
|
glBindVertexArray(0);
|
||||||
|
|
||||||
|
sl.prog = makeProgram("shaders/ppi_shoreline.vert", "shaders/ppi_shoreline.frag");
|
||||||
|
std::cerr << "Feature 9: " << sl.count << " total shoreline+terrain points\n";
|
||||||
|
return sl;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void renderShorelineLayer(const ShorelineLayer& sl, const Layout& L,
|
||||||
|
int rangeIdx, float sweepAngle, float W, float H)
|
||||||
|
{
|
||||||
|
if (sl.count == 0 || sl.prog == 0) return;
|
||||||
|
|
||||||
|
const float maxRange = RANGE_CONFIGS[rangeIdx].maxMiles;
|
||||||
|
|
||||||
|
// NDC centre and per-axis NDC radius
|
||||||
|
float cx = L.ppiCX / W * 2.0f - 1.0f;
|
||||||
|
float cy = 1.0f - L.ppiCY / H * 2.0f;
|
||||||
|
float rx = L.ppiR / W * 2.0f;
|
||||||
|
float ry = L.ppiR / H * 2.0f;
|
||||||
|
|
||||||
|
glUseProgram(sl.prog);
|
||||||
|
glUniform2f(glGetUniformLocation(sl.prog, "uCenter"), cx, cy);
|
||||||
|
glUniform1f(glGetUniformLocation(sl.prog, "uPpiRx"), rx);
|
||||||
|
glUniform1f(glGetUniformLocation(sl.prog, "uPpiRy"), ry);
|
||||||
|
glUniform1f(glGetUniformLocation(sl.prog, "uMaxRange"), maxRange);
|
||||||
|
glUniform1f(glGetUniformLocation(sl.prog, "uSweepAngle"), sweepAngle);
|
||||||
|
glUniform1f(glGetUniformLocation(sl.prog, "uSweepDegPS"), SWEEP_DEG_PS);
|
||||||
|
glUniform1f(glGetUniformLocation(sl.prog, "uPersist"), TARG_PERSIST);
|
||||||
|
glUniform3f(glGetUniformLocation(sl.prog, "uActiveColor"),
|
||||||
|
P7A_R, P7A_G, P7A_B);
|
||||||
|
glUniform3f(glGetUniformLocation(sl.prog, "uPersistColor"),
|
||||||
|
P7P_R, P7P_G, P7P_B);
|
||||||
|
|
||||||
|
glEnable(GL_PROGRAM_POINT_SIZE);
|
||||||
|
glBindVertexArray(sl.vao);
|
||||||
|
glDrawArrays(GL_POINTS, 0, sl.count);
|
||||||
|
glBindVertexArray(0);
|
||||||
|
glDisable(GL_PROGRAM_POINT_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
// ─── Key callback ─────────────────────────────────────────────────────────────
|
// ─── Key callback ─────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
static void onKey(GLFWwindow* win, int key, int /*scan*/, int action, int /*mods*/)
|
static void onKey(GLFWwindow* win, int key, int /*scan*/, int action, int /*mods*/)
|
||||||
@@ -1279,11 +1600,11 @@ int main()
|
|||||||
// Feature 2 — PPI bearing graticule
|
// Feature 2 — PPI bearing graticule
|
||||||
BearingGraticule bg = buildBearingGraticule(layout, fa, W, H);
|
BearingGraticule bg = buildBearingGraticule(layout, fa, W, H);
|
||||||
|
|
||||||
// Feature 3 — A scope replaceable graticules
|
// Feature 3 — A scope replaceable graticules (uses its own 4-step config)
|
||||||
AScopeGratProg agProg = buildAScopeGratPrograms();
|
AScopeGratProg agProg = buildAScopeGratPrograms();
|
||||||
AScopeGraticule graticules[RANGE_COUNT];
|
AScopeGraticule graticules[ASCOPE_RANGE_COUNT];
|
||||||
for (int i = 0; i < RANGE_COUNT; ++i)
|
for (int i = 0; i < ASCOPE_RANGE_COUNT; ++i)
|
||||||
graticules[i] = buildAScopeGraticule(layout, fa, RANGE_CONFIGS[i], W, H);
|
graticules[i] = buildAScopeGraticule(layout, fa, ASCOPE_RANGE_CONFIGS[i], W, H);
|
||||||
|
|
||||||
// Feature 4 — PPI range rings
|
// Feature 4 — PPI range rings
|
||||||
RingLayer rl = buildRingLayer(fa);
|
RingLayer rl = buildRingLayer(fa);
|
||||||
@@ -1307,6 +1628,9 @@ int main()
|
|||||||
// Feature 6 — PPI cursor
|
// Feature 6 — PPI cursor
|
||||||
CursorLayer cl = buildCursorLayer();
|
CursorLayer cl = buildCursorLayer();
|
||||||
|
|
||||||
|
// Feature 9 — Shoreline + terrain (loads ENC + DEM at startup)
|
||||||
|
ShorelineLayer sl = buildShorelineLayer();
|
||||||
|
|
||||||
// Bearing display window (new suggestion #3)
|
// Bearing display window (new suggestion #3)
|
||||||
// Reuse scope_bounds program for the box, text program for label
|
// Reuse scope_bounds program for the box, text program for label
|
||||||
BearingDisplay bd = buildBearingDisplay(layout, W, H);
|
BearingDisplay bd = buildBearingDisplay(layout, W, H);
|
||||||
@@ -1320,9 +1644,12 @@ int main()
|
|||||||
const float scopeNDCH = (layout.asBot - layout.asTop) * 2.0f / H;
|
const float scopeNDCH = (layout.asBot - layout.asTop) * 2.0f / H;
|
||||||
|
|
||||||
// Feature 3 animation state — 4 phases per range cycle
|
// Feature 3 animation state — 4 phases per range cycle
|
||||||
|
// PPI and A scope cycle independently but share the same phase timer
|
||||||
enum class GratPhase { HOLD, SLIDE_OUT, WAIT, SLIDE_IN };
|
enum class GratPhase { HOLD, SLIDE_OUT, WAIT, SLIDE_IN };
|
||||||
int curRange = 0;
|
int curRange = 0;
|
||||||
int nextRange = 1;
|
int nextRange = 1;
|
||||||
|
int curAScopeRange = 0;
|
||||||
|
int nextAScopeRange = 1;
|
||||||
GratPhase gratPhase = GratPhase::HOLD;
|
GratPhase gratPhase = GratPhase::HOLD;
|
||||||
float phaseTimer = 0.0f;
|
float phaseTimer = 0.0f;
|
||||||
|
|
||||||
@@ -1350,7 +1677,8 @@ int main()
|
|||||||
switch (gratPhase) {
|
switch (gratPhase) {
|
||||||
case GratPhase::HOLD:
|
case GratPhase::HOLD:
|
||||||
if (phaseTimer >= HOLD_SEC) {
|
if (phaseTimer >= HOLD_SEC) {
|
||||||
nextRange = (curRange + 1) % RANGE_COUNT;
|
nextRange = (curRange + 1) % RANGE_COUNT;
|
||||||
|
nextAScopeRange = (curAScopeRange + 1) % ASCOPE_RANGE_COUNT;
|
||||||
gratPhase = GratPhase::SLIDE_OUT;
|
gratPhase = GratPhase::SLIDE_OUT;
|
||||||
phaseTimer = 0.0f;
|
phaseTimer = 0.0f;
|
||||||
}
|
}
|
||||||
@@ -1363,7 +1691,8 @@ int main()
|
|||||||
break;
|
break;
|
||||||
case GratPhase::WAIT:
|
case GratPhase::WAIT:
|
||||||
if (phaseTimer >= WAIT_SEC) {
|
if (phaseTimer >= WAIT_SEC) {
|
||||||
curRange = nextRange;
|
curRange = nextRange;
|
||||||
|
curAScopeRange = nextAScopeRange;
|
||||||
gratPhase = GratPhase::SLIDE_IN;
|
gratPhase = GratPhase::SLIDE_IN;
|
||||||
phaseTimer = 0.0f;
|
phaseTimer = 0.0f;
|
||||||
}
|
}
|
||||||
@@ -1416,12 +1745,12 @@ int main()
|
|||||||
// ── Feature 3: A scope graticule (4-phase slide animation) ──────────
|
// ── Feature 3: A scope graticule (4-phase slide animation) ──────────
|
||||||
switch (gratPhase) {
|
switch (gratPhase) {
|
||||||
case GratPhase::HOLD:
|
case GratPhase::HOLD:
|
||||||
drawAScopeGraticule(agProg, graticules[curRange],
|
drawAScopeGraticule(agProg, graticules[curAScopeRange],
|
||||||
0.0f, fa, W, H, layout);
|
0.0f, fa, W, H, layout);
|
||||||
break;
|
break;
|
||||||
case GratPhase::SLIDE_OUT: {
|
case GratPhase::SLIDE_OUT: {
|
||||||
float t = std::min(phaseTimer / SLIDE_OUT_SEC, 1.0f);
|
float t = std::min(phaseTimer / SLIDE_OUT_SEC, 1.0f);
|
||||||
drawAScopeGraticule(agProg, graticules[curRange],
|
drawAScopeGraticule(agProg, graticules[curAScopeRange],
|
||||||
t * scopeNDCH, fa, W, H, layout);
|
t * scopeNDCH, fa, W, H, layout);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1430,8 +1759,7 @@ int main()
|
|||||||
break;
|
break;
|
||||||
case GratPhase::SLIDE_IN: {
|
case GratPhase::SLIDE_IN: {
|
||||||
float t = std::min(phaseTimer / SLIDE_IN_SEC, 1.0f);
|
float t = std::min(phaseTimer / SLIDE_IN_SEC, 1.0f);
|
||||||
// new graticule slides down from above (starts at +scopeNDCH → 0)
|
drawAScopeGraticule(agProg, graticules[curAScopeRange],
|
||||||
drawAScopeGraticule(agProg, graticules[curRange],
|
|
||||||
(1.0f - t) * scopeNDCH, fa, W, H, layout);
|
(1.0f - t) * scopeNDCH, fa, W, H, layout);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1443,7 +1771,7 @@ int main()
|
|||||||
|
|
||||||
// ── A scope signal trace ──────────────────────────────────────────────
|
// ── A scope signal trace ──────────────────────────────────────────────
|
||||||
renderAScopeTrace(at, layout, targets, 4,
|
renderAScopeTrace(at, layout, targets, 4,
|
||||||
RANGE_CONFIGS[curRange].maxMiles, ascopeBearingDeg,
|
ASCOPE_RANGE_CONFIGS[curAScopeRange].maxMiles, ascopeBearingDeg,
|
||||||
W, H);
|
W, H);
|
||||||
|
|
||||||
// ── Feature 4: PPI range rings ────────────────────────────────────────
|
// ── Feature 4: PPI range rings ────────────────────────────────────────
|
||||||
@@ -1454,6 +1782,9 @@ int main()
|
|||||||
RANGE_CONFIGS[curRange].maxMiles, ppiR,
|
RANGE_CONFIGS[curRange].maxMiles, ppiR,
|
||||||
sweepAngle, now, W, H);
|
sweepAngle, now, W, H);
|
||||||
|
|
||||||
|
// ── Feature 9: Shoreline + terrain ───────────────────────────────────
|
||||||
|
renderShorelineLayer(sl, layout, curRange, sweepAngle, W, H);
|
||||||
|
|
||||||
// ── Feature 6: PPI cursor locked to targets[2] (east, 6 mi) ──────────
|
// ── Feature 6: PPI cursor locked to targets[2] (east, 6 mi) ──────────
|
||||||
// New suggestion #5: cursor follows one target; not free-roaming.
|
// New suggestion #5: cursor follows one target; not free-roaming.
|
||||||
// Only draw when the target is within the current range setting.
|
// Only draw when the target is within the current range setting.
|
||||||
@@ -1469,7 +1800,7 @@ int main()
|
|||||||
renderBearingDisplay(bd, layout,
|
renderBearingDisplay(bd, layout,
|
||||||
sb.prog, bg.textProg,
|
sb.prog, bg.textProg,
|
||||||
fa, ascopeBearingDeg,
|
fa, ascopeBearingDeg,
|
||||||
RANGE_CONFIGS[curRange].maxMiles, W, H);
|
ASCOPE_RANGE_CONFIGS[curAScopeRange].maxMiles, W, H);
|
||||||
|
|
||||||
glfwSwapBuffers(win);
|
glfwSwapBuffers(win);
|
||||||
glfwPollEvents();
|
glfwPollEvents();
|
||||||
@@ -1484,7 +1815,7 @@ int main()
|
|||||||
glDeleteProgram(bg.lineProg);
|
glDeleteProgram(bg.lineProg);
|
||||||
glDeleteProgram(bg.textProg);
|
glDeleteProgram(bg.textProg);
|
||||||
|
|
||||||
for (int i = 0; i < RANGE_COUNT; ++i) {
|
for (int i = 0; i < ASCOPE_RANGE_COUNT; ++i) {
|
||||||
glDeleteVertexArrays(1, &graticules[i].lineVAO);
|
glDeleteVertexArrays(1, &graticules[i].lineVAO);
|
||||||
glDeleteBuffers(1, &graticules[i].lineVBO);
|
glDeleteBuffers(1, &graticules[i].lineVBO);
|
||||||
glDeleteVertexArrays(1, &graticules[i].textVAO);
|
glDeleteVertexArrays(1, &graticules[i].textVAO);
|
||||||
@@ -1506,6 +1837,8 @@ int main()
|
|||||||
glDeleteVertexArrays(1, &bd.textVAO); glDeleteBuffers(1, &bd.textVBO);
|
glDeleteVertexArrays(1, &bd.textVAO); glDeleteBuffers(1, &bd.textVBO);
|
||||||
glDeleteVertexArrays(1, &gn.boxVAO); glDeleteBuffers(1, &gn.boxVBO);
|
glDeleteVertexArrays(1, &gn.boxVAO); glDeleteBuffers(1, &gn.boxVBO);
|
||||||
glDeleteVertexArrays(1, &gn.textVAO); glDeleteBuffers(1, &gn.textVBO);
|
glDeleteVertexArrays(1, &gn.textVAO); glDeleteBuffers(1, &gn.textVBO);
|
||||||
|
glDeleteVertexArrays(1, &sl.vao); glDeleteBuffers(1, &sl.vbo);
|
||||||
|
glDeleteProgram(sl.prog);
|
||||||
|
|
||||||
glfwDestroyWindow(win);
|
glfwDestroyWindow(win);
|
||||||
glfwTerminate();
|
glfwTerminate();
|
||||||
|
|||||||
Reference in New Issue
Block a user