pub struct SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,
{ /* private fields */ }

Implementations§

source§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Type: AxisAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

pub fn with_axis( self, axis: (f32, f32, f32) ) -> SmartJointBuilder<Type, WithAxis, Calibration, Dynamics, Limit, Mimic, SafetyController>

source§

impl<Type, Calibration, Dynamics, Limit, Mimic, SafetyController> SmartJointBuilder<Type, WithAxis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Type: AxisAllowed, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

pub fn axis(&self) -> (f32, f32, f32)

source§

impl<Type, Axis, Dynamics, Limit, Mimic, SafetyController> SmartJointBuilder<Type, Axis, NoCalibration, Dynamics, Limit, Mimic, SafetyController>
where Type: CalibrationAllowed, Axis: AxisDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

pub fn with_calibration( self ) -> SmartJointBuilder<Type, Axis, WithCalibration, Dynamics, Limit, Mimic, SafetyController>

source§

impl<Type, Axis, Dynamics, Limit, Mimic, SafetyController> SmartJointBuilder<Type, Axis, WithCalibration, Dynamics, Limit, Mimic, SafetyController>
where Type: CalibrationAllowed, Axis: AxisDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

pub fn set_rising_calibration(self, rising: f32) -> Self

source

pub fn rising_calibration(&self) -> Option<f32>

source

pub fn set_falling_calibration(self, falling: f32) -> Self

source

pub fn falling_calibration(&self) -> Option<f32>

source§

impl<Type, Axis, Calibration, Limit, Mimic, SafetyController> SmartJointBuilder<Type, Axis, Calibration, NoDynamics, Limit, Mimic, SafetyController>
where Type: DynamicsAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

pub fn with_dynamics( self ) -> SmartJointBuilder<Type, Axis, Calibration, WithDynamics, Limit, Mimic, SafetyController>

source§

impl<Type, Axis, Calibration, Limit, Mimic, SafetyController> SmartJointBuilder<Type, Axis, Calibration, WithDynamics, Limit, Mimic, SafetyController>
where Type: DynamicsAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

pub fn set_damping(self, damping: f32) -> Self

source

pub fn damping(&self) -> Option<f32>

source

pub fn set_friction(self, friction: f32) -> Self

source

pub fn friction(&self) -> Option<f32>

source§

impl<Type, Axis, Calibration, Dynamics, Mimic, SafetyController> SmartJointBuilder<Type, Axis, Calibration, Dynamics, NoLimit, Mimic, SafetyController>
where Type: LimitAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

pub fn with_limit( self, effort: f32, velocity: f32 ) -> SmartJointBuilder<Type, Axis, Calibration, Dynamics, WithLimit, Mimic, SafetyController>

source§

impl<Type, Axis, Calibration, Dynamics, Mimic, SafetyController> SmartJointBuilder<Type, Axis, Calibration, Dynamics, WithLimit, Mimic, SafetyController>
where Type: LimitAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

pub fn set_effort(self, effort: f32) -> Self

source

pub fn effort(&self) -> f32

source

pub fn set_velocity(self, velocity: f32) -> Self

Sets the velocity limit to the specified value in m/s or rad/s (velocity).

source

pub fn velocity(&self) -> f32

Retrieves the set velocity limit in m/s or rad/s (velocity).

source§

impl<Type, Axis, Calibration, Dynamics, Mimic, SafetyController> SmartJointBuilder<Type, Axis, Calibration, Dynamics, WithLimit, Mimic, SafetyController>
where Type: LimitAllowed + SmartJointTypeTrait<false>, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

The limits are only available on non continuous JointTypes.

source

pub fn set_upper_limit(self, upper_limit: f32) -> Self

Sets the upper limit (upper) in meters or radians.

source

pub fn upper_limit(&self) -> Option<f32>

Retrieves the upper limit (upper) in meters or radians.

source

pub fn set_lower_limit(self, lower_limit: f32) -> Self

Sets the lower limit (lower) in meters or radians.

source

pub fn lower_limit(&self) -> Option<f32>

Retrieves the lower limit (lower) in meters or radians.

source§

impl<Type, Axis, Calibration, Dynamics, Limit, SafetyController> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, NoMimic, SafetyController>
where Type: MimicAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, SafetyController: SafetyControllerDataType,

source

pub fn with_mimic( self, mimiced_joint_name: impl Into<String> ) -> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, WithMimic, SafetyController>

source§

impl<Type, Axis, Calibration, Dynamics, Limit, SafetyController> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, WithMimic, SafetyController>
where Type: MimicAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, SafetyController: SafetyControllerDataType,

source

pub fn set_mimiced_joint_name( self, mimiced_joint_name: impl Into<String> ) -> Self

source

pub fn mimiced_joint_name(&self) -> &String

source

pub fn set_mimic_multiplier(self, multiplier: f32) -> Self

source

pub fn mimic_multiplier(&self) -> Option<f32>

source

pub fn set_mimic_offset(self, offset: f32) -> Self

Specifies the offset to add in the formula above. Defaults to 0 (radians for revolute joints, meters for prismatic joints).

source

pub fn mimic_offset(&self) -> Option<f32>

source§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, NoSafetyController>
where Type: SafetyControllerAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType,

source

pub fn with_safety_controller( self, k_velocity: f32 ) -> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, WithSafetyController>

source§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, WithSafetyController>
where Type: SafetyControllerAllowed, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType,

source

pub fn set_k_position(self, k_position: f32) -> Self

source

pub fn k_position(&self) -> Option<f32>

source

pub fn set_k_velocity(self, k_velocity: f32) -> Self

Sets the k_velocity limit to the specified value in m/s or rad/s (k_velocity).

source

pub fn k_velocity(&self) -> f32

Retrieves the set k_velocity limit in m/s or rad/s (k_velocity).

source§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, WithSafetyController>
where Type: SafetyControllerAllowed + SmartJointTypeTrait<false>, Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType,

The (soft) limits are only available on non continuous JointTypes.

source

pub fn set_soft_lower_limit(self, soft_lower_limit: f32) -> Self

Sets the soft lower limit (soft_lower_limit).

source

pub fn soft_lower_limit(&self) -> Option<f32>

Retrieve the specified soft lower limit (soft_lower_limit).

source

pub fn set_soft_upper_limit(self, soft_upper_limit: f32) -> Self

Sets the soft upper limit (soft_upper_limit).

source

pub fn soft_upper_limit(&self) -> Option<f32>

Retrieve the specified soft upper limit (soft_upper_limit).

source§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source

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

Renames the current SmartJointBuilder.

source

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

source

pub fn add_dynamic_transform( self, func: fn(_: LinkShapeData) -> Transform ) -> Self

source§

impl SmartJointBuilder<NoType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

source

pub fn new( name: impl Into<String> ) -> SmartJointBuilder<NoType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Created a new JointType-less SmartJointBuilder.

source

pub fn new_revolute( name: impl Into<String> ) -> SmartJointBuilder<RevoluteType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Creates a new SmartJointBuilder with JointType::Revolute.

source

pub fn new_continuous( name: impl Into<String> ) -> SmartJointBuilder<ContinuousType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Creates a new SmartJointBuilder of type Continuous.

source

pub fn new_prismatic( name: impl Into<String> ) -> SmartJointBuilder<PrismaticType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Creates a new SmartJointBuilder of type Prismatic.

source

pub fn new_fixed( name: impl Into<String> ) -> SmartJointBuilder<FixedType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Creates a new SmartJointBuilder of type Fixed.

source

pub fn new_floating( name: impl Into<String> ) -> SmartJointBuilder<FloatingType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Creates a new SmartJointBuilder of type Floating.

source

pub fn new_planar( name: impl Into<String> ) -> SmartJointBuilder<PlanarType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Creates a new SmartJointBuilder of type Planar.

source

pub fn revolute( self ) -> SmartJointBuilder<RevoluteType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Converts this SmartJointBuilder to the Revolute type.

source

pub fn continuous( self ) -> SmartJointBuilder<ContinuousType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Converts this SmartJointBuilder to the Continuous type.

source

pub fn prismatic( self ) -> SmartJointBuilder<PrismaticType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Converts this SmartJointBuilder to the Prismatic type.

source

pub fn fixed( self ) -> SmartJointBuilder<FixedType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Converts this SmartJointBuilder to the Fixed type.

source

pub fn floating( self ) -> SmartJointBuilder<FloatingType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Converts this SmartJointBuilder to the Floating type.

source

pub fn planar( self ) -> SmartJointBuilder<PlanarType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>

Converts this SmartJointBuilder to the Planar type.

Trait Implementations§

source§

impl<Type: Clone, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> Clone for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: AxisDataType + Clone, Calibration: CalibrationDataType + Clone, Dynamics: DynamicsDataType + Clone, Limit: LimitDataType + Clone, Mimic: MimicDataType + Clone, SafetyController: SafetyControllerDataType + Clone,

source§

fn clone( &self ) -> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>

Returns a copy 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<Type: Debug, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> Debug for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: AxisDataType + Debug, Calibration: CalibrationDataType + Debug, Dynamics: DynamicsDataType + Debug, Limit: LimitDataType + Debug, Mimic: MimicDataType + Debug, SafetyController: SafetyControllerDataType + Debug,

source§

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

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

impl<Type: Default, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> Default for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: AxisDataType + Default, Calibration: CalibrationDataType + Default, Dynamics: DynamicsDataType + Default, Limit: LimitDataType + Default, Mimic: MimicDataType + Default, SafetyController: SafetyControllerDataType + Default,

source§

fn default( ) -> SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>

Returns the “default value” for a type. Read more
source§

impl<Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> From<SmartJointBuilder<ContinuousType, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>> for JointBuilder
where Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source§

fn from( value: SmartJointBuilder<ContinuousType, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> ) -> Self

Converts to this type from the input type.
source§

impl From<SmartJointBuilder<FixedType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>> for JointBuilder

source§

fn from( value: SmartJointBuilder<FixedType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController> ) -> Self

Converts to this type from the input type.
source§

impl From<SmartJointBuilder<FloatingType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController>> for JointBuilder

source§

fn from( value: SmartJointBuilder<FloatingType, NoAxis, NoCalibration, NoDynamics, NoLimit, NoMimic, NoSafetyController> ) -> Self

Converts to this type from the input type.
source§

impl<Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> From<SmartJointBuilder<PlanarType, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>> for JointBuilder
where Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source§

fn from( value: SmartJointBuilder<PlanarType, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> ) -> Self

Converts to this type from the input type.
source§

impl<Axis, Calibration, Dynamics, Mimic, SafetyController> From<SmartJointBuilder<PrismaticType, Axis, Calibration, Dynamics, WithLimit, Mimic, SafetyController>> for JointBuilder
where Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source§

fn from( value: SmartJointBuilder<PrismaticType, Axis, Calibration, Dynamics, WithLimit, Mimic, SafetyController> ) -> Self

Converts to this type from the input type.
source§

impl<Axis, Calibration, Dynamics, Mimic, SafetyController> From<SmartJointBuilder<RevoluteType, Axis, Calibration, Dynamics, WithLimit, Mimic, SafetyController>> for JointBuilder
where Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

source§

fn from( value: SmartJointBuilder<RevoluteType, Axis, Calibration, Dynamics, WithLimit, Mimic, SafetyController> ) -> Self

Converts to this type from the input type.
source§

impl<Type: PartialEq, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> PartialEq for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: AxisDataType + PartialEq, Calibration: CalibrationDataType + PartialEq, Dynamics: DynamicsDataType + PartialEq, Limit: LimitDataType + PartialEq, Mimic: MimicDataType + PartialEq, SafetyController: SafetyControllerDataType + PartialEq,

source§

fn eq( &self, other: &SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> ) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> StructuralPartialEq for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: AxisDataType, Calibration: CalibrationDataType, Dynamics: DynamicsDataType, Limit: LimitDataType, Mimic: MimicDataType, SafetyController: SafetyControllerDataType,

Auto Trait Implementations§

§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> RefUnwindSafe for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: RefUnwindSafe, Calibration: RefUnwindSafe, Dynamics: RefUnwindSafe, Limit: RefUnwindSafe, Mimic: RefUnwindSafe, SafetyController: RefUnwindSafe, Type: RefUnwindSafe,

§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> Send for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: Send, Calibration: Send, Dynamics: Send, Limit: Send, Mimic: Send, SafetyController: Send, Type: Send,

§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> Sync for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: Sync, Calibration: Sync, Dynamics: Sync, Limit: Sync, Mimic: Sync, SafetyController: Sync, Type: Sync,

§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> Unpin for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: Unpin, Calibration: Unpin, Dynamics: Unpin, Limit: Unpin, Mimic: Unpin, SafetyController: Unpin, Type: Unpin,

§

impl<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController> UnwindSafe for SmartJointBuilder<Type, Axis, Calibration, Dynamics, Limit, Mimic, SafetyController>
where Axis: UnwindSafe, Calibration: UnwindSafe, Dynamics: UnwindSafe, Limit: UnwindSafe, Mimic: UnwindSafe, SafetyController: UnwindSafe, Type: UnwindSafe,

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> Same for T

§

type Output = T

Should always be Self
§

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

§

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

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

fn is_in_subset(&self) -> bool

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

fn to_subset_unchecked(&self) -> SS

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

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,

§

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

§

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

§

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,