from larlib import *
from pyplasm import *

def porta() :
	Porta = CUBOID([1,3,0.30])
	#VIEW(Porta)
	Quadrettini = CUBOID([0.70,0.50,0.15])
	#VIEW(Quadrettini)
	Quadrettini = STRUCT(NN(3)([T(2)(0.75),Quadrettini]))
	#VIEW(Quadrettini)
	Quadrettini = T(1)(0.15)(Quadrettini)
	#VIEW(DIFFERENCE([Porta,Quadrettini]))
	Porta_Completa = DIFFERENCE([Porta,Quadrettini])
	Porta_Completa = TEXTURE('\windows\system32\Github\Legno_Porta.jpg')(Porta_Completa)
	Anta2 = Porta_Completa
	#VIEW(Porta_Completa)
	Maniglia = CYLINDER([0.1,0.15])(12)
	Maniglia = T([1,2])([0.88,1.38])(Maniglia)
	Porta_Completa = STRUCT([Porta_Completa,Maniglia])
	#VIEW(Porta_Completa)
	Anta2 = T(1)(1)(Anta2)
	Maniglia = T(1)(0.25)(Maniglia)
	Anta2 = STRUCT([Anta2,Maniglia])
	Porta_Completa = STRUCT([Porta_Completa,Anta2])
	#VIEW(Porta_Completa)
	hCol = 3.5
	def Column(argomenti):
		w,h = argomenti
		basis = CUBOID([w,w,w/3])
		trunk = CYLINDER ([w/3*0.85, h - w])(4)
		capitel = CUBOID([w,w,w/3])
		return TOP([TOP([trunk,basis]),capitel])
	MyColumn  = COMP([MKPOL,UKPOL,Column])([0.5,hCol])
	MyColumn = R([2,3])((3*PI)/2)(MyColumn)
	MyColumn = T(1)(0)(MyColumn)
	MyColumn = TEXTURE('\windows\system32\Github\Font_Pareti_Ombreggiatura.jpg')(MyColumn)
	MyColumn2 = T(1)(2)(MyColumn)
	#VIEW(STRUCT([Porta_Completa,MyColumn,MyColumn2]))
	Barretta = CUBOID([1.9,0.30,0.1])
	Barretta = T([1,2])([-0.1,3])(Barretta)
	Barretta = TEXTURE('\windows\system32\Github\Font_Pareti_Ombreggiatura.jpg')(Barretta)
	#VIEW(STRUCT([Porta_Completa,MyColumn,MyColumn2,Barretta]))
	Porta_Semi_Completa = STRUCT([Porta_Completa,MyColumn,MyColumn2,Barretta])
	Sbarra = CYLINDER([0.09,3])(12)
	Sbarra = R([2,3])((3*PI)/2)(Sbarra)
	Sbarra = R([1,2])((3*PI)/2)(Sbarra)
	Sbarra = T([1,2])([-0.9,4.50])(Sbarra)
	Sbarra = TEXTURE('\windows\system32\Github\Font_Pareti_Ombreggiatura.jpg')(Sbarra)
	Sbarra2 = T(2)(0.09)(Sbarra)
	#VIEW(STRUCT([Finestra,Sbarra,Sbarra2]))
	Sbarre = STRUCT([Sbarra,Sbarra2])
	Sbarre_Inferiori = T([1,2])([0.40,-1.15])(Sbarre)
	Porta_Semi_Completa_2 = STRUCT([Porta_Semi_Completa,Sbarre_Inferiori])
	#VIEW(Porta_Semi_Completa_2)
	##########################################
	Canc = CUBOID([2,3.8,1])
	Canc = T([1,2,3])([-0.16,6.28,-0.10])(Canc)
	Sbarre = R([1,2])(PI/4)(Sbarre)
	Sbarre = T([1,2])([3.3,1])(Sbarre)
	Canc = CUBOID([2,3.8,1])
	Canc = T([1,2,3])([-0.16,5.05,-0.10])(Canc) 
	#VIEW(STRUCT([Finestre,Sbarre,Sbarra,Sbarra2,Sbarrette,Canc]))
	Prova1 = DIFFERENCE([Sbarre,Canc])
	Sbarrette = T(1)(3.7)(Sbarre)
	#VIEW(Sbarrette)
	Sbarrette = R([1,2])(-(3*PI)/2)(Sbarrette)
	Sbarrette = T([1,2])([6,0.45])(Sbarrette)
	Prova2 = DIFFERENCE([Sbarrette,Canc])
	Prova2 = TEXTURE('\windows\system32\Github\Font_Pareti_Ombreggiatura.jpg')(Prova2)
	Prova1 = TEXTURE('\windows\system32\Github\Font_Pareti_Ombreggiatura.jpg')(Prova1)
	#VIEW(STRUCT([Porta_Semi_Completa_2,Prova2,Prova1]))
	Porta_Completa_Finita = STRUCT([Porta_Semi_Completa_2,Prova2,Prova1])
	return Porta_Completa_Finita
	