﻿<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="cutter" 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>3020 TerraFlex 25FT</name>
        <specs>
            <workingWidth>7.5</workingWidth>
            <combination xmlFilename="$data/vehicles/caseIH/axialFlow150/axialFlow150.xml" />
            <combination xmlFilename="$data/vehicles/nardi/n40bx/n40bx.xml" />
        </specs>
        <functions>
            <function>$l10n_function_cutter</function>
        </functions>
        <image>$data/vehicles/caseIH/terraFlex3020/store_terraFlex3020.png</image>
        <price>42500</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>CASEIH</brand>
        <category>cutters</category>
        <shopTranslationOffset>0 0 0</shopTranslationOffset>
        <shopRotationOffset>-0.394 0 0</shopRotationOffset>
        <vertexBufferMemoryUsage>3577600</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>980992</indexBufferMemoryUsage>
        <textureMemoryUsage>3014656</textureMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_cutter</typeDesc>
        <filename>$data/vehicles/caseIH/terraFlex3020/terraFlex3020.i3d</filename>
        <size width="9" length="3.5" lengthOffset="0" />
        <speedLimit value="10" />
        <components>
            <component centerOfMass="0 0.2 -0.2" solverIterationCount="10" mass="2400" />
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="COMBINE_HEADER"/>
        <mapHotspot type="CUTTER" />
    </base>

    <lights>
        <defaultLights>
            <defaultLight shaderNode="defaultLightGlass_static" lightTypes="0" intensity="10"/>
        </defaultLights>
    </lights>

    <powerConsumer ptoRpm="540" neededMaxPtoPower="130"/>

    <groundReferenceNodes>
        <groundReferenceNode node="heightNode02" threshold="0.5" />
    </groundReferenceNodes>

    <workAreas>
        <workArea type="cutter" functionName="processCutterArea" >
            <area startNode="workAreaStart" widthNode="workAreaWidth" heightNode="workAreaHeight" />
            <groundReferenceNode index="1" />
            <testAreas autoGenerate="true" zOffset="0.5" xOffset="0" length="0.6" numAreas="16" areaWidthScale="0.25"/>
        </workArea>
    </workAreas>

    <animations>
        <animation name="knifeAnimation" looping="true">
            <part node="knifesMove" startTime="0.0" endTime="0.5" startTrans="0.018 0 0"  endTrans="-0.030 0 0"/>
            <part node="knifesMove" startTime="0.5" endTime="1.0" startTrans="-0.030 0 0" endTrans="0.018 0 0"/>
        </animation>
    </animations>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" jointType="cutter" >
                <heightNode node="heightNode01" />
                <heightNode node="heightNode02" />
                <heightNode node="heightNode03" />
                <distanceToGround lower="0.45" upper="1.6" />
            </inputAttacherJoint>
        </inputAttacherJoints>
    </attachable>

    <connectionHoses>
        <customTarget type="cnhMultiCoupler" node="cnhMultiCoupler" inputAttacherJointIndices="1">
            <objectChange node="cnhMultiCoupler_cover" rotationActive="0 0 0" rotationInactive="-55 0 0"/>
        </customTarget>
        <customTarget type="cnhElectricConnector" node="electric" inputAttacherJointIndices="1">
            <objectChange node="electric_cover" rotationActive="90 0 0" rotationInactive="9.2 0 0"/>
        </customTarget>
    </connectionHoses>

    <powerTakeOffs>
        <input inputAttacherJointIndices="1" inputNode="ptoAttached" aboveAttacher="true" detachNode="ptoDetached" ptoName="LEFT_PTO" color="SHARED_BLACK1" decalColor="WALTERSCHEID_YELLOW1"/>
    </powerTakeOffs>

    <cylindered>
        <movingTools>
            <movingTool node="reelArm" playSound="true" >
                <controls axis="AXIS_CUTTER_REEL2" invertAxis="true" mouseSpeedFactor="0.5" iconName="REEL_TRANSLATE_Y" />
                <rotation rotSpeed="10" rotAcceleration="40" rotMin="-30" rotMax="0" startRot="-25"/>
                <dependentPart node="reelArmHydraulic" />
                <dependentPart node="reelArmPart" />
            </movingTool>

            <movingTool node="reelMove" playSound="true" >
                <controls axis="AXIS_CUTTER_REEL" invertAxis="true" mouseSpeedFactor="0.5" iconName="REEL_TRANSLATE_X" />
                <translation transSpeed="0.2" transAcceleration="10" transMin="0" transMax="0.4" translationAxis="3" startTrans="0"/>
                <dependentPart node="reelArmPart01" />
            </movingTool>

            <movingTool node="reelPart">
                <dependentPart node="spikes01" />
                <dependentPart node="spikes02" />
                <dependentPart node="spikes03" />
                <dependentPart node="spikes04" />
                <dependentPart node="spikes05" />
                <dependentPart node="spikes06" />
            </movingTool>

            <movingTool node="knifesMove">
                <dependentPart node="knifesRot" />
            </movingTool>
        </movingTools>

        <movingParts>
            <movingPart node="reelArmHydraulic" referencePoint="reelArmHydraulicRef" referenceFrame="reelArmHydraulicRef">
                <translatingPart node="reelArmHydraulicPunch" />
            </movingPart>

            <movingPart node="reelArmPart01" referencePoint="reelArmPart02Ref" localReferencePoint="reelArmPart02" referenceFrame="reelArmPart01RefFrame">
                <dependentPart node="reelArmPart02" />
            </movingPart>
            <movingPart node="reelArmPart02" referencePoint="reelArmPart02Ref" referenceFrame="reelArmPart02Ref"/>

            <movingPart node="reelArmPart" referencePoint="reelArmPartRef" referenceFrame="reelArmPartRef"/>

            <movingPart node="knifesRot" referencePoint="knifesRotRef" referenceFrame="knifesRotRef"/>

            <movingPart node="spikes01" referencePoint="spikes01Ref" referenceFrame="terraFlex3020_main_component1" />
            <movingPart node="spikes02" referencePoint="spikes02Ref" referenceFrame="terraFlex3020_main_component1" />
            <movingPart node="spikes03" referencePoint="spikes03Ref" referenceFrame="terraFlex3020_main_component1" />
            <movingPart node="spikes04" referencePoint="spikes04Ref" referenceFrame="terraFlex3020_main_component1" />
            <movingPart node="spikes05" referencePoint="spikes05Ref" referenceFrame="terraFlex3020_main_component1" />
            <movingPart node="spikes06" referencePoint="spikes06Ref" referenceFrame="terraFlex3020_main_component1" />
        </movingParts>

        <sounds>
            <hydraulic template="defaultHydraulicSound" pitchScale="1.2" volumeScale="1.0" fadeIn="0.1" fadeOut="0.05" linkNode="terraFlex3020_main_component1"/>
        </sounds>
    </cylindered>

    <dynamicMount forceLimitScale="1" />

    <cutter fruitTypeCategories="grainHeader">
        <animationNodes>
            <animationNode node="drumMain"  rotAxis="1" rotSpeed="750" turnOnFadeTime="2" turnOffFadeTime="3"/>
            <animationNode node="reel"      rotAxis="1" rotSpeed="210" turnOnFadeTime="2" turnOffFadeTime="3"/>
            <animationNode node="reelPart"  rotAxis="1" rotSpeed="210" turnOnFadeTime="2" turnOffFadeTime="3"/>
            <animationNode node="beltWheel" rotAxis="1" rotSpeed="500" turnOnFadeTime="2" turnOffFadeTime="2"/>

            <animationNode node="uvScrollChain01" rotSpeed="130" rotAxis="2" turnOnFadeTime="2" turnOffFadeTime="3" shaderComponentScale="0 1 0 0" shaderParameterName="offsetUV" />
        </animationNodes>

        <effect>
            <effectNode effectClass="CutterMotionPathEffect" effectType="CUTTER" linkNode="cutterEffectLinkNode">
                <motionPathEffect textureFilename="$data/vehicles/caseIH/terraFlex3020/drumArray.dds" numRows="32" rowLength="42" minFade="0.06" textureRealWidth="16" speedScale="0.16"/>
            </effectNode>
            <effectNode effectClass="ParticleEffect" effectNode="smokeEmitter" particleType="SMOKE" materialType="smokeParticle" emitCountScale="0.1" worldSpace="false" useCuttingWidth="false"/>
        </effect>

        <spikedDrums>
            <spikedDrum node="drumMain" spline="spikesSpline">
                <spike node="drumMainSpikes01"/>
                <spike node="drumMainSpikes02"/>
                <spike node="drumMainSpikes03"/>
                <spike node="drumMainSpikes04"/>
                <spike node="drumMainSpikes05"/>
                <spike node="drumMainSpikes06"/>
            </spikedDrum>
        </spikedDrums>

        <automaticTilt raycastNode1="heightNode01" raycastNode2="heightNode03"/>
        <sounds>
            <cut template="cropCutting" />
        </sounds>
    </cutter>

    <turnOnVehicle turnedOnByAttacherVehicle="true">
        <turnedOnAnimation name="knifeAnimation" speedScale="6" turnOnFadeTime="2" turnOffFadeTime="2"/>
        <sounds>
            <start template="HARVESTER_TOOL_START" volumeScale="1.5" />
            <work template="HARVESTER_TOOL_WORK" volumeScale="1.5" />
            <stop template="HARVESTER_TOOL_STOP" volumeScale="1.5" />
        </sounds>
    </turnOnVehicle>

    <ai>
        <areaMarkers leftNode="aiMarkerLeft" rightNode="aiMarkerRight" backNode="aiMarkerBack" />
        <collisionTrigger node="aiCollisionNode" width="8.2" height="2.0"/>
        <agentAttachment width="8.4" height="2.5" length="2.5" lengthOffset="0.1"/>
    </ai>

    <foliageBending>
        <bendingNode minX="-4" maxX="4.15" minZ="-1.2" maxZ="0.2" yOffset="0.2" />
    </foliageBending>

    <designConfigurations>
        <designConfiguration name="Case IH" price="0">
            <objectChange node="brandCaseIH_decals" visibilityActive="true" visibilityInactive="false"/>
            <material name="terraFlex3020_mat" shaderParameter="colorMat0" color="CASEIH_RED1"/>
            <material name="terraFlex3020_mat" shaderParameter="colorMat1" color="CASEIH_RED1"/>
            <material name="terraFlex3020_mat" shaderParameter="colorMat2" color="CASEIH_RED1"/>
        </designConfiguration>
        <designConfiguration name="New Holland" price="0" isSelectable="false" vehicleBrand="NEWHOLLAND" vehicleName="SuperFlex 25FT" vehicleIcon="$data/vehicles/newHolland/superFlex25/store_superFlex25.png">
            <objectChange node="brandNewHolland_decals" visibilityActive="true" visibilityInactive="false"/>
            <material name="terraFlex3020_mat" shaderParameter="colorMat0" color="NEWHOLLAND_YELLOW1"/>
            <material name="terraFlex3020_mat" shaderParameter="colorMat1" color="NEWHOLLAND_YELLOW1"/>
            <material name="terraFlex3020_mat" shaderParameter="colorMat2" color="NEWHOLLAND_YELLOW1"/>
        </designConfiguration>
    </designConfigurations>

    <baseMaterial>
        <material name="terraFlex3020_mat" baseNode="terraFlex3020_vis">
            <shaderParameter name="colorMat0" value="CASEIH_RED1"/>
            <shaderParameter name="colorMat1" value="CASEIH_RED1"/>
            <shaderParameter name="colorMat2" value="CASEIH_RED1"/>
        </material>
    </baseMaterial>

    <wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="90" washDuration="1" workMultiplier="4" fieldMultiplier="2"/>

    <i3dMappings>
        <i3dMapping id="terraFlex3020_main_component1" node="0>" />
        <i3dMapping id="terraFlex3020_vis" node="0>0" />
        <i3dMapping id="attacherJoint" node="0>0|0|0" />
        <i3dMapping id="heightNode01" node="0>0|0|1|0" />
        <i3dMapping id="heightNode02" node="0>0|0|1|1" />
        <i3dMapping id="heightNode03" node="0>0|0|1|2" />
        <i3dMapping id="electric" node="0>0|0|2|0" />
        <i3dMapping id="electric_cover" node="0>0|0|2|0|0" />
        <i3dMapping id="cnhMultiCoupler" node="0>0|0|2|1" />
        <i3dMapping id="cnhMultiCoupler_cover" node="0>0|0|2|1|0" />
        <i3dMapping id="ptoAttached" node="0>0|0|3|0" />
        <i3dMapping id="ptoDetached" node="0>0|0|3|1" />
        <i3dMapping id="defaultLightGlass_static" node="0>0|1|0|1" />
        <i3dMapping id="reelArm" node="0>0|2|0|0" />
        <i3dMapping id="reelMove" node="0>0|2|0|0|0|0" />
        <i3dMapping id="reel" node="0>0|2|0|0|0|0|0|0" />
        <i3dMapping id="spikes01Ref" node="0>0|2|0|0|0|0|0|0|0" />
        <i3dMapping id="spikes02Ref" node="0>0|2|0|0|0|0|0|0|1" />
        <i3dMapping id="spikes03Ref" node="0>0|2|0|0|0|0|0|0|2" />
        <i3dMapping id="spikes04Ref" node="0>0|2|0|0|0|0|0|0|3" />
        <i3dMapping id="spikes05Ref" node="0>0|2|0|0|0|0|0|0|4" />
        <i3dMapping id="spikes06Ref" node="0>0|2|0|0|0|0|0|0|5" />
        <i3dMapping id="reelPart" node="0>0|2|0|0|0|0|1|0" />
        <i3dMapping id="spikes01" node="0>0|2|0|0|0|0|1|0|0" />
        <i3dMapping id="spikes02" node="0>0|2|0|0|0|0|1|0|1" />
        <i3dMapping id="spikes03" node="0>0|2|0|0|0|0|1|0|2" />
        <i3dMapping id="spikes04" node="0>0|2|0|0|0|0|1|0|3" />
        <i3dMapping id="spikes05" node="0>0|2|0|0|0|0|1|0|4" />
        <i3dMapping id="spikes06" node="0>0|2|0|0|0|0|1|0|5" />
        <i3dMapping id="reelArmPart01RefFrame" node="0>0|2|0|0|0|0|2" />
        <i3dMapping id="reelArmPart01" node="0>0|2|0|0|0|0|2|0" />
        <i3dMapping id="reelArmPart02" node="0>0|2|0|0|0|0|2|0|0" />
        <i3dMapping id="reelArmHydraulicRef" node="0>0|2|0|0|1" />
        <i3dMapping id="reelArmPart02Ref" node="0>0|2|0|0|2" />
        <i3dMapping id="reelArmPartRef" node="0>0|2|0|0|4" />
        <i3dMapping id="reelArmHydraulic" node="0>0|2|1" />
        <i3dMapping id="reelArmHydraulicPunch" node="0>0|2|1|0" />
        <i3dMapping id="reelArmPart" node="0>0|2|2" />
        <i3dMapping id="drumMain" node="0>0|2|3" />
        <i3dMapping id="uvRotate" node="0>0|2|3|1" />
        <i3dMapping id="drumMainSpikes01" node="0>0|2|3|2" />
        <i3dMapping id="drumMainSpikes02" node="0>0|2|3|3" />
        <i3dMapping id="drumMainSpikes03" node="0>0|2|3|4" />
        <i3dMapping id="drumMainSpikes04" node="0>0|2|3|5" />
        <i3dMapping id="drumMainSpikes05" node="0>0|2|3|6" />
        <i3dMapping id="drumMainSpikes06" node="0>0|2|3|7" />
        <i3dMapping id="spikesSpline" node="0>0|2|4" />
        <i3dMapping id="knifesMove" node="0>0|2|5|0" />
        <i3dMapping id="knifesRotRef" node="0>0|2|5|0|0" />
        <i3dMapping id="knifesRot" node="0>0|2|6|0" />
        <i3dMapping id="beltWheel" node="0>0|2|7" />
        <i3dMapping id="workAreaStart" node="0>0|3|0" />
        <i3dMapping id="workAreaWidth" node="0>0|3|1" />
        <i3dMapping id="workAreaHeight" node="0>0|3|2" />
        <i3dMapping id="smokeEmitter" node="0>0|4|0" />
        <i3dMapping id="cutterEffectLinkNode" node="0>0|4|1" />
        <i3dMapping id="aiMarkerLeft" node="0>0|5|0" />
        <i3dMapping id="aiMarkerRight" node="0>0|5|1" />
        <i3dMapping id="aiMarkerBack" node="0>0|5|2" />
        <i3dMapping id="aiCollisionNode" node="0>0|5|3" />
        <i3dMapping id="brandCaseIH_decals" node="0>0|6|0" />
        <i3dMapping id="brandNewHolland_decals" node="0>0|6|1" />
        <i3dMapping id="uvScrollChain01" node="0>0|6|3" />
    </i3dMappings>
</vehicle>
