pub struct Binding {
pub geometry: OperationGeometry,
pub setup: Setup,
pub targets: TargetSelection,
pub tool_geometry: ToolGeometry,
pub tool_kind: ToolKind,
pub body_fingerprints: BTreeMap<String, u64>,
pub feature: FeatureIdentity,
pub key_dimensions: Vec<f64>,
pub planned_name: String,
pub role: String,
pub strategy: Strategy,
pub operation_tolerance: f64,
}Fields§
§geometry: OperationGeometry§setup: Setup§targets: TargetSelection§tool_geometry: ToolGeometry§tool_kind: ToolKind§body_fingerprints: BTreeMap<String, u64>Hex strings on the wire: JSON/JavaScript numbers cannot retain all 64 fingerprint bits across the browser worker boundary.
feature: FeatureIdentity§key_dimensions: Vec<f64>XY position and dimensions identify the feature while its depth may change. Face identities must match as well.
planned_name: String§role: String§strategy: Strategy§operation_tolerance: f64Implementations§
Source§impl Binding
impl Binding
pub fn new( planned: &PlannedOperation, feature: &Feature, setup: &Setup, tool: &Tool, body_fingerprints: BTreeMap<String, u64>, ) -> Self
pub fn validate_inputs( &self, operation: &Operation, setup: &Setup, tool: &Tool, ) -> Result<(), String>
pub fn matches(&self, feature: &Feature, tol: &Tolerance) -> bool
Sourcepub fn rebind_with_mesh(
&self,
recognized: &Recognized,
mesh: &MeshSnapshot,
operation: &Operation,
setup: &Setup,
tools: &[Tool],
machine: Option<&Machine>,
stock_top: Option<f64>,
tol: Tolerance,
) -> Result<(Operation, OperationGeometry), String>
pub fn rebind_with_mesh( &self, recognized: &Recognized, mesh: &MeshSnapshot, operation: &Operation, setup: &Setup, tools: &[Tool], machine: Option<&Machine>, stock_top: Option<f64>, tol: Tolerance, ) -> Result<(Operation, OperationGeometry), String>
Apply the same whole-part extension protection as the preview after re-recognizing changed geometry in the worker’s current setup frame.
Sourcepub fn rebind(
&self,
recognized: &Recognized,
operation: &Operation,
setup: &Setup,
tools: &[Tool],
machine: Option<&Machine>,
stock_top: Option<f64>,
tol: Tolerance,
) -> Result<(Operation, OperationGeometry), String>
pub fn rebind( &self, recognized: &Recognized, operation: &Operation, setup: &Setup, tools: &[Tool], machine: Option<&Machine>, stock_top: Option<f64>, tol: Tolerance, ) -> Result<(Operation, OperationGeometry), String>
Rebind only the operation’s own rule, using its current cutter. Hole sequences need the full library to retain pilot/recess/thread intent.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Binding
impl<'de> Deserialize<'de> for Binding
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Binding
Auto Trait Implementations§
impl Forget for Binding
impl Freeze for Binding
impl Move for Binding
impl RefUnwindSafe for Binding
impl Send for Binding
impl Sync for Binding
impl Unpin for Binding
impl UnsafeUnpin for Binding
impl UnwindSafe for Binding
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more