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: SegmentCtor,
label: Option<String>,
) -> Result<(SourceDelta, SceneGraphDelta)>;
async fn edit_segment(
&self,
version: Version,
sketch: ObjectId,
segment_id: ObjectId,
segment: SegmentCtor,
) -> Result<(SourceDelta, SceneGraphDelta)>;
async fn delete_segment(
&self,
version: Version,
sketch: ObjectId,
segment_id: ObjectId,
) -> Result<(SourceDelta, SceneGraphDelta)>;
async fn add_constraint(
&self,
version: Version,
sketch: ObjectId,
constraint: Constraint,
) -> Result<(SourceDelta, SceneGraphDelta)>;
async fn edit_constraint(
&self,
version: Version,
sketch: ObjectId,
constraint_id: ObjectId,
constraint: Constraint,
) -> Result<(SourceDelta, SceneGraphDelta)>;
async fn delete_constraint(
&self,
version: Version,
sketch: ObjectId,
constraint_id: ObjectId,
) -> Result<(SourceDelta, SceneGraphDelta)>;
}
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: SegmentCtor, label: Option<String>, ) -> Result<(SourceDelta, SceneGraphDelta)>
async fn edit_segment( &self, version: Version, sketch: ObjectId, segment_id: ObjectId, segment: SegmentCtor, ) -> Result<(SourceDelta, SceneGraphDelta)>
async fn delete_segment( &self, version: Version, sketch: ObjectId, segment_id: ObjectId, ) -> Result<(SourceDelta, SceneGraphDelta)>
async fn add_constraint( &self, version: Version, sketch: ObjectId, constraint: Constraint, ) -> Result<(SourceDelta, SceneGraphDelta)>
async fn edit_constraint( &self, version: Version, sketch: ObjectId, constraint_id: ObjectId, constraint: Constraint, ) -> Result<(SourceDelta, SceneGraphDelta)>
async fn delete_constraint( &self, version: Version, sketch: ObjectId, constraint_id: ObjectId, ) -> 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.