// Generated by Haxe 4.3.3
package schema;

import haxe.root.*;

@SuppressWarnings(value={"rawtypes", "unchecked"})
public class Box extends haxe.lang.HxObject
{
	public Box(haxe.lang.EmptyObject empty)
	{
	}
	
	
	public Box(java.lang.Object topleft, int width, int height)
	{
		//line 10 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		schema.Box.__hx_ctor_schema_Box(this, topleft, width, height);
	}
	
	
	protected static void __hx_ctor_schema_Box(schema.Box __hx_this, java.lang.Object topleft, int width, int height)
	{
		//line 11 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		__hx_this.topleft = topleft;
		//line 12 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		__hx_this.width = width;
		//line 13 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		__hx_this.height = height;
		//line 14 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		{
			//line 14 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_odecl1 = ((int) (( ((int) (haxe.lang.Runtime.getField_f(topleft, "x", true)) ) + ( ((double) (width) ) / 2 ) )) );
			//line 14 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_odecl2 = ((int) (( ((int) (haxe.lang.Runtime.getField_f(topleft, "y", true)) ) + ( ((double) (height) ) / 2 ) )) );
			//line 14 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			__hx_this.center = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl1) )) ), ((double) (((double) (__temp_odecl2) )) )});
		}
		
	}
	
	
	public static boolean areSameLine(schema.Box box1, schema.Box box2)
	{
		//line 18 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		return ( java.lang.Math.abs(((double) (( ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) ) - ((int) (haxe.lang.Runtime.getField_f(box2.center, "y", true)) ) )) )) < 5 );
	}
	
	
	public static boolean areSameColumn(schema.Box box1, schema.Box box2)
	{
		//line 22 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		return ( java.lang.Math.abs(((double) (( ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) ) - ((int) (haxe.lang.Runtime.getField_f(box2.center, "x", true)) ) )) )) < 5 );
	}
	
	
	public static boolean leftToRight(schema.Box box1, schema.Box box2)
	{
		//line 26 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		if ( ! (schema.Box.areSameColumn(box1, box2)) ) 
		{
			//line 26 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			return ( ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) ) < ((int) (haxe.lang.Runtime.getField_f(box2.center, "x", true)) ) );
		}
		else
		{
			//line 26 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			return false;
		}
		
	}
	
	
	public static boolean topToBottom(schema.Box box1, schema.Box box2)
	{
		//line 30 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		if ( ! (schema.Box.areSameLine(box1, box2)) ) 
		{
			//line 30 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			return ( ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) ) < ((int) (haxe.lang.Runtime.getField_f(box2.center, "y", true)) ) );
		}
		else
		{
			//line 30 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			return false;
		}
		
	}
	
	
	public static schema.Line getLine(schema.Box box1, schema.Box box2)
	{
		//line 34 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		schema.Line line = null;
		//line 35 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		if (schema.Box.areSameLine(box1, box2)) 
		{
			//line 36 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (schema.Box.leftToRight(box1, box2)) 
			{
				//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				java.lang.Object __temp_stmt29 = null;
				//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				{
					//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl1 = ( ((int) (haxe.lang.Runtime.getField_f(box1.topleft, "x", true)) ) + box1.width );
					//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl2 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) );
					//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					__temp_stmt29 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl1) )) ), ((double) (((double) (__temp_odecl2) )) )});
				}
				
				//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				java.lang.Object __temp_stmt30 = null;
				//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				{
					//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl3 = ((int) (haxe.lang.Runtime.getField_f(box2.topleft, "x", true)) );
					//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl4 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) );
					//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					__temp_stmt30 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl3) )) ), ((double) (((double) (__temp_odecl4) )) )});
				}
				
				//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				line = new schema.Line(((java.lang.Object) (__temp_stmt29) ), ((java.lang.Object) (__temp_stmt30) ));
			}
			else
			{
				//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				java.lang.Object __temp_stmt27 = null;
				//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				{
					//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl5 = ((int) (haxe.lang.Runtime.getField_f(box1.topleft, "x", true)) );
					//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl6 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) );
					//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					__temp_stmt27 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl5) )) ), ((double) (((double) (__temp_odecl6) )) )});
				}
				
				//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				java.lang.Object __temp_stmt28 = null;
				//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				{
					//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl7 = ( ((int) (haxe.lang.Runtime.getField_f(box2.topleft, "x", true)) ) + box2.width );
					//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl8 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) );
					//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					__temp_stmt28 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl7) )) ), ((double) (((double) (__temp_odecl8) )) )});
				}
				
				//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				line = new schema.Line(((java.lang.Object) (__temp_stmt27) ), ((java.lang.Object) (__temp_stmt28) ));
			}
			
		}
		else
		{
			//line 41 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (schema.Box.areSameColumn(box1, box2)) 
			{
				//line 42 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				if (schema.Box.topToBottom(box1, box2)) 
				{
					//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					java.lang.Object __temp_stmt25 = null;
					//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					{
						//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						int __temp_odecl9 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) );
						//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						int __temp_odecl10 = ( ((int) (haxe.lang.Runtime.getField_f(box1.topleft, "y", true)) ) + box1.height );
						//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						__temp_stmt25 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl9) )) ), ((double) (((double) (__temp_odecl10) )) )});
					}
					
					//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					java.lang.Object __temp_stmt26 = null;
					//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					{
						//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						int __temp_odecl11 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) );
						//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						int __temp_odecl12 = ((int) (haxe.lang.Runtime.getField_f(box2.topleft, "y", true)) );
						//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						__temp_stmt26 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl11) )) ), ((double) (((double) (__temp_odecl12) )) )});
					}
					
					//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					line = new schema.Line(((java.lang.Object) (__temp_stmt25) ), ((java.lang.Object) (__temp_stmt26) ));
				}
				else
				{
					//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					java.lang.Object __temp_stmt23 = null;
					//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					{
						//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						int __temp_odecl13 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) );
						//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						int __temp_odecl14 = ((int) (haxe.lang.Runtime.getField_f(box1.topleft, "y", true)) );
						//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						__temp_stmt23 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl13) )) ), ((double) (((double) (__temp_odecl14) )) )});
					}
					
					//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					java.lang.Object __temp_stmt24 = null;
					//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					{
						//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						int __temp_odecl15 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) );
						//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						int __temp_odecl16 = ( ((int) (haxe.lang.Runtime.getField_f(box2.topleft, "y", true)) ) + box2.height );
						//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						__temp_stmt24 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl15) )) ), ((double) (((double) (__temp_odecl16) )) )});
					}
					
					//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					line = new schema.Line(((java.lang.Object) (__temp_stmt23) ), ((java.lang.Object) (__temp_stmt24) ));
				}
				
			}
			else
			{
				//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				java.lang.Object __temp_stmt21 = null;
				//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				{
					//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl17 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) );
					//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl18 = ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) );
					//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					__temp_stmt21 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl17) )) ), ((double) (((double) (__temp_odecl18) )) )});
				}
				
				//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				java.lang.Object __temp_stmt22 = null;
				//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				{
					//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl19 = ((int) (haxe.lang.Runtime.getField_f(box2.center, "x", true)) );
					//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					int __temp_odecl20 = ((int) (haxe.lang.Runtime.getField_f(box2.center, "y", true)) );
					//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
					__temp_stmt22 = new haxe.lang.DynamicObject(new java.lang.String[]{}, new java.lang.Object[]{}, new java.lang.String[]{"x", "y"}, new double[]{((double) (((double) (__temp_odecl19) )) ), ((double) (((double) (__temp_odecl20) )) )});
				}
				
				//line 48 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				line = new schema.Line(((java.lang.Object) (__temp_stmt21) ), ((java.lang.Object) (__temp_stmt22) ));
				//line 49 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				schema.Box.diagonalLine(box1, box2, line);
			}
			
		}
		
		//line 51 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		return line;
	}
	
	
	public static void diagonalLine(schema.Box box1, schema.Box box2, schema.Line line)
	{
		//line 55 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		double steering = line.getSteering();
		//line 56 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		double offset = line.getOffset();
		//line 57 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		int face1_x = ( ((int) (haxe.lang.Runtime.getField_f(box1.topleft, "x", true)) ) + (( (( ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) ) < ((int) (haxe.lang.Runtime.getField_f(box2.center, "x", true)) ) )) ? (box1.width) : (0) )) );
		//line 57 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		int face1_y = ( ((int) (haxe.lang.Runtime.getField_f(box1.topleft, "y", true)) ) + (( (( ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) ) < ((int) (haxe.lang.Runtime.getField_f(box2.center, "y", true)) ) )) ? (box1.height) : (0) )) );
		//line 60 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		int cross1_x = ((int) (java.lang.Math.round(( (( face1_y - offset )) / steering ))) );
		//line 60 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		int cross1_y = ((int) (java.lang.Math.round(( ( face1_x * steering ) + offset ))) );
		//line 62 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		if (( ( cross1_y >= ((int) (haxe.lang.Runtime.getField_f(box1.topleft, "y", true)) ) ) && ( cross1_y <= ( ((int) (haxe.lang.Runtime.getField_f(box1.topleft, "y", true)) ) + box1.height ) ) )) 
		{
			//line 63 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_expr3 = ((int) (haxe.lang.Runtime.setField_f(line.start, "x", ((double) (face1_x) ))) );
			//line 64 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_expr4 = ((int) (haxe.lang.Runtime.setField_f(line.start, "y", ((double) (cross1_y) ))) );
		}
		else
		{
			//line 66 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_expr1 = ((int) (haxe.lang.Runtime.setField_f(line.start, "x", ((double) (cross1_x) ))) );
			//line 67 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_expr2 = ((int) (haxe.lang.Runtime.setField_f(line.start, "y", ((double) (face1_y) ))) );
		}
		
		//line 70 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		int face2_x = ( ((int) (haxe.lang.Runtime.getField_f(box2.topleft, "x", true)) ) + (( (( ((int) (haxe.lang.Runtime.getField_f(box1.center, "x", true)) ) < ((int) (haxe.lang.Runtime.getField_f(box2.center, "x", true)) ) )) ? (0) : (box2.width) )) );
		//line 70 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		int face2_y = ( ((int) (haxe.lang.Runtime.getField_f(box2.topleft, "y", true)) ) + (( (( ((int) (haxe.lang.Runtime.getField_f(box1.center, "y", true)) ) < ((int) (haxe.lang.Runtime.getField_f(box2.center, "y", true)) ) )) ? (0) : (box2.height) )) );
		//line 72 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		int cross2_x = ((int) (java.lang.Math.round(( (( face2_y - offset )) / steering ))) );
		//line 72 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		int cross2_y = ((int) (java.lang.Math.round(( ( face2_x * steering ) + offset ))) );
		//line 73 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		if (( ( cross2_y >= ((int) (haxe.lang.Runtime.getField_f(box2.topleft, "y", true)) ) ) && ( cross2_y <= ( ((int) (haxe.lang.Runtime.getField_f(box2.topleft, "y", true)) ) + box2.height ) ) )) 
		{
			//line 74 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_expr7 = ((int) (haxe.lang.Runtime.setField_f(line.end, "x", ((double) (face2_x) ))) );
			//line 75 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_expr8 = ((int) (haxe.lang.Runtime.setField_f(line.end, "y", ((double) (cross2_y) ))) );
		}
		else
		{
			//line 77 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_expr5 = ((int) (haxe.lang.Runtime.setField_f(line.end, "x", ((double) (cross2_x) ))) );
			//line 78 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			int __temp_expr6 = ((int) (haxe.lang.Runtime.setField_f(line.end, "y", ((double) (face2_y) ))) );
		}
		
	}
	
	
	public java.lang.Object topleft;
	
	public int width;
	
	public int height;
	
	public java.lang.Object center;
	
	@Override public double __hx_setField_f(java.lang.String field, double value, boolean handleProperties)
	{
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		{
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			boolean __temp_executeDef1 = true;
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (( field != null )) 
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				switch (field.hashCode())
				{
					case -1364013995:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("center")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							this.center = ((java.lang.Object) (value) );
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return value;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case -1139167524:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("topleft")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							this.topleft = ((java.lang.Object) (value) );
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return value;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case -1221029593:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("height")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							this.height = ((int) (value) );
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return value;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("width")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							this.width = ((int) (value) );
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return value;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (__temp_executeDef1) 
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				return super.__hx_setField_f(field, value, handleProperties);
			}
			else
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public java.lang.Object __hx_setField(java.lang.String field, java.lang.Object value, boolean handleProperties)
	{
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		{
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			boolean __temp_executeDef1 = true;
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (( field != null )) 
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				switch (field.hashCode())
				{
					case -1364013995:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("center")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							this.center = ((java.lang.Object) (value) );
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return value;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case -1139167524:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("topleft")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							this.topleft = ((java.lang.Object) (value) );
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return value;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case -1221029593:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("height")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							this.height = ((int) (haxe.lang.Runtime.toInt(value)) );
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return value;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("width")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							this.width = ((int) (haxe.lang.Runtime.toInt(value)) );
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return value;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (__temp_executeDef1) 
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				return super.__hx_setField(field, value, handleProperties);
			}
			else
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public java.lang.Object __hx_getField(java.lang.String field, boolean throwErrors, boolean isCheck, boolean handleProperties)
	{
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		{
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			boolean __temp_executeDef1 = true;
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (( field != null )) 
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				switch (field.hashCode())
				{
					case -1364013995:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("center")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return this.center;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case -1139167524:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("topleft")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return this.topleft;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case -1221029593:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("height")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return this.height;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("width")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return this.width;
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (__temp_executeDef1) 
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				return super.__hx_getField(field, throwErrors, isCheck, handleProperties);
			}
			else
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public double __hx_getField_f(java.lang.String field, boolean throwErrors, boolean handleProperties)
	{
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		{
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			boolean __temp_executeDef1 = true;
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (( field != null )) 
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				switch (field.hashCode())
				{
					case -1364013995:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("center")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return ((double) (haxe.lang.Runtime.toDouble(this.center)) );
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case -1139167524:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("topleft")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return ((double) (haxe.lang.Runtime.toDouble(this.topleft)) );
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case -1221029593:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("height")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return ((double) (this.height) );
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						if (field.equals("width")) 
						{
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							__temp_executeDef1 = false;
							//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
							return ((double) (this.width) );
						}
						
						//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
			if (__temp_executeDef1) 
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				return super.__hx_getField_f(field, throwErrors, handleProperties);
			}
			else
			{
				//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public void __hx_getFields(haxe.root.Array<java.lang.String> baseArr)
	{
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		baseArr.push("center");
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		baseArr.push("height");
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		baseArr.push("width");
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		baseArr.push("topleft");
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/schema/Box.hx"
		super.__hx_getFields(baseArr);
	}
	
	
}


