#VRML_SIM R2022b utf8
# license: Copyright Cyberbotics Ltd. Licensed for use only with Webots.
# license url: https://cyberbotics.com/webots_assets_license
# A simple square manhole.
# template language: javascript

PROTO SquareManhole [
  field SFVec3f    translation           0 0 0
  field SFRotation rotation              0 0 1 0
  field SFString   name                  "manhole"
  field SFVec3f    size                  1 1 0.1    # Defines the size of the manhole.
  field SFBool     enableBoundingObject  TRUE       # Defines whether the manhole should have a bounding object.
]
{
  Solid {
    translation IS translation
    rotation IS rotation
    name IS name
    model "manhole"
    children [
      Transform {
        rotation 0 0 1 1.57
        children [
          Shape {
            appearance PBRAppearance {
              baseColorMap ImageTexture {
                url [
                  "textures/manhole_base_color.jpg"
                ]
              }
              roughnessMap ImageTexture {
                url [
                  "textures/manhole_roughness.jpg"
                ]
              }
              metalnessMap ImageTexture {
                url [
                  "textures/manhole_metalness.jpg"
                ]
              }
              normalMap ImageTexture {
                url [
                  "textures/manhole_normal.jpg"
                ]
              }
              occlusionMap ImageTexture {
                url [
                  "textures/manhole_occlusion.jpg"
                ]
              }
            }
            geometry DEF MANHOLE_BOX Box {
              size IS size
            }
          }
        ]
      }
    ]
    %< if (fields.enableBoundingObject.value) { >%
    boundingObject USE MANHOLE_BOX
    %< } >%
  }
}