use crate::geometry::{SolvedSurfaceGeometry, SurfaceGeometry};
use crate::ids::UnknownId;
pub(crate) fn make_first_face_surface_unknown(
ir: &mut crate::CadIr,
record: Option<UnknownId>,
) -> String {
let face = &ir.model.faces[0];
let surface_id = face.surface.as_str().to_owned();
for s in &mut ir.model.surfaces {
if s.id.as_str() == surface_id {
s.geometry = SurfaceGeometry::Solved(SolvedSurfaceGeometry::Unknown { record });
break;
}
}
surface_id
}
pub(crate) mod evaluation_cycles;
pub(crate) mod nurbs;
pub(crate) fn with_service_decode_context<T>(
operation: impl FnOnce(
&cadmpeg_core::decode::DecodeContext<'_>,
) -> Result<T, cadmpeg_core::CodecError>,
) -> Result<T, cadmpeg_core::CodecError> {
let arena = cadmpeg_core::decode::DecodeArena::new();
let policy = cadmpeg_core::decode::DecodePolicy::service();
let (ctx, _) = cadmpeg_core::decode::DecodeContext::from_root_bytes(&[], &arena, &policy)?;
operation(&ctx)
}