- StereoRectifier wrapping cv::stereoRectify + cv::initUndistortRectifyMap (CV_16SC2 maps) - PointCloudBuilder with cv::reprojectImageTo3D and depth/NaN filtering - CloudPointClient high-level facade: connect(), compute_cloud() -> std::expected<PointCloud, Error> - write_ply() ASCII PLY export helper - CLI options 4 (compute-cloud) and 5 (compute-cloud + save PLY) - Fix TcpServer to loop over multiple requests per connection - Expose num_disparities parameter through CloudPointClient and StereoMatcherFactory - Unity C# integration design spec - Sync README, AGENTS, openwiki with stereo pipeline (C++23) - E2E synthetic-scene test with constant-disparity stereo pair TG-9 #ready-for-test TG-4 #ready-for-test TG-2 #in-progress
95 lines
2.1 KiB
Meson
95 lines
2.1 KiB
Meson
add_project_arguments('-DCRPC_SERVER_API_EXPORT', language: 'cpp')
|
|
|
|
deps = [json_dep, thread_dep, glog_dep, yaml_dep, asio_dep, base64_dep]
|
|
|
|
cloud_point_rpc_sources = files(
|
|
'rpc_coder.cpp',
|
|
'rpc_dto.cpp',
|
|
'rpc_server.cpp',
|
|
'server_api.cpp',
|
|
'service.cpp',
|
|
)
|
|
|
|
libcloud_point_rpc = shared_library(
|
|
'cloud_point_rpc',
|
|
cloud_point_rpc_sources,
|
|
include_directories: inc,
|
|
dependencies: deps,
|
|
install: true,
|
|
install_rpath: '$ORIGIN',
|
|
)
|
|
|
|
cloud_point_rpc_dep = declare_dependency(
|
|
include_directories: inc,
|
|
link_with: libcloud_point_rpc,
|
|
dependencies: deps,
|
|
)
|
|
|
|
# Test lib
|
|
libcloud_point_rpc_test = shared_library(
|
|
'test_cloud_point',
|
|
'test_api.cpp',
|
|
dependencies: cloud_point_rpc_dep,
|
|
install: true,
|
|
install_rpath: '$ORIGIN',
|
|
)
|
|
|
|
cloud_point_rpc_test_dep = declare_dependency(
|
|
include_directories: inc,
|
|
link_with: libcloud_point_rpc_test,
|
|
dependencies: [cloud_point_rpc_dep],
|
|
)
|
|
|
|
subdir('cloud_point')
|
|
|
|
# CLI lib — links cloud_point_compute when OpenCV is available so that
|
|
# options 4 and 5 (compute-cloud) are compiled in.
|
|
cli_deps = [cloud_point_rpc_dep]
|
|
cli_cpp_args = []
|
|
if opencv_dep.found()
|
|
cli_deps += [cloud_point_compute_dep]
|
|
cli_cpp_args += ['-DHAVE_CLOUD_POINT_COMPUTE']
|
|
endif
|
|
|
|
libcloud_point_rpc_cli = shared_library(
|
|
'libcloud_point_rpc_cli',
|
|
'cli.cpp',
|
|
include_directories: inc,
|
|
dependencies: cli_deps,
|
|
cpp_args: cli_cpp_args,
|
|
install: true,
|
|
)
|
|
|
|
cloud_point_rpc_cli_dep = declare_dependency(
|
|
include_directories: inc,
|
|
link_with: libcloud_point_rpc_cli,
|
|
dependencies: cli_deps,
|
|
)
|
|
|
|
# Client/CLI tool (legacy stdin/stdout)
|
|
executable(
|
|
'cloud_point_rpc_cli',
|
|
[
|
|
'main.cpp',
|
|
],
|
|
dependencies: cloud_point_rpc_cli_dep,
|
|
install: true,
|
|
)
|
|
|
|
# Server executable (TCP)
|
|
executable(
|
|
'cloud_point_rpc_server',
|
|
'server_main.cpp',
|
|
dependencies: cloud_point_rpc_dep,
|
|
link_args: '-pthread',
|
|
install: true,
|
|
)
|
|
|
|
# Minimal client example
|
|
executable(
|
|
'minimal_client',
|
|
'minimal_client.cpp',
|
|
dependencies: cloud_point_rpc_dep,
|
|
install: true,
|
|
)
|