pub struct ModelValue {
pub model: FemmModel,
}Expand description
A FEMM model held as a first-class runtime object.
Wraps a FemmModel so it can be stored in a Value, displayed,
encoded, and dispatched on inside the runtime; the model itself stays
behavior defined by this constellation, while the kernel supplies the
object/encoding contracts. See the crate README.
§Examples
use sim_lib_femm_fixtures::parallel_plate_capacitor;
use sim_lib_femm_function::model_value;
let value = model_value(parallel_plate_capacitor());
assert_eq!(value.model.name.as_qualified_str(), "parallel-plate-capacitor");Fields§
§model: FemmModelThe wrapped finite-element model.
Trait Implementations§
Source§impl Citizen for ModelValue
impl Citizen for ModelValue
Source§fn citizen_symbol() -> Symbol
fn citizen_symbol() -> Symbol
The citizen’s
namespace/name class symbol.Source§fn citizen_version() -> u32
fn citizen_version() -> u32
The citizen’s encoding version.
Source§fn citizen_arity() -> usize
fn citizen_arity() -> usize
Number of constructor fields (excluding the version argument).
Source§fn citizen_fields() -> &'static [&'static str]
fn citizen_fields() -> &'static [&'static str]
The citizen’s field names, in constructor order.
Source§impl Clone for ModelValue
impl Clone for ModelValue
Source§fn clone(&self) -> ModelValue
fn clone(&self) -> ModelValue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Object for ModelValue
impl Object for ModelValue
Source§fn display(&self, _cx: &mut Cx) -> KernelResult<String>
fn display(&self, _cx: &mut Cx) -> KernelResult<String>
Render the object as a human-readable display string.
Source§fn header(&self) -> &ObjectHeader
fn header(&self) -> &ObjectHeader
Identity and trust header for the object; defaults to the shared
anonymous header.
Source§fn op(&self, _key: &OpKey) -> Option<&dyn Op>
fn op(&self, _key: &OpKey) -> Option<&dyn Op>
Resolve the operation registered under
key, if any.Source§impl ObjectCompat for ModelValue
impl ObjectCompat for ModelValue
Source§fn class(&self, cx: &mut Cx) -> KernelResult<ClassRef>
fn class(&self, cx: &mut Cx) -> KernelResult<ClassRef>
Class object this value belongs to; defaults to nil.
Source§fn as_expr(&self, cx: &mut Cx) -> KernelResult<Expr>
fn as_expr(&self, cx: &mut Cx) -> KernelResult<Expr>
Expression form of the object; defaults to an opaque extension node.
Source§fn as_table(&self, cx: &mut Cx) -> KernelResult<Value>
fn as_table(&self, cx: &mut Cx) -> KernelResult<Value>
Project the object into a table value; the default exposes its display.
Source§fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
Object-encoder view, if the object encodes other objects.
Source§fn as_callable(&self) -> Option<&dyn Callable>
fn as_callable(&self) -> Option<&dyn Callable>
Callable view, if the object can be invoked.
Source§fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
Read-constructor view, if the object decodes data forms.
Source§fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
Number-domain view, if the object is a number domain.
Source§fn as_number_value(&self) -> Option<&dyn NumberValue>
fn as_number_value(&self) -> Option<&dyn NumberValue>
Number-value view, if the object is a domain number.
Source§fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
Eval-fabric view, if the object is a distributed eval surface.
Source§fn as_sequence(&self) -> Option<&dyn Sequence>
fn as_sequence(&self) -> Option<&dyn Sequence>
Sequence view, if the object is a sequence.
Source§fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
List view, if the object is a list value.
Source§fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>
fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>
Table-implementation view, if the object is a table.
Source§fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
Directory view, if the object is a directory.
Source§impl ObjectEncode for ModelValue
impl ObjectEncode for ModelValue
Source§fn object_encoding(&self, _cx: &mut Cx) -> KernelResult<ObjectEncoding>
fn object_encoding(&self, _cx: &mut Cx) -> KernelResult<ObjectEncoding>
Returns the
ObjectEncoding this object should be rendered as.Auto Trait Implementations§
impl !RefUnwindSafe for ModelValue
impl !UnwindSafe for ModelValue
impl Freeze for ModelValue
impl Send for ModelValue
impl Sync for ModelValue
impl Unpin for ModelValue
impl UnsafeUnpin for ModelValue
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
Mutably borrows from an owned value. Read more