VERSION 5.00
Begin VB.Form MainForm
ClientHeight = 10275
ClientLeft = 165
ClientTop = 975
ClientWidth = 9915
LinkTopic = "Form1"
PaletteMode = 1 'UseZOrder
ScaleHeight = 10275
ScaleWidth = 9915
Begin VB.OptionButton Option2
Caption = "Contour Plot"
Height = 735
Left = 3000
TabIndex = 4
Top = 840
Width = 2295
End
Begin VB.OptionButton Option1
Caption = "Surface"
Height = 495
Left = 240
TabIndex = 3
Top = 960
Width = 2175
End
Begin VB.HScrollBar HScroll1
Enabled = 0 'False
Height = 495
Left = 4800
Max = 30
Min = -30
TabIndex = 2
Top = 120
Width = 4095
End
Begin VB.PictureBox Picture1
Align = 2 'Align Bottom
AutoRedraw = -1 'True
Height = 8490
Left = 0
ScaleHeight = 8430
ScaleWidth = 9855
TabIndex = 1
Top = 1785
Width = 9915
End
Begin VB.CommandButton TestButton1
Caption = "Draw Plot"
Height = 495
Left = 0
TabIndex = 0
Top = 120
Width = 1455
End
End
Attribute VB_Name = "MainForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Load()
Rem Open GINO-F
gOpenGino
Rem Open The GINO Device
gMwinao 0, Picture1.hDC
Option1.value = True
Option2.value = False
HScroll1.Enabled = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
Rem Close GINO Device
gCloseDevice
Rem Close GINO
gCloseGino
End Sub
Private Sub HScroll1_Change()
Dim paper As GDIM, papertype As Long
Dim work As GWORKSPACE
Dim az(0 To 20, 0 To 20) As Single
Dim lm As GLIMIT
Dim point(0 To 441) As GPOINT3
Dim idx(0 To 19, 0 To 19) As GFILL
MainForm.MousePointer = 11
gNewDrawing
gEnqDrawingLimits paper, papertype
gsOpenSurf
gSetHardChars
gSetCharSize 2#, 2#
gSetCharFont 101
gsSetSurfCharMode GGINOMODE
For i = 0 To 19
For j = 0 To 19
idx(i, j).fill = GSOLID
idx(i, j).line = ((i * j) Mod 8) + 2
Next j
Next i
For x = 0 To 20
For y = 0 To 20
point(y * 20 + x).x = x
point(y * 20 + x).y = y
point(y * 20 + x).z = (x * y)
Next y
Next x
lm.xmin = 0#
lm.xmax = 20#
lm.ymin = 0#
lm.ymax = 20#
gSetLineColour GBLUE
gsGenerateRandomGrid 441, point(0), lm, 21, 21, az(0, 0), work
Rem gsDrawWireFrameSurface lm, 21, 21, az(0, 0), 150#, 25#, CSng(HScroll1.value), work
gsFillSurface lm, 21, 21, az(0, 0), 150#, 25#, CSng(HScroll1.value), idx(0, 0), work
gFlushGraphics
Picture1.Refresh
gsFreeWorkspace work
gsCloseSurf
MainForm.MousePointer = 0
End Sub
Private Sub Option1_Click()
HScroll1.Enabled = True
End Sub
Private Sub Option2_Click()
HScroll1.Enabled = False
End Sub
Private Sub TestButton1_Click()
Dim paper As GDIM, papertype As Long
Dim work As GWORKSPACE
Dim az(0 To 20, 0 To 20) As Single
Dim lm As GLIMIT
Dim point(0 To 441) As GPOINT3
Dim idx(0 To 19, 0 To 19) As GFILL
Dim i, maxpts As Integer
MainForm.MousePointer = 11
gNewDrawing
gEnqDrawingLimits paper, papertype
gsOpenSurf
gSetHardChars
gSetCharSize 2#, 2#
gSetCharFont 101
gsSetSurfCharMode GGINOMODE
For i = 0 To 19
For j = 0 To 19
idx(i, j).fill = GSOLID
idx(i, j).line = ((i * j) Mod 8) + 2
Next j
Next i
Open "f:\mixedlang\vbasic\surf\gstd1.dat" For Input As #1
Input #1, maxpts
For i = 1 To maxpts
Input #1, point(i).x, point(i).y, point(i).z
Next i
Close #1
Rem For x = 0 To 20
Rem For y = 0 To 20
Rem point(y * 20 + x).x = x
Rem point(y * 20 + x).y = y
Rem point(y * 20 + x).z = (x * y)
Rem Next y
Rem Next x
lm.xmin = 0#
lm.xmax = 20#
lm.ymin = 0#
lm.ymax = 20#
gSetLineColour GBLUE
Rem gsGenerateRandomNetwork 800, 401, point(0), work
Rem gsDrawTriangulatedContourMap lm, 5, GSMOOTH, work
Rem gSetLineColour GBLUE
Rem gsDrawNetwork GSYMBOLS, GSPOT, work
gsGenerateRandomGrid 441, point(0), lm, 21, 21, az(0, 0), work
Rem gsDrawGriddedContourMap lm, 21, 21, az(0, 0), 4, GSMOOTH, work
If Option2.value = True Then gsFillGriddedContourMap lm, 21, 21, az(0, 0), 4, GSMOOTH, idx(0, 0), GOFF, work
If Option1.value = True Then gsFillSurface lm, 21, 21, az(0, 0), 150#, 25#, CSng(HScroll1.value), idx(0, 0), work
gFlushGraphics
Picture1.Refresh
gsFreeWorkspace work
gsCloseSurf
MainForm.MousePointer = 0
End Sub
Public Function zfunc(ByRef x#, ByRef y#) As Single
zfunc = (x * y)
Return
End Function