Struct Range

Source
#[repr(C)]
pub struct Range { pub header: Header, pub radiation_type: RadiationType, pub field_of_view: f32, pub min_range: f32, pub max_range: f32, pub range: f32, }
Expand description

Single range reading from an active ranger that emits energy and reports one range reading that is valid along an arc at the distance measured. This message is not appropriate for laser scanners. See the LaserScan message if you are working with a laser scanner.

This message also can represent a fixed-distance (binary) ranger. This sensor will have min_range===max_range===distance of detection. These sensors follow REP 117 and will output -Inf if the object is detected and +Inf if the object is outside of the detection range.

Fields§

§header: Header§radiation_type: RadiationType§field_of_view: f32

the size of the arc that the distance reading is valid for [rad] the object causing the range reading may have been anywhere within -field_of_view/2 and field_of_view/2 at the measured range. 0 angle corresponds to the x-axis of the sensor.

§min_range: f32

minimum range value [m]

§max_range: f32

maximum range value [m]

§range: f32

range data [m] (Note: values < range_min or > range_max should be discarded) Fixed distance rangers only output -Inf or +Inf. -Inf represents a detection within fixed distance. (Detection too close to the sensor to quantify) +Inf represents no detection within the fixed distance. (Object out of range)

Implementations§

Source§

impl Range

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<Range>

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 Range

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 Range

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 Range

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§

§

impl Freeze for Range

§

impl RefUnwindSafe for Range

§

impl Send for Range

§

impl Sync for Range

§

impl Unpin for Range

§

impl UnwindSafe for Range

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>,