pub trait GeometryTrait: Clone {
type Set: Into<Vec<Self>> + Clone;
// Required methods
fn id(&self) -> Uuid;
fn original_id(&self) -> Uuid;
fn set_id(&mut self, id: Uuid);
fn array_to_point3d(
val: &KclValue,
source_ranges: Vec<SourceRange>,
exec_state: &mut ExecState,
) -> Result<[TyF64; 3], KclError>;
async fn flush_batch(
args: &Args,
exec_state: &mut ExecState,
set: &Self::Set,
) -> Result<(), KclError>;
}
Required Associated Types§
Required Methods§
fn id(&self) -> Uuid
fn original_id(&self) -> Uuid
fn set_id(&mut self, id: Uuid)
fn array_to_point3d( val: &KclValue, source_ranges: Vec<SourceRange>, exec_state: &mut ExecState, ) -> Result<[TyF64; 3], KclError>
async fn flush_batch( args: &Args, exec_state: &mut ExecState, set: &Self::Set, ) -> Result<(), KclError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.