Time-of-Flight-SDK
sensor_definitions.h
1 /*
2  * BSD 3-Clause License
3  *
4  * Copyright (c) 2019, Analog Devices, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright notice, this
11  * list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright notice,
14  * this list of conditions and the following disclaimer in the documentation
15  * and/or other materials provided with the distribution.
16  *
17  * 3. Neither the name of the copyright holder nor the names of its
18  * contributors may be used to endorse or promote products derived from
19  * this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 #ifndef SENSOR_DEFINITIONS_H
33 #define SENSOR_DEFINITIONS_H
34 
35 #include "aditof/connections.h"
36 
37 #include <iostream>
38 #include <string>
39 #include <vector>
40 
44 namespace aditof {
45 
50 struct SensorDetails {
55  std::string id;
56 
61 };
62 
72  std::string type;
73 
77  unsigned int width;
78 
82  unsigned int height;
83 };
84 
93  std::string type;
94 
98  std::vector<struct DepthSensorFrameContent> content;
99 
103  unsigned int width;
104 
108  unsigned int height;
109 };
110 
114 inline std::ostream &operator<<(std::ostream &o,
115  const DepthSensorFrameContent &a) {
116  o << "T: " << a.type << "\tW: " << a.width << "\tH: " << a.height << "\n";
117  return o;
118 }
119 
123 inline std::ostream &operator<<(std::ostream &o,
124  const DepthSensorFrameType &a) {
125  o << "DepthSensorFrame: T: " << a.type << "\tW: " << a.width
126  << "\tH: " << a.height << " contains:\n";
127  for (const DepthSensorFrameContent &content : a.content) {
128  o << "\t" << content;
129  }
130  return o;
131 }
132 } // namespace aditof
133 
134 #endif // SENSOR_DEFINITIONS_H
ConnectionType connectionType
The type of connection with the sensor.
std::string type
The type of entire frame supported by the sensor.
Namespace aditof.
Definition: frame.h:44
unsigned int width
The width of the entire frame that the sensor can capture.
unsigned int width
The width of the frame content that the sensor can capture.
std::vector< struct DepthSensorFrameContent > content
Describes the content of the entire frame.
std::string type
The type of frame content supported by the sensor.
std::ostream & operator<<(std::ostream &o, const struct Metadata &meta)
prints human readable metadata structure
unsigned int height
The height of the entire frame that the sensor can capture.
Provides details about the device.
ConnectionType
Types of connections.
Definition: connections.h:44
unsigned int height
The height of the frame content that the sensor can capture.
Describes the type of entire frame that a depth sensor can capture and transmit.
std::string id
The sensor identification data to be used to differentiate between sensors. When on target,...
Describes the content of a frame. For example: A frame could contain depth and IR data.