forked from IntelRealSense/librealsense
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
99 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# License: Apache 2.0. See LICENSE file in root directory. | ||
# Copyright(c) 2023 Intel Corporation. All Rights Reserved. | ||
cmake_minimum_required( VERSION 3.15 ) | ||
|
||
# | ||
# This tests whether we can link with realsense2-all and not have any missing external symbols. | ||
# Without realsense2-all, we'd need to link with: | ||
# realsense2 realsense-file rsutils | ||
# Or, if DDS was enabled: | ||
# realsense2 realsense-file rsutils fastcdr fastrtps foonathan_memory realdds | ||
# And the list gets longer if we add libraries. | ||
# | ||
# On Windows, no additional special libraries are needed. | ||
# On Linux, we have other dependencies: | ||
# libusb udev | ||
# These are not part of realsense2-all, even though we depend on them! | ||
# | ||
|
||
project( rs-all-client ) | ||
|
||
option( BUILD_SHARED_LIBS "Build using shared libraries" OFF ) | ||
|
||
if( WIN32 ) | ||
# Take away the other configurations because they'd require we picked another link | ||
# directory and target... keep it simple... | ||
set( CMAKE_CONFIGURATION_TYPES "Release" ) | ||
endif() | ||
|
||
add_executable( ${PROJECT_NAME} main.cpp ) | ||
set_target_properties( ${PROJECT_NAME} PROPERTIES | ||
CXX_STANDARD 14 | ||
MSVC_RUNTIME_LIBRARY MultiThreaded$<$<CONFIG:Debug>:Debug> # New in version 3.15 | ||
) | ||
|
||
target_include_directories( ${PROJECT_NAME} PRIVATE ../../../include ) | ||
target_link_directories( ${PROJECT_NAME} PRIVATE ${CMAKE_BUILD_DIR}/../Release ) | ||
|
||
|
||
# | ||
target_link_libraries( ${PROJECT_NAME} PRIVATE realsense2-all ) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
// License: Apache 2.0. See LICENSE file in root directory. | ||
// Copyright(c) 2019 Intel Corporation. All Rights Reserved. | ||
|
||
#include <librealsense2/rs.hpp> // Include RealSense Cross Platform API | ||
#include <iostream> // for cout | ||
|
||
// Hello RealSense example demonstrates the basics of connecting to a RealSense device | ||
// and taking advantage of depth data | ||
int main(int argc, char * argv[]) try | ||
{ | ||
// Create a Pipeline - this serves as a top-level API for streaming and processing frames | ||
rs2::pipeline p; | ||
|
||
// Configure and start the pipeline | ||
p.start(); | ||
|
||
while (true) | ||
{ | ||
// Block program until frames arrive | ||
rs2::frameset frames = p.wait_for_frames(); | ||
|
||
// Try to get a frame of a depth image | ||
rs2::depth_frame depth = frames.get_depth_frame(); | ||
|
||
// Get the depth frame's dimensions | ||
auto width = depth.get_width(); | ||
auto height = depth.get_height(); | ||
|
||
// Query the distance from the camera to the object in the center of the image | ||
float dist_to_center = depth.get_distance(width / 2, height / 2); | ||
|
||
// Print the distance | ||
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r"; | ||
} | ||
|
||
return EXIT_SUCCESS; | ||
} | ||
catch (const rs2::error & e) | ||
{ | ||
std::cerr << "RealSense error calling " << e.get_failed_function() << "(" << e.get_failed_args() << "):\n " << e.what() << std::endl; | ||
return EXIT_FAILURE; | ||
} | ||
catch (const std::exception& e) | ||
{ | ||
std::cerr << e.what() << std::endl; | ||
return EXIT_FAILURE; | ||
} |