Trait GeometryTrait

Source
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§

Source

type Set: Into<Vec<Self>> + Clone

Required Methods§

Source

fn id(&self) -> Uuid

Source

fn original_id(&self) -> Uuid

Source

fn set_id(&mut self, id: Uuid)

Source

fn array_to_point3d( val: &KclValue, source_ranges: Vec<SourceRange>, exec_state: &mut ExecState, ) -> Result<[TyF64; 3], KclError>

Source

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.

Implementors§