public ImprovedTextBlockVisual3D() { InitializeComponent(); var rnd = new Random(); _randomIndexes = Enumerable.Range(0, 10).OrderBy(n => rnd.Next(100)).ToArray(); // randomize an array of 10 integers _wpfTestScene = new TestScene(WpfViewport3D, isInDXEngine: false); _wpfTestScene.CreatesTestScene(_randomIndexes); _dxTestScene = new TestScene(DXViewport3D, isInDXEngine: true); _dxTestScene.CreatesTestScene(_randomIndexes); var alphaClipThreshold = (AlphaClipCheckBox.IsChecked ?? false) ? UsedAlphaClipThreshold : 0f; _dxTestScene.SetDXEngineSettings(UseSolidColorEffectCheckBox.IsChecked ?? false, alphaClipThreshold); CopyWpfCamera(); // Copy settings from WpfCamera to DXCamera WpfCamera.StartRotation(20, 0); this.Unloaded += (sender, args) => MainDXViewportView.Dispose(); }
internal FormCamera(IObjectLabel label, WpfCamera camera) : this() { this.LoadControlResources(); this.label = label; UpdateFormUI(); this.camera = camera; toolStripTextBoxFieldOfView.Text = camera.FieldOfView + ""; toolStripTextBoxNearPlaneDistance.Text = camera.NearPlaneDistance + ""; toolStripTextBoxFarPlaneDistance.Text = camera.FarPlaneDistance + ""; toolStripTextBoxScale.Text = camera.Scale + ""; Motion6D.Interfaces.ILinear6DForecast forecast = camera; toolStripTextBoxCoordinateError.Text = forecast.CoordinateError + ""; toolStripTextBoxAngleError.Text = (forecast.AngleError * 180 / Math.PI) + ""; toolStripTextBoxForecatTime.Text = forecast.ForecastTime.TotalSeconds + ""; Action <object, Action> act = (object o, Action a) => { userControlCameraForm.InvokeIfNeeded(a); }; camera.Set(userControlCameraForm.Control, userControlCameraForm, act); userControlCameraForm.CameraBackground = camera.CameraBackground; }