' Copyright GeoID, All rights reserved
' Address: Interleuvenlaan 62, B-3001, Leuven, Belgium
' Contact: Tom Op 't Eyndt, opteyndt@geoid.be
' Date: 31/12/2007

'--------------------------------------
' Declarations
'--------------------------------------
Dim IMessage
Dim IPlane
Dim IInfoTree
Dim IMenu
Dim IObjectManager
Dim Underground
Dim framecounter
Dim timestart
Dim timenow
Dim deltatime
Dim klok
Dim ustate
Dim X
Dim Y
Dim Z
Dim Yaw
Dim Pitch
Dim Roll
Dim CDYaz
Dim CDPitch

Dim state0

Dim location

'--------------------------------------
' Assign
'--------------------------------------

Underground = 0
ustate = false
ustate2 = false
klok = 0

'--------------------------------------
' Init
'--------------------------------------
Sub Init()
	Set IPlane = TE.interface("IPlane5")
	Set IInfoTree = TE.interface("IInformationTree5")
	Set IMessage = TE.interface("IContainer2")
	Set IMenu = TE.interface("IMenu")
	Set IObjectManager = TE.interface("IObjectManager5")
End Sub

'--------------------------------------
' LoadFly
'--------------------------------------
sub LoadFly()
	TE.Load "http://www.3D.GeoID.be/Beringen/fly/mine3D.fly"
end sub

'--------------------------------------
' OnFrame
'--------------------------------------

Sub TE_OnFrame()
	
	if ustate = true then
		IPlane.FlyToObject IInfoTree.GetTerraObjectID(IInfoTree.FindItem("Underground\MineFly")), 18
		ustate = false
	end if
	Set IPlane = TE.interface("IPlane5")
	IPlane.GetPosition X, Y, Z, Yaw, Pitch, Roll, CDYaz, CDPitch
	if ustate2 = true and Z < 4 then 
		IMenu.Invoke(33372) 
		ustate2 = false
		underground = 1
	end if

End Sub

'--------------------------------------
' Fly to locations
'--------------------------------------

Sub Go2Site(location)
	if underground = 1 then 
		IMenu.Invoke(33372)
		underground = 0
	end if
	IPlane.FlyToObject IInfoTree.GetTerraObjectID(IInfoTree.FindItem(location)), 0
End Sub

Sub Go2Underground()
	if underground = 1 then 
		IMenu.Invoke(33372)
		underground = 0
	end if
	IPlane.FlyToObject IInfoTree.GetTerraObjectID(IInfoTree.FindItem("Schachtbokken4")), 14
	ustate = true
	ustate2 = true
End Sub

Sub Fly2Site(location)
	if underground = 1 then 
		IMenu.Invoke(33372)
		underground = 0
	end if
	IPlane.FlyToObject IInfoTree.GetTerraObjectID(IInfoTree.FindItem(location)), 18
End Sub


'--------------------------------------
' Movements around locations
'--------------------------------------

'Sub Circle(location)
'	IPlane.FlyToObject IInfoTree.GetTerraObjectID(IInfoTree.FindItem(location)), 1
'End Sub

'Sub Oval(location)
'	IPlane.FlyToObject IInfoTree.GetTerraObjectID(IInfoTree.FindItem(location)), 2
'End Sub

'Sub Line(location)
'	IPlane.FlyToObject IInfoTree.GetTerraObjectID(IInfoTree.FindItem(location)), 3
'End Sub

'Sub Arc(location)
'	IPlane.FlyToObject IInfoTree.GetTerraObjectID(IInfoTree.FindItem(location)), 4
'End Sub

'--------------------------------------
' Layers
'--------------------------------------

sub Ketelhuis()
   Set IInfoTree = TE.interface("IInformationTree5")  
   Dim naam
   naam = IInfoTree.FindItem ("Gebouwen\Ketelhuis")
   if IInfoTree.GetVisibility (naam) then
     	IInfoTree.SetVisibility naam, 0
		
   else
   	IInfoTree.SetVisibility naam, 1
   end if
end sub

'--------------------------------------
' The Help Message
'--------------------------------------

sub HelpMessage()
	IMessage.HTMLPopUp 1, 400, 90, 630, 525, "Hoe navigeren?", 	"http://www.3D.GeoID.be/beringen/help.html", 2, -1
end sub

'--------------------------------------
' Intro
'--------------------------------------

sub IntroMessage()
	IMessage.HTMLPopUp 1, 400, 90, 630, 525, "Beringen Mijn - Info", 	"http://www.3D.GeoID.be/beringen/mijn.html", 2, -1
end sub

'--------------------------------------
' Stop
'--------------------------------------

sub StopAll()
	IMenu.Invoke(1010)
end sub
