/// <summary>
        /// コンバート
        /// </summary>
        /// <param name="parameter"></param>
        private void Convert(object parameter)
        {
            STLLoader stlModel = new STLLoader(InputFilePath);

            if (!stlModel.Load())
            {
                MessageBox.Show(
                    "STLのLoadに失敗しました。",
                    "エラー",
                    MessageBoxButton.OK,
                    MessageBoxImage.Error);
                return;
            }

            HalfEdge halfEdge = new HalfEdge();

            if (!halfEdge.Create(stlModel.Vertex))
            {
                MessageBox.Show(
                    "STLのConvertに失敗しました。",
                    "エラー",
                    MessageBoxButton.OK,
                    MessageBoxImage.Error);
                return;
            }

            halfEdge.WriteFile(OutputFilePath, SelectedVersion, DoBinary);

            MessageBox.Show(
                "STLのConvertに成功しました。",
                "成功",
                MessageBoxButton.OK,
                MessageBoxImage.Information);
        }
Exemple #2
0
        /// <summary>
        /// Crée les objets de base : renderer, axes, interactor.
        /// </summary>
        private void initBaseObjects()
        {
            // Nous créons un renderer qui va faire le rendu de notre entitée.
            _renderer = vtkRenderer.New();

            _stlLoader             = new STLLoader(this._renderer);
            _stlLoader.VolumeColor = Properties.Settings.Default.VolumeColor;
            _stlLoader.EdgeColor   = Properties.Settings.Default.EdgeColor;
            _stlLoader.ShowVolume  = Properties.Settings.Default.ShowVolume;
            _stlLoader.ShowEdges   = Properties.Settings.Default.ShowEdges;

            this.aretesToolStripMenuItem.Checked = (bool)loadSetting("ShowEdges");
            this.volumeToolStripMenuItem.Checked = (bool)loadSetting("ShowVolume");


            _renderer.SetBackground(1, 1, 1); // background color white

            vtkRenderCtl.RenderWindow.AddRenderer(_renderer);

            // Nous créons un interactor qui permet de bouger la caméra.
            _interactor = vtkRenderWindowInteractor.New();

            _interactor.SetRenderWindow(vtkRenderCtl.RenderWindow);

            //axes
            vtkAxes axes = vtkAxes.New();

            axes.SetScaleFactor(10);

            addActor(axes.GetOutput());

            /*
             * //outil de mesure
             * vtkDistanceWidget wdgDistance = vtkDistanceWidget.New();
             * wdgDistance.SetInteractor(_interactor);
             * wdgDistance.CreateDefaultRepresentation();
             * ((vtkDistanceRepresentation)wdgDistance.GetRepresentation()).SetLabelFormat("%-#6.3g mm");
             * wdgDistance.On();
             */

            Camera.SetPosition(0, 0, -300);

            vtkRenderCtl.RenderWindow.Render();

            _interactor.RenderEvt += _interactor_RenderEvt;

            vtkInteractorStyleSwitch style = vtkInteractorStyleSwitch.New();

            style.SetCurrentStyleToTrackballCamera();

            _interactor.SetInteractorStyle(style);

            _interactor.Start();
        }