#Pragma Encryption
#Include < PanelMain.h > raw

' ---------------------
' Initialize
' ---------------------
Sub Panel_INITIALIZE( )
	Dim lIndex As Long
	
	lIndex = Vars.ItemValue( 1 )
	
	nbCalNo.Value = lIndex
	
	If ( DispCal( lIndex ) = False ) Then
		lblInfo.Caption = "Info: Failed Calibration No is out of range."
	End If
End Sub

' ---------------------
' Save Calbration Data
' ---------------------
Sub fkSaveCal_CLICKED( )
	On Error GoTo ErrProc
	
#Pragma 	Encrypt( On )
	DAGEnDKuVthZuMqJqGK0RD0HYJAJw36b6SulTcKl
	z0WY6ayAqw+bCwhgqX2ROeBJCDWcY3TW1OPp09+b
	/TV51lMqs79H5GjjllQQBsh1Sb+S4i3vkmitmCCR
#Pragma 	Encrypt( Off )
	
	lblInfo.Caption = "Info: Succeeded Save Calibration Data"
	
	Exit Sub
ErrProc:
	lblInfo.Caption = "Info: Failed Save Calibration Data"
End Sub

Sub fkChangeCal_CLICKED( )
	Vars.ItemValue( 2 ) = nbCalNo.Value
	
	PageChange Calibration
End Sub

Sub fkChangeMain_CLICKED( )
	Vars.ItemValue( 2 ) = nbCalNo.Value
	
	PageChange Main
End Sub

Sub nbCalNo_DONE( )
	Dim lIndex As Long
	
	lIndex = nbCalNo.Value
	
	If ( DispCal( lIndex ) = False ) Then
		lblInfo.Caption = "Info: Failed Calibration No is out of range."
	Else
		lblInfo.Caption = "Info:"
	End If
	
End Sub


Function DispCal( ByVal lIndex As Long ) As Long
	Dim vntCalData As Variant
	Dim vntCalPos As Variant
	
	On Error GoTo ErrProc
	
	vntCalData = Vis.GetCalData( lIndex )
	vntCalPos = Vis.GetCalPos( lIndex )
	
	' Show Calibration Data
	If ( ( VarType( vntCalData ) And 8192 ) <> 0 ) Then
		nbCalRX.Value = Sprintf( "%.4f", vntCalData( 3 ) )
		nbCalRY.Value = Sprintf( "%.4f", vntCalData( 7 ) )
		nbCalRZ.Value = Sprintf( "%.4f", vntCalData( 11 ) )
		nbCalOX.Value = Sprintf( "%.4f", vntCalData( 1 ) )
		nbCalOY.Value = Sprintf( "%.4f", vntCalData( 5 ) )
		nbCalOZ.Value = Sprintf( "%.4f", vntCalData( 9 ) )
		nbCalNX.Value = Sprintf( "%.4f", vntCalData( 0 ) )
		nbCalNY.Value = Sprintf( "%.4f", vntCalData( 4 ) )
		nbCalNZ.Value = Sprintf( "%.4f", vntCalData( 8 ) )
	End If 
	
	' Show Calibration Points
	If ( ( VarType( vntCalPos ) And 8192 ) <> 0 ) Then
		nbVisPosX1.Value = Sprintf( "%.4f", vntCalPos( 0 ) )
		nbVisPosY1.Value = Sprintf( "%.4f", vntCalPos( 1 ) )
		' Z : vntCalPos(2) 
		nbVisPosX2.Value = Sprintf( "%.4f", vntCalPos( 3 ) )
		nbVisPosY2.Value = Sprintf( "%.4f", vntCalPos( 4 ) )
		' Z : vntCalPos(5) 
		nbVisPosX3.Value = Sprintf( "%.4f", vntCalPos( 6 ) )
		nbVisPosY3.Value = Sprintf( "%.4f", vntCalPos( 7 ) )
		' Z : vntCalPos(8) 
		
		nbRobPosX1.Value = Sprintf( "%.4f", vntCalPos( 9 ) )
		nbRobPosY1.Value = Sprintf( "%.4f", vntCalPos( 10 ) )
		nbRobPosZ1.Value = Sprintf( "%.4f", vntCalPos( 11 ) )
		' RX : vntCalPos(12)
		' RY : vntCalPos(13)
		' RZ : vntCalPos(14)
		
		nbRobPosX2.Value = Sprintf( "%.4f", vntCalPos( 15 ) )
		nbRobPosY2.Value = Sprintf( "%.4f", vntCalPos( 16 ) )
		nbRobPosZ2.Value = Sprintf( "%.4f", vntCalPos( 17 ) )
		' RX : vntCalPos(18)
		' RY : vntCalPos(19)
		' RZ : vntCalPos(20)
		
		nbRobPosX3.Value = Sprintf( "%.4f", vntCalPos( 21 ) )
		nbRobPosY3.Value = Sprintf( "%.4f", vntCalPos( 22 ) )
		nbRobPosZ3.Value = Sprintf( "%.4f", vntCalPos( 23 ) )
		' RX : vntCalPos(24)
		' RY : vntCalPos(25)
		' RZ : vntCalPos(26)
		
	End If
	
	DispCal = True
	
	Exit Function
	
ErrProc:
	DispCal = False
End Function
#Ifdef TP_DESIGNER
'<<--TPDESIGNER_RESERVED-->>
CAPTION=""
BG=3
FG=0
TIMEOUT=200
TIMEOUTMODE=0
RELEASEMODE=0
PNLCCVER=232
COLORTYPE=0
FONTTYPE=0
BORDERSTYLE=0
CONTROLSORT=0
add_widget 2,"Label1",0,0,640,370,0,0,0,1,0," ",2,0,"","",1,1;
add_widget 2,"Label2",0,0,460,35,0,8,0,1,0,"Calibration",1,2,"","",1,1;
add_widget 2,"Label3",229,4,150,26,0,7,0,1,0,"Calibration No",1,0,"","",1,1;
add_widget 5,"nbCalNo",387,4,65,26,-1,1,0,3,1,"NB1",2,0,0;
add_widget 9,"grpVision",10,50,230,286,10,0,0,1,0,"Vision",2,0,2,0;
add_widget 9,"grpRobot",250,50,210,286,10,0,0,1,0,"Robot",2,0,2,0;
add_widget 9,"grpCalData",469,14,163,322,10,0,0,1,0,"CalData",2,0,2,0;
add_widget 7,"grpPoint",20,70,430,76,14,8,0,1,0,1;
add_widget 2,"lblVisPoint1",20,70,70,30,0,14,0,1,0,"Coord1",1,0,"","",1,1;
add_widget 2,"lblVisPosX1",117,80,30,25,0,7,0,1,0,"X",1,0,"","",1,1;
add_widget 5,"nbVisPosX1",147,80,80,25,-1,1,0,1,5,"NB1",2,1,      0;
add_widget 2,"lblVisPosY1",117,113,30,25,0,7,0,1,0,"Y",1,0,"","",1,1;
add_widget 5,"nbVisPosY1",147,114,80,25,-1,1,0,1,5,"NB1",2,1,      0;
add_widget 2,"lblRobPosX1",347,77,20,20,0,7,0,1,0,"X",1,0,"","",1,1;
add_widget 5,"nbRobPosX1",366,77,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 2,"lblRobPosY1",347,99,20,20,0,7,0,1,0,"Y",1,0,"","",1,1;
add_widget 5,"nbRobPosY1",366,99,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 2,"lblRobPosZ1",347,121,20,20,0,7,0,1,0,"Z",1,0,"","",1,1;
add_widget 5,"nbRobPosZ1",366,121,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 2,"Label11",476,302,47,25,0,7,0,1,0,"Nz",1,0,"","",1,1;
add_widget 5,"nbCalRX",523,30,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"Label12",476,268,47,25,0,7,0,1,0,"Ny",1,0,"","",1,1;
add_widget 5,"nbCalRY",523,64,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"Label13",476,234,47,25,0,7,0,1,0,"Nx",1,0,"","",1,1;
add_widget 5,"nbCalRZ",523,98,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"Label14",476,200,47,25,0,7,0,1,0,"Oz",1,0,"","",1,1;
add_widget 5,"nbCalOX",523,132,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"Label15",476,166,47,25,0,7,0,1,0,"Oy",1,0,"","",1,1;
add_widget 5,"nbCalOY",523,166,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"Label16",476,132,47,25,0,7,0,1,0,"Ox",1,0,"","",1,1;
add_widget 5,"nbCalOZ",523,200,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"Label17",476,98,47,25,0,7,0,1,0,"Rz",1,0,"","",1,1;
add_widget 5,"nbCalNX",523,234,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"Label18",476,64,47,25,0,7,0,1,0,"Ry",1,0,"","",1,1;
add_widget 5,"nbCalNY",523,268,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"Label19",476,30,47,25,0,7,0,1,0,"Rx",1,0,"","",1,1;
add_widget 5,"nbCalNZ",523,302,102,25,-1,9,0,1,4,"NB1",2,1,      0;
add_widget 2,"lblRobPoint1",250,70,70,30,0,14,0,1,0,"Position1",1,0,"","",1,1;
add_widget 7,"Rect1",20,160,430,76,14,8,0,1,0,1;
add_widget 7,"Rect2",20,250,430,76,14,8,0,1,0,1;
add_widget 2,"lblVisPoint2",20,160,70,30,0,14,0,1,0,"Coord2",1,0,"","",1,1;
add_widget 2,"lblVisPoint3",20,250,70,30,0,14,0,1,0,"Coord3",1,0,"","",1,1;
add_widget 2,"lblRobPoint2",250,160,70,30,0,14,0,1,0,"Position2",1,0,"","",1,1;
add_widget 2,"lblRobPoint3",250,250,70,30,0,14,0,1,0,"Position3",1,0,"","",1,1;
add_widget 2,"lblVisPosX2",120,170,30,25,0,7,0,1,0,"X",1,0,"","",1,1;
add_widget 2,"lblVisPosY2",120,200,30,25,0,7,0,1,0,"Y",1,0,"","",1,1;
add_widget 5,"nbVisPosX2",150,170,80,25,-1,1,0,1,5,"NB1",2,1,      0;
add_widget 5,"nbVisPosY2",150,200,80,25,-1,1,0,1,5,"NB1",2,1,      0;
add_widget 2,"lblRobPosX2",347,167,20,20,0,7,0,1,0,"X",1,0,"","",1,1;
add_widget 2,"lblRobPosY2",347,189,20,20,0,7,0,1,0,"Y",1,0,"","",1,1;
add_widget 2,"lblRobPosZ2",347,211,20,20,0,7,0,1,0,"Z",1,0,"","",1,1;
add_widget 5,"nbRobPosX2",366,167,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 5,"nbRobPosY2",366,189,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 5,"nbRobPosZ2",366,211,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 2,"lblVisPosX3",120,260,30,25,0,7,0,1,0,"X",1,0,"","",1,1;
add_widget 2,"lblVisPosY3",120,290,30,25,0,7,0,1,0,"Y",1,0,"","",1,1;
add_widget 5,"nbVisPosX3",150,260,80,25,-1,1,0,1,5,"NB1",2,1,      0;
add_widget 5,"nbVisPosY3",150,290,80,25,-1,1,0,1,5,"NB1",2,1,      0;
add_widget 2,"lblRobPosX3",347,257,20,20,0,7,0,1,0,"X",1,0,"","",1,1;
add_widget 2,"lblRobPosY3",347,279,20,20,0,7,0,1,0,"Y",1,0,"","",1,1;
add_widget 2,"lblRobPosZ3",347,301,20,20,0,7,0,1,0,"Z",1,0,"","",1,1;
add_widget 5,"nbRobPosX3",366,257,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 5,"nbRobPosY3",366,279,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 5,"nbRobPosZ3",366,301,75,20,-1,1,0,1,5,"NB1",1,1,      0;
add_widget 12,"fkSaveCal","Save CalData",1;
add_widget 12,"fkChangeMain","Main Window",6;
add_widget 2,"lblInfo",0,340,640,26,0,-1,0,1,0,"Info:",1,2,"","",1,1;
add_widget 12,"fkChangeCal","Calibration Window",5;
'<<--TPDESIGNER_RESERVED-->>
#endif
