<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="cutter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://validation.gdn.giants-software.com/xml/fs25/vehicle.xsd">
    <annotation>Copyright (C) GIANTS Software GmbH, All Rights Reserved.</annotation>

    <storeData>
        <name>630X</name>
        <specs>
            <workingWidth>9.15</workingWidth>
            <combination xmlFilename="tSeries.xml" />
            <combination xmlFilename="$data/vehicles/johnDeere/seriesS7/seriesS7.xml" />
            <combination xmlFilename="$data/vehicles/nardi/n60_35/n60_35.xml" />
        </specs>
        <functions>
            <function>$l10n_function_cutter</function>
        </functions>
        <image>store_630X.png</image>
        <price>59600</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>JOHNDEERE</brand>
        <category>cutters</category>
        <shopTranslationOffset>0 -0.4 0</shopTranslationOffset>
        <shopRotationOffset>10 0 0</shopRotationOffset>
        <vertexBufferMemoryUsage>1682688</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>372992</indexBufferMemoryUsage>
        <textureMemoryUsage>3932160</textureMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_cutter</typeDesc>
        <filename>630X.i3d</filename>
        <size width="11" length="3" height="2.15" lengthOffset="0.28"/>
        <speedLimit value="10" />
        <components>
            <component centerOfMass="0 0.2 -0.2" solverIterationCount="10" mass="3360" />
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="COMBINE_HEADER" />
		<mapHotspot type="CUTTER" />
    </base>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" jointType="cutter">
                <heightNode node="heightNode01" />
                <heightNode node="heightNode02" />
                <heightNode node="heightNode03" />
                <distanceToGround lower="0.35" upper="2.02" />
            </inputAttacherJoint>
        </inputAttacherJoints>
		<support animationName="moveSupport" />
    </attachable>

    <connectionHoses>
        <hose inputAttacherJointIndices="1" type="hydraulicIn"  node="hydraulicIn01"  length="1.5" diameter="0.01" straighteningFactor="1.5">
            <objectChange node="hydraulicIn01_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
        <hose inputAttacherJointIndices="1" type="hydraulicOut" node="hydraulicOut01" length="1.5" diameter="0.01" straighteningFactor="1.5">
            <objectChange node="hydraulicOut01_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
        <hose inputAttacherJointIndices="1" type="hydraulicIn" node="hydraulicIn02" length="1.5" diameter="0.01" straighteningFactor="1.5">
            <objectChange node="hydraulicIn02_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
    </connectionHoses>

    <powerTakeOffs>
        <input inputAttacherJointIndices="1" inputNode="ptoInputNode" aboveAttacher="true" detachNode="ptoDetachNode" ptoName="LEFT_PTO" materialTemplateName="JOHNDEERE_BLACK1" decalMaterialTemplateName="WALTERSCHEID_YELLOW1"/>
    </powerTakeOffs>

    <powerConsumer ptoRpm="540" neededMaxPtoPower="125"/>

    <lights>
        <sharedLight linkNode="workingLight04_01" lightTypes="1" filename="$data/shared/assets/lights/lizard/workingLight04.xml">
            <rotationNode name="rotationNode1" rotation="-30 0 0"/>
        </sharedLight>
        <sharedLight linkNode="workingLight04_02" lightTypes="1" filename="$data/shared/assets/lights/lizard/workingLight04.xml">
            <rotationNode name="rotationNode1" rotation="-30 0 0"/>
        </sharedLight>

        <realLights>
            <high>
                <light node="workLightHigh" lightTypes="1"/>
            </high>
        </realLights>
    </lights>

    <groundReferenceNodes>
        <groundReferenceNode node="groundReferenceNode" threshold="0.5"/>
    </groundReferenceNodes>

    <workAreas>
        <workArea type="cutter" functionName="processCutterArea" disableBackwards="true" >
            <area startNode="workAreaStart" widthNode="workAreaWidth" heightNode="workAreaHeight" />
            <groundReferenceNode index="1" />
            <testAreas autoGenerate="true" zOffset="0.5" xOffset="0" length="0.6" numAreas="12" areaWidthScale="0.25"/>
        </workArea>
    </workAreas>

    <animations>
        <animation name="knifeAnimation" looping="true">
            <part node="knifes" startTime="0" endTime="0.5" shaderParameter="offsetUV" shaderStartValues="0 0 0 0" shaderEndValues="0 0.07 0 0"/>
            <part node="knifes" startTime="0.5" endTime="1" shaderParameter="offsetUV" shaderStartValues="0 0.07 0 0" shaderEndValues="0 0 0 0"/>

            <part node="canolaExtension_lowKnifes" startTime="0" endTime="0.5" startTrans="0 0 0" endTrans="0.1 0 0"/>
            <part node="canolaExtension_lowKnifes" startTime="0.5" endTime="1" startTrans="0.1 0 0" endTrans="0 0 0"/>

            <part node="canolaExtension_sideKnifesRight01" startTime="0" endTime="0.5" startTrans="0 0 0" endTrans="0 -0.06 0"/>
            <part node="canolaExtension_sideKnifesRight01" startTime="0.5" endTime="1" startTrans="0 -0.06 0" endTrans="0 0 0"/>
            <part node="canolaExtension_sideKnifesRight02" startTime="0" endTime="0.5" startTrans="0 0 0" endTrans="0 0.06 0"/>
            <part node="canolaExtension_sideKnifesRight02" startTime="0.5" endTime="1" startTrans="0 0.06 0" endTrans="0 0 0"/>

            <part node="canolaExtension_sideKnifesLeft01" startTime="0" endTime="0.5" startTrans="0 0 0" endTrans="0 -0.06 0"/>
            <part node="canolaExtension_sideKnifesLeft01" startTime="0.5" endTime="1" startTrans="0 -0.06 0" endTrans="0 0 0"/>
            <part node="canolaExtension_sideKnifesLeft02" startTime="0" endTime="0.5" startTrans="0 0 0" endTrans="0 0.06 0"/>
            <part node="canolaExtension_sideKnifesLeft02" startTime="0.5" endTime="1" startTrans="0 0.06 0" endTrans="0 0 0"/>
        </animation>
		
		<animation name="moveSupport">
            <part node="grainExtensionPartLeft"  startTime="0" endTime="0.1" startRot="0 0 0" endRot="0 -90 0" />
			<part node="grainExtensionPartRight"  startTime="0" endTime="0.1" startRot="0 0 0" endRot="0 90 0" />

            <sound template="metalClose" startTime="0.99"  direction="1" volumeScale="0.7" pitchScale="2.8"/>
            <sound template="clackVar1"  startTime="0.10"  direction="1" volumeScale="1.3" pitchScale="1.8"/>
            <sound template="slideOpen"  startTime="0.01"  direction="1" volumeScale="2.5" pitchScale="1.4"/>
            <sound template="metalClose" startTime="0.05"  direction="-1" volumeScale="0.7" pitchScale="2.8"/>
            <sound template="clackVar1"  startTime="0.99"  direction="-1" volumeScale="1.3" pitchScale="1.8"/>
            <sound template="slideClose" startTime="0.99"  direction="-1" volumeScale="2.5" pitchScale="2.2"/>
		</animation>
    </animations>

    <cylindered>
        <movingTools>
            <movingTool node="reelMover" playSound="true" >
                <controls axis="AXIS_CUTTER_REEL" invertAxis="true" mouseSpeedFactor="0.5" iconName="REEL_TRANSLATE_X" />
                <translation transSpeed="0.2" transAcceleration="50" transMax="1.577" transMin="1.137" translationAxis="3" startTrans="1.137"/>
                <dependentPart node="pipeArm" />
            </movingTool>

            <movingTool node="reelArm" playSound="true" >
                <controls axis="AXIS_CUTTER_REEL2" invertAxis="true" mouseSpeedFactor="0.5" iconName="REEL_TRANSLATE_Y" />
                <rotation rotSpeed="10" rotAcceleration="50" rotMax="9" rotMin="-30" startRot="-15"/>
                <dependentPart node="hydraulicReel" />
            </movingTool>

            <movingTool node="reel1">
                <dependentPart node="spike1" />
                <dependentPart node="spike2" />
                <dependentPart node="spike3" />
                <dependentPart node="spike4" />
                <dependentPart node="spike5" />
                <dependentPart node="spike6" />
            </movingTool>
        </movingTools>

        <movingParts>
            <movingPart node="spike1" referencePoint="spikeRef1" referenceFrame="spikeRefFrame"/>
            <movingPart node="spike2" referencePoint="spikeRef2" referenceFrame="spikeRefFrame"/>
            <movingPart node="spike3" referencePoint="spikeRef3" referenceFrame="spikeRefFrame"/>
            <movingPart node="spike4" referencePoint="spikeRef4" referenceFrame="spikeRefFrame"/>
            <movingPart node="spike5" referencePoint="spikeRef5" referenceFrame="spikeRefFrame"/>
            <movingPart node="spike6" referencePoint="spikeRef6" referenceFrame="spikeRefFrame"/>

            <movingPart node="hydraulicReel" referencePoint="hydraulicReelRef" referenceFrame="hydraulicReelRef" >
                <translatingPart node="hydraulicReelPunch" />
            </movingPart>

            <movingPart node="pipeArm" localReferencePoint="pipeArmPart" referencePoint="pipeArmRef" referenceFrame="pipeArmRef" >
                <dependentPart node="pipeArmPart" />
            </movingPart>
            <movingPart node="pipeArmPart" referencePoint="pipeArmRef" referenceFrame="pipeArmRef" />
        </movingParts>

        <sounds>
            <actionSound template="hydraulicOpen05"  volumeScale="3.5" pitchScale="1.0" linkNode="reelArm"                  actionNames="TOOL_MOVE_NEG"                                   nodes="reelArm"  fadeIn="0.1" fadeOut="0.1" />
            <actionSound template="hydraulicOpen02"  volumeScale="3.0" pitchScale="1.0" linkNode="reelArm"                  actionNames="TOOL_MOVE_POS"                                   nodes="reelArm"  fadeIn="0.1" fadeOut="0.1" />
            <actionSound template="hydraulicClose03" volumeScale="3.5" pitchScale="1.5" linkNode="header625X_main_component1" actionNames="TOOL_MOVE_POS TOOL_MOVE_NEG"                     nodes="reelMover" fadeIn="0.1" fadeOut="0.1" />
            <actionSound template="vibratingImp"     volumeScale="1.1" pitchScale="1"   linkNode="reelArm"                  actionNames="TOOL_MOVE_END_POS_LIMIT"                         nodes="reelArm"/>
            <actionSound template="metalImpHigh01"   volumeScale="0.5" pitchScale="1"   linkNode="reelArm"                  actionNames="TOOL_MOVE_END_POS_LIMIT"                         nodes="reelArm"/>
            <actionSound template="vibratingImp"     volumeScale="1.2" pitchScale="1.3" linkNode="reelArm"                  actionNames="TOOL_MOVE_END_NEG_LIMIT"                         nodes="reelArm"/>
            <actionSound template="clackVar6"        volumeScale="2.2" pitchScale="0.7" linkNode="reelArm"                  actionNames="TOOL_MOVE_END_NEG_LIMIT"                         nodes="reelArm"/>
            <actionSound template="metalImpHigh01"   volumeScale="0.7" pitchScale="1"   linkNode="header625X_main_component1" actionNames="TOOL_MOVE_END_POS_LIMIT TOOL_MOVE_END_NEG_LIMIT" nodes="reelMover"/>
            <actionSound template="sheetImp02"       volumeScale="2"   pitchScale="1"   linkNode="header625X_main_component1" actionNames="TOOL_MOVE_END_POS_LIMIT TOOL_MOVE_END_NEG_LIMIT" nodes="reelMover"/>
            <actionSound template="vibratingImp"     volumeScale="0.7" pitchScale="1.6" linkNode="header625X_main_component1" actionNames="TOOL_MOVE_END_POS_LIMIT TOOL_MOVE_END_NEG_LIMIT" nodes="reelMover"/>
        </sounds>
    </cylindered>

    <cutter fruitTypeCategories="grainHeader">
        <effect>
            <effectNode effectClass="CutterMotionPathEffect" effectType="CUTTER" linkNode="cutterEffectLinkNode">
                <motionPathEffect textureFilename="$data/vehicles/masseyFerguson/freeFlow25FT/drumArray.dds" numRows="32" rowLength="42" minFade="0.06" textureRealWidth="17"/>
            </effectNode>
            <effectNode effectClass="ParticleEffect" effectNode="smokeEmitter" particleType="SMOKE" materialType="smokeParticle" emitCountScale="0.1" worldSpace="false" useCuttingWidth="false"/>
        </effect>

       <fruitExtraObjects hideOnMount="true">
            <fruitExtraObject node="grainExtension" isDefault="true"/>
            <fruitExtraObject node="canolaExtension" fruitType="canola"/>
        </fruitExtraObjects>

        <animationNodes>
            <animationNode node="drum"  rotAxis="1" rotSpeed="600"  turnOnFadeTime="2" turnOffFadeTime="3"/>
            <animationNode node="reel1" rotAxis="1" rotSpeed="210"  turnOnFadeTime="2" turnOffFadeTime="3"/>
            <animationNode node="reel2" rotAxis="1" rotSpeed="210"  turnOnFadeTime="2" turnOffFadeTime="3"/>
        </animationNodes>

        <automaticTilt raycastNode1="heightNode01" raycastNode2="heightNode03"/>
        <sounds>
            <cut template="cropCutting" volumeScale="1.4"/>
        </sounds>
    </cutter>

    <turnOnVehicle turnedOnByAttacherVehicle="true">
        <turnedOnAnimation name="knifeAnimation" speedScale="6" turnOnFadeTime="2" turnOffFadeTime="2"/>
        <sounds>
            <start template="harvesterToolStart" volumeScale="1.0"/>
            <work  template="harvesterToolWork"  volumeScale="0.8"/>
            <stop  template="harvesterToolStop"  volumeScale="1.0"/>
        </sounds>
    </turnOnVehicle>

    <dynamicMount forceLimitScale="1">
        <lockPosition xmlFilename="$data/vehicles/nardi/n60_35/n60_35.xml" jointNode="0>" transOffset="0.011 0.681 -2.5" rotOffset="0 -90 0"/>
    </dynamicMount>

    <ai>
        <areaMarkers leftNode="aiMarkerLeft" rightNode="aiMarkerRight" backNode="aiMarkerBack"/>
        <collisionTrigger useSize="true"/>
        <agentAttachment useSize="true"/>
    </ai>

    <foliageBending>
        <bendingNode minX="-5" maxX="5" minZ="-1" maxZ="0.2" yOffset="0.4" />
    </foliageBending>

    <wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="90" washDuration="1" workMultiplier="4" fieldMultiplier="2"/>

    <i3dMappings>
        <i3dMapping id="header625X_main_component1" node="0>" />
        <i3dMapping id="header_vis" node="0>0" />
        <i3dMapping id="attacherJoint" node="0>0|0|0" />
        <i3dMapping id="heightNode01" node="0>0|0|0|0" />
        <i3dMapping id="heightNode02" node="0>0|0|0|1" />
        <i3dMapping id="heightNode03" node="0>0|0|0|2" />
        <i3dMapping id="ptoInputNode" node="0>0|0|1" />
        <i3dMapping id="ptoDetachNode" node="0>0|0|1|0" />
        <i3dMapping id="hydraulicIn01" node="0>0|0|2|0" />
        <i3dMapping id="hydraulicIn01_detached" node="0>0|0|2|0|0" />
        <i3dMapping id="hydraulicOut01" node="0>0|0|2|1" />
        <i3dMapping id="hydraulicOut01_detached" node="0>0|0|2|1|0" />
        <i3dMapping id="hydraulicIn02" node="0>0|0|2|2" />
        <i3dMapping id="hydraulicIn02_detached" node="0>0|0|2|2|0" />
        <i3dMapping id="workingLight04_01" node="0>0|1|0" />
        <i3dMapping id="workingLight04_02" node="0>0|1|1" />
        <i3dMapping id="workLightHigh" node="0>0|1|2" />
        <i3dMapping id="drum" node="0>0|2|0" />
        <i3dMapping id="reelArm" node="0>0|2|1" />
        <i3dMapping id="reelMover" node="0>0|2|1|0" />
        <i3dMapping id="reel1" node="0>0|2|1|0|0" />
        <i3dMapping id="spike1" node="0>0|2|1|0|0|0" />
        <i3dMapping id="spike2" node="0>0|2|1|0|0|1" />
        <i3dMapping id="spike3" node="0>0|2|1|0|0|2" />
        <i3dMapping id="spike4" node="0>0|2|1|0|0|3" />
        <i3dMapping id="spike5" node="0>0|2|1|0|0|4" />
        <i3dMapping id="spike6" node="0>0|2|1|0|0|5" />
        <i3dMapping id="reel2" node="0>0|2|1|0|1" />
        <i3dMapping id="spikeRef1" node="0>0|2|1|0|1|0" />
        <i3dMapping id="spikeRef2" node="0>0|2|1|0|1|1" />
        <i3dMapping id="spikeRef3" node="0>0|2|1|0|1|2" />
        <i3dMapping id="spikeRef4" node="0>0|2|1|0|1|3" />
        <i3dMapping id="spikeRef5" node="0>0|2|1|0|1|4" />
        <i3dMapping id="spikeRef6" node="0>0|2|1|0|1|5" />
        <i3dMapping id="pipeArmRef" node="0>0|2|1|0|2" />
        <i3dMapping id="spikeRefFrame" node="0>0|2|1|0|3" />
        <i3dMapping id="hydraulicReelRef" node="0>0|2|1|1" />
        <i3dMapping id="pipeArm" node="0>0|2|1|2" />
        <i3dMapping id="pipeArmPart" node="0>0|2|1|2|0" />
        <i3dMapping id="hydraulicReel" node="0>0|2|2" />
        <i3dMapping id="hydraulicReelPunch" node="0>0|2|2|0" />
        <i3dMapping id="knifes" node="0>0|2|3" />
        <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="groundReferenceNode" node="0>0|3|3" />
        <i3dMapping id="cutterEffectLinkNode" node="0>0|4|0" />
        <i3dMapping id="smokeEmitter" node="0>0|4|1" />
        <i3dMapping id="aiMarkerLeft" node="0>0|5|0|0" />
        <i3dMapping id="aiMarkerRight" node="0>0|5|0|1" />
        <i3dMapping id="aiMarkerBack" node="0>0|5|0|2" />
        <i3dMapping id="sizeMarkerLeft" node="0>0|5|1|0" />
        <i3dMapping id="sizeMarkerRight" node="0>0|5|1|1" />
        <i3dMapping id="sizeMarkerBack" node="0>0|5|1|2" />
        <i3dMapping id="aiCollisionNode" node="0>0|5|2" />
        <i3dMapping id="canolaExtension" node="0>0|6|0" />
        <i3dMapping id="zieglerRapeseedModules_7_6M_vis" node="0>0|6|0|0" />
        <i3dMapping id="canolaExtension_lowKnifes" node="0>0|6|0|3" />
        <i3dMapping id="canolaExtension_sideKnifesRight01" node="0>0|6|0|4|0" />
        <i3dMapping id="canolaExtension_sideKnifesRight02" node="0>0|6|0|4|1" />
        <i3dMapping id="canolaExtension_sideKnifesLeft01" node="0>0|6|0|5|0" />
        <i3dMapping id="canolaExtension_sideKnifesLeft02" node="0>0|6|0|5|1" />
        <i3dMapping id="grainExtension" node="0>0|6|1" />
		<i3dMapping id="grainExtensionPartLeft" node="0>0|6|1|0|0" />
		<i3dMapping id="grainExtensionPartRight" node="0>0|6|1|1|0" />
    </i3dMappings>
</vehicle>
