###################################
### DM2_w24 # AGruber@tugraz.at ###


##############################
import rhinoscriptsyntax as rs
import random, time, sys   ###
sys.path.append("P:/")     ###
sys.path.append("P:/WWW/limafi/dm2")     ###
sys.path.append("D:/PY/")
import DM_lib as dm        ### reload( dm )
##############################      

rs.UnitSystem(4)                                        # km = 5, meters = 4, cm = 3 etc
rs.ShowGrid(None, 0)                                    # grid > 0 = off
rs.ShowGridAxes(None, 1)                                # y/y/z axen display > 0/1 = off/on
#rs.ViewDisplayMode(rs.CurrentView(), "wireframe")
rs.ViewDisplayMode(rs.CurrentView(), "rendered")
rs.Command("cplane w t enter", 0)						# cPlane World Top
dm.PointRadius(displayModeX=2, rad=3, styl=3)
dm.printDisplay(1)                                      # nomen est omen
rs.EnableRedraw(0)


dm.newEmptyLayer("PROJ", [20,120, 100] )

dachstein = rs.ObjectsByName("DEM_47_28_2_013_34_3")[0]
bBox = rs.BoundingBox( dachstein )
#dm.textDots(bBox)

rs.HideObject( dachstein )
srf = rs.AddSrfPt( bBox[4:] )
rs.ObjectName(srf, "lochteil")
crv = rs.AddCurve( bBox[4:], 1 )
coords = rs.DivideCurve( crv, 16, 0)
for i in range(4):
    pX = dm.pntInbetween( random.choice(coords), random.choice(coords))
    rs.AddCircle( pX, random.uniform(200,500))
    rs.ObjectName( rs.AllObjects()[0], "circ")
rs.HideObjects(rs.AllObjects())
rs.ShowObject( srf )
rs.ShowObjects( rs.ObjectsByName("circ"))
rs.Command("-split -selID "+str(srf)+" enter -selName \"circ\" enter enter", 0)

for obj in rs.ObjectsByName("lochteil"):
    if rs.Area(obj) < 10000000:
        rs.DeleteObject( obj )
rs.DeleteObjects(rs.ObjectsByName("circ"))
#rs.DeleteObjects(rs.AllObjects()[1:])
#rs.ShowObjects( rs.AllObjects())
#rs.Command("-selID "+str(srf))


if 0:
    for val in range(1,366,5):
        dat = dm.number2date(number=((val*1)%365)+1, year=2024)
        mon = dat[0]
        day = dat[1]
        sunVec = dm.setSun(year=2024, mon=mon, day=day, hour=18, min=0, sec=0, verbose=0)[2]
        rs.Redraw()
        #sunVec = rs.VectorUnitize(sunVec)
        #sunVec = rs.VectorRotate( sunVec, -50.0, [0,0,1] )
    