pub struct Scene<'m> { /* private fields */ }Expand description
Implementations§
Source§impl Scene<'_>
Model-wide by-type queries. Naming convention: all_* returns every instance
of a type in the whole model (the storage is flat — one arena per type — so a
model-level query is always “find all of this type”); navigating from a
handle (e.g. solid.faces()) is unprefixed and scoped to that element.
impl Scene<'_>
Model-wide by-type queries. Naming convention: all_* returns every instance
of a type in the whole model (the storage is flat — one arena per type — so a
model-level query is always “find all of this type”); navigating from a
handle (e.g. solid.faces()) is unprefixed and scoped to that element.
Sourcepub fn all_solids(&self) -> impl Iterator<Item = Solid<'_>> + '_
pub fn all_solids(&self) -> impl Iterator<Item = Solid<'_>> + '_
Every b-rep solid (MANIFOLD_SOLID_BREP) in the model.
Sourcepub fn all_faces(&self) -> impl Iterator<Item = Face<'_>> + '_
pub fn all_faces(&self) -> impl Iterator<Item = Face<'_>> + '_
Every face in the model (ADVANCED_FACE and FACE_SURFACE).
Sourcepub fn all_edges(&self) -> impl Iterator<Item = Edge<'_>> + '_
pub fn all_edges(&self) -> impl Iterator<Item = Edge<'_>> + '_
Every edge in the model (EDGE_CURVE).
Sourcepub fn all_vertices(&self) -> impl Iterator<Item = Vertex<'_>> + '_
pub fn all_vertices(&self) -> impl Iterator<Item = Vertex<'_>> + '_
Every vertex in the model (VERTEX_POINT).
Sourcepub fn all_points(&self) -> impl Iterator<Item = Point<'_>> + '_
pub fn all_points(&self) -> impl Iterator<Item = Point<'_>> + '_
Every geometric point in the model (CARTESIAN_POINT).
Source§impl Scene<'_>
Model-wide mesh enumeration.
impl Scene<'_>
Model-wide mesh enumeration.
Sourcepub fn all_mesh_groups(&self) -> impl Iterator<Item = MeshGroup<'_>> + '_
pub fn all_mesh_groups(&self) -> impl Iterator<Item = MeshGroup<'_>> + '_
Every mesh group in the model (TESSELLATED_SOLID and
TESSELLATED_SHELL — one part’s bundle of mesh faces, with a link to
the precise b-rep solid where the file provides one).
Sourcepub fn all_meshes(&self) -> impl Iterator<Item = Mesh<'_>> + '_
pub fn all_meshes(&self) -> impl Iterator<Item = Mesh<'_>> + '_
Every tessellated mesh item in the model (COMPLEX_TRIANGULATED_FACE,
COMPLEX_TRIANGULATED_SURFACE_SET and plain TESSELLATED_FACE).
Source§impl Scene<'_>
impl Scene<'_>
Sourcepub fn dimensions(&self) -> impl Iterator<Item = Dimension<'_>> + '_
pub fn dimensions(&self) -> impl Iterator<Item = Dimension<'_>> + '_
Every dimension in the model. Covers the four base dimension types;
the …_WITH_PATH / …_WITH_DATUM_FEATURE / DIRECTED_… subtypes are
not yet surfaced.
Source§impl Scene<'_>
impl Scene<'_>
Sourcepub fn tolerances(&self) -> impl Iterator<Item = Tolerance<'_>> + '_
pub fn tolerances(&self) -> impl Iterator<Item = Tolerance<'_>> + '_
Every geometric tolerance in the model. Covers both standalone leaf
entities (in their dedicated arenas) and complex multi-supertype
instances (any ComplexUnit carrying a GEOMETRIC_TOLERANCE facet).
Source§impl Scene<'_>
impl Scene<'_>
Sourcepub fn features(&self) -> impl Iterator<Item = Feature<'_>> + '_
pub fn features(&self) -> impl Iterator<Item = Feature<'_>> + '_
Every geometric feature in the model — the SHAPE_ASPECT subtypes that
denote a region of the part’s shape (plain aspects, datum features,
composite / derived / all-around / centre-of-symmetry / continuous
aspects). Datum callouts, datum-system references, tolerance zones, and
views are also SHAPE_ASPECTs in the schema but are not features here —
datums are reached via Scene::datums, the rest via the raw model.
Source§impl Scene<'_>
impl Scene<'_>
Sourcepub fn all_products(&self) -> impl Iterator<Item = Product<'_>> + '_
pub fn all_products(&self) -> impl Iterator<Item = Product<'_>> + '_
Every product (PRODUCT) in the model.
Sourcepub fn all_product_definitions(
&self,
) -> impl Iterator<Item = ProductDef<'_>> + '_
pub fn all_product_definitions( &self, ) -> impl Iterator<Item = ProductDef<'_>> + '_
Every product definition (PRODUCT_DEFINITION) in the model.
Sourcepub fn root_definitions(&self) -> impl Iterator<Item = ProductDef<'_>> + '_
pub fn root_definitions(&self) -> impl Iterator<Item = ProductDef<'_>> + '_
The assembly roots: definitions no NEXT_ASSEMBLY_USAGE_OCCURRENCE
uses as a child (related). Start an assembly walk here — a single
part file simply yields all of its definitions.
Source§impl Scene<'_>
Model-wide mapped-item enumeration.
impl Scene<'_>
Model-wide mapped-item enumeration.
Sourcepub fn all_mapped_instances(
&self,
) -> impl Iterator<Item = MappedInstance<'_>> + '_
pub fn all_mapped_instances( &self, ) -> impl Iterator<Item = MappedInstance<'_>> + '_
Every MAPPED_ITEM in the model — the second placement mechanism
besides Occurrence: a representation’s geometry stamped from its
origin frame onto a target frame (assembly component reuse, and
drawing/PMI view instancing).