﻿<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="fruitPreparer" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../shared/xml/schema/vehicle.xsd">
    <annotation>Copyright (C) GIANTS Software GmbH, All Rights Reserved.</annotation>

    <storeData>
        <name>FT 300</name>
        <specs>
            <neededPower>85</neededPower>
            <workingWidth>3.0</workingWidth>
            <combination xmlFilename="$data/vehicles/grimme/rootster604/rootster604.xml"/>
        </specs>
        <functions>
            <function>$l10n_function_haulmTopperSugarbeet</function>
        </functions>
        <storePacks>
            <storePack>STARTER_SUGARBEET</storePack>
        </storePacks>
        <image>$data/vehicles/grimme/ft300/store_ft300.png</image>
        <price>24500</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>GRIMME</brand>
        <category>beetHarvesting</category>
        <shopTranslationOffset>0 0.019 0</shopTranslationOffset>
        <shopRotationOffset>2.162 0 0</shopRotationOffset>
        <vertexBufferMemoryUsage>1846272</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>289792</indexBufferMemoryUsage>
        <textureMemoryUsage>1638400</textureMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_haulmTopper</typeDesc>
        <filename>$data/vehicles/grimme/ft300/ft300.i3d</filename>
        <size width="3.8" length="3" />
        <speedLimit value="15" />
        <components>
            <component centerOfMass="0 0.55 -0.3" solverIterationCount="10" mass="1000" />
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="TOOL" />
        <mapHotspot type="TOOL" />
    </base>

    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0" brand="TRELLEBORG" saveId="TRELLEBORG_DEFAULT">
                <wheels>
                    <wheel>
                        <physics restLoad="0.3" repr="wheelFrontLeftAxis"  driveNode="wheelFrontLeft"  radius="0.31" width="0.15" initialCompression="25" suspTravel="0.05" spring="18" damper="10" frictionScale="1" mass="0.1" rotationDamping="0.002" versatileYRot="true" rotMin="-100" rotMax="40"/>
                    </wheel>
                    <wheel>
                        <physics restLoad="0.3" repr="wheelFrontRightAxis" driveNode="wheelFrontRight" radius="0.31" width="0.15" initialCompression="25" suspTravel="0.05" spring="18" damper="10" frictionScale="1" mass="0.1" rotationDamping="0.002" versatileYRot="true" rotMin="-50" rotMax="100"/>
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>
    </wheels>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" jointType="implement" topReferenceNode="topReferenceNode" allowsLowering="true" lowerTransLimitScale="0 0 0">
                <distanceToGround lower="0.6" upper="1.2" />
            </inputAttacherJoint>
        </inputAttacherJoints>
        <brakeForce force="0.05"/>
        <support animationName="moveSupport" />
    </attachable>

    <connectionHoses>
        <hose inputAttacherJointIndices="1" type="electric" node="electric" adapterNode="electric_detached" length="0.5" diameter="0.01" straighteningFactor="0.5">
            <objectChange node="electric_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
    </connectionHoses>

    <powerTakeOffs>
        <input inputAttacherJointIndices="1" inputNode="ptoInputNode" aboveAttacher="true"/>
        <local startNode="localPtoStart" endNode="localPtoEnd" filename="$data/shared/assets/powerTakeOffs/walterscheidW.xml"/>
    </powerTakeOffs>

    <powerConsumer ptoRpm="470" neededMinPtoPower="35" neededMaxPtoPower="35"/>

    <lights>
        <sharedLight linkNode="sideMarker03_left"   filename="$data/shared/assets/lights/lizard/sideMarker03_left.xml" />
        <sharedLight linkNode="sideMarker03_right"  filename="$data/shared/assets/lights/lizard/sideMarker03_right.xml" />
        <sharedLight linkNode="yellowRectangle_01"  filename="$data/shared/assets/reflectors/lizard/yellowRectangle_01.xml" />
        <sharedLight linkNode="yellowRectangle_02"  filename="$data/shared/assets/reflectors/lizard/yellowRectangle_01.xml" />
    </lights>

    <groundReferenceNodes>
        <groundReferenceNode node="ft300_main_component1" threshold="0.1" />
    </groundReferenceNodes>

    <workAreas>
        <workArea type="fruitPreparer" functionName="processFruitPreparerArea" disableBackwards="false" >
            <area startNode="workAreaStart" widthNode="workAreaWidth" heightNode="workAreaHeight" />
            <groundReferenceNode index="1" />
            <onlyActiveWhenLowered value="true"/>
        </workArea>
    </workAreas>

    <animations>
        <animation name="moveSupport">
            <part node="supportArm" startTime="0" duration="0.2" startTrans="0 0.63 0" endTrans="0 0 0" />

            <sound template="clackVar4" startTime="0.19" direction="1"  volumeScale="1.1" pitchScale="1.8" linkNode="attacherJoint"/>
            <sound template="clackVar4" startTime="0.01" direction="-1" volumeScale="1.1" pitchScale="1.8" linkNode="attacherJoint"/>
            <sound template="clackVar6" startTime="0.01" direction="-1" volumeScale="0.9" pitchScale="1.8" linkNode="attacherJoint"/>
        </animation>
    </animations>

    <cylindered>
        <movingTools>
            <movingTool node="cutter01Part01" playSound="false">
                <dependentPart node="cutter01Part02" />
            </movingTool>

            <movingTool node="cutter02Part01" playSound="false">
                <dependentPart node="cutter02Part02" />
            </movingTool>
        </movingTools>

        <movingParts>
            <movingPart node="springLeft" referencePoint="springLeftRef" referenceFrame="springLeftRef" scaleZ="true" isActiveDirty="true" maxUpdateDistance="20"/>
            <movingPart node="springRight" referencePoint="springRightRef" referenceFrame="springRightRef" scaleZ="true" isActiveDirty="true" maxUpdateDistance="20"/>

            <movingPart node="cutter01Part02" localReferencePoint="cutter01Part03" referencePoint="cutter01Part03Ref" referenceFrame="cutter01Part02RefFrame">
                <dependentPart node="cutter01Part03" />
                <dependentPart node="cutter01Part04" />
            </movingPart>
            <movingPart node="cutter01Part03" referencePoint="cutter01Part03Ref" referenceFrame="cutter01Part03Ref"/>
            <movingPart node="cutter01Part04" referencePoint="cutter01Part04Ref" referenceFrame="cutter01Part04Ref"/>

            <movingPart node="cutter02Part02" localReferencePoint="cutter02Part03" referencePoint="cutter02Part03Ref" referenceFrame="cutter02Part02RefFrame">
                <dependentPart node="cutter02Part03" />
                <dependentPart node="cutter02Part04" />
            </movingPart>
            <movingPart node="cutter02Part03" referencePoint="cutter02Part03Ref" referenceFrame="cutter02Part03Ref"/>
            <movingPart node="cutter02Part04" referencePoint="cutter02Part04Ref" referenceFrame="cutter02Part04Ref"/>
        </movingParts>

        <sounds>
            <hydraulic template="defaultHydraulicSound" linkNode="0>"/>
        </sounds>
    </cylindered>

    <randomlyMovingParts>
        <randomlyMovingPart node="cutter01Part01" rotAxis="1" rotMean="15 0" rotVariance="8 1" rotTimeMean="0.1246 0.1246" rotTimeVariance="0.03 0.03" pauseMean="0.001 0.1246" pauseVariance="0.004 0.01" refNodeIndex="1" moveOnlyIfPreparerCut="true"/>
        <randomlyMovingPart node="cutter02Part01" rotAxis="1" rotMean="15 0" rotVariance="8 1" rotTimeMean="0.1246 0.1246" rotTimeVariance="0.03 0.03" pauseMean="0.001 0.1246" pauseVariance="0.004 0.01" refNodeIndex="1" moveOnlyIfPreparerCut="true"/>
    </randomlyMovingParts>

    <fruitPreparer fruitType="sugarBeet">
        <animationNodes>
            <animationNode node="drum" rotAxis="1" rotSpeed="-1200" turnOnFadeTime="2" turnOffFadeTime="5" />
        </animationNodes>
        <sounds>
            <work template="DEFOLIATOR_01" linkNode="ft300_main_component1" />
        </sounds>
    </fruitPreparer>

    <workParticles>
        <particle>
            <node node="prepareFruitEmitter" refNodeIndex="1" particleType="PREPARE_FRUIT" fillType="sugarBeet" emitCountScale="0.5"/>
        </particle>
    </workParticles>

    <ai>
        <areaMarkers leftNode="aiMarkerLeft" rightNode="aiMarkerRight" backNode="aiMarkerBack" />
        <collisionTrigger node="aiCollisionNode" width="3.2" height="2.0"/>
        <overlap value="0"/>
        <agentAttachment width="3.2" height="1.4" length="2.6" lengthOffset="0"/>
    </ai>

    <foliageBending>
        <bendingNode minX="-1.5" maxX="1.5" minZ="-1.2" maxZ="0.9" yOffset="0.2" />
    </foliageBending>

    <baseMaterial>
        <material name="ft300_mat" baseNode="ft300_vis">
            <shaderParameter name="colorMat0" value="GRIMME_RED1"/>
            <shaderParameter name="colorMat1" value="WALTERSCHEID_YELLOW1"/>
        </material>
    </baseMaterial>

    <wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="90" washDuration="1" workMultiplier="6" fieldMultiplier="2"/>

    <i3dMappings>
        <i3dMapping id="ft300_main_component1" node="0>" />
        <i3dMapping id="ft300_vis" node="0>0" />
        <i3dMapping id="attacherJoint" node="0>0|0|0" />
        <i3dMapping id="topReferenceNode" node="0>0|0|1" />
        <i3dMapping id="ptoInputNode" node="0>0|0|2" />
        <i3dMapping id="supportArm" node="0>0|0|3" />
        <i3dMapping id="electric" node="0>0|0|4|0" />
        <i3dMapping id="electric_detached" node="0>0|0|4|1" />
        <i3dMapping id="localPtoStart" node="0>0|0|5" />
        <i3dMapping id="localPtoEnd" node="0>0|0|6" />
        <i3dMapping id="wheelFrontLeftAxis" node="0>0|1|0|0" />
        <i3dMapping id="wheelFrontLeft" node="0>0|1|0|0|0|0" />
        <i3dMapping id="springLeftRef" node="0>0|1|0|0|1" />
        <i3dMapping id="wheelFrontRightAxis" node="0>0|1|1|0" />
        <i3dMapping id="wheelFrontRight" node="0>0|1|1|0|0|0" />
        <i3dMapping id="springRightRef" node="0>0|1|1|0|1" />
        <i3dMapping id="yellowRectangle_02" node="0>0|2|0|0" />
        <i3dMapping id="yellowRectangle_01" node="0>0|2|0|1" />
        <i3dMapping id="sideMarker03_right" node="0>0|2|0|2" />
        <i3dMapping id="sideMarker03_left" node="0>0|2|0|3" />
        <i3dMapping id="drum" node="0>0|3|0" />
        <i3dMapping id="springLeft" node="0>0|3|1" />
        <i3dMapping id="springRight" node="0>0|3|2" />
        <i3dMapping id="cutter01Part01" node="0>0|3|3|0" />
        <i3dMapping id="cutter01Part02RefFrame" node="0>0|3|3|0|0" />
        <i3dMapping id="cutter01Part02" node="0>0|3|3|0|0|0" />
        <i3dMapping id="cutter01Part03" node="0>0|3|3|0|0|0|0" />
        <i3dMapping id="cutter01Part04Ref" node="0>0|3|3|0|0|0|0|0" />
        <i3dMapping id="cutter01Part04" node="0>0|3|3|0|1" />
        <i3dMapping id="cutter02Part01" node="0>0|3|3|1" />
        <i3dMapping id="cutter02Part02RefFrame" node="0>0|3|3|1|0" />
        <i3dMapping id="cutter02Part02" node="0>0|3|3|1|0|0" />
        <i3dMapping id="cutter02Part03" node="0>0|3|3|1|0|0|0" />
        <i3dMapping id="cutter02Part04Ref" node="0>0|3|3|1|0|0|0|0" />
        <i3dMapping id="cutter02Part04" node="0>0|3|3|1|1" />
        <i3dMapping id="cutter01Part03Ref" node="0>0|3|3|2" />
        <i3dMapping id="cutter02Part03Ref" node="0>0|3|3|3" />
        <i3dMapping id="workAreaStart" node="0>0|4|0" />
        <i3dMapping id="workAreaWidth" node="0>0|4|1" />
        <i3dMapping id="workAreaHeight" node="0>0|4|2" />
        <i3dMapping id="prepareFruitEmitter" node="0>0|5|0" />
        <i3dMapping id="aiMarkerLeft" node="0>0|6|0" />
        <i3dMapping id="aiMarkerRight" node="0>0|6|1" />
        <i3dMapping id="aiMarkerBack" node="0>0|6|2" />
        <i3dMapping id="aiCollisionNode" node="0>0|6|3" />
    </i3dMappings>
</vehicle>
