forked from 1b-agent/opencadstudio-upstream
ocs_doc_api: layer CRUD, per-curve layer assignment, XDATA/XRECORD support, and bulk SetXDataMany
This commit is contained in:
1 parent
b19992cbcb
commit
8bf5eac3fc
27 files changed
+3340
-181
No files matched your search
@@ -41,6 +41,8 @@ pub struct EntityView {
|
||||
/// The acadrust `EntityType` variant name (e.g. "Solid3D", "Line").
|
||||
pub kind: String,
|
||||
pub bounds: Option<Aabb>,
|
||||
/// The normalized (uppercase) layer name the entity is on.
|
||||
pub layer: String,
|
||||
}
|
||||
|
||||
/// The result of a single [`Query`] (one per query in a `Queries` batch).
|
||||
@@ -68,6 +70,20 @@ pub enum QueryResult {
|
||||
target: [f64; 3],
|
||||
height: f64,
|
||||
},
|
||||
/// An XDATA record for a single application (`None` if no such record).
|
||||
XData(Option<crate::ops::XDataRecord>),
|
||||
/// An XRECORD object payload.
|
||||
XRecord(crate::ops::XRecordSpec),
|
||||
/// All layers in the document.
|
||||
Layers(Vec<crate::ops::LayerInfo>),
|
||||
/// The layer name of an entity.
|
||||
EntityLayer(String),
|
||||
/// A filtered list of entity views.
|
||||
Entities(Vec<EntityView>),
|
||||
/// The WCS location of a Point entity.
|
||||
PointPosition([f64; 3]),
|
||||
/// The start and end WCS points of a Line entity.
|
||||
LineGeometry(([f64; 3], [f64; 3])),
|
||||
}
|
||||
|
||||
/// Convenience: the query name for diagnostics.
|
||||
@@ -87,6 +103,13 @@ impl crate::gen::Query {
|
||||
GetAttributes { .. } => "GetAttributes",
|
||||
GetBlockEntities { .. } => "GetBlockEntities",
|
||||
GetViewportView { .. } => "GetViewportView",
|
||||
GetXData { .. } => "GetXData",
|
||||
GetXRecord { .. } => "GetXRecord",
|
||||
ListLayers => "ListLayers",
|
||||
GetEntityLayer { .. } => "GetEntityLayer",
|
||||
EnumerateEntities { .. } => "EnumerateEntities",
|
||||
GetPointPosition { .. } => "GetPointPosition",
|
||||
GetLineGeometry { .. } => "GetLineGeometry",
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user