/*
Auto-generated by: https://github.com/pmndrs/gltfjsx
*/

import * as THREE from 'three'
import React, { useRef } from 'react'
import { useGLTF } from '@react-three/drei'
import { GLTF } from 'three-stdlib'

type GLTFResult = GLTF & {
  nodes: {
    mesh480_mesh: THREE.Mesh
    mesh480_mesh_1: THREE.Mesh
    mesh480_mesh_2: THREE.Mesh
    mesh480_mesh_3: THREE.Mesh
    mesh480_mesh_4: THREE.Mesh
    mesh480_mesh_5: THREE.Mesh
    mesh480_mesh_6: THREE.Mesh
    mesh480_mesh_7: THREE.Mesh
    mesh480_mesh_8: THREE.Mesh
    mesh480_mesh_9: THREE.Mesh
    mesh480_mesh_10: THREE.Mesh
    mesh480_mesh_11: THREE.Mesh
    mesh480_mesh_12: THREE.Mesh
    mesh480_mesh_13: THREE.Mesh
    mesh480_mesh_14: THREE.Mesh
    mesh480_mesh_15: THREE.Mesh
    mesh480_mesh_16: THREE.Mesh
    mesh480_mesh_17: THREE.Mesh
    mesh528_mesh: THREE.Mesh
    mesh528_mesh_1: THREE.Mesh
    mesh528_mesh_2: THREE.Mesh
    mesh528_mesh_3: THREE.Mesh
    mesh528_mesh_4: THREE.Mesh
    mesh528_mesh_5: THREE.Mesh
    mesh528_mesh_6: THREE.Mesh
    mesh528_mesh_7: THREE.Mesh
    mesh528_mesh_8: THREE.Mesh
    mesh528_mesh_9: THREE.Mesh
    mesh538_mesh: THREE.Mesh
    mesh538_mesh_1: THREE.Mesh
    mesh538_mesh_2: THREE.Mesh
    mesh538_mesh_3: THREE.Mesh
    mesh538_mesh_4: THREE.Mesh
    mesh538_mesh_5: THREE.Mesh
    mesh538_mesh_6: THREE.Mesh
    mesh538_mesh_7: THREE.Mesh
    mesh538_mesh_8: THREE.Mesh
    mesh538_mesh_9: THREE.Mesh
    mesh538_mesh_10: THREE.Mesh
    mesh538_mesh_11: THREE.Mesh
    mesh538_mesh_12: THREE.Mesh
    mesh538_mesh_13: THREE.Mesh
    mesh538_mesh_14: THREE.Mesh
    M5_Barb: THREE.Mesh
  }
  materials: {
    PaletteMaterial001: THREE.MeshStandardMaterial
  }
}

// @ts-expect-error
export function Model(props: JSX.IntrinsicElements['group']) {
  // @ts-expect-error
  const { nodes, materials } = useGLTF('/assets/farmbot/3D/models/utm.glb') as GLTFResult
  return (
    <group {...props} dispose={null}>
      <mesh
        name="M5_Barb"
        castShadow
        receiveShadow
        geometry={nodes.M5_Barb.geometry}
        material={materials.PaletteMaterial001}
        position={[0.01515544, 0.00875, 0.0355]}
        rotation={[0, 0, 2.09439511]}
      />
      <mesh
        name="mesh480_mesh"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_1"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_1.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_2"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_2.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_3"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_3.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_4"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_4.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_5"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_5.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_6"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_6.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_7"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_7.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_8"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_8.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_9"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_9.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_10"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_10.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_11"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_11.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_12"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_12.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_13"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_13.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_14"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_14.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_15"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_15.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_16"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_16.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh480_mesh_17"
        castShadow
        receiveShadow
        geometry={nodes.mesh480_mesh_17.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_1"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_1.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_2"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_2.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_3"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_3.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_4"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_4.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_5"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_5.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_6"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_6.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_7"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_7.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_8"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_8.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh528_mesh_9"
        castShadow
        receiveShadow
        geometry={nodes.mesh528_mesh_9.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_1"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_1.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_2"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_2.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_3"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_3.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_4"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_4.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_5"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_5.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_6"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_6.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_7"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_7.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_8"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_8.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_9"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_9.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_10"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_10.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_11"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_11.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_12"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_12.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_13"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_13.geometry}
        material={materials.PaletteMaterial001}
      />
      <mesh
        name="mesh538_mesh_14"
        castShadow
        receiveShadow
        geometry={nodes.mesh538_mesh_14.geometry}
        material={materials.PaletteMaterial001}
      />
    </group>
  )
}

useGLTF.preload('/assets/farmbot/3D/models/utm.glb')
