diff --git a/modeling-cmds/src/def_enum.rs b/modeling-cmds/src/def_enum.rs index c675f022..15a43642 100644 --- a/modeling-cmds/src/def_enum.rs +++ b/modeling-cmds/src/def_enum.rs @@ -1527,6 +1527,21 @@ define_modeling_cmd_enum! { pub filter: Vec, } + /// Get the all ids of a given entity type. + #[derive( + Clone, Debug, PartialEq, Deserialize, JsonSchema, Serialize, ModelingCmdVariant, + )] + #[cfg_attr(feature = "ts-rs", derive(ts_rs::TS))] + #[cfg_attr(feature = "ts-rs", ts(export_to = "ModelingCmd.ts"))] + pub struct SceneGetEntityIds { + /// The entity types to be queried. + pub filter: Vec, + /// Skip the first n returned ids. + pub skip: u32, + /// Take n ids after any ids skipped. + pub take: u32, + } + /// Use orthographic projection. #[derive( Clone, Debug, Default, PartialEq, Deserialize, JsonSchema, Serialize, ModelingCmdVariant, diff --git a/modeling-cmds/src/ok_response.rs b/modeling-cmds/src/ok_response.rs index 02d28c5d..b3c8b526 100644 --- a/modeling-cmds/src/ok_response.rs +++ b/modeling-cmds/src/ok_response.rs @@ -550,6 +550,14 @@ define_ok_modeling_cmd_response_enum! { /// The type of the entity. pub entity_type: EntityType, } + + /// The response from the `SceneGetEntityIds` command. + #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)] + pub struct SceneGetEntityIds { + /// The ids of the requested entities. + pub entity_ids: Vec>, + } + /// The response from the `CurveGetControlPoints` command. #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)] pub struct CurveGetControlPoints {