private void Mesh_OnTransformModified(SceneObject so) { CC.InvalidateSlicing(); slice_gizmo_valid = false; // set dirty flag on scene CCActions.SetCurrentSceneModified(); }
void setting_modified(bool invalidate_slicing, bool invalidate_paths) { if (invalidate_slicing) { CC.InvalidateSlicing(); } else if (invalidate_paths) { CC.InvalidateToolPaths(); } bValueModified = true; OnSettingModified?.Invoke(this); }
private void Mesh_OnMeshModified(DMeshSO so) { CC.InvalidateSlicing(); if (so is PrintMeshSO) { update_mesh_material(so as PrintMeshSO); } slice_gizmo_valid = false; // set dirty flag on scene CCActions.SetCurrentSceneModified(); }
void setting_modified(bool invalidate_slicing, bool invalidate_paths) { WriteToCurrentSettings(); // [RMS] need to do this so that settings are reflected in // slicer. To avoid, we need to know to grab from CC.ObjSettings instead... if (invalidate_slicing) { CC.InvalidateSlicing(); } else if (invalidate_paths) { CC.InvalidateToolPaths(); } bValueModified = true; OnSettingModified?.Invoke(this); }
public void InvalidateSlicing() { cancel_active_compute(); lock (data_lock) { SlicerMeshes = null; SliceSet = null; SliceStackValid = false; } discard_slice_polylines(); CC.InvalidateToolPaths(); if (SlicingInvalidatedEvent != null) { SlicingInvalidatedEvent(); } }
void update_pos(Vector3f pos, double time) { Frame3f f = PrintHeadSO.GetLocalFrame(CoordSpace.SceneCoords); f.Origin = pos + PrintHeadOffset * Vector3f.AxisY; PrintHeadSO.SetLocalFrame(f, CoordSpace.SceneCoords); Vector3f worldNozzlePt = PrintHeadSO.GetScene().ToWorldP(f.Origin); Vector3f worldPathPt = PrintHeadSO.GetScene().ToWorldP(pos); LaserGO.SetStart(worldNozzlePt); LaserGO.SetEnd(worldPathPt); if (emitting) { CC.SetLayerFromZ(pos.y); } update_heat_display(pos, time); }