Class PcapScanSource
Defined in File pcap_scan_source.h
Inheritance Relationships
Base Types
public ouster::sdk::core::ScanSource(Class ScanSource)private ouster::sdk::impl::ScanSourceBuilder< ouster::sdk::core::IoType::PCAP, PcapScanSource >
Class Documentation
-
class PcapScanSource : public ouster::sdk::core::ScanSource, private ouster::sdk::impl::ScanSourceBuilder<ouster::sdk::core::IoType::PCAP, PcapScanSource>
ScanSource that produces LidarScans from a given PCAP file.
Public Functions
-
PcapScanSource(const std::string &n, const std::function<void(PcapScanSourceOptions&)> &options = {})
open_source compatible constructor
- Parameters:
n[in] sensor hostnames to connect to
options[in] scan source options
-
PcapScanSource(const std::string &source, PcapScanSourceOptions options)
open_source compatible constructor
- Parameters:
source[in] sensor hostnames to connect to, for multiple comma separate
options[in] scan source options
-
virtual ouster::sdk::core::ScanIterator begin() const override
Provides each scan from all sensors in time order.
- Returns:
start iterator for all sensors
-
virtual ouster::sdk::core::ScanIterator begin(int sensor_index) const override
Provides scans from a single sensor in time order If idx < 0 provides scans from all sensors.
- Parameters:
sensor_index[in] sensor index
sensor_index[in] – sensor index
- Throws:
std::runtime_error – if sensor_idx >= number of sensors
- Returns:
start iterator for the sensor with the given index
-
virtual const std::vector<std::shared_ptr<ouster::sdk::core::SensorInfo>> &sensor_info() const override
Get the sensor info for each sensor in this dataset.
- Returns:
sensor info for each sensor
-
virtual size_t size() const override
The length of the source from begin to end.
For example: If uncollated this is the total number of scans in the source, if collated this is the number of scan collations.
- Throws:
std::runtime_error – if unindexed
- Returns:
length of the source
-
virtual size_t size_hint() const override
The approximate length of the source if unindexed, or the real size if indexed.
Live sources or sources with undefined length will return 0.
- Returns:
approximate length of source
-
virtual bool is_indexed() const override
Indicates if the source contains an index for fast random access.
- Returns:
if indexed or not
-
virtual const std::vector<size_t> &scans_num() const override
Get the scan count for each sensor in the file.
- Throws:
std::runtime_error – if unindexed
- Returns:
scan count for each sensor in the file
-
virtual const std::vector<std::vector<std::pair<uint64_t, uint64_t>>> &individual_index() const override
timestamp based index of all scans in the file for each sensor, each pair is timestamp followed by global scan index
- Throws:
std::runtime_error – if unindexed
- Returns:
index
-
virtual const std::vector<std::pair<uint64_t, uint64_t>> &full_index() const override
timestamp based index of all scans in the file, each pair is timestamp followed by sensor index
- Throws:
std::runtime_error – if unindexed
- Returns:
index
-
virtual std::unique_ptr<ouster::sdk::core::ScanSource> move() override
move into a newly allocated item
- Returns:
a unique pointer to a newly allocated
ScanSourceinstance containing the moved-from state.
-
uint64_t id_error_count() const
Return the number of id errors that occurred while building scans.
- Returns:
count of id errors
-
uint64_t size_error_count() const
Return the number of size errors that occurred while building scans.
- Returns:
count of size errors
-
static std::unique_ptr<ouster::sdk::core::ScanSource> create(const std::vector<std::string> &sources, const ScanSourceOptions &options, bool collate, int sensor_idx = -1)
open_source compatible factory.
- Parameters:
sources[in] – source filenames
options[in] – source options
collate[in] – whether to collate the source or not
sensor_idx[in] – access specific sensor index in the osf
- Returns:
unique_ptr of ScanSource type
-
PcapScanSource(const std::string &n, const std::function<void(PcapScanSourceOptions&)> &options = {})