SketchApi

Trait SketchApi 

Source
pub trait SketchApi {
    // Required methods
    async fn execute_mock(
        &mut self,
        ctx: &ExecutorContext,
        version: Version,
        sketch: ObjectId,
    ) -> Result<(SceneGraph, ExecOutcome)>;
    async fn new_sketch(
        &mut self,
        ctx: &ExecutorContext,
        project: ProjectId,
        file: FileId,
        version: Version,
        args: SketchArgs,
    ) -> Result<(SourceDelta, SceneGraphDelta, ObjectId)>;
    async fn edit_sketch(
        &mut self,
        ctx: &ExecutorContext,
        project: ProjectId,
        file: FileId,
        version: Version,
        sketch: ObjectId,
    ) -> Result<SceneGraphDelta>;
    async fn exit_sketch(
        &mut self,
        ctx: &ExecutorContext,
        version: Version,
        sketch: ObjectId,
    ) -> Result<SceneGraph>;
    async fn add_segment(
        &mut self,
        ctx: &ExecutorContext,
        version: Version,
        sketch: ObjectId,
        segment: SegmentCtor,
        label: Option<String>,
    ) -> Result<(SourceDelta, SceneGraphDelta)>;
    async fn edit_segments(
        &mut self,
        ctx: &ExecutorContext,
        version: Version,
        sketch: ObjectId,
        segments: Vec<ExistingSegmentCtor>,
    ) -> Result<(SourceDelta, SceneGraphDelta)>;
    async fn delete_objects(
        &mut self,
        ctx: &ExecutorContext,
        version: Version,
        sketch: ObjectId,
        constraint_ids: Vec<ObjectId>,
        segment_ids: Vec<ObjectId>,
    ) -> Result<(SourceDelta, SceneGraphDelta)>;
    async fn add_constraint(
        &mut self,
        ctx: &ExecutorContext,
        version: Version,
        sketch: ObjectId,
        constraint: Constraint,
    ) -> Result<(SourceDelta, SceneGraphDelta)>;
    async fn edit_constraint(
        &mut self,
        ctx: &ExecutorContext,
        version: Version,
        sketch: ObjectId,
        constraint_id: ObjectId,
        constraint: Constraint,
    ) -> Result<(SourceDelta, SceneGraphDelta)>;
}

Required Methods§

Source

async fn execute_mock( &mut self, ctx: &ExecutorContext, version: Version, sketch: ObjectId, ) -> Result<(SceneGraph, ExecOutcome)>

Execute the sketch in mock mode, without changing anything. This is useful after editing segments, and the user releases the mouse button.

Source

async fn new_sketch( &mut self, ctx: &ExecutorContext, project: ProjectId, file: FileId, version: Version, args: SketchArgs, ) -> Result<(SourceDelta, SceneGraphDelta, ObjectId)>

Source

async fn edit_sketch( &mut self, ctx: &ExecutorContext, project: ProjectId, file: FileId, version: Version, sketch: ObjectId, ) -> Result<SceneGraphDelta>

Source

async fn exit_sketch( &mut self, ctx: &ExecutorContext, version: Version, sketch: ObjectId, ) -> Result<SceneGraph>

Source

async fn add_segment( &mut self, ctx: &ExecutorContext, version: Version, sketch: ObjectId, segment: SegmentCtor, label: Option<String>, ) -> Result<(SourceDelta, SceneGraphDelta)>

Source

async fn edit_segments( &mut self, ctx: &ExecutorContext, version: Version, sketch: ObjectId, segments: Vec<ExistingSegmentCtor>, ) -> Result<(SourceDelta, SceneGraphDelta)>

Source

async fn delete_objects( &mut self, ctx: &ExecutorContext, version: Version, sketch: ObjectId, constraint_ids: Vec<ObjectId>, segment_ids: Vec<ObjectId>, ) -> Result<(SourceDelta, SceneGraphDelta)>

Source

async fn add_constraint( &mut self, ctx: &ExecutorContext, version: Version, sketch: ObjectId, constraint: Constraint, ) -> Result<(SourceDelta, SceneGraphDelta)>

Source

async fn edit_constraint( &mut self, ctx: &ExecutorContext, version: Version, sketch: ObjectId, constraint_id: ObjectId, constraint: Constraint, ) -> Result<(SourceDelta, SceneGraphDelta)>

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§