LaserScan

Struct LaserScan 

Source
#[repr(C)]
pub struct LaserScan { pub header: Header, pub angle_min: f32, pub angle_max: f32, pub angle_increment: f32, pub time_increments: f32, pub scan_time: f32, pub range_min: f32, pub range_max: f32, pub ranges: Vec<f32>, pub intensities: Vec<f32>, }

Fields§

§header: Header

timestamp in the header is the acquisition time of the first ray in the scan.

in frame frame_id, angles are measured around the positive Z axis (counterclockwise, if Z is up) with zero angle being forward along the x axis

§angle_min: f32

start angle of the scan in radians

§angle_max: f32

end angle of the scan in radians

§angle_increment: f32

angular distance between measurements

§time_increments: f32

time between scans in seconds if your scanner is moving, this will be used in interpolating position of 3d points

§scan_time: f32

time between scans in seconds

§range_min: f32

minimum range value in metres

§range_max: f32

maximum range valie in metres

§ranges: Vec<f32>

range data in metres

§intensities: Vec<f32>

intensity data

Implementations§

Source§

impl LaserScan

Source

pub fn create_topic_with_name( participant: &DdsParticipant, name: &str, maybe_qos: Option<DdsQos>, maybe_listener: Option<DdsListener>, ) -> Result<DdsTopic<Self>, DDSError>

Create a topic using of this Type specifying the topic name

§Arguments
  • participant - The participant handle onto which this topic should be created
  • name - The name of the topic
  • maybe_qos - A QoS structure for this topic. The Qos is optional
  • maybe_listener - A listener to use on this topic. The listener is optional
Source

pub fn create_topic( participant: &DdsParticipant, maybe_topic_prefix: Option<&str>, maybe_qos: Option<DdsQos>, maybe_listener: Option<DdsListener>, ) -> Result<DdsTopic<Self>, DDSError>

Create a topic of this Type using the default topic name. The default topic name is provided by the Self::topic_name function.

§Arguments
  • participant - The participant handle onto which this topic should be created
  • maybe_topic_prefix - An additional prefix to be added to the topic name. This can be None
  • maybe_qos - A QoS structure for this topic. The Qos is optional
  • maybe_listener - A listener to use on this topic. The listener is optional
Source

pub fn create_sample_buffer(len: usize) -> SampleBuffer<LaserScan>

Create a sample buffer for storing an array of samples You can pass the sample buffer into a read to read multiple samples. Multiple samples are useful when you have one or more keys in your topic structure. Each value of the key will result in the storage of another sample.

Trait Implementations§

Source§

impl<'de> Deserialize<'de> for LaserScan

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for LaserScan

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TopicType for LaserScan

Source§

fn key_cdr(&self) -> Vec<u8>

return the cdr encoding for the key. The encoded string includes the four byte encapsulation string.

Source§

fn is_fixed_size() -> bool

Source§

fn has_key() -> bool

Source§

fn force_md5_keyhash() -> bool

Source§

fn hash(&self, basehash: u32) -> u32

Source§

fn typename() -> CString

The type name for this topic
Source§

fn topic_name(maybe_prefix: Option<&str>) -> String

The default topic_name to use when creating a topic of this type. The default implementation uses ‘/’ instead of ‘::’ to form a unix like path. A prefix can optionally be added

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,