42 lines
		
	
	
		
			498 B
		
	
	
	
		
			Plaintext
		
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			498 B
		
	
	
	
		
			Plaintext
		
	
	
| 
								 | 
							
								usereg
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(1,1,1) !v0
							 | 
						||
| 
								 | 
							
								(1,0,1) !v1
							 | 
						||
| 
								 | 
							
								(0,0,1) !v2
							 | 
						||
| 
								 | 
							
								(0,1,1) !v3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(1,1,0) !v4
							 | 
						||
| 
								 | 
							
								(1,0,0) !v5
							 | 
						||
| 
								 | 
							
								(0,0,0) !v6
							 | 
						||
| 
								 | 
							
								(0,1,0) !v7
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:v0 :v1 makeVEFS dup
							 | 
						||
| 
								 | 
							
								[ :v2 :v3 ]
							 | 
						||
| 
								 | 
							
								{ makeEVone } forall
							 | 
						||
| 
								 | 
							
								exch edgemate exch makeEF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:v7 makeEVone
							 | 
						||
| 
								 | 
							
								dup faceCCW faceCCW
							 | 
						||
| 
								 | 
							
								[ :v4 :v5 :v6 ]
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    makeEVone
							 | 
						||
| 
								 | 
							
								    makeEF vertexCW
							 | 
						||
| 
								 | 
							
								    dup faceCCW faceCCW
							 | 
						||
| 
								 | 
							
								} forall
							 | 
						||
| 
								 | 
							
								faceCCW makeEF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								edgemate !e
							 | 
						||
| 
								 | 
							
								:e :e facemidpoint
							 | 
						||
| 
								 | 
							
								:e facenormal add
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								!p !e
							 | 
						||
| 
								 | 
							
								:e :p makeEVone
							 | 
						||
| 
								 | 
							
								dup edgemate !e
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    dup faceCCW faceCCW
							 | 
						||
| 
								 | 
							
								    dup :e eq { exit } if
							 | 
						||
| 
								 | 
							
								    makeEF edgemate
							 | 
						||
| 
								 | 
							
								} loop
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								pop pop
							 |