# import numpy
import openglider.Graphics as Graph
from openglider.Utils.Ballooning import BallooningBezier


a = Profile2D()
a.importdat(os.path.dirname(os.path.abspath(__file__)) + "/test.dat")
# a.Numpoints = 400


ballooning = BallooningBezier()
balloon = [ballooning(i) for i in a.XValues]


r1 = Rib(a, ballooning, [0.12, 0, 0], 1.0, 20 * math.pi / 180, 2 * math.pi / 180, 0, 7)
r3 = Rib(a, ballooning, [0.3, 0.2, -0.1], 0.8, 30 * math.pi / 180, 5 * math.pi / 180, 0, 7)
r2 = r1.copy()
r2.mirror()
for i in [r1, r2, r3]:
    i.recalc()


cell = BasicCell(r2.profile_3d, r1.profile_3d, balloon)
cell2 = BasicCell(r1.profile_3d, r3.profile_3d, balloon)


num = 20
ribs = [cell.midrib(x * 1.0 / num) for x in range(num + 1)]
ribs += [cell2.midrib(x * 1.0 / num) for x in range(num + 1)]
# G.Graphics3D([G.Line(r1.profile_3d.data),G.Line(r2.profile_3d.data),G.Line([[0.,0.,0.],[1.,0.,0.]]),G.Line([[0.,0.,0.],[0.,0.5,0.]])])
a = Profile2D()
a.importdat(os.path.dirname(os.path.abspath(__file__))+"/test.dat")
#a.Numpoints = 400

midribs = [
    #MiniRib(0.2, 0.8, 1),
    MiniRib(0.5, 0.7, 1),
    #MiniRib(0.8, 0.8, 1),
]

b1 = BallooningBezier()
b2 = BallooningBezier()
b2.Amount *= 0.8


r2 = Rib(a, b1, [0.12, 0, 0], 1., 20*math.pi/180, 2*math.pi/180, 0, 7)
r1 = r2.copy()
r1.mirror()
r3 = Rib(a, b2, [0.3, 0.2, -0.1], 0.8, 30*math.pi/180, 5*math.pi/180, 0, 7)

for i in [r1, r2, r3]:
    i.recalc()

cell1 = Cell(r1, r2, midribs)
cell1.recalc()
cell2 = Cell(r2, r3, [])
cell2.recalc()


num = 40
#ribs = [cell1.midrib(x*1./num) for x in range(num+1)]