/// <summary> /// Updates from a particular setting state. /// </summary> /// <param name="state">The new states that will be set.</param> public static void UpdateFromState(ModelAidSettingsState state) { GridSnap = state.GridSnap; Ortho = state.Ortho; Planar = state.Planar; ProjectSnapToCPlane = state.ProjectSnapToCPlane; UseHorizontalDialog = state.UseHorizontalDialog; ExtendTrimLines = state.ExtendTrimLines; ExtendToApparentIntersection = state.ExtendToApparentIntersection; AltPlusArrow = state.AltPlusArrow; DisplayControlPolygon = state.DisplayControlPolygon; HighlightControlPolygon = state.HighlightControlPolygon; Osnap = state.Osnap; SnapToLocked = state.SnapToLocked; UniversalConstructionPlaneMode = state.UniversalConstructionPlaneMode; OrthoAngle = state.OrthoAngle; NudgeKeyStep = state.NudgeKeyStep; CtrlNudgeKeyStep = state.CtrlNudgeKeyStep; ShiftNudgeKeyStep = state.ShiftNudgeKeyStep; OsnapPickboxRadius = state.OsnapPickboxRadius; NudgeMode = state.NudgeMode; ControlPolygonDisplayDensity = state.ControlPolygonDisplayDensity; OsnapCursorMode = state.OsnapCursorMode; OsnapModes = state.OsnapModes; MousePickboxRadius = state.MousePickboxRadius; PointDisplay = state.PointDisplay; }
static ModelAidSettingsState CreateState(bool current) { IntPtr pSettings = UnsafeNativeMethods.CRhinoAppModelAidSettings_New(current); ModelAidSettingsState rc = new ModelAidSettingsState(); rc.GridSnap = GetBool(idxGridSnap, pSettings); rc.Ortho = GetBool(idxOrtho, pSettings); rc.Planar = GetBool(idxPlanar, pSettings); rc.ProjectSnapToCPlane = GetBool(idxProjectSnapToCPlane, pSettings); rc.UseHorizontalDialog = GetBool(idxUseHorizontalDialog, pSettings); rc.ExtendTrimLines = GetBool(idxExtendTrimLines, pSettings); rc.ExtendToApparentIntersection = GetBool(idxExtendToApparentIntersection, pSettings); rc.AltPlusArrow = GetBool(idxAltPlusArrow, pSettings); rc.DisplayControlPolygon = GetBool(idxDisplayControlPolygon, pSettings); rc.HighlightControlPolygon = GetBool(idxHighlightControlPolygon, pSettings); rc.Osnap = !GetBool(idxOsnap, pSettings); rc.SnapToLocked = GetBool(idxSnapToLocked, pSettings); rc.UniversalConstructionPlaneMode = GetBool(idxUniversalConstructionPlaneMode, pSettings); rc.OrthoAngle = GetDouble(idxOrthoAngle, pSettings); rc.NudgeKeyStep = GetDouble(idxNudgeKeyStep, pSettings); rc.CtrlNudgeKeyStep = GetDouble(idxCtrlNudgeKeyStep, pSettings); rc.ShiftNudgeKeyStep = GetDouble(idxShiftNudgeKeyStep, pSettings); rc.OsnapPickboxRadius = GetInt(idxOsnapPickboxRadius, pSettings); rc.NudgeMode = GetInt(idxNudgeMode, pSettings); rc.ControlPolygonDisplayDensity = GetInt(idxControlPolygonDisplayDensity, pSettings); rc.OsnapCursorMode = (CursorMode)GetInt(idxOSnapCursorMode, pSettings); rc.OsnapModes = (OsnapModes)GetInt(idxOSnapModes, pSettings); rc.MousePickboxRadius = GetInt(idxMousePickboxRadius, pSettings); rc.PointDisplay = (PointDisplayMode)GetInt(idxPointDisplay, pSettings); UnsafeNativeMethods.CRhinoAppModelAidSettings_Delete(pSettings); return rc; }