SketchApi

Trait SketchApi 

Source
pub trait SketchApi {
    // Required methods
    async fn new_sketch(
        &self,
        project: ProjectId,
        file: FileId,
        version: Version,
        args: SketchArgs,
    ) -> Result<(SourceDelta, SceneGraphDelta, ObjectId)>;
    async fn edit_sketch(
        &self,
        project: ProjectId,
        file: FileId,
        version: Version,
        sketch: ObjectId,
    ) -> Result<SceneGraphDelta>;
    async fn exit_sketch(
        &self,
        version: Version,
        sketch: ObjectId,
    ) -> Result<SceneGraph>;
    async fn add_segment(
        &self,
        version: Version,
        sketch: ObjectId,
        segment: SegmentArgs<Expr>,
    ) -> Result<SceneGraphDelta>;
    async fn edit_segment(
        &self,
        version: Version,
        sketch: ObjectId,
        segment_id: ObjectId,
        segment: SegmentArgs<Expr>,
    ) -> Result<SceneGraphDelta>;
    async fn delete_segment(
        &self,
        version: Version,
        sketch: ObjectId,
        segment_id: ObjectId,
    ) -> Result<SceneGraphDelta>;
    async fn add_constraint(
        &self,
        version: Version,
        sketch: ObjectId,
        constraint: ConstraintArgs,
    ) -> Result<SceneGraphDelta>;
    async fn edit_constraint(
        &self,
        version: Version,
        sketch: ObjectId,
        constraint_id: ObjectId,
        constraint: ConstraintArgs,
    ) -> Result<SceneGraphDelta>;
    async fn delete_constraint(
        &self,
        version: Version,
        sketch: ObjectId,
        constraint_id: ObjectId,
    ) -> Result<SceneGraphDelta>;
}

Required Methods§

Source

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

Source

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

Source

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

Source

async fn add_segment( &self, version: Version, sketch: ObjectId, segment: SegmentArgs<Expr>, ) -> Result<SceneGraphDelta>

Source

async fn edit_segment( &self, version: Version, sketch: ObjectId, segment_id: ObjectId, segment: SegmentArgs<Expr>, ) -> Result<SceneGraphDelta>

Source

async fn delete_segment( &self, version: Version, sketch: ObjectId, segment_id: ObjectId, ) -> Result<SceneGraphDelta>

Source

async fn add_constraint( &self, version: Version, sketch: ObjectId, constraint: ConstraintArgs, ) -> Result<SceneGraphDelta>

Source

async fn edit_constraint( &self, version: Version, sketch: ObjectId, constraint_id: ObjectId, constraint: ConstraintArgs, ) -> Result<SceneGraphDelta>

Source

async fn delete_constraint( &self, version: Version, sketch: ObjectId, constraint_id: ObjectId, ) -> Result<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§