base
Public Member Functions | Public Attributes | List of all members
base::samples::SonarScan Struct Reference

#include <SonarScan.hpp>

Public Member Functions

 SonarScan ()
 
 SonarScan (uint16_t number_of_beams, uint16_t number_of_bins, Angle start_bearing, Angle angular_resolution, bool memory_layout_column=true)
 
 SonarScan (const SonarScan &other, bool bcopy=true)
 
SonarScanoperator= (const SonarScan &other)
 
void init (const SonarScan &other, bool bcopy=true)
 
void init (uint16_t number_of_beams, uint16_t number_of_bins, Angle start_bearing, Angle angular_resolution, bool memory_layout_column=true, int val=-1)
 
void reset (int const val=0)
 
int beamIndexForBearing (const Angle bearing, bool range_check=true) const
 
bool hasSonarBeam (const base::samples::SonarBeam &sonar_beam) const
 
bool hasSonarBeam (const Angle bearing) const
 
void addSonarBeam (const base::samples::SonarBeam &sonar_beam, bool resize=true)
 
void getSonarBeam (const Angle bearing, SonarBeam &sonar_beam) const
 
void toggleMemoryLayout ()
 
void swap (SonarScan &sonar_scan)
 
uint32_t getNumberOfBytes () const
 
uint32_t getBinCount () const
 
const std::vector< uint8_t > & getData () const
 
Angle getEndBearing () const
 
Angle getStartBearing () const
 
Angle getAngularResolution () const
 
double getSpatialResolution () const
 
void setData (const std::vector< uint8_t > &data)
 
void setData (const char *data, uint32_t size)
 
uint8_t * getDataPtr ()
 
const uint8_t * getDataConstPtr () const
 

Public Attributes

base::Time time
 
std::vector< uint8_t > data
 
std::vector< base::Timetime_beams
 
uint16_t number_of_beams
 
uint16_t number_of_bins
 
Angle start_bearing
 
Angle angular_resolution
 
double sampling_interval
 
float speed_of_sound
 
Angle beamwidth_horizontal
 
Angle beamwidth_vertical
 
bool memory_layout_column
 
bool polar_coordinates
 

Constructor & Destructor Documentation

◆ SonarScan() [1/3]

base::samples::SonarScan::SonarScan ( )

Initialize the sonar scan

◆ SonarScan() [2/3]

base::samples::SonarScan::SonarScan ( uint16_t  number_of_beams,
uint16_t  number_of_bins,
Angle  start_bearing,
Angle  angular_resolution,
bool  memory_layout_column = true 
)

◆ SonarScan() [3/3]

base::samples::SonarScan::SonarScan ( const SonarScan other,
bool  bcopy = true 
)

Member Function Documentation

◆ addSonarBeam()

void base::samples::SonarScan::addSonarBeam ( const base::samples::SonarBeam sonar_beam,
bool  resize = true 
)

◆ beamIndexForBearing()

int base::samples::SonarScan::beamIndexForBearing ( const Angle  bearing,
bool  range_check = true 
) const

◆ getAngularResolution()

Angle base::samples::SonarScan::getAngularResolution ( ) const

◆ getBinCount()

uint32_t base::samples::SonarScan::getBinCount ( ) const

Returns the total count of bins in this sonar scan

Returns
Returns the overall number of bins (number_of_beams * number_of_bins)

◆ getData()

const std::vector< uint8_t > & base::samples::SonarScan::getData ( ) const

◆ getDataConstPtr()

const uint8_t * base::samples::SonarScan::getDataConstPtr ( ) const

◆ getDataPtr()

uint8_t * base::samples::SonarScan::getDataPtr ( )

◆ getEndBearing()

Angle base::samples::SonarScan::getEndBearing ( ) const

◆ getNumberOfBytes()

uint32_t base::samples::SonarScan::getNumberOfBytes ( ) const

◆ getSonarBeam()

void base::samples::SonarScan::getSonarBeam ( const Angle  bearing,
SonarBeam sonar_beam 
) const

◆ getSpatialResolution()

double base::samples::SonarScan::getSpatialResolution ( ) const

◆ getStartBearing()

Angle base::samples::SonarScan::getStartBearing ( ) const

◆ hasSonarBeam() [1/2]

bool base::samples::SonarScan::hasSonarBeam ( const base::samples::SonarBeam sonar_beam) const

◆ hasSonarBeam() [2/2]

bool base::samples::SonarScan::hasSonarBeam ( const Angle  bearing) const

◆ init() [1/2]

void base::samples::SonarScan::init ( const SonarScan other,
bool  bcopy = true 
)

◆ init() [2/2]

void base::samples::SonarScan::init ( uint16_t  number_of_beams,
uint16_t  number_of_bins,
Angle  start_bearing,
Angle  angular_resolution,
bool  memory_layout_column = true,
int  val = -1 
)

◆ operator=()

SonarScan & base::samples::SonarScan::operator= ( const SonarScan other)

◆ reset()

void base::samples::SonarScan::reset ( int const  val = 0)

◆ setData() [1/2]

void base::samples::SonarScan::setData ( const std::vector< uint8_t > &  data)

◆ setData() [2/2]

void base::samples::SonarScan::setData ( const char *  data,
uint32_t  size 
)

◆ swap()

void base::samples::SonarScan::swap ( SonarScan sonar_scan)

◆ toggleMemoryLayout()

void base::samples::SonarScan::toggleMemoryLayout ( )

Member Data Documentation

◆ angular_resolution

Angle base::samples::SonarScan::angular_resolution

◆ beamwidth_horizontal

Angle base::samples::SonarScan::beamwidth_horizontal

◆ beamwidth_vertical

Angle base::samples::SonarScan::beamwidth_vertical

◆ data

std::vector<uint8_t> base::samples::SonarScan::data

◆ memory_layout_column

bool base::samples::SonarScan::memory_layout_column

◆ number_of_beams

uint16_t base::samples::SonarScan::number_of_beams

◆ number_of_bins

uint16_t base::samples::SonarScan::number_of_bins

◆ polar_coordinates

bool base::samples::SonarScan::polar_coordinates

◆ sampling_interval

double base::samples::SonarScan::sampling_interval

◆ speed_of_sound

float base::samples::SonarScan::speed_of_sound

◆ start_bearing

Angle base::samples::SonarScan::start_bearing

The angle at which the reading starts. Zero is at the front of the device and turns counter-clockwise. This value is in radians

All beams are stored from left to right to match the memory layout of an image !!! Therefore the end bearing is usually smaller than the start bearing

◆ time

base::Time base::samples::SonarScan::time

◆ time_beams

std::vector<base::Time> base::samples::SonarScan::time_beams

The documentation for this struct was generated from the following files: