
###################################
### DM2_w25 # AGruber@tugraz.at ###
### animatzi DEMO
###################################

##############################
import rhinoscriptsyntax as rs
import random, time, sys, os   ###
sys.path.append("P:/")     ###
sys.path.append("P:/WWW/limafi/dm2/")     ###
import DM_lib as dm        ### 
dm.reload_lib(dm)
##############################    

#rs.ViewDisplayMode(view=None, mode="wireframe")
rs.ShowGrid(view=None, show=False)
dm.PointRadius(displayModeX=1001, rad=1, styl=2, verbose=0)             # style 0,2 square; 1,3 round: outline, solid .. 4,5 active_point
dm.PointRadius(displayModeX=7, rad=2, styl=2, verbose=0)             # 7 = pen
dm.PointRadius(displayModeX=0, rad=1, styl=3, verbose=0)             # 0 = wireframe
dm.printDisplay(False)                                                  # nomen est omen
rs.EnableRedraw(False)
rs.Redraw()

dm.newEmptyLayer("TST", [180,80,80])

dBox = rs.BoundingBox(rs.ObjectsByLayer("DEM::DEM1"))   #:: zu sublayer

target = dm.pntCentroid(dBox)
#dm.textDots(dBox) 
#rs.AddCurve(dBox, 1) 
#rs.AddCurve(dBox, 2) 
camCrv = rs.AddInterpCurve(dBox, 2)  #Kurve durch Punkte 
anzahl = 10
camCoords = rs.DivideCurve( camCrv, anzahl, 0)
camCoords = [ rs.VectorAdd(cor, [0,0,101.0] )          for cor in camCoords       ]

rs.AddInterpCurve( camCoords, 2)

path = "P:/WWW/limafi/"
if not os.path.exists(path): os.makedirs(path)


deltaLens = (50-10)/anzahl #brennweite aendern 
frameNr = 0 

for i in range( anzahl ):
    dm.esc()
    cameraX = camCoords[i]
    #rs.AddLine(cameraX, target)
    lensX = 50 - i*deltaLens
    dm.setCameraTarget(camera=cameraX, target=target, lens=50, rota=0, upVec=0, verbose=0)
    if i%1==0:
        rs.Redraw()
        imageNameX = dm.makeName(name='G_dEmo', frameNumber=frameNr, anzahl=4, format='jpg')
        print i, "-", imageNameX, "lens=", lensX
        rs.Command("-_viewCaptureToFile Width=640 Height=360 Scale=1 TransparentBackground="+dm.trans["png" in imageNameX]+" "+path+imageNameX, False)

        frameNr += 1
