pub struct Parameter {
pub name: &'static str,
pub data_type: DataType,
}Expand description
Defines an input parameter to change the value of a ModelComponent.
This offers a public mechanism to change the internal values of functions at runtime. The parameters are defined by a name and a DataType.
The main use for the parameters is to change the parameters of models at runtime. The main usecase for this is when building a UI for model building.
These are returned from the parameters method.
Fields§
§name: &'static strDisplay name of the parameter.
data_type: DataTypeDatatype of the parameter.
Implementations§
Source§impl Parameter
impl Parameter
Sourcepub fn new(name: &'static str, data_type: DataType) -> Self
pub fn new(name: &'static str, data_type: DataType) -> Self
Create a new parameter from a name and a DataType
Sourcepub fn set_value_from_param<T: Float>(
parameter_name: &str,
data: &Data<T>,
target_name: &str,
target: &mut T,
) -> bool
pub fn set_value_from_param<T: Float>( parameter_name: &str, data: &Data<T>, target_name: &str, target: &mut T, ) -> bool
Helper method to assign the value from a matching parameter to a floating point variable. It will assign the value of the parameter to the target input if the parameter_name matches the target_name and the data provided matches the target type, which in this instance is a Float value.
§Arguments
parameter_name- The name of the provided parameterdata- The data contained.target_name- The name of the current target.target- Where the data should be assigned if matching the name and the type.
Sourcepub fn get_string_from_enum_param<T>(
parameter_name: &str,
data: &Data<T>,
target_name: &str,
) -> Option<String>
pub fn get_string_from_enum_param<T>( parameter_name: &str, data: &Data<T>, target_name: &str, ) -> Option<String>
Helper method to get the value from a matching parameter for Enum data.
This method will return the string value contained in the parameter if the provided data is of enum type and the name matches the target name.
Otherwise it will return None.
§Arguments
parameter_name- The name of the provided parameterdata- The data contained in the parameter.target_name- The name of the current target.
Sourcepub fn set_clamped_value_from_param<T: Float>(
parameter_name: &str,
data: &Data<T>,
target_name: &str,
target: &mut T,
min: T,
max: T,
) -> bool
pub fn set_clamped_value_from_param<T: Float>( parameter_name: &str, data: &Data<T>, target_name: &str, target: &mut T, min: T, max: T, ) -> bool
Helper method to assign the value from a matching parameter to a field. It will assign the value of the parameter to the target input if the parameter_name matches the target_name and the data provided matches the target type, which in this instance is a Float value.
The difference between this and Parameter::set_value_from_param is that this method will ensure the value, if assigned, is kept within the bounds.
§Arguments
parameter_name- The name of the provided parameterdata- The data contained.target_name- The name of the current target.target- Where the data should be assigned if matching the name and the type.min- Minimum allowed value. If the provided value is smaller than this, the min value will be assigned.max- Maximum allowed value. If the provided value is larger than this, the max value will be assigned.
Sourcepub fn set_vec3_from_param<T: Float>(
parameter_name: &str,
data: &Data<T>,
target_name: &str,
target: &mut Vec3<T>,
) -> bool
pub fn set_vec3_from_param<T: Float>( parameter_name: &str, data: &Data<T>, target_name: &str, target: &mut Vec3<T>, ) -> bool
Helper method to get the value from a matching parameter for Vec3 data.
This method will return the value contained in the parameter if the provided data is of Vec3 type and the name matches the target name.
§Arguments
parameter_name- The name of the provided parameterdata- The data contained in the parameter.target_name- The name of the current target.
Sourcepub fn set_bool_from_param<T: Float>(
parameter_name: &str,
data: &Data<T>,
param: &str,
target: &mut bool,
) -> bool
pub fn set_bool_from_param<T: Float>( parameter_name: &str, data: &Data<T>, param: &str, target: &mut bool, ) -> bool
Helper method to get the value from a matching parameter for bool data.
This method will return the value contained in the parameter if the provided data is of Vec3 type and the name matches the target name.
§Arguments
parameter_name- The name of the provided parameterdata- The data contained in the parameter.target_name- The name of the current target.
pub fn set_text_from_param<T: Float>( parameter_name: &str, data: &Data<T>, param: &str, target: &mut String, ) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Parameter
impl RefUnwindSafe for Parameter
impl Send for Parameter
impl Sync for Parameter
impl Unpin for Parameter
impl UnwindSafe for Parameter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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