<?xml version="1.0" encoding="UTF-8"?>
<fib_object
			xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"
			xmlns="http://www.fib-development.org/"
			xsd:schemaLocation="http://www.fib-development.org/fib.xsd">
	<root>
		<multimedia_info fib_version="3" db_version="2"/>
		<optionalpart>
			<pair key="name" value="tile antialiased"/>
			<pair key="description" value="This object represents a tile with one side antialiased. In the first dimension it goes from x_s to x_e. In the second dimension the area is filled between y_s and the antialiased line y_e = f( x ) = a_0 + a_1 * x + a_2 * x^2 (wher y goes from x_s to x_e; the side of f( x ) is the only antialiased side of the tile). The points of the triangle are given back as variables of the subobject."/>
			<pair key="inVar1::description" value="position start point dimension 1 (x_s)"/>
			<pair key="inVar2::description" value="position start point dimension 2 (y_s)"/>
			<pair key="inVar3::description" value="position end point dimension 1 (x_e)"/>
			<pair key="inVar4::description" value="parameter a_0 of the line function f"/>
			<pair key="inVar5::description" value="parameter a_1 of the line function f"/>
			<pair key="inVar6::description" value="parameter a_2 of the line function f"/>
			
			<pair key="subObj1::description" value="The points of the tile. The subobject is called for every point on the tile."/>
			<pair key="subObj1::outVar1::description" value="the position of the tile point in dimension 1 (x)"/>
			<pair key="subObj1::outVar2::description" value="the position of the tile point in dimension 2 (y)"/>
			<pair key="subObj1::outVar3::description" value="the antialising factor (1 is full transparent and 0 full opaque)"/>
			
			<pair key="author" value="Betti Oesterholz"/>
			<pair key="author::email" value="Oesterholz@Fib-Development.org"/>
			<pair key="copyright" value="LGPL3"/>
			
			<pair key="isPointSubObject" value=""/>
			<pair key="isAntialiased" value=""/>
			<pair key="DbObject::isNotAntialiased" value="-75"/>
		</optionalpart>
		<input_variables>
			<variable number="1" default="0"/>
			<variable number="2" default="0"/>
			<variable number="3" default="0"/>
			<variable number="4" default="0"/>
			<variable number="5" default="0"/>
			<variable number="6" default="0"/>
		</input_variables>
		<domains>
			<inVar number="1">
				<domainReference subdomain="1">
					<dim count="2">
						<dimension number="1" direction="anywhere"/>
						<dimension number="2" direction="anywhere"/>
					</dim>
				</domainReference>
			</inVar>
			<inVar number="2">
				<domainReference subdomain="2">
					<dim count="2">
						<dimension number="1" direction="anywhere"/>
						<dimension number="2" direction="anywhere"/>
					</dim>
				</domainReference>
			</inVar>
			<inVar number="3">
				<domainReference subdomain="1">
					<dim count="2">
						<dimension number="1" direction="anywhere"/>
						<dimension number="2" direction="anywhere"/>
					</dim>
				</domainReference>
			</inVar>
			<externSubobject number="1">
				<vector elements="2">
					<!--actually any numbers are possible;
						the next  lines are just a space holder-->
					<naturalNumberB bit="0" />
					<naturalNumberB bit="0" />
					<naturalNumberB bit="0" />
				</vector>
			</externSubobject>
			<externObject>
				<vector elements="4">
					<integer min="-467" max="-467" /><!--Identifier-->
					<integer min="6" max="6" /><!--number input values-->
					<naturalNumber max="1" /><!--number subobjects-->
					<naturalNumber max="3" /><!--number output values-->
				</vector>
			</externObject>
			<externObjectInput identifier="-467">
				<vector elements="6">
					<naturalNumber max="0" />
					<naturalNumber max="0" />
					<naturalNumber max="0" />
					<naturalNumber max="0" />
					<naturalNumber max="0" />
					<naturalNumber max="0" />
				</vector>
			</externObjectInput>
			<subfunction>
				<naturalNumber max="2" />
			</subfunction>
		</domains>
		<database_identifiers>
			<identifier>-467</identifier>
		</database_identifiers>
		<main_fib_object>
			<!-- for ever x point use databas object with id -467;
				approximate the line f( x ) with a line g( x ) of degree 1:
					g( x ) = f( x ) - x / f'( x ) + f'( x ) * x
			-->
			<area define_variable="7">
				<vector type="subarea">
					<variable>1</variable>
					<variable>3</variable>
				</vector>
				<function define_variable="8">
					<!-- slope = f'( x ) = a_1 + 2 * a_2 * x -->
					<subfunction>
						<add>
							<variable>5</variable>
							<mult>
								<value>2</value>
								<mult>
									<variable>6</variable>
									<variable>7</variable>
								</mult>
							</mult>
						</add>
					</subfunction>
					<function define_variable="9"><!-- f( x ) - x / f'( x ) -->
						<subfunction>
							<sub>
								<!-- f( x ) = a_0 + a_1 * x + a_2 * x^2 -->
								<add>
									<variable>4</variable>
									<add>
										<mult>
											<variable>5</variable>
											<variable>7</variable>
										</mult>
										<mult>
											<variable>6</variable>
											<exp>
												<variable>7</variable>
												<value>2</value>
											</exp>
										</mult>
									</add>
								</add>
								<mult><!-- x * f'( x ) -->
									<variable>7</variable>
									<variable>8</variable>
								</mult>
							</sub>
						</subfunction>
						<function define_variable="10">
							<!-- x_2 = x + 1 -->
							<subfunction>
								<add>
									<variable>7</variable>
									<value>1</value>
								</add>
							</subfunction>
							<obj identifier="-467">
								<vector type="externObjectInput">
									<variable>7</variable>
									<variable>10</variable>
									<variable>9</variable>
									<variable>8</variable><!-- slope f'( x ) of f( x ) -->
									<variable>2</variable>
									<value>0</value>
								</vector>
								<subobject>
									<output_variables>
										<variable>11</variable>
										<variable>12</variable>
										<variable>13</variable>
									</output_variables>
									<subobject number="1">
										<vector type="externSubobject">
											<variable>11</variable>
											<variable>12</variable>
											<variable>13</variable>
										</vector>
									</subobject>
								</subobject>
							</obj>
						</function>
					</function>
				</function>
			</area>
		</main_fib_object>
	</root>
</fib_object>