From 4ded8b59a9ae3d05335b5cdfa0bad0eaedb943b8 Mon Sep 17 00:00:00 2001 From: benjamaan476 Date: Mon, 20 Jan 2025 14:24:27 +0000 Subject: [PATCH] Add ProjectPointsToPlane --- modeling-cmds/src/def_enum.rs | 15 ++++++++++++++- modeling-cmds/src/ok_response.rs | 7 +++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/modeling-cmds/src/def_enum.rs b/modeling-cmds/src/def_enum.rs index be57eb54..e856b86c 100644 --- a/modeling-cmds/src/def_enum.rs +++ b/modeling-cmds/src/def_enum.rs @@ -1046,7 +1046,7 @@ define_modeling_cmd_enum! { } /// Project an entity on to a plane. - #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, ModelingCmdVariant, PartialEq)] + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema, ModelingCmdVariant)] #[cfg_attr(feature = "ts-rs", derive(ts_rs::TS))] #[cfg_attr(feature = "ts-rs", ts(export_to = "ModelingCmd.ts"))] pub struct ProjectEntityToPlane { @@ -1057,7 +1057,20 @@ define_modeling_cmd_enum! { /// If true: the projected points are returned in the plane_id's coordinate system, /// else: the projected points are returned in the world coordinate system. pub use_plane_coords: bool, + } + /// Project a list of points on to a plane. + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema, ModelingCmdVariant)] + #[cfg_attr(feature = "ts-rs", derive(ts_rs::TS))] + #[cfg_attr(feature = "ts-rs", th(export_to = "ModelingCmd.ts"))] + pub struct ProjectPointsToPlane { + /// The id of the plane used for the projection. + pub plane_id: Uuid, + /// The list of points that will be projected. + pub points: Vec>, + /// If true: the projected points are returned in the plane_id's coordinate sysetm. + /// else: the projected points are returned in the world coordinate system. + pub use_plane_coords: bool, } /// Enum containing the variety of image formats snapshots may be exported to. diff --git a/modeling-cmds/src/ok_response.rs b/modeling-cmds/src/ok_response.rs index 977ce520..b51d1096 100644 --- a/modeling-cmds/src/ok_response.rs +++ b/modeling-cmds/src/ok_response.rs @@ -507,6 +507,13 @@ define_ok_modeling_cmd_response_enum! { pub projected_points: Vec>, } + /// The response from the `ProjectPointsToPlane` command. + #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)] + pub struct ProjectPointsToPlane { + /// Projected points. + pub projected_points: Vec>, + } + /// The response from the `CurveGetType` command. #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, Eq, PartialEq, ModelingCmdOutput)] pub struct CurveGetType {