38 lines
		
	
	
		
			1022 B
		
	
	
	
		
			Plaintext
		
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			1022 B
		
	
	
	
		
			Plaintext
		
	
	
| 
								 | 
							
								usereg !nrml !backwall !wall !poly
							 | 
						||
| 
								 | 
							
								{ usereg !door !wall
							 | 
						||
| 
								 | 
							
								    :door edgemate :wall killFmakeRH
							 | 
						||
| 
								 | 
							
								    :door edgemate faceCCW
							 | 
						||
| 
								 | 
							
								    :wall makeEkillR
							 | 
						||
| 
								 | 
							
								    dup faceCCW faceCCW
							 | 
						||
| 
								 | 
							
								    :door edgemate
							 | 
						||
| 
								 | 
							
								    exch makeEF pop
							 | 
						||
| 
								 | 
							
								    faceCCW killEF
							 | 
						||
| 
								 | 
							
								} !glue-ringface-edges
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:poly 0 get                     !pr
							 | 
						||
| 
								 | 
							
								:poly -1 get                    !pl
							 | 
						||
| 
								 | 
							
								:wall vertexpos                 !pw0
							 | 
						||
| 
								 | 
							
								:wall edgemate vertexpos        !pw1
							 | 
						||
| 
								 | 
							
								:pr :pw0 :pw1 project_ptline    !prb
							 | 
						||
| 
								 | 
							
								:pl :pw0 :pw1 project_ptline    !plb
							 | 
						||
| 
								 | 
							
								[ :plb :plb :prb :prb ]
							 | 
						||
| 
								 | 
							
								:poly arrayappend               !poly
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:poly :nrml neg :backwall faceplane
							 | 
						||
| 
								 | 
							
								project_polyplane
							 | 
						||
| 
								 | 
							
								    5 poly2doubleface edgemate  !backdoor
							 | 
						||
| 
								 | 
							
								:poly 5 poly2doubleface         !door
							 | 
						||
| 
								 | 
							
								:wall     :door     :glue-ringface-edges
							 | 
						||
| 
								 | 
							
								:backwall :backdoor :glue-ringface-edges
							 | 
						||
| 
								 | 
							
								:backdoor faceCCW :door 2 bridgerings
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								!doorL
							 | 
						||
| 
								 | 
							
								:doorL edgemate 2 faceCCW edgemate !doorR
							 | 
						||
| 
								 | 
							
								:doorL edgemate faceCCW killEF
							 | 
						||
| 
								 | 
							
								:doorR edgemate faceCCW killEmakeR pop
							 | 
						||
| 
								 | 
							
								:doorL edgemate isBaseface {
							 | 
						||
| 
								 | 
							
								    :doorR edgemate makeFkillRH
							 | 
						||
| 
								 | 
							
								} if
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:doorL :doorR
							 |