Struct VisualBuilder

Source
pub struct VisualBuilder { /* private fields */ }
Expand description

The builder for Visual components.

The VisualBuilder is used to construct Visual elements of Links.

This will configure the visual data:

  • geometry: The geometry used for visualization.
  • material (Optional): The material is used to control the appearance of the geometry.
  • transform (Optional): The transform from the Link frame to the geometry.
  • name (Optional): The string identifier (or name) of this visual element. For practical purposes, it is recommended to use unique identifiers/names.

They can be added to a LinkBuilder while constructing a Link by calling add_visual.

A VisualBuilder can be converted to a CollisionBuilder to make defining Collision easier.
WARNING: It is not recommended to use high-detail meshes for collision geometries, since this will slow down the collision checking process. Also, keep in mind, that some simulators only support the use of convex meshes for collisions, if at all.

Implementations§

Source§

impl VisualBuilder

Source

pub fn new( geometry: impl Into<Box<dyn GeometryInterface + Sync + Send>>, ) -> Self

Create a new VisualBuilder with the specified Geometry.

Source

pub fn new_full( name: Option<String>, transform: Option<Transform>, geometry: impl Into<Box<dyn GeometryInterface + Sync + Send>>, material_description: Option<MaterialDescriptor>, ) -> Self

Create a new VisualBuilder with all fields specified.

Source

pub fn named(self, name: impl Into<String>) -> Self

Sets the name of this VisualBuilder.

Source

pub fn transformed(self, transform: Transform) -> Self

Specify a transform for this VisualBuilder.

The default is a no transformation (The frame of the Visual will be the same as the frame of the parent Link).

Source

pub fn materialized(self, material_description: MaterialDescriptor) -> Self

Specify a material for this VisualBuilder.

The default is no material.

Source

pub fn to_collision(&self) -> CollisionBuilder

Creates a CollisionBuilder from this VisualBuilder reference by lossy conversion.

Creates a CollisionBuilder from the VisualBuilder by cloning the following fields:

  • name
  • transform
  • geometry
Source§

impl VisualBuilder

Non-builder methods

Source

pub fn name(&self) -> Option<&String>

Gets an optional reference to the name of this VisualBuilder.

Source

pub fn transform(&self) -> Option<&Transform>

Gets an optional reference to the transform of this VisualBuilder.

Source

pub fn geometry(&self) -> &Box<dyn GeometryInterface + Sync + Send>

Gets a reference to the geometry of this VisualBuilder.

Source

pub fn material(&self) -> Option<&MaterialDescriptor>

Gets an optional reference to the MaterialDescriptor of this VisualBuilder.

Trait Implementations§

Source§

impl Clone for VisualBuilder

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VisualBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl GroupIDChanger for VisualBuilder

Source§

unsafe fn change_group_id_unchecked(&mut self, new_group_id: &str)

Unchecked replacement of the GroupID of the builder tree with new_group_id. Read more
Source§

fn apply_group_id(&mut self)

Applies GroupID delimiter replacements. Read more
Source§

fn change_group_id( &mut self, new_group_id: impl GroupID, ) -> Result<(), GroupIDError>

Replaces the GroupID of the builder tree with new_group_id. Read more
Source§

impl PartialEq for VisualBuilder

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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> Scalar for T
where T: 'static + Clone + PartialEq + Debug,