diff --git a/ConstGen.vb b/ConstGen.vb new file mode 100644 index 0000000..6b4b837 --- /dev/null +++ b/ConstGen.vb @@ -0,0 +1,33 @@ +'---------------------------------------------------------------------------- +' EgalTech 2015-2015 +'---------------------------------------------------------------------------- +' File : ConstGen.vb Data : 12.02.15 Versione : 1.6b3 +' Contenuto : Modulo costanti generali. +' +' +' +' Modifiche : 12.02.15 DS Creazione modulo. +' +' +'---------------------------------------------------------------------------- + +Module ConstGen + +' File con indicazione radice dei dati di configurazione +Public Const DAT_FILE_NAME As String = "DataRoot.Ini" +Public Const S_DATA As String = "Data" +Public Const K_DATAROOT As String = "DataRoot" + +' File di log generale ( # per numero di istanza) +Public Const GENLOG_FILE_NAME As String = "EInGenLog#.txt" + +' File di log dei comandi ( # per numero di istanza) +Public Const CMDLOG_FILE_NAME As String = "EInCmdLog#.tua" + +' Sottodirettorio di configurazione +Public Const CONF_DIR As String = "Config" + +' Sottodirettorio temporaneo +Public Const TEMP_DIR As String = "Temp" + +End Module diff --git a/ConstIni.vb b/ConstIni.vb new file mode 100644 index 0000000..0a89e65 --- /dev/null +++ b/ConstIni.vb @@ -0,0 +1,69 @@ +'---------------------------------------------------------------------------- +' EgalTech 2015-2015 +'---------------------------------------------------------------------------- +' File : ConstIni.vb Data : 12.02.15 Versione : 1.6b3 +' Contenuto : Modulo costanti sezione e chiavi per file Ini. +' +' +' +' Modifiche : 12.02.15 DS Creazione modulo. +' +' +'---------------------------------------------------------------------------- + +Module ConstIni + +Public Const INI_FILE_NAME As String = "TestEIn.ini" + +Public Const S_GENERAL As String = "General" +Public Const K_DEBUG As String = "Debug" +Public Const K_MAXINST As String = "MaxInstances" +Public Const K_INSTANCES As String = "Instances" +Public Const K_COMMANDLOG As String = "CommandLog" +Public Const K_KEY As String = "Key" +Public Const K_MESSAGES As String = "Messages" +Public Const K_WINPLACE As String = "WinPlace" +Public Const K_LASTNGEDIR As String = "LastNgeDir" +Public Const K_LASTLUADIR As String = "LastLuaDir" +Public Const K_LASTIMPDIR As String = "LastImpDir" +Public Const K_LASTEXPDIR As String = "LastExpDir" + +Public Const S_LUA As String = "Lua" +Public Const K_LIBSDIR As String = "LibsDir" +Public Const K_BASELIB As String = "BaseLib" + +Public Const S_OPENGL As String = "OpenGL" +Public Const K_DOUBLEBUFFER As String = "DoubleBuffer" +Public Const K_COLORBITS As String = "ColorBits" +Public Const K_DEPTHBITS As String = "DepthBits" +Public Const K_DRIVER As String = "Driver" + +Public Const S_GEOMDB As String = "GeomDB" +Public Const K_DEFAULTFONT As String = "DefaultFont" +Public Const K_NFEFONTDIR As String = "NfeFontDir" +Public Const K_DEFAULTCOLOR As String = "DefaultColor" +Public Const K_SAVETYPE As String = "SaveType" + +Public Const S_SCENE As String = "Scene" +Public Const K_BACKTOP As String = "BackTop" +Public Const K_BACKBOTTOM As String = "BackBottom" +Public Const K_SHOWGFRAME As String = "ShowGFrame" +Public Const K_MARK As String = "Mark" +Public Const K_SELSURF As String = "SelSurf" +Public Const K_SHOWMODE As String = "ShowMode" +Public Const K_CURVEDIR As String = "CurveDir" +Public Const K_SHOWTRIAADV As String = "ShowTriaAdv" +Public Const K_ZOOMWIN As String = "ZoomWin" +Public Const K_DISTLINE As String = "DistLine" + +Public Const S_GRID As String = "Grid" +Public Const K_SHOWGRID As String = "ShowGrid" +Public Const K_SHOWFRAME As String = "ShowFrame" +Public Const K_SNAPSTEP As String = "SnapStep" +Public Const K_MINLINESSTEP As String = "MinLineSStep" +Public Const K_MAJLINESSTEP As String = "MajLineSStep" +Public Const K_EXTSSTEP As String = "ExtSStep" +Public Const K_MINLNCOLOR As String = "MinLnColor" +Public Const K_MAJLNCOLOR As String = "MajLnColor" + +End Module diff --git a/Controller.vb b/Controller.vb index 25e42d6..9c31190 100644 --- a/Controller.vb +++ b/Controller.vb @@ -77,6 +77,7 @@ Public Class Controller ARC3P ARCPDP RECTANGLE2P + POLYGON POLYGONSIDE TEXT TEXTPLUS @@ -114,6 +115,7 @@ Public Class Controller BACK LEFT BOTTOM + VIEW End Enum Private m_nLastCmd As CMD = CMD.NULL Private m_nStep As Integer = 0 @@ -827,6 +829,9 @@ Public Class Controller ' Rectangle 2P Case CMD.RECTANGLE2P Return ProcessRectangle2P() + ' Polygon + Case CMD.POLYGON + Return ProcessPolygon() ' Polygon Side Case CMD.POLYGONSIDE Return ProcessPolygonSide() @@ -938,6 +943,8 @@ Public Class Controller DragArcPDP() Case CMD.RECTANGLE2P DragRectangle2P() + Case CMD.POLYGON + DragPolygon() Case CMD.POLYGONSIDE DragPolygonSide() Case CMD.TEXT @@ -1021,6 +1028,12 @@ Public Class Controller frNew.Setup(Point3d.ORIG, -Vector3d.Y_AX, Vector3d.Z_AX, -Vector3d.X_AX) Case GRID_TYPE.BOTTOM frNew.Setup(Point3d.ORIG, -Vector3d.X_AX, Vector3d.Y_AX, -Vector3d.Z_AX) + Case GRID_TYPE.VIEW + Dim dAngVertDeg As Double + Dim dAngHorizDeg As Double + EgtGetGenericView(dAngVertDeg, dAngHorizDeg) + Dim vtDir As Vector3d = Vector3d.FromSpherical(1, dAngVertDeg, dAngHorizDeg) + frNew.Setup(Point3d.ORIG, vtDir) Case Else Return False End Select @@ -2352,6 +2365,78 @@ Public Class Controller End If End Sub + Private Function ProcessPolygon() As Boolean + Select Case m_nStep + Case 0 + ' deve esistere un gruppo corrente e devo poter creare il gruppo di drag + If GetCurrLayer() = GDB_ID.NULL Or Not m_Scene.CreateDragGroup() Then + Return False + End If + ' imposto stato a numero lati per PolygonSide + m_nStep = 1 + m_Scene.SetStatusNull() + ' abilito dialogo + RaiseEvent PrepareInputBox("POLYGON", "Insert Side Nbr", "", False, False) + m_nInpType = IBT.TY_INTEGER + m_nLast = 3 + SetInputBoxInteger(m_nLast) + Case 1 + m_Scene.SetStatusSelPoint() + m_nStep = 2 + RaiseEvent PrepareInputBox("POLYGON", "Insert Center Point", "Internal Radius", False, False) + m_nInpType = IBT.TY_POINT3D + SetInputBoxPoint3d(m_ptCont) + RaiseEvent SetInputBoxCheck(False) + Case 2 + m_ptP1 = m_ptLast + m_nStep = 3 + RaiseEvent PrepareInputBox("POLYGON", "Insert Side Point", "Internal Radius", False, True) + m_nInpType = IBT.TY_POINT3D + SetInputBoxPoint3d(m_ptLast.Loc(GDB_ID.GRID)) + Case 3 + ' reset scena + m_Scene.ResetStatus(False) + ' creo il poligono (i punti sono in globale) + EnableCommandLog() + Dim nId As Integer = GDB_ID.NULL + If Not m_bLast Then + nId = EgtCreatePolygonFromRadius(GetCurrLayer(), m_nLast, m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), Vector3d.Z_AX, REF_TY.GRID) + Else + nId = EgtCreatePolygonFromApothem(GetCurrLayer(), m_nLast, m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), Vector3d.Z_AX, REF_TY.GRID) + End If + DisableCommandLog() + EgtDraw() + ' aggiorno stato + m_nStep = 0 + RaiseEvent UpdateUI(Me, True) + Case Else + m_nStep = 0 + Return False + End Select + Return True + End Function + + Private Sub DragPolygon() + ' il gruppo di Drag ha riferimento globale + If m_nStep = 3 Then + EgtSetGeoLine(m_ptP1, m_ptLast) + ' recupero possibile entità già nel gruppo di drag + Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) + EgtErase(nId) + ' creo il poligono (drag è in globale) + If Not m_bLast Then + EgtCreatePolygonFromRadius(m_Scene.GetDragGroup(), m_nLast, m_ptP1, m_ptLast, + Vector3d.Z_AX().Glob(GDB_ID.GRID), REF_TY.GLOB) + Else + EgtCreatePolygonFromApothem(m_Scene.GetDragGroup(), m_nLast, m_ptP1, m_ptLast, + Vector3d.Z_AX().Glob(GDB_ID.GRID), REF_TY.GLOB) + End If + EgtDraw() + End If + End Sub + Private Function ProcessPolygonSide() As Boolean Select Case m_nStep Case 0 @@ -4028,15 +4113,14 @@ Public Class Controller '-------------------------------- Registrazione Comandi (in Lua) --------------------------------- Private m_bCommandLog As Boolean = False - Public Function SetCommandLog(ByVal bCmdLog As Boolean, ByVal sCmdLogDir As String, ByVal nId As Integer) As Boolean + Public Function SetCommandLog(ByVal bCmdLog As Boolean, ByVal sCmdLogDir As String, ByVal sCmdLogFile As String) As Boolean ' imposto stato m_bCommandLog = bCmdLog ' se necessario inizializzo logger If m_bCommandLog Then - Dim sCmdLog As String = "EInCmdLua" & nId & ".log" - Dim sCmdBak As String = sCmdLog & ".bak" - Dim sFile = sCmdLogDir & "\" & sCmdLog - Dim sBackup = sCmdLogDir & "\" & sCmdBak + Dim sCmdBakFile As String = sCmdLogFile & ".bak" + Dim sFile = sCmdLogDir & "\" & sCmdLogFile + Dim sBackup = sCmdLogDir & "\" & sCmdBakFile ' se logger già in uso, non faccio alcunchè e non lo avvio If FileInUse(sFile) Then m_bCommandLog = False @@ -4049,7 +4133,7 @@ Public Class Controller My.Computer.FileSystem.DeleteFile(sBackup) End If ' rinomino il file - My.Computer.FileSystem.RenameFile(sFile, sCmdBak) + My.Computer.FileSystem.RenameFile(sFile, sCmdBakFile) End If ' avvio logger EgtSetCommandLogger(sFile) diff --git a/EgtInterface.vb b/EgtInterface.vb index c4a852f..f8f22d0 100644 --- a/EgtInterface.vb +++ b/EgtInterface.vb @@ -910,6 +910,16 @@ Public Function EgtCreateRectangle3P(ByVal nParentId As Integer, ByRef PtDir As Point3d, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer End Function + +Public Function EgtCreatePolygonFromRadius(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtCen As Point3d, + ByRef PtCorn As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer +End Function + + +Public Function EgtCreatePolygonFromApothem(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtCen As Point3d, + ByRef PtMid As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer +End Function + Public Function EgtCreatePolygonFromSide(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtStart As Point3d, ByRef PtFin As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer @@ -1810,6 +1820,14 @@ End Function Public Function EgtGetShowCurveDirection() As Boolean End Function + +Public Function EgtSetShowTriaAdv(ByVal bAdvanced As Boolean, Optional ByVal bRedraw As Boolean = True) As Boolean +End Function + + +Public Function EgtGetShowTriaAdv() As Boolean +End Function + Public Function EgtZoom(ByVal nZoom As ZM, Optional ByVal bRedraw As Boolean = True) As Boolean End Function @@ -1860,21 +1878,25 @@ Public Function EgtSetView(ByVal nView As VT, Optional ByVal bRedraw As Boolean End Function -Private Function EgtPanCamera(ByVal nPrevX As Integer, ByVal nPrevY As Integer, ByVal nCurrX As Integer, ByVal nCurrY As Integer, ByVal bRedraw As Boolean) As Boolean +Private Function EgtPanView(ByVal nPrevX As Integer, ByVal nPrevY As Integer, ByVal nCurrX As Integer, ByVal nCurrY As Integer, ByVal bRedraw As Boolean) As Boolean End Function -Public Function EgtPanCamera(ByVal Prev As Point, ByVal Curr As Point, Optional ByVal bRedraw As Boolean = True) As Boolean - Return EgtPanCamera(Prev.X, Prev.Y, Curr.X, Curr.Y, bRedraw) +Public Function EgtPanView(ByVal Prev As Point, ByVal Curr As Point, Optional ByVal bRedraw As Boolean = True) As Boolean + Return EgtPanView(Prev.X, Prev.Y, Curr.X, Curr.Y, bRedraw) End Function -Private Function EgtRotateCamera(ByVal nPrevX As Integer, ByVal nPrevY As Integer, ByVal nCurrX As Integer, ByVal nCurrY As Integer, ByVal bRedraw As Boolean) As Boolean +Private Function EgtRotateView(ByVal nPrevX As Integer, ByVal nPrevY As Integer, ByVal nCurrX As Integer, ByVal nCurrY As Integer, ByVal bRedraw As Boolean) As Boolean End Function -Public Function EgtRotateCamera(ByVal Prev As Point, ByVal Curr As Point, Optional ByVal bRedraw As Boolean = True) As Boolean - Return EgtRotateCamera(Prev.X, Prev.Y, Curr.X, Curr.Y, bRedraw) +Public Function EgtRotateView(ByVal Prev As Point, ByVal Curr As Point, Optional ByVal bRedraw As Boolean = True) As Boolean + Return EgtRotateView(Prev.X, Prev.Y, Curr.X, Curr.Y, bRedraw) End Function -Public Function EgtGetCameraDir(ByRef nDir As Integer) As Boolean +Public Function EgtGetView(ByRef nDir As Integer) As Boolean +End Function + + +Public Function EgtGetGenericView(ByRef dAngVertDeg As Double, ByRef dAngHorizDeg As Double) As Boolean End Function @@ -2016,6 +2038,20 @@ Private Function EgtFrameLocToLoc(ByRef PtOrig As Point3d, ByRef VtX As Vector3d End Function +'---------- Messages ----------------------------------------------------------- + +Public Function EgtLoadMessages(ByVal sMsgFilePath As String) As Boolean +End Function + + +Private Function EgtGetMsg(ByVal nId As Integer) As IntPtr +End Function +Public Function EgtMsg(ByVal nId As Integer) As String + Return Marshal.PtrToStringUni(EgtGetMsg(nId)) + ' Non è necessario liberare la memoria nativa perchè usa un buffer statico +End Function + + '---------- Costanti ----------------------------------------------------------- 'Costanti : GEOMETRIA Public Const EPS_SMALL As Double = 0.001 diff --git a/Form1.Designer.vb b/Form1.Designer.vb index a259ca5..de3a766 100644 --- a/Form1.Designer.vb +++ b/Form1.Designer.vb @@ -27,7 +27,7 @@ Partial Class Form1 Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() Me.Scene1 = New TestEIn.Scene() Me.TabControl1 = New System.Windows.Forms.TabControl() - Me.TabHome = New System.Windows.Forms.TabPage() + Me.TabFile = New System.Windows.Forms.TabPage() Me.btnInsert = New System.Windows.Forms.Button() Me.btnSaveAs = New System.Windows.Forms.Button() Me.PictureBox1 = New System.Windows.Forms.PictureBox() @@ -48,9 +48,9 @@ Partial Class Form1 Me.PictureBox4 = New System.Windows.Forms.PictureBox() Me.chkCurveDir = New System.Windows.Forms.CheckBox() Me.PictureBox3 = New System.Windows.Forms.PictureBox() - Me.rbtShading = New System.Windows.Forms.RadioButton() - Me.rbtWireFrame = New System.Windows.Forms.RadioButton() - Me.rbtHiddenLine = New System.Windows.Forms.RadioButton() + Me.btnShading = New System.Windows.Forms.RadioButton() + Me.btnWireFrame = New System.Windows.Forms.RadioButton() + Me.btnHiddenLine = New System.Windows.Forms.RadioButton() Me.btnZoomOut = New System.Windows.Forms.Button() Me.btnIsoSW = New System.Windows.Forms.Button() Me.btnBack = New System.Windows.Forms.Button() @@ -61,6 +61,7 @@ Partial Class Form1 Me.btnZoomIn = New System.Windows.Forms.Button() Me.btnTop = New System.Windows.Forms.Button() Me.TabCPlane = New System.Windows.Forms.TabPage() + Me.btnCPlaneView = New System.Windows.Forms.Button() Me.btnCPlanePerpCurve = New System.Windows.Forms.Button() Me.btnCPlaneObj = New System.Windows.Forms.Button() Me.btnCplane3P = New System.Windows.Forms.Button() @@ -95,7 +96,7 @@ Partial Class Form1 Me.InputCombo = New System.Windows.Forms.ComboBox() Me.TabControl2 = New System.Windows.Forms.TabControl() Me.TabDraw = New System.Windows.Forms.TabPage() - Me.btnPolygonSide = New System.Windows.Forms.Button() + Me.btnPolygon = New System.Windows.Forms.Button() Me.btnText = New System.Windows.Forms.Button() Me.btnRectangle2P = New System.Windows.Forms.Button() Me.btnCircleCD = New System.Windows.Forms.Button() @@ -159,7 +160,7 @@ Partial Class Form1 Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) Me.TableLayoutPanel1.SuspendLayout() Me.TabControl1.SuspendLayout() - Me.TabHome.SuspendLayout() + Me.TabFile.SuspendLayout() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.TabView.SuspendLayout() CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).BeginInit() @@ -216,7 +217,7 @@ Partial Class Form1 'TabControl1 ' Me.TableLayoutPanel1.SetColumnSpan(Me.TabControl1, 3) - Me.TabControl1.Controls.Add(Me.TabHome) + Me.TabControl1.Controls.Add(Me.TabFile) Me.TabControl1.Controls.Add(Me.TabView) Me.TabControl1.Controls.Add(Me.TabCPlane) Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill @@ -229,24 +230,24 @@ Partial Class Form1 Me.TabControl1.Size = New System.Drawing.Size(1096, 82) Me.TabControl1.TabIndex = 8 ' - 'TabHome + 'TabFile ' - Me.TabHome.BackColor = System.Drawing.SystemColors.Control - Me.TabHome.Controls.Add(Me.btnInsert) - Me.TabHome.Controls.Add(Me.btnSaveAs) - Me.TabHome.Controls.Add(Me.PictureBox1) - Me.TabHome.Controls.Add(Me.btnNew) - Me.TabHome.Controls.Add(Me.btnOpen) - Me.TabHome.Controls.Add(Me.btnSave) - Me.TabHome.Controls.Add(Me.btnImport) - Me.TabHome.Controls.Add(Me.btnExport) - Me.TabHome.Controls.Add(Me.btnExec) - Me.TabHome.Location = New System.Drawing.Point(4, 22) - Me.TabHome.Margin = New System.Windows.Forms.Padding(0) - Me.TabHome.Name = "TabHome" - Me.TabHome.Size = New System.Drawing.Size(1088, 56) - Me.TabHome.TabIndex = 0 - Me.TabHome.Text = "Home" + Me.TabFile.BackColor = System.Drawing.SystemColors.Control + Me.TabFile.Controls.Add(Me.btnInsert) + Me.TabFile.Controls.Add(Me.btnSaveAs) + Me.TabFile.Controls.Add(Me.PictureBox1) + Me.TabFile.Controls.Add(Me.btnNew) + Me.TabFile.Controls.Add(Me.btnOpen) + Me.TabFile.Controls.Add(Me.btnSave) + Me.TabFile.Controls.Add(Me.btnImport) + Me.TabFile.Controls.Add(Me.btnExport) + Me.TabFile.Controls.Add(Me.btnExec) + Me.TabFile.Location = New System.Drawing.Point(4, 22) + Me.TabFile.Margin = New System.Windows.Forms.Padding(0) + Me.TabFile.Name = "TabFile" + Me.TabFile.Size = New System.Drawing.Size(1088, 56) + Me.TabFile.TabIndex = 0 + Me.TabFile.Text = "File" ' 'btnInsert ' @@ -411,9 +412,9 @@ Partial Class Form1 Me.TabView.Controls.Add(Me.PictureBox4) Me.TabView.Controls.Add(Me.chkCurveDir) Me.TabView.Controls.Add(Me.PictureBox3) - Me.TabView.Controls.Add(Me.rbtShading) - Me.TabView.Controls.Add(Me.rbtWireFrame) - Me.TabView.Controls.Add(Me.rbtHiddenLine) + Me.TabView.Controls.Add(Me.btnShading) + Me.TabView.Controls.Add(Me.btnWireFrame) + Me.TabView.Controls.Add(Me.btnHiddenLine) Me.TabView.Controls.Add(Me.btnZoomOut) Me.TabView.Controls.Add(Me.btnIsoSW) Me.TabView.Controls.Add(Me.btnBack) @@ -581,73 +582,73 @@ Partial Class Form1 Me.PictureBox3.TabIndex = 28 Me.PictureBox3.TabStop = False ' - 'rbtShading + 'btnShading ' - Me.rbtShading.Appearance = System.Windows.Forms.Appearance.Button - Me.rbtShading.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control - Me.rbtShading.FlatAppearance.BorderSize = 0 - Me.rbtShading.FlatAppearance.CheckedBackColor = System.Drawing.SystemColors.GradientActiveCaption - Me.rbtShading.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control - Me.rbtShading.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption - Me.rbtShading.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.rbtShading.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.rbtShading.Image = CType(resources.GetObject("rbtShading.Image"), System.Drawing.Image) - Me.rbtShading.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.rbtShading.Location = New System.Drawing.Point(112, 0) - Me.rbtShading.Margin = New System.Windows.Forms.Padding(0) - Me.rbtShading.Name = "rbtShading" - Me.rbtShading.Size = New System.Drawing.Size(56, 48) - Me.rbtShading.TabIndex = 23 - Me.rbtShading.TabStop = True - Me.rbtShading.Text = "Shading" - Me.rbtShading.TextAlign = System.Drawing.ContentAlignment.BottomCenter - Me.rbtShading.UseCompatibleTextRendering = True - Me.rbtShading.UseVisualStyleBackColor = True + Me.btnShading.Appearance = System.Windows.Forms.Appearance.Button + Me.btnShading.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnShading.FlatAppearance.BorderSize = 0 + Me.btnShading.FlatAppearance.CheckedBackColor = System.Drawing.SystemColors.GradientActiveCaption + Me.btnShading.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnShading.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnShading.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnShading.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnShading.Image = CType(resources.GetObject("btnShading.Image"), System.Drawing.Image) + Me.btnShading.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnShading.Location = New System.Drawing.Point(112, 0) + Me.btnShading.Margin = New System.Windows.Forms.Padding(0) + Me.btnShading.Name = "btnShading" + Me.btnShading.Size = New System.Drawing.Size(56, 48) + Me.btnShading.TabIndex = 23 + Me.btnShading.TabStop = True + Me.btnShading.Text = "Shading" + Me.btnShading.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnShading.UseCompatibleTextRendering = True + Me.btnShading.UseVisualStyleBackColor = True ' - 'rbtWireFrame + 'btnWireFrame ' - Me.rbtWireFrame.Appearance = System.Windows.Forms.Appearance.Button - Me.rbtWireFrame.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control - Me.rbtWireFrame.FlatAppearance.BorderSize = 0 - Me.rbtWireFrame.FlatAppearance.CheckedBackColor = System.Drawing.SystemColors.GradientActiveCaption - Me.rbtWireFrame.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control - Me.rbtWireFrame.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption - Me.rbtWireFrame.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.rbtWireFrame.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.rbtWireFrame.Image = CType(resources.GetObject("rbtWireFrame.Image"), System.Drawing.Image) - Me.rbtWireFrame.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.rbtWireFrame.Location = New System.Drawing.Point(0, 0) - Me.rbtWireFrame.Margin = New System.Windows.Forms.Padding(0) - Me.rbtWireFrame.Name = "rbtWireFrame" - Me.rbtWireFrame.Size = New System.Drawing.Size(56, 48) - Me.rbtWireFrame.TabIndex = 21 - Me.rbtWireFrame.TabStop = True - Me.rbtWireFrame.Text = "WFrame" - Me.rbtWireFrame.TextAlign = System.Drawing.ContentAlignment.BottomCenter - Me.rbtWireFrame.UseCompatibleTextRendering = True - Me.rbtWireFrame.UseVisualStyleBackColor = True + Me.btnWireFrame.Appearance = System.Windows.Forms.Appearance.Button + Me.btnWireFrame.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnWireFrame.FlatAppearance.BorderSize = 0 + Me.btnWireFrame.FlatAppearance.CheckedBackColor = System.Drawing.SystemColors.GradientActiveCaption + Me.btnWireFrame.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnWireFrame.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnWireFrame.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnWireFrame.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnWireFrame.Image = CType(resources.GetObject("btnWireFrame.Image"), System.Drawing.Image) + Me.btnWireFrame.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnWireFrame.Location = New System.Drawing.Point(0, 0) + Me.btnWireFrame.Margin = New System.Windows.Forms.Padding(0) + Me.btnWireFrame.Name = "btnWireFrame" + Me.btnWireFrame.Size = New System.Drawing.Size(56, 48) + Me.btnWireFrame.TabIndex = 21 + Me.btnWireFrame.TabStop = True + Me.btnWireFrame.Text = "WFrame" + Me.btnWireFrame.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnWireFrame.UseCompatibleTextRendering = True + Me.btnWireFrame.UseVisualStyleBackColor = True ' - 'rbtHiddenLine + 'btnHiddenLine ' - Me.rbtHiddenLine.Appearance = System.Windows.Forms.Appearance.Button - Me.rbtHiddenLine.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control - Me.rbtHiddenLine.FlatAppearance.BorderSize = 0 - Me.rbtHiddenLine.FlatAppearance.CheckedBackColor = System.Drawing.SystemColors.GradientActiveCaption - Me.rbtHiddenLine.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control - Me.rbtHiddenLine.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption - Me.rbtHiddenLine.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.rbtHiddenLine.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.rbtHiddenLine.Image = CType(resources.GetObject("rbtHiddenLine.Image"), System.Drawing.Image) - Me.rbtHiddenLine.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.rbtHiddenLine.Location = New System.Drawing.Point(56, 0) - Me.rbtHiddenLine.Name = "rbtHiddenLine" - Me.rbtHiddenLine.Size = New System.Drawing.Size(56, 48) - Me.rbtHiddenLine.TabIndex = 22 - Me.rbtHiddenLine.TabStop = True - Me.rbtHiddenLine.Text = "HLine" - Me.rbtHiddenLine.TextAlign = System.Drawing.ContentAlignment.BottomCenter - Me.rbtHiddenLine.UseCompatibleTextRendering = True - Me.rbtHiddenLine.UseVisualStyleBackColor = True + Me.btnHiddenLine.Appearance = System.Windows.Forms.Appearance.Button + Me.btnHiddenLine.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnHiddenLine.FlatAppearance.BorderSize = 0 + Me.btnHiddenLine.FlatAppearance.CheckedBackColor = System.Drawing.SystemColors.GradientActiveCaption + Me.btnHiddenLine.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnHiddenLine.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnHiddenLine.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnHiddenLine.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnHiddenLine.Image = CType(resources.GetObject("btnHiddenLine.Image"), System.Drawing.Image) + Me.btnHiddenLine.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnHiddenLine.Location = New System.Drawing.Point(56, 0) + Me.btnHiddenLine.Name = "btnHiddenLine" + Me.btnHiddenLine.Size = New System.Drawing.Size(56, 48) + Me.btnHiddenLine.TabIndex = 22 + Me.btnHiddenLine.TabStop = True + Me.btnHiddenLine.Text = "HLine" + Me.btnHiddenLine.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnHiddenLine.UseCompatibleTextRendering = True + Me.btnHiddenLine.UseVisualStyleBackColor = True ' 'btnZoomOut ' @@ -810,6 +811,7 @@ Partial Class Form1 ' Me.TabCPlane.BackColor = System.Drawing.SystemColors.Control Me.TabCPlane.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None + Me.TabCPlane.Controls.Add(Me.btnCPlaneView) Me.TabCPlane.Controls.Add(Me.btnCPlanePerpCurve) Me.TabCPlane.Controls.Add(Me.btnCPlaneObj) Me.TabCPlane.Controls.Add(Me.btnCplane3P) @@ -830,6 +832,23 @@ Partial Class Form1 Me.TabCPlane.TabIndex = 4 Me.TabCPlane.Text = "CPlane" ' + 'btnCPlaneView + ' + Me.btnCPlaneView.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnCPlaneView.FlatAppearance.BorderSize = 0 + Me.btnCPlaneView.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnCPlaneView.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnCPlaneView.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnCPlaneView.Image = CType(resources.GetObject("btnCPlaneView.Image"), System.Drawing.Image) + Me.btnCPlaneView.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnCPlaneView.Location = New System.Drawing.Point(336, 0) + Me.btnCPlaneView.Name = "btnCPlaneView" + Me.btnCPlaneView.Size = New System.Drawing.Size(56, 48) + Me.btnCPlaneView.TabIndex = 40 + Me.btnCPlaneView.Text = "View" + Me.btnCPlaneView.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnCPlaneView.UseVisualStyleBackColor = False + ' 'btnCPlanePerpCurve ' Me.btnCPlanePerpCurve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control @@ -839,7 +858,7 @@ Partial Class Form1 Me.btnCPlanePerpCurve.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCPlanePerpCurve.Image = CType(resources.GetObject("btnCPlanePerpCurve.Image"), System.Drawing.Image) Me.btnCPlanePerpCurve.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnCPlanePerpCurve.Location = New System.Drawing.Point(564, 0) + Me.btnCPlanePerpCurve.Location = New System.Drawing.Point(620, 0) Me.btnCPlanePerpCurve.Name = "btnCPlanePerpCurve" Me.btnCPlanePerpCurve.Size = New System.Drawing.Size(56, 48) Me.btnCPlanePerpCurve.TabIndex = 39 @@ -856,7 +875,7 @@ Partial Class Form1 Me.btnCPlaneObj.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCPlaneObj.Image = CType(resources.GetObject("btnCPlaneObj.Image"), System.Drawing.Image) Me.btnCPlaneObj.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnCPlaneObj.Location = New System.Drawing.Point(620, 0) + Me.btnCPlaneObj.Location = New System.Drawing.Point(676, 0) Me.btnCPlaneObj.Name = "btnCPlaneObj" Me.btnCPlaneObj.Size = New System.Drawing.Size(56, 48) Me.btnCPlaneObj.TabIndex = 38 @@ -873,7 +892,7 @@ Partial Class Form1 Me.btnCplane3P.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCplane3P.Image = CType(resources.GetObject("btnCplane3P.Image"), System.Drawing.Image) Me.btnCplane3P.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnCplane3P.Location = New System.Drawing.Point(508, 0) + Me.btnCplane3P.Location = New System.Drawing.Point(564, 0) Me.btnCplane3P.Name = "btnCplane3P" Me.btnCplane3P.Size = New System.Drawing.Size(56, 48) Me.btnCplane3P.TabIndex = 37 @@ -890,7 +909,7 @@ Partial Class Form1 Me.btnCplaneRotate.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCplaneRotate.Image = CType(resources.GetObject("btnCplaneRotate.Image"), System.Drawing.Image) Me.btnCplaneRotate.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnCplaneRotate.Location = New System.Drawing.Point(452, 0) + Me.btnCplaneRotate.Location = New System.Drawing.Point(508, 0) Me.btnCplaneRotate.Name = "btnCplaneRotate" Me.btnCplaneRotate.Size = New System.Drawing.Size(56, 48) Me.btnCplaneRotate.TabIndex = 36 @@ -958,7 +977,7 @@ Partial Class Form1 Me.btnCplaneElevation.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCplaneElevation.Image = CType(resources.GetObject("btnCplaneElevation.Image"), System.Drawing.Image) Me.btnCplaneElevation.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnCplaneElevation.Location = New System.Drawing.Point(340, 0) + Me.btnCplaneElevation.Location = New System.Drawing.Point(396, 0) Me.btnCplaneElevation.Name = "btnCplaneElevation" Me.btnCplaneElevation.Size = New System.Drawing.Size(56, 48) Me.btnCplaneElevation.TabIndex = 32 @@ -992,7 +1011,7 @@ Partial Class Form1 Me.btnCplaneOrigin.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCplaneOrigin.Image = CType(resources.GetObject("btnCplaneOrigin.Image"), System.Drawing.Image) Me.btnCplaneOrigin.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnCplaneOrigin.Location = New System.Drawing.Point(396, 0) + Me.btnCplaneOrigin.Location = New System.Drawing.Point(452, 0) Me.btnCplaneOrigin.Name = "btnCplaneOrigin" Me.btnCplaneOrigin.Size = New System.Drawing.Size(56, 48) Me.btnCplaneOrigin.TabIndex = 30 @@ -1003,7 +1022,7 @@ Partial Class Form1 'PictureBox2 ' Me.PictureBox2.BackColor = System.Drawing.SystemColors.ActiveBorder - Me.PictureBox2.Location = New System.Drawing.Point(337, 3) + Me.PictureBox2.Location = New System.Drawing.Point(393, 3) Me.PictureBox2.Name = "PictureBox2" Me.PictureBox2.Size = New System.Drawing.Size(2, 40) Me.PictureBox2.TabIndex = 29 @@ -1296,7 +1315,7 @@ Partial Class Form1 'TabDraw ' Me.TabDraw.BackColor = System.Drawing.SystemColors.Control - Me.TabDraw.Controls.Add(Me.btnPolygonSide) + Me.TabDraw.Controls.Add(Me.btnPolygon) Me.TabDraw.Controls.Add(Me.btnText) Me.TabDraw.Controls.Add(Me.btnRectangle2P) Me.TabDraw.Controls.Add(Me.btnCircleCD) @@ -1314,22 +1333,22 @@ Partial Class Form1 Me.TabDraw.TabIndex = 0 Me.TabDraw.Text = "Draw" ' - 'btnPolygonSide + 'btnPolygon ' - Me.btnPolygonSide.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control - Me.btnPolygonSide.FlatAppearance.BorderSize = 0 - Me.btnPolygonSide.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control - Me.btnPolygonSide.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption - Me.btnPolygonSide.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnPolygonSide.Image = CType(resources.GetObject("btnPolygonSide.Image"), System.Drawing.Image) - Me.btnPolygonSide.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnPolygonSide.Location = New System.Drawing.Point(0, 432) - Me.btnPolygonSide.Name = "btnPolygonSide" - Me.btnPolygonSide.Size = New System.Drawing.Size(56, 48) - Me.btnPolygonSide.TabIndex = 40 - Me.btnPolygonSide.Text = "Polygon" - Me.btnPolygonSide.TextAlign = System.Drawing.ContentAlignment.BottomCenter - Me.btnPolygonSide.UseVisualStyleBackColor = False + Me.btnPolygon.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnPolygon.FlatAppearance.BorderSize = 0 + Me.btnPolygon.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnPolygon.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnPolygon.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnPolygon.Image = CType(resources.GetObject("btnPolygon.Image"), System.Drawing.Image) + Me.btnPolygon.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnPolygon.Location = New System.Drawing.Point(0, 432) + Me.btnPolygon.Name = "btnPolygon" + Me.btnPolygon.Size = New System.Drawing.Size(56, 48) + Me.btnPolygon.TabIndex = 40 + Me.btnPolygon.Text = "Polygon" + Me.btnPolygon.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnPolygon.UseVisualStyleBackColor = False ' 'btnText ' @@ -2140,7 +2159,7 @@ Partial Class Form1 Me.TableLayoutPanel1.ResumeLayout(False) Me.TableLayoutPanel1.PerformLayout() Me.TabControl1.ResumeLayout(False) - Me.TabHome.ResumeLayout(False) + Me.TabFile.ResumeLayout(False) CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() Me.TabView.ResumeLayout(False) CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).EndInit() @@ -2179,7 +2198,7 @@ End Sub Friend WithEvents TabDraw As System.Windows.Forms.TabPage Friend WithEvents TabTest As System.Windows.Forms.TabPage Friend WithEvents TabControl1 As System.Windows.Forms.TabControl - Friend WithEvents TabHome As System.Windows.Forms.TabPage + Friend WithEvents TabFile As System.Windows.Forms.TabPage Friend WithEvents btnSaveAs As System.Windows.Forms.Button Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox Friend WithEvents btnNew As System.Windows.Forms.Button @@ -2198,9 +2217,9 @@ End Sub Friend WithEvents PictureBox4 As System.Windows.Forms.PictureBox Friend WithEvents chkCurveDir As System.Windows.Forms.CheckBox Friend WithEvents PictureBox3 As System.Windows.Forms.PictureBox - Friend WithEvents rbtShading As System.Windows.Forms.RadioButton - Friend WithEvents rbtWireFrame As System.Windows.Forms.RadioButton - Friend WithEvents rbtHiddenLine As System.Windows.Forms.RadioButton + Friend WithEvents btnShading As System.Windows.Forms.RadioButton + Friend WithEvents btnWireFrame As System.Windows.Forms.RadioButton + Friend WithEvents btnHiddenLine As System.Windows.Forms.RadioButton Friend WithEvents btnZoomOut As System.Windows.Forms.Button Friend WithEvents btnIsoSW As System.Windows.Forms.Button Friend WithEvents btnBack As System.Windows.Forms.Button @@ -2294,9 +2313,10 @@ End Sub Friend WithEvents btnInsert As System.Windows.Forms.Button Friend WithEvents btnInvertSurf As System.Windows.Forms.Button Friend WithEvents btnText As System.Windows.Forms.Button - Friend WithEvents btnPolygonSide As System.Windows.Forms.Button + Friend WithEvents btnPolygon As System.Windows.Forms.Button Friend WithEvents tsStatusReg As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents btnRevolve As System.Windows.Forms.Button Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip + Friend WithEvents btnCPlaneView As System.Windows.Forms.Button End Class diff --git a/Form1.resx b/Form1.resx index a0d0f7f..ae25627 100644 --- a/Form1.resx +++ b/Form1.resx @@ -419,7 +419,7 @@ UgmVOqw8AVmOlhOdRMKIAAAAAElFTkSuQmCC - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO xAAADsQBlSsOGwAAAAd0SU1FB94KEg8mDnt6uVQAAADnSURBVFhHxY6xccNAEMRYkx27HTfjQC1oXI1G @@ -429,7 +429,7 @@ UNhoQhAvVM5E5UxUzkTlTFTOROU8xvIHUjb6Nz+hLvkAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO xAAADsQBlSsOGwAAAAd0SU1FB94KEhM2MZLi3CwAAAE7SURBVFhHxZZBbsJADEXnBiy75gqs2y5ZcTNU @@ -441,7 +441,7 @@ SUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO xAAADsQBlSsOGwAAAAd0SU1FB94KEg8aF2ziaGsAAAEvSURBVFhHxZYxDsIwDEVzA0ZmrsAMKxM3Y+DI @@ -717,6 +717,17 @@ VAQhQjTPzJqDiiBEiOaZWXNQEYQI0Twzaw4qghAhmmdmzUFFFIKf5iSUSaL3oJQ/nN/2sOO5CQ65fX2p vymXhPPgXi6YLxzS3d28+4EiYUJGywV3d3O9XRYQMhKAZHZZwNJIAJLZZVEXBwMQ2nXu3MLChmQZKBdY eGG/Zf1PYXN7uHImrpyJK2fiypm4ciaunMdSfgDRq45RqelmwQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + xAAADsQBlSsOGwAAAAd0SU1FB94MAgogOtUGirMAAAEISURBVFhH7dGxDcIwEAVQt1SU1GyAqFNTMQdz + ISSWYQcqGiSGML6QhIv9zz4n4pAQkZ6QP7H/WXHe+6+CoSUYWoKhljvdvSR+VwJDrbbseDkk/gP89ABt + KScMwMVncDAsEYtjhXICQ43iEIpyAkMtcQhlOYFhjWSIinICw1rDEJXlBIZTTCknMLQEQ0swlLjVdu/C + lqzz5gpzZnQmX+Sw8mbI4sNC+WjN/g9PQ2v67bM25wuJW6533WaZ4ubBqLw9Ow5irHzazcF+Lgk47c0f + bnHLCe/BcgJDovrmmXXp5j0chk3d5rmy5SQN3uUfvXkvDV6b51KVExhagqElGFqCoSUYWoKhHe+exqCj + xX7bJ7sAAAAASUVORK5CYII= @@ -871,7 +882,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4 - DQAAAk1TRnQBSQFMAgEBDgEAARgBDwEYAQ8BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + DQAAAk1TRnQBSQFMAgEBDgEAAUgBDwFIAQ8BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAAUADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -940,7 +951,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADW - CAAAAk1TRnQBSQFMAgEBAgEAATgBBgE4AQYBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAAWgBBgFoAQYBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -980,15 +991,16 @@ AQ8EAAFwAQsB8AEPBAABYAEDAfABDwQAAWgBEwH4AR8EAAF/A/8EAAF/A/8EAAs= - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAAd0SU1FB98BERI1KpxRYW4AAAEZSURBVFhHxZKBDcIwDAQZjGmZji2KXcnwOOc2 - FiiNdEgc/68GuG3bdikoV4IyY8df2uQdAqVi566jTe60qaBU0mCbvJdBGdjJtz+/UbODMugMKZ6VninO - OSidzgihXaN8eJTO7ECFd6Rvqsih/PH2gW4YeIlB7HKiOIN3ZccUZAbxp9sHumUMl/l6s4uTQhffkD1T - 6fNBSNi45AGu/Ql2eVKaxbuyYwoyKP/0LeiGgRcZRDBTPsI70jdV5Eg6swMV2jXKC6AMvCgjQT3WzDso - Ay/vI4/nh2K0k1VQBsPg9/BIkc27CsrgaBQpsnlXQRkcjSJFNu8qKAM71/4HnPfwh3LQP5PcYTZAuRKU - K0G5EpQrQbkSlOvYbi8bgwK7j1WopQAAAABJRU5ErkJggg== + xAAADsQBlSsOGwAAAAd0SU1FB98CDRY5By9dSDwAAAE0SURBVFhHxZZRjoMwDER7sB6Om7MzUR0NzmRJ + disT6QnyYk8x/eF1nuejWFmJlRmsA/Bmh8NlZaxUsN4SusvbZSpWKilwm5yXsTLAytPfT7TZY2WwE6Sw + VvqgfB2xkuyEOLQXTB/eSrIaMIM90g81qbPyn9MHmgHsEINocqFxBfZKDpSpGcSXpg80CwzDXDZN3DTs + wgzJg0rng5Bi8MgDPPsXNHnTtAp7JQfK1Fj5pbegGcAOMohgpfk32CP9UJM6J8lqwAztBZcBdN+l49Mc + LL8F1kof1HDGD5yW1w8cn+IexL2rU1gj9Zce3oP2pcRr28fhDKwI+hMpiz+qD3D0wxlYeaIdhjeG1R+g + XfVwBosBb3awH6Xh+1UPK+APB22fC6qxshIrK7GyEisrsbISK+s4Xz9sr+U5DYLmHAAAAABJRU5ErkJg + gg== diff --git a/Form1.vb b/Form1.vb index b7b9607..bf2f1b2 100644 --- a/Form1.vb +++ b/Form1.vb @@ -24,14 +24,16 @@ Imports TestEIn.Controller Public Class Form1 - Private m_objMutex As Mutex + Private m_objMutex As New Mutex Private m_nInstance As Integer = 0 Private m_sDataRoot As String = String.Empty + Private m_sConfigDir As String = String.Empty + Private m_sTempDir As String = String.Empty Private m_sIniFile As String = String.Empty - Private WithEvents m_Controller As New Controller Private m_bShowGrid As Boolean Private m_bShowGridFrame As Boolean Private m_bCPlaneTypePos As Boolean + Private WithEvents m_Controller As New Controller Public Function GetInstance() As Integer Return m_nInstance @@ -53,84 +55,95 @@ Public Class Form1 EmitTitle() ' Impostazione path radice per i dati m_sDataRoot = Application.StartupPath - If GetPrivateProfileString("Data", "DataRoot", "", m_sDataRoot, m_sDataRoot & "\DataRoot.Ini") = 0 Then + If GetPrivateProfileString(S_DATA, K_DATAROOT, "", m_sDataRoot, m_sDataRoot & "\" & DAT_FILE_NAME) = 0 Then m_sDataRoot = Application.StartupPath End If + ' Impostazione direttorio di configurazione + m_sConfigDir = m_sDataRoot & "\" & CONF_DIR + ' Impostazione direttorio per file temporanei + m_sTempDir = m_sDataRoot & "\" & TEMP_DIR ' Impostazione path Ini file - m_sIniFile = m_sDataRoot & "\TestEIn.ini" + m_sIniFile = m_sConfigDir & "\" & INI_FILE_NAME ' Verifico indice di istanza ManageIstance() ' Inizializzazione generale di EgtInterface - Dim sIniFile As String = m_sDataRoot & "\EInGenlog" & m_nInstance.ToString() & ".txt" + Dim sIniFile As String = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString()) Dim sLogMsg As String = "User " & SystemInformation.UserName & "\" & SystemInformation.ComputerName & " (" & GetInstance() & ")" & vbLf & My.Application.Info.Description.ToString() & " ver. " & My.Application.Info.Version.ToString() EgtInit(0, sIniFile, sLogMsg) - ' imposto chiave di protezione + ' Leggo file messaggi + Dim sMsgFile As String = String.Empty + GetPrivateProfileString(S_GENERAL, K_MESSAGES, "", sMsgFile, m_sIniFile) + Dim sMsgFilePath As String = m_sConfigDir & "\" & sMsgFile + If Not EgtLoadMessages(sMsgFilePath) Then + EgtOutLog("Error in EgtLoadMessages") + End If + ' Imposto chiave di protezione Dim sKey As String = String.Empty - GetPrivateProfileString("General", "Key", "", sKey, m_sIniFile) + GetPrivateProfileString(S_GENERAL, K_KEY, "", sKey, m_sIniFile) EgtSetKey(sKey) ' imposto dir font Nfe e font default Dim sNfeDir As String = String.Empty - GetPrivateProfileString("GeomDB", "NfeFontDir", "", sNfeDir, m_sIniFile) + GetPrivateProfileString(S_GEOMDB, K_NFEFONTDIR, "", sNfeDir, m_sIniFile) Dim sDefFont As String = String.Empty - GetPrivateProfileString("GeomDB", "DefaultFont", "", sDefFont, m_sIniFile) + GetPrivateProfileString(S_GEOMDB, K_DEFAULTFONT, "", sDefFont, m_sIniFile) EgtSetFont(sNfeDir, sDefFont) ' imposto dir di default per libreria Lua e lancio libreria di base Dim sLuaLibsDir As String = String.Empty - GetPrivateProfileString("Lua", "LibsDir", "", sLuaLibsDir, m_sIniFile) + GetPrivateProfileString(S_LUA, K_LIBSDIR, "", sLuaLibsDir, m_sIniFile) EgtSetLuaLibs(sLuaLibsDir) Dim sLuaBaseLib As String = String.Empty - GetPrivateProfileString("Lua", "BaseLib", "EgtBase", sLuaBaseLib, m_sIniFile) + GetPrivateProfileString(S_LUA, K_BASELIB, "EgtBase", sLuaBaseLib, m_sIniFile) EgtLuaRequire(sLuaBaseLib) ' imposto colore di default Dim DefColor As New Color3d(0, 0, 0) - GetPrivateProfileColor("GeomDB", "DefaultColor", DefColor, m_sIniFile) + GetPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor, m_sIniFile) Scene1.SetDefaultMaterial(DefColor) ' imposto colori sfondo Dim BackTopColor As New Color3d(192, 192, 192) - GetPrivateProfileColor("Scene", "BackTop", BackTopColor, m_sIniFile) + GetPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor, m_sIniFile) Dim BackBotColor As New Color3d(BackTopColor) - GetPrivateProfileColor("Scene", "BackBottom", BackBotColor, m_sIniFile) + GetPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor, m_sIniFile) Scene1.SetViewBackground(BackTopColor, BackBotColor) ' imposto colore di evidenziazione Dim MarkColor As New Color3d(255, 255, 0) - GetPrivateProfileColor("Scene", "Mark", MarkColor, m_sIniFile) + GetPrivateProfileColor(S_SCENE, K_MARK, MarkColor, m_sIniFile) Scene1.SetMarkMaterial(MarkColor) ' imposto colore per superfici selezionate Dim SelSurfColor As New Color3d(255, 255, 192) - GetPrivateProfileColor("Scene", "SelSurf", SelSurfColor, m_sIniFile) + GetPrivateProfileColor(S_SCENE, K_SELSURF, SelSurfColor, m_sIniFile) Scene1.SetSelSurfMaterial(SelSurfColor) ' imposto tipo e colore del rettangolo di zoom Dim bOutline As Boolean = True Dim ZwColor As New Color3d(0, 0, 0) - GetPrivateProfileZoomWin("Scene", "ZoomWin", bOutline, ZwColor, m_sIniFile) + GetPrivateProfileZoomWin(S_SCENE, K_ZOOMWIN, bOutline, ZwColor, m_sIniFile) Scene1.SetZoomWinAttribs(bOutline, ZwColor) ' imposto colore della linea di distanza Dim DstLnColor As New Color3d(255, 0, 0) - GetPrivateProfileColor("Scene", "DistLine", DstLnColor, m_sIniFile) + GetPrivateProfileColor(S_SCENE, K_DISTLINE, DstLnColor, m_sIniFile) Scene1.SetDistLineMaterial(DstLnColor) ' imposto parametri OpenGL - Dim nDriver As Integer = GetPrivateProfileInt("OpenGL", "Driver", 3, m_sIniFile) - Dim b2Buff As Boolean = (GetPrivateProfileInt("OpenGL", "DoubleBuffer", 1, m_sIniFile) <> 0) - Dim nColorBits As Integer = GetPrivateProfileInt("OpenGL", "ColorBits", 32, m_sIniFile) - Dim nDepthBits As Integer = GetPrivateProfileInt("OpenGL", "DepthBits", 32, m_sIniFile) + Dim nDriver As Integer = GetPrivateProfileInt(S_OPENGL, K_DRIVER, 3, m_sIniFile) + Dim b2Buff As Boolean = (GetPrivateProfileInt(S_OPENGL, K_DOUBLEBUFFER, 1, m_sIniFile) <> 0) + Dim nColorBits As Integer = GetPrivateProfileInt(S_OPENGL, K_COLORBITS, 32, m_sIniFile) + Dim nDepthBits As Integer = GetPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32, m_sIniFile) Scene1.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits) ' inizializzo scena Scene1.Init() ' imposto visualizzazione riferimento globale - Dim bShowGlobFrame As Boolean = (GetPrivateProfileInt("Scene", "ShowGFrame", 1, m_sIniFile) <> 0) + Dim bShowGlobFrame As Boolean = (GetPrivateProfileInt(S_SCENE, K_SHOWGFRAME, 1, m_sIniFile) <> 0) EgtSetGlobFrameShow(bShowGlobFrame) ' imposto i dati della griglia - m_bShowGrid = (GetPrivateProfileInt("Grid", "ShowGrid", 1, m_sIniFile) <> 0) - m_bShowGridFrame = (GetPrivateProfileInt("Grid", "ShowFrame", 1, m_sIniFile) <> 0) - Dim dSnapStep As Double = GetPrivateProfileDouble("Grid", "SnapStep", 10, m_sIniFile) - Dim nMinLineSStep As Integer = GetPrivateProfileInt("Grid", "MinLineSStep", 1, m_sIniFile) - Dim nMajLineSStep As Integer = GetPrivateProfileInt("Grid", "MajLineSStep", 10, m_sIniFile) - Dim nExtSStep As Integer = GetPrivateProfileInt("Grid", "ExtSStep", 50, m_sIniFile) + m_bShowGrid = (GetPrivateProfileInt(S_GRID, K_SHOWGRID, 1, m_sIniFile) <> 0) + m_bShowGridFrame = (GetPrivateProfileInt(S_GRID, K_SHOWFRAME, 1, m_sIniFile) <> 0) + Dim dSnapStep As Double = GetPrivateProfileDouble(S_GRID, K_SNAPSTEP, 10, m_sIniFile) + Dim nMinLineSStep As Integer = GetPrivateProfileInt(S_GRID, K_MINLINESSTEP, 1, m_sIniFile) + Dim nMajLineSStep As Integer = GetPrivateProfileInt(S_GRID, K_MAJLINESSTEP, 10, m_sIniFile) + Dim nExtSStep As Integer = GetPrivateProfileInt(S_GRID, K_EXTSSTEP, 50, m_sIniFile) Dim MinLnColor As New Color3d(160, 160, 160) - GetPrivateProfileColor("Grid", "MinLnColor", MinLnColor, m_sIniFile) + GetPrivateProfileColor(S_GRID, K_MINLNCOLOR, MinLnColor, m_sIniFile) Dim MajLnColor As New Color3d(160, 160, 160) - GetPrivateProfileColor("Grid", "MajLnColor", MajLnColor, m_sIniFile) + GetPrivateProfileColor(S_GRID, K_MAJLNCOLOR, MajLnColor, m_sIniFile) EgtSetGridShow(m_bShowGrid, m_bShowGridFrame) EgtSetGridFrame(Frame3d.GLOB) EgtSetGridGeo(dSnapStep, nMinLineSStep, nMajLineSStep, nExtSStep) @@ -139,17 +152,20 @@ Public Class Form1 m_bCPlaneTypePos = True Scene1.SetGridCursorPos(m_bCPlaneTypePos) ' modo di visualizzazione - Dim nShowMode As Integer = GetPrivateProfileInt("Scene", "ShowMode", SM.SHADING, m_sIniFile) + Dim nShowMode As Integer = GetPrivateProfileInt(S_SCENE, K_SHOWMODE, SM.SHADING, m_sIniFile) If nShowMode = SM.WIREFRAME Then - rbtWireFrame.Checked = True + btnWireFrame.Checked = True ElseIf nShowMode = SM.HIDDENLINE Then - rbtHiddenLine.Checked = True + btnHiddenLine.Checked = True Else - rbtShading.Checked = True + btnShading.Checked = True End If ' visualizzazione direzione curve - Dim nShowCurveDir As Integer = GetPrivateProfileInt("Scene", "CurveDir", 0, m_sIniFile) + Dim nShowCurveDir As Integer = GetPrivateProfileInt(S_SCENE, K_CURVEDIR, 0, m_sIniFile) chkCurveDir.Checked = (nShowCurveDir <> 0) + ' visualizzazione avanzata dei triangoli costituenti le superfici + Dim bShowTriaAdv As Boolean = (GetPrivateProfileInt(S_SCENE, K_SHOWTRIAADV, 1, m_sIniFile) <> 0) + EgtSetShowTriaAdv(bShowTriaAdv) ' ObjTree non selezionato m_nObjTreeOldId = GDB_ID.NULL ' nascondo input box @@ -169,7 +185,7 @@ Public Class Form1 Dim nTop As Integer Dim nWidth As Integer Dim nHeight As Integer - GetPrivateProfileWinPos("General", "WinPlace", nFlag, nLeft, nTop, nWidth, nHeight, m_sIniFile) + GetPrivateProfileWinPos(S_GENERAL, K_WINPLACE, nFlag, nLeft, nTop, nWidth, nHeight, m_sIniFile) Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual Me.Location = New Point(nLeft, nTop) Me.Size = New Size(nWidth, nHeight) @@ -177,8 +193,9 @@ Public Class Form1 End If ' Impostazioni controller m_Controller.SetScene(Scene1) - Dim bLuaReg As Boolean = (GetPrivateProfileInt("General", "CommandLog", 0, m_sIniFile) <> 0) - If Not m_Controller.SetCommandLog(bLuaReg, m_sDataRoot, m_nInstance) Then + Dim bLuaReg As Boolean = (GetPrivateProfileInt(S_GENERAL, K_COMMANDLOG, 0, m_sIniFile) <> 0) + Dim sCmdLogFile As String = CMDLOG_FILE_NAME.Replace("#", m_nInstance.ToString()) + If Not m_Controller.SetCommandLog(bLuaReg, m_sTempDir, sCmdLogFile) Then EgtOutLog("Command log not started") If My.Application.CommandLineArgs.Count() = 0 Then MessageBox.Show("Command log not started", "TestEIn Warning", @@ -192,8 +209,8 @@ Public Class Form1 End If ' Apro progetto vuoto m_Controller.NewProject(True) - ' Impostazione ToolTips - SetToolTips() + ' Impostazione Testi e ToolTips + SetMessages() End Sub Private Sub ManageIstance() @@ -207,13 +224,13 @@ Public Class Form1 ' Prima istanza m_nInstance = 1 ' Aggiorno stato istanze attive - WritePrivateProfileString("General", "Instances", m_nInstance, m_sIniFile) + WritePrivateProfileString(S_GENERAL, K_INSTANCES, m_nInstance, m_sIniFile) Else ' Leggo il massimo numero di istanze ammesse - Dim nMaxInst As Integer = GetPrivateProfileInt("General", "MaxInstances", 1, m_sIniFile) + Dim nMaxInst As Integer = GetPrivateProfileInt(S_GENERAL, K_MAXINST, 1, m_sIniFile) nMaxInst = Max(1, Min(nMaxInst, 32)) ' Cerco il primo indice di istanza libero (max 32) - Dim nTmp As Integer = GetPrivateProfileInt("General", "Instances", 0, m_sIniFile) + Dim nTmp As Integer = GetPrivateProfileInt(S_GENERAL, K_INSTANCES, 0, m_sIniFile) m_nInstance = 1 Dim nMask As Integer = 1 While (nTmp And nMask) <> 0 And m_nInstance <= m_nInstance @@ -249,7 +266,7 @@ Public Class Form1 End If ' Aggiorno stato istanze attive nTmp += (1 << (m_nInstance - 1)) - WritePrivateProfileString("General", "Instances", nTmp, m_sIniFile) + WritePrivateProfileString(S_GENERAL, K_INSTANCES, nTmp, m_sIniFile) End If End Sub @@ -287,20 +304,20 @@ Public Class Form1 Return End If ' Salvo modo di visualizzazione - WritePrivateProfileString("Scene", "ShowMode", EgtGetShowMode(), m_sIniFile) + WritePrivateProfileString(S_SCENE, K_SHOWMODE, EgtGetShowMode(), m_sIniFile) ' Salvo stato visualizzazione direzione curve - WritePrivateProfileString("Scene", "CurveDir", IIf(EgtGetShowCurveDirection(), 1, 0), m_sIniFile) + WritePrivateProfileString(S_SCENE, K_CURVEDIR, IIf(EgtGetShowCurveDirection(), 1, 0), m_sIniFile) ' Salvo posizione Form Dim nFlag As Integer = IIf(Me.WindowState = FormWindowState.Maximized, 1, 0) - WritePrivateProfileWinPos("General", "WinPlace", nFlag, Me.Left, Me.Top, Me.Width, Me.Height, m_sIniFile) + WritePrivateProfileWinPos(S_GENERAL, K_WINPLACE, nFlag, Me.Left, Me.Top, Me.Width, Me.Height, m_sIniFile) ' Terminazione generale di EgtInterface EgtExit() ' Rilascio mutex m_objMutex.Close() ' Aggiorno istanze usate - Dim nTmp As Integer = GetPrivateProfileInt("General", "Instances", 0, m_sIniFile) + Dim nTmp As Integer = GetPrivateProfileInt(S_GENERAL, K_INSTANCES, 0, m_sIniFile) nTmp -= (1 << (m_nInstance - 1)) - WritePrivateProfileString("General", "Instances", nTmp, m_sIniFile) + WritePrivateProfileString(S_GENERAL, K_INSTANCES, nTmp, m_sIniFile) ' Disabilito gestore Idle RemoveHandler Application.Idle, AddressOf Application_Idle End Sub @@ -380,14 +397,14 @@ Public Class Form1 End Sub Private Sub OnOpenProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) Handles m_Controller.OnOpenProject - WritePrivateProfileString("General", "LastNgeDir", Path.GetDirectoryName(sFile), m_sIniFile) + WritePrivateProfileString(S_GENERAL, K_LASTNGEDIR, Path.GetDirectoryName(sFile), m_sIniFile) If Not bOk Then MessageBox.Show("Error opening file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub Private Sub OnSavingProject(ByVal sender As Object, ByVal sFile As String) Handles m_Controller.OnSavingProject - WritePrivateProfileString("General", "LastNgeDir", Path.GetDirectoryName(sFile), m_sIniFile) + WritePrivateProfileString(S_GENERAL, K_LASTNGEDIR, Path.GetDirectoryName(sFile), m_sIniFile) End Sub Private Sub OnSavedProject(ByVal sender As Object, ByVal bOk As Boolean) Handles m_Controller.OnSavedProject @@ -405,14 +422,14 @@ Public Class Form1 End Sub Private Sub OnImportedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) Handles m_Controller.OnImportedProject - WritePrivateProfileString("General", "LastImpDir", Path.GetDirectoryName(sFile), m_sIniFile) + WritePrivateProfileString(S_GENERAL, K_LASTIMPDIR, Path.GetDirectoryName(sFile), m_sIniFile) If Not bOk Then MessageBox.Show("Error importing file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub Private Sub OnExportingProject(ByVal sender As Object, ByVal sFile As String) Handles m_Controller.OnExportingProject - WritePrivateProfileString("General", "LastExpDir", Path.GetDirectoryName(sFile), m_sIniFile) + WritePrivateProfileString(S_GENERAL, K_LASTEXPDIR, Path.GetDirectoryName(sFile), m_sIniFile) End Sub Private Sub OnExportedProject(ByVal sender As Object, ByVal bOk As Boolean) Handles m_Controller.OnExportedProject @@ -422,7 +439,7 @@ Public Class Form1 End Sub Private Sub OnExecutingScript(ByVal sender As Object, ByVal sFile As String) Handles m_Controller.OnExecutingScript - WritePrivateProfileString("General", "LastLuaDir", Path.GetDirectoryName(sFile), m_sIniFile) + WritePrivateProfileString(S_GENERAL, K_LASTLUADIR, Path.GetDirectoryName(sFile), m_sIniFile) ClearObjTree() End Sub @@ -486,7 +503,7 @@ Public Class Form1 btnArc3P.Enabled = bLayerOk btnArcPDP.Enabled = bLayerOk btnRectangle2P.Enabled = bLayerOk - btnPolygonSide.Enabled = bLayerOk + btnPolygon.Enabled = bLayerOk btnText.Enabled = bLayerOk ' Construct btnPlane.Enabled = bLayerOk And bSelOk @@ -513,42 +530,101 @@ Public Class Form1 btnOffset.Enabled = bSelOk End Sub - Private Sub SetToolTips() - ' Draw - ToolTip1.SetToolTip(btnPoint, "Point") - ToolTip1.SetToolTip(btnLine2P, "Line : 2 points") - ToolTip1.SetToolTip(btnLinePDL, "Line : point, direction, length") - ToolTip1.SetToolTip(btnCircleCP, "Circle : center, point") - ToolTip1.SetToolTip(btnCircleCD, "Circle : center, diameter") - ToolTip1.SetToolTip(btnArcCSE, "Arc : center, start, end") - ToolTip1.SetToolTip(btnArc3P, "Arc : 3 points") - ToolTip1.SetToolTip(btnArcPDP, "Arc : start, direction, end") - ToolTip1.SetToolTip(btnRectangle2P, "Rectangle : 2 points") - ToolTip1.SetToolTip(btnPolygonSide, "Polygon : side with 2 points") - ToolTip1.SetToolTip(btnText, "Text" & vbCrLf & "Advanced Text (Shift)") + Private Sub SetMessages() + ' File + TabFile.Text = EgtMsg(1) ' File + SetTextAndToolTip(btnNew, 3, 0) ' New + SetTextAndToolTip(btnOpen, 5, 0) ' Open + SetTextAndToolTip(btnInsert, 7, 0) ' Insert + SetTextAndToolTip(btnSave, 9, 0) ' Save + SetTextAndToolTip(btnSaveAs, 11, 0) ' SaveAs + SetTextAndToolTip(btnImport, 13, 0) ' Import + SetTextAndToolTip(btnExport, 15, 0) ' Export + SetTextAndToolTip(btnExec, 17, 0) ' Exec + ' View + TabView.Text = EgtMsg(101) ' View + SetTextAndToolTip(btnWireFrame, 103, 0) ' WFrame + SetTextAndToolTip(btnHiddenLine, 105, 0) ' HLine + SetTextAndToolTip(btnShading, 107, 0) ' Shading + SetTextAndToolTip(btnZoomAll, 109, 0) ' ZoomAll + SetTextAndToolTip(btnZoomIn, 111, 0) ' ZoomIn + SetTextAndToolTip(btnZoomOut, 113, 0) ' ZoomOut + SetTextAndToolTip(btnTop, 115, 0) ' Top + SetTextAndToolTip(btnFront, 117, 0) ' Front + SetTextAndToolTip(btnRight, 119, 0) ' Right + SetTextAndToolTip(btnBack, 121, 0) ' Back + SetTextAndToolTip(btnLeft, 123, 0) ' Left + SetTextAndToolTip(btnIsoSW, 127, 0) ' Iso SW + SetTextAndToolTip(btnIsoSE, 129, 0) ' Iso SE + SetTextAndToolTip(btnIsoNE, 131, 0) ' Iso NE + SetTextAndToolTip(btnIsoNW, 133, 0) ' Iso NW + SetTextAndToolTip(btnCPlane, 135, 136) ' CPlane / SetView perpendicular to current CPlane + SetTextAndToolTip(chkCurveDir, 137, 0) ' CurveDir + SetTextAndToolTip(chkAnalyze, 139, 0) ' Analyze + SetTextAndToolTip(chkGetDist, 141, 0) ' GetDist + ' CPlane + TabCPlane.Text = EgtMsg(201) ' CPlane + SetTextAndToolTip(btnCplaneTop, 203, 0) ' Top + SetTextAndToolTip(btnCplaneFront, 205, 0) ' Front + SetTextAndToolTip(btnCplaneRight, 207, 0) ' Right + SetTextAndToolTip(btnCplaneBack, 209, 0) ' Back + SetTextAndToolTip(btnCplaneLeft, 211, 0) ' Left + SetTextAndToolTip(btnCplaneBottom, 213, 0) ' Bottom + SetTextAndToolTip(btnCPlaneView, 215, 216) ' View / Set CPlane perpendicular to View + SetTextAndToolTip(btnCplaneElevation, 217, 218) ' Elevat / Set Cplane Elevation + SetTextAndToolTip(btnCplaneOrigin, 219, 220) ' Origin / Set Cplane Origin + SetTextAndToolTip(btnCplaneRotate, 221, 222) ' Rotate / Rotate Cplane
3D Rotate Cplane (Shift) + SetTextAndToolTip(btnCplane3P, 223, 224) ' 3 Points / Set Cplane from 3 Points + SetTextAndToolTip(btnCPlanePerpCurve, 225, 226) ' PerpCrv / Set Cplane Perpendicular to Curve + SetTextAndToolTip(btnCPlaneObj, 227, 228) ' Object / Set Cplane from Object + 'Draw + TabDraw.Text = EgtMsg(301) ' Draw + SetTextAndToolTip(btnPoint, 303, 304) ' Point / Point + SetTextAndToolTip(btnLine2P, 305, 306) ' Line 2P / Line : 2 Points + SetTextAndToolTip(btnLinePDL, 307, 308) ' Line PDL / Line : point, direction, length + SetTextAndToolTip(btnCircleCP, 309, 310) ' Circle CP / Circle : Center, Point + SetTextAndToolTip(btnCircleCD, 311, 312) ' Circle CØ / Circle : Center, Diameter + SetTextAndToolTip(btnArcCSE, 313, 314) ' Arc CSE / Arc : Center, Start, End + SetTextAndToolTip(btnArc3P, 315, 316) ' Arc 3P / Arc : 3 Points + SetTextAndToolTip(btnArcPDP, 317, 318) ' Arc SDE / Arc : Start, Direction, End + SetTextAndToolTip(btnRectangle2P, 319, 320) ' Rect 2P / Rectangle : 2 Points + SetTextAndToolTip(btnPolygon, 321, 322) ' Polygon / Polygon : Side with 2 Points + SetTextAndToolTip(btnText, 323, 324) ' Text / Text
Advanced Text (Shift) ' Construct - ToolTip1.SetToolTip(btnPlane, "Surface : between planar curves") - ToolTip1.SetToolTip(btnExtrude, "Surface : curve extrusion") - ToolTip1.SetToolTip(btnRevolve, "Surface : curve revolution") - ToolTip1.SetToolTip(btnScrew, "Surface : curve screwing") - ToolTip1.SetToolTip(btnRuled, "Surface : ruled between 2 curves") + TabConstruct.Text = EgtMsg(401) ' Construct + SetTextAndToolTip(btnPlane, 403, 404) ' Plane / Surface : between planar curves + SetTextAndToolTip(btnExtrude, 405, 406) ' Extrude / Surface : curve extrusion + SetTextAndToolTip(btnRevolve, 407, 408) ' Revolve / Surface : curve revolution + SetTextAndToolTip(btnScrew, 409, 410) ' Screw / Surface : curve screwing + SetTextAndToolTip(btnRuled, 411, 412) ' Ruled / Surface : ruled between 2 curves ' Edit - ToolTip1.SetToolTip(btnDelete, "Delete Objects") - ToolTip1.SetToolTip(btnChangeLayer, "Change Object Layer to Current") - ToolTip1.SetToolTip(btnChangeColor, "Change Color" & vbCrLf & "Remove Color (Shift)") - ToolTip1.SetToolTip(btnInvertCurve, "Invert Curve") - ToolTip1.SetToolTip(btnExtendCurve, "Trim or Extend Curve") - ToolTip1.SetToolTip(btnBreakCurve, "Break Curve" & vbCrLf & "Split Curve in Pieces (Shift)") - ToolTip1.SetToolTip(btnJoinCurve, "Join Curves") - ToolTip1.SetToolTip(btnExplodeCurve, "Explode Text or Curve in Components") - ToolTip1.SetToolTip(btnSetCurveTh, "Set Curve Thickness and Extrusion") - ToolTip1.SetToolTip(btnInvertSurf, "Flip Surface Outside") + TabEdit.Text = EgtMsg(501) ' Edit + SetTextAndToolTip(btnDelete, 503, 504) ' Delete Objects + SetTextAndToolTip(btnChangeLayer, 505, 506) ' Change Object Layer to Current + SetTextAndToolTip(btnChangeColor, 507, 508) ' Change Color
Remove Color (Shift) + SetTextAndToolTip(btnInvertCurve, 509, 510) ' Invert Curve + SetTextAndToolTip(btnExtendCurve, 511, 512) ' Trim or Extend Curve + SetTextAndToolTip(btnBreakCurve, 513, 514) ' Break Curve
Split Curve in Pieces (Shift) + SetTextAndToolTip(btnJoinCurve, 515, 516) ' Join Curves + SetTextAndToolTip(btnExplodeCurve, 517, 518) ' Explode Text or Curve in Components + SetTextAndToolTip(btnSetCurveTh, 519, 520) ' Set Curve Thickness and Extrusion + SetTextAndToolTip(btnInvertSurf, 521, 522) ' Flip Surface Outside ' Transform - ToolTip1.SetToolTip(btnMove, "Object Move") - ToolTip1.SetToolTip(btnRotate, "Object Rotate" & vbCrLf & "3D Object Rotate (Shift)") - ToolTip1.SetToolTip(btnMirror, "Object Mirror" & vbCrLf & "3D Object Mirror (Shift)") - ToolTip1.SetToolTip(btnScale, "Object Scale" & vbCrLf & "3D Object Scale (Shift)") - ToolTip1.SetToolTip(btnOffset, "Curve Offset") + TabTransform.Text = EgtMsg(601) ' Transform + SetTextAndToolTip(btnMove, 603, 604) ' Move / Object Move + SetTextAndToolTip(btnRotate, 605, 606) ' Rotate / Object Rotate
3D Object Rotate (Shift) + SetTextAndToolTip(btnMirror, 607, 608) ' Mirror / Object Mirror
3D Object Mirror (Shift) + SetTextAndToolTip(btnScale, 609, 610) ' Scale / Object Scale
3D Object Scale (Shift) + SetTextAndToolTip(btnOffset, 611, 612) ' Offset / Curve Offset + End Sub + + Private Sub SetTextAndToolTip(control As Control, nTxtMsg As Integer, nTtiMsg As Integer) + If nTxtMsg > 0 Then + control.Text = EgtMsg(nTxtMsg) + End If + If nTtiMsg > 0 Then + ToolTip1.SetToolTip(control, EgtMsg(nTtiMsg)) + End If End Sub @@ -559,24 +635,24 @@ Public Class Form1 Private Sub btnOpen_Click(sender As System.Object, e As System.EventArgs) Handles btnOpen.Click Dim sDir As String = String.Empty - GetPrivateProfileString("General", "LastNgeDir", "", sDir, m_sIniFile) + GetPrivateProfileString(S_GENERAL, K_LASTNGEDIR, "", sDir, m_sIniFile) m_Controller.OpenProject(sDir) End Sub Private Sub btnInsert_Click(sender As System.Object, e As System.EventArgs) Handles btnInsert.Click ' eseguo Dim sDir As String = String.Empty - GetPrivateProfileString("General", "LastNgeDir", "", sDir, m_sIniFile) + GetPrivateProfileString(S_GENERAL, K_LASTNGEDIR, "", sDir, m_sIniFile) m_Controller.InsertProject(sDir) End Sub Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click - Dim nType As NGE = GetPrivateProfileInt("GeomDB", "SaveType", NGE.CMPTEXT, m_sIniFile) + Dim nType As NGE = GetPrivateProfileInt(S_GEOMDB, K_SAVETYPE, NGE.CMPTEXT, m_sIniFile) If Not String.IsNullOrWhiteSpace(m_Controller.GetCurrFile()) Then m_Controller.SaveProject(nType) Else Dim sFile As String = String.Empty - GetPrivateProfileString("General", "LastNgeDir", "", sFile, m_sIniFile) + GetPrivateProfileString(S_GENERAL, K_LASTNGEDIR, "", sFile, m_sIniFile) sFile.TrimEnd("\"c) sFile += "\New" & m_nInstance.ToString() & ".nge" m_Controller.SaveAsProject(sFile, nType) @@ -584,10 +660,10 @@ Public Class Form1 End Sub Private Sub btnSaveAs_Click(sender As System.Object, e As System.EventArgs) Handles btnSaveAs.Click - Dim nType As NGE = GetPrivateProfileInt("GeomDB", "SaveType", NGE.CMPTEXT, m_sIniFile) + Dim nType As NGE = GetPrivateProfileInt(S_GEOMDB, K_SAVETYPE, NGE.CMPTEXT, m_sIniFile) Dim sFile As String = m_Controller.GetCurrFile() If String.IsNullOrWhiteSpace(sFile) Then - GetPrivateProfileString("General", "LastNgeDir", "", sFile, m_sIniFile) + GetPrivateProfileString(S_GENERAL, K_LASTNGEDIR, "", sFile, m_sIniFile) sFile.TrimEnd("\"c) sFile += "\New" & m_nInstance.ToString() & ".nge" End If @@ -596,7 +672,7 @@ Public Class Form1 Private Sub btnImport_Click(sender As System.Object, e As System.EventArgs) Handles btnImport.Click Dim sDir As String = String.Empty - GetPrivateProfileString("General", "LastImpDir", "", sDir, m_sIniFile) + GetPrivateProfileString(S_GENERAL, K_LASTIMPDIR, "", sDir, m_sIniFile) m_Controller.ImportProject(sDir) End Sub @@ -606,19 +682,19 @@ Public Class Form1 Private Sub btnExec_Click(sender As System.Object, e As System.EventArgs) Handles btnExec.Click Dim sDir As String = String.Empty - GetPrivateProfileString("General", "LastLuaDir", "", sDir, m_sIniFile) + GetPrivateProfileString(S_GENERAL, K_LASTLUADIR, "", sDir, m_sIniFile) m_Controller.Exec(sDir) End Sub - Private Sub rbtWireFrame_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rbtWireFrame.CheckedChanged + Private Sub btnWireFrame_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles btnWireFrame.CheckedChanged Scene1.WireFrame() End Sub - Private Sub rbtHiddenLine_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rbtHiddenLine.CheckedChanged + Private Sub btnHiddenLine_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles btnHiddenLine.CheckedChanged Scene1.HiddenLine() End Sub - Private Sub rbtShading_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rbtShading.CheckedChanged + Private Sub btnShading_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles btnShading.CheckedChanged Scene1.Shading() End Sub @@ -729,6 +805,11 @@ Public Class Form1 m_Controller.ExecuteCommand(CMD.GRID) End Sub + Private Sub btnCplaneView_Click(sender As System.Object, e As System.EventArgs) Handles btnCPlaneView.Click + m_Controller.SetLastInteger(GRID_TYPE.VIEW) + m_Controller.ExecuteCommand(CMD.GRID) + End Sub + Private Sub btnCplaneElevation_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneElevation.Click m_Controller.ExecuteCommand(CMD.GRID_ELEVATION) End Sub @@ -795,8 +876,12 @@ Public Class Form1 m_Controller.ExecuteCommand(CMD.RECTANGLE2P) End Sub - Private Sub btnPolygonSide_Click(sender As System.Object, e As System.EventArgs) Handles btnPolygonSide.Click - m_Controller.ExecuteCommand(CMD.POLYGONSIDE) + Private Sub btnPolygon_Click(sender As System.Object, e As System.EventArgs) Handles btnPolygon.Click + If (ModifierKeys And Keys.Shift) <> Keys.Shift Then + m_Controller.ExecuteCommand(CMD.POLYGON) + Else + m_Controller.ExecuteCommand(CMD.POLYGONSIDE) + End If End Sub Private Sub btnText_Click(sender As System.Object, e As System.EventArgs) Handles btnText.Click diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 51a415e..2993738 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -46,5 +46,5 @@ Imports System.Runtime.InteropServices ' utilizzando l'asterisco (*) come descritto di seguito: ' - - + + diff --git a/Resources/CplaneView.png b/Resources/CplaneView.png new file mode 100644 index 0000000..9aef556 Binary files /dev/null and b/Resources/CplaneView.png differ diff --git a/Resources/Polygon.png b/Resources/Polygon.png new file mode 100644 index 0000000..db605dd Binary files /dev/null and b/Resources/Polygon.png differ diff --git a/Resources/PolygonSide.png b/Resources/PolygonSide.png deleted file mode 100644 index 16df520..0000000 Binary files a/Resources/PolygonSide.png and /dev/null differ diff --git a/Scene.vb b/Scene.vb index 32399df..1c5a68f 100644 --- a/Scene.vb +++ b/Scene.vb @@ -467,11 +467,11 @@ Public Class Scene 'Il punto di riferimento deve rimanere quello originale ElseIf m_nStatus = ST.ROT Then Cursor = New Cursor(Me.GetType(), "Rotate.cur") - EgtRotateCamera(m_PrevPoint, e.Location, True) + EgtRotateView(m_PrevPoint, e.Location, True) m_PrevPoint = e.Location ElseIf m_nStatus = ST.PAN Then Cursor = New Cursor(Me.GetType(), "Pan.cur") - EgtPanCamera(m_PrevPoint, e.Location, True) + EgtPanView(m_PrevPoint, e.Location, True) m_PrevPoint = e.Location Else m_nStatus = ST.SEL @@ -606,7 +606,7 @@ Public Class Scene EgtUnProjectPoint(WinXY, ptWorld) 'ricavo direzione di vista Dim nDir As Integer - EgtGetCameraDir(nDir) + EgtGetView(nDir) 'costruisco stringa con dati Dim sCursorPos As New System.Text.StringBuilder Select Case nDir diff --git a/TestEIn.vbproj b/TestEIn.vbproj index f631ec1..beb8ca7 100644 --- a/TestEIn.vbproj +++ b/TestEIn.vbproj @@ -167,7 +167,9 @@ Form + + True True @@ -497,6 +499,12 @@ + + + + + + IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\TestEIn\TestEInR32.exe