pub struct BrepSolid {
pub mass_properties_cache: MassPropertiesCache,
pub id: u64,
pub vertices: Vec<VertexRecord>,
pub edges: Vec<EdgeRecord>,
pub shells: Vec<ShellRecord>,
pub genus: i64,
pub kind: BodyKind,
pub cells: Vec<CellRecord>,
}Fields§
§mass_properties_cache: MassPropertiesCacheContent-checked measurements; cloned with this solid, never serialized.
Initialize with Default::default() when constructing a solid.
id: u64§vertices: Vec<VertexRecord>§edges: Vec<EdgeRecord>§shells: Vec<ShellRecord>§genus: i64§kind: BodyKindThe kind the body declares (Solid unless a producer says
otherwise). Skipped in JSON when Solid, so every body written
before the field existed reads and writes byte-identically; the flat
codec keeps its 1.0 header for a Solid for the same reason.
cells: Vec<CellRecord>Explicit regions, empty on all historical bodies. Empty storage is omitted so every existing JSON body keeps its bytes and digest.
Implementations§
Source§impl BrepSolid
impl BrepSolid
pub fn validate(&self) -> Vec<ValidationIssue>
pub fn validate_with_tolerances( &self, tolerances: &KernelTolerances, ) -> Vec<ValidationIssue>
pub fn validate_detailed( &self, tolerances: &KernelTolerances, ) -> ValidationReport
Sourcepub fn validate_scoped(
&self,
geometry_faces: &HashSet<u64>,
) -> Vec<ValidationIssue>
pub fn validate_scoped( &self, geometry_faces: &HashSet<u64>, ) -> Vec<ValidationIssue>
validate reading the per-coedge GEOMETRY (carrier,
pcurve against edge, uv wire) of the faces in geometry_faces only.
Every structural check — ids, loop closure, edge use counts, curve
endpoints against vertices, the Euler count — still reads the whole
solid. A boolean uses this for faces it carried through unchanged
from an operand (BooleanOptions::untouched_passthrough): their
geometry is the operand’s, byte for byte, and re-reading it is the
cost the record named.
Sourcepub fn validate_detailed_scoped(
&self,
tolerances: &KernelTolerances,
geometry_faces: Option<&HashSet<u64>>,
) -> ValidationReport
pub fn validate_detailed_scoped( &self, tolerances: &KernelTolerances, geometry_faces: Option<&HashSet<u64>>, ) -> ValidationReport
validate_detailed with the geometry checks
restricted as validate_scoped describes;
None reads every face.