示例#1
0
        private ThreeDeeEditor(MainForm xiMainForm)
            : base(xiMainForm)
        {
            MoveScale = 100;

              mMainForm.KeyPreview = true;
              mMainForm.DialogKey +=new KeyEventHandler(MainForm_KeyDown);
              mMainForm.FormClosing += new FormClosingEventHandler(mMainForm_FormClosing);

              mMainForm.ChunkTreeView.NodeMouseClick += new TreeNodeMouseClickEventHandler(ChunkTreeView_NodeMouseClick);

              mScene = new MMEdScene();

              Camera lCameraBottomLeft = new Camera(80, 0.1, 1e10);
              lCameraBottomLeft.ProjectionMode = eProjectionMode.Orthographic;
              CreateView(mMainForm.Viewer3DRenderingSurfaceBottomLeft, mScene, lCameraBottomLeft, RenderMode.Wireframe);

              Camera lCameraBottomRight = new Camera(80, 0.1, 1e10);
              lCameraBottomRight.ProjectionMode = eProjectionMode.Orthographic;
              CreateView(mMainForm.Viewer3DRenderingSurfaceBottomRight, mScene, lCameraBottomRight, RenderMode.Wireframe);

              CreateView(mMainForm.Viewer3DRenderingSurfaceTopRight, mScene, new Camera(80, 0.1, 1e10), RenderMode.Undefined);

              Camera lCameraTopLeft = new Camera(80, 0.1, 1e10);
              lCameraTopLeft.ProjectionMode = eProjectionMode.Orthographic;
              CreateView(mMainForm.Viewer3DRenderingSurfaceTopLeft, mScene, lCameraTopLeft, RenderMode.Wireframe);

              //add view mode menus:
              mOptionsMenu = new ToolStripMenuItem("3D");
              //
              PropertyController lMoveCtrl = new PropertyController(this, "MovementMode");
              mOptionsMenu.DropDownItems.AddRange(lMoveCtrl.CreateMenuItems());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              PropertyController lNormCtrl = new PropertyController(this, "DrawNormalsMode");
              mOptionsMenu.DropDownItems.AddRange(lNormCtrl.CreateMenuItems());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              PropertyController lTexModeCtrl = new PropertyController(this, "TextureMode");
              mOptionsMenu.DropDownItems.AddRange(lTexModeCtrl.CreateMenuItems());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              PropertyController lSelMetaCtrl = new PropertyController(this, "SelectedMetadata");
              mOptionsMenu.DropDownItems.Add(lSelMetaCtrl.CreateToolStripComboBox());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              mOptionsMenu.DropDownItems.Add(new ToolStripMenuItem("Hide all invisible Flats", null, new EventHandler(this.HideAllInvisibleFlats)));
              mOptionsMenu.DropDownItems.Add(new ToolStripMenuItem("Refresh View", null, new EventHandler(this.RefreshView)));
              mMainForm.mMenuStrip.Items.Add(mOptionsMenu);

              ResetCamera();

              MovementMode = eMovementMode.FlyMode;
              DrawNormalsMode = eDrawNormalsMode.HideNormals;
              TextureMode = eTextureMode.NormalTextures;
              SelectedMetadata = eTexMetaDataEntries.Waypoint;
        }
示例#2
0
        private VRAMViewer(MainForm xiMainForm)
            : base(xiMainForm)
        {
            //add view mode menus:
              mOptionsMenu = new ToolStripMenuItem("VRAM");
              //
              // create menu options
              PropertyController.NamedValueHolder[] lPropValues = new PropertyController.NamedValueHolder[33];
              lPropValues[0] = new PropertyController.NamedValueHolder("Show entire VRAM", -1);
              for (int i = 0; i < 32; i++)
            lPropValues[i+1] = new PropertyController.NamedValueHolder(string.Format("Page {0}", i), i);
              PropertyController lPageCtrl = new PropertyController(this, "SelectedPage", lPropValues);
              mOptionsMenu.DropDownItems.AddRange(lPageCtrl.CreateMenuItems());

              mMainForm.mMenuStrip.Items.Add(mOptionsMenu);
        }
示例#3
0
        private ThreeDeeViewer(MainForm xiMainForm)
            : base(xiMainForm)
        {
            mMainForm.KeyPreview = true;
              mMainForm.KeyPress += new KeyPressEventHandler(this.KeyPressHandle);
              mMainForm.FormClosing += new FormClosingEventHandler(mMainForm_FormClosing);
              mMainForm.Viewer3DRenderingSurface.MouseDown += new MouseEventHandler(Viewer3DRenderingSurface_MouseDown);
              mMainForm.Viewer3DRenderingSurface.MouseUp += new MouseEventHandler(Viewer3DRenderingSurface_MouseUp);
              mMainForm.Viewer3DRenderingSurface.MouseMove += new MouseEventHandler(Viewer3DRenderingSurface_MouseMove);
              mMainForm.ChunkTreeView.NodeMouseClick += new TreeNodeMouseClickEventHandler(ChunkTreeView_NodeMouseClick);

              mRenderer = new ImmediateModeRenderer();
              mRenderer.Attach(mMainForm.Viewer3DRenderingSurface);

              mScene = new Scene();
              mCamera = new Camera(80, 0.1, 1e10);
              mView = new MMEdViewerView(this, mScene, mCamera, mRenderer);
              mLight = new Light();
              mLight.DiffuseIntensity = 0.1;
              mLight.SpecularIntensity = 0.02;

              //add view mode menus:
              mOptionsMenu = new ToolStripMenuItem("3D");
              //
              PropertyController lMoveCtrl = new PropertyController(this, "MovementMode");
              mOptionsMenu.DropDownItems.AddRange(lMoveCtrl.CreateMenuItems());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              PropertyController lLightCtrl = new PropertyController(this, "LightingMode");
              mOptionsMenu.DropDownItems.AddRange(lLightCtrl.CreateMenuItems());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              PropertyController lNormCtrl = new PropertyController(this, "DrawNormalsMode");
              mOptionsMenu.DropDownItems.AddRange(lNormCtrl.CreateMenuItems());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              PropertyController lTexModeCtrl = new PropertyController(this, "TextureMode");
              mOptionsMenu.DropDownItems.AddRange(lTexModeCtrl.CreateMenuItems());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              PropertyController lSelMetaCtrl = new PropertyController(this, "SelectedMetadata");
              mOptionsMenu.DropDownItems.Add(lSelMetaCtrl.CreateToolStripComboBox());
              mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
              //
              mOptionsMenu.DropDownItems.Add(new ToolStripMenuItem("Hide all invisible Flats", null, new EventHandler(this.HideAllFlatsWithoutFlgDClicked)));
              //
              if (DEBUG_ALLOW_LOAD_SAVE_SCENE)
              {
            mOptionsMenu.DropDownItems.Add(new ToolStripSeparator());
            mOptionsMenu.DropDownItems.Add(new ToolStripMenuItem(
              "Save scene to XML...",
              null,
              SaveSceneToXML));
            mOptionsMenu.DropDownItems.Add(new ToolStripMenuItem(
              "Load scene from XML...",
              null,
              LoadSceneFromXML));
              }
              mOptionsMenu.DropDownItems.Add(new ToolStripMenuItem(
            "Export scene to VRML...",
            null,
            ExportSceneToVRML));
              //
              mMainForm.mMenuStrip.Items.Add(mOptionsMenu);
        }