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.