protected override void UpdateInternal() { if (isFiestUpdate) { } var ctrl = Manager.Viewer.ViewPointController; var focusPosition = ctrl.GetFocusPosition(); var f = new float[] { focusPosition.X, focusPosition.Y, focusPosition.Z }; var rx = ctrl.GetAngleX(); var ry = ctrl.GetAngleY(); var rx_ = new float[] { rx }; var ry_ = new float[] { ry }; var d = new float[] { ctrl.GetDistance() }; var s = new float[] { ctrl.RateOfMagnification }; var cs = new float[] { ctrl.ClippingStart }; var ce = new float[] { ctrl.ClippingEnd }; if (Manager.NativeManager.DragFloat3(Resources.GetString("Viewpoint") + id_f, f)) { ctrl.SetFocusPosition(new swig.Vector3F(f[0], f[1], f[2])); } if (Manager.NativeManager.DragFloat(Resources.GetString("XRotation") + id_rx, rx_)) { ctrl.SetAngleX(rx_[0]); } if (Manager.NativeManager.DragFloat(Resources.GetString("YRotation") + id_ry, ry_)) { ctrl.SetAngleY(ry_[0]); } if (Manager.NativeManager.DragFloat(Resources.GetString("PoVDistance") + id_d, d)) { ctrl.SetDistance(d[0]); } if (Manager.NativeManager.DragFloat(Resources.GetString("Zoom") + id_s, s)) { ctrl.RateOfMagnification = s[0]; } if (Manager.NativeManager.DragFloat(Resources.GetString("Clipping") + "\n" + Resources.GetString("Start") + id_cs, cs)) { ctrl.ClippingStart = cs[0]; } if (Manager.NativeManager.DragFloat(Resources.GetString("Clipping") + "\n" + Resources.GetString("End") + id_ce, ce)) { ctrl.ClippingEnd = ce[0]; } if (Manager.NativeManager.BeginCombo(Resources.GetString("CameraMode") + id_t, viewTypes[ctrl.GetProjectionType() == swig.ProjectionType.Perspective ? 0 : 1], swig.ComboFlags.None)) { if (Manager.NativeManager.Selectable(viewTypes[0])) { ctrl.SetProjectionType(swig.ProjectionType.Perspective); Manager.NativeManager.SetItemDefaultFocus(); } if (Manager.NativeManager.Selectable(viewTypes[1])) { ctrl.SetProjectionType(swig.ProjectionType.Orthographic); Manager.NativeManager.SetItemDefaultFocus(); } Manager.NativeManager.EndCombo(); } if (Manager.NativeManager.Button(Resources.GetString("Save") + "###btn1")) { var filter = "view"; var result = swig.FileDialog.SaveDialog(filter, System.IO.Directory.GetCurrentDirectory()); if (!string.IsNullOrEmpty(result)) { var filename = result; if (System.IO.Path.GetExtension(filename) != "." + filter) { filename += "." + filter; } var focusPositionSaved = ctrl.GetFocusPosition(); Data.ViewPoint viewPoint = new Data.ViewPoint(); viewPoint.FocusX = focusPositionSaved.X; viewPoint.FocusY = focusPositionSaved.Y; viewPoint.FocusZ = focusPositionSaved.Z; viewPoint.Distance = ctrl.GetDistance(); viewPoint.AngleX = ctrl.GetAngleX(); viewPoint.AngleY = ctrl.GetAngleY(); viewPoint.ClippingStart = ctrl.ClippingStart; viewPoint.ClippingEnd = ctrl.ClippingEnd; viewPoint.CameraMode = ctrl.GetProjectionType() == swig.ProjectionType.Perspective ? 0 : 1; viewPoint.RateOfMagnification = ctrl.RateOfMagnification; viewPoint.Save(filename); } } if (Manager.NativeManager.Button(Resources.GetString("Load") + "###btn2")) { var filter = "view"; var result = swig.FileDialog.OpenDialog(filter, System.IO.Directory.GetCurrentDirectory()); if (!string.IsNullOrEmpty(result)) { var viewPoint = Data.ViewPoint.Load(result); if (viewPoint != null) { ctrl.SetFocusPosition(new swig.Vector3F(viewPoint.FocusX, viewPoint.FocusY, viewPoint.FocusZ)); ctrl.SetDistance(viewPoint.Distance); ctrl.SetProjectionType(viewPoint.CameraMode == 0 ? swig.ProjectionType.Perspective : swig.ProjectionType.Orthographic); ctrl.SetAngleX(viewPoint.AngleX); ctrl.SetAngleY(viewPoint.AngleY); ctrl.ClippingStart = viewPoint.ClippingStart; ctrl.ClippingEnd = viewPoint.ClippingEnd; ctrl.RateOfMagnification = viewPoint.RateOfMagnification; } } } }
protected override void UpdateInternal() { if (isFiestUpdate) { } var viewerParameter = Manager.Viewer.GetViewerParamater(); var fx = viewerParameter.FocusX; var fy = viewerParameter.FocusY; var fz = viewerParameter.FocusZ; var f = new float[] { fx, fy, fz }; var rx = viewerParameter.AngleX; var ry = viewerParameter.AngleY; var rx_ = new float[] { rx }; var ry_ = new float[] { ry }; var d = new float[] { viewerParameter.Distance }; var s = new float[] { viewerParameter.RateOfMagnification }; var cs = new float[] { viewerParameter.ClippingStart }; var ce = new float[] { viewerParameter.ClippingEnd }; if (Manager.NativeManager.DragFloat3(Resources.GetString("Viewpoint") + id_f, f)) { viewerParameter.FocusX = f[0]; viewerParameter.FocusY = f[1]; viewerParameter.FocusZ = f[2]; } if (Manager.NativeManager.DragFloat(Resources.GetString("XRotation") + id_rx, rx_)) { viewerParameter.AngleX = rx_[0]; } if (Manager.NativeManager.DragFloat(Resources.GetString("YRotation") + id_ry, ry_)) { viewerParameter.AngleY = ry_[0]; } if (Manager.NativeManager.DragFloat(Resources.GetString("PoVDistance") + id_d, d)) { viewerParameter.Distance = d[0]; } if (Manager.NativeManager.DragFloat(Resources.GetString("Zoom") + id_s, s)) { viewerParameter.RateOfMagnification = s[0]; } if (Manager.NativeManager.DragFloat(Resources.GetString("Clipping") + "\n" + Resources.GetString("Start") + id_cs, cs)) { viewerParameter.ClippingStart = cs[0]; } if (Manager.NativeManager.DragFloat(Resources.GetString("Clipping") + "\n" + Resources.GetString("End") + id_ce, ce)) { viewerParameter.ClippingEnd = ce[0]; } if (Manager.NativeManager.BeginCombo(Resources.GetString("CameraMode") + id_t, viewTypes[viewerParameter.IsPerspective ? 0 : 1], swig.ComboFlags.None)) { if (Manager.NativeManager.Selectable(viewTypes[0])) { viewerParameter.IsPerspective = true; viewerParameter.IsOrthographic = false; Manager.NativeManager.SetItemDefaultFocus(); } if (Manager.NativeManager.Selectable(viewTypes[1])) { viewerParameter.IsOrthographic = true; viewerParameter.IsPerspective = false; Manager.NativeManager.SetItemDefaultFocus(); } Manager.NativeManager.EndCombo(); } if (Manager.NativeManager.Button(Resources.GetString("Save") + "###btn1")) { var filter = "view"; var result = swig.FileDialog.SaveDialog(filter, System.IO.Directory.GetCurrentDirectory()); if (!string.IsNullOrEmpty(result)) { var filename = result; if (System.IO.Path.GetExtension(filename) != "." + filter) { filename += "." + filter; } Data.ViewPoint viewPoint = new Data.ViewPoint(); viewPoint.FocusX = viewerParameter.FocusX; viewPoint.FocusY = viewerParameter.FocusY; viewPoint.FocusZ = viewerParameter.FocusZ; viewPoint.Distance = viewerParameter.Distance; viewPoint.AngleX = viewerParameter.AngleX; viewPoint.AngleY = viewerParameter.AngleY; viewPoint.ClippingStart = viewerParameter.ClippingStart; viewPoint.ClippingEnd = viewerParameter.ClippingEnd; viewPoint.CameraMode = viewerParameter.IsPerspective ? 0 : 1; viewPoint.RateOfMagnification = viewerParameter.RateOfMagnification; viewPoint.Save(filename); } } if (Manager.NativeManager.Button(Resources.GetString("Load") + "###btn2")) { var filter = "view"; var result = swig.FileDialog.OpenDialog(filter, System.IO.Directory.GetCurrentDirectory()); if (!string.IsNullOrEmpty(result)) { var viewPoint = Data.ViewPoint.Load(result); if (viewPoint != null) { viewerParameter.FocusX = viewPoint.FocusX; viewerParameter.FocusY = viewPoint.FocusY; viewerParameter.FocusZ = viewPoint.FocusZ; viewerParameter.Distance = viewPoint.Distance; viewerParameter.AngleX = viewPoint.AngleX; viewerParameter.AngleY = viewPoint.AngleY; viewerParameter.ClippingStart = viewPoint.ClippingStart; viewerParameter.ClippingEnd = viewPoint.ClippingEnd; viewerParameter.IsPerspective = viewPoint.CameraMode == 0; viewerParameter.IsOrthographic = !viewerParameter.IsPerspective; viewerParameter.RateOfMagnification = viewPoint.RateOfMagnification; } } } Manager.Viewer.SetViewerParamater(viewerParameter); }