Files
Main/simulator/protos/arena/TriangleDeck.proto
2025-11-07 11:39:23 +00:00

68 lines
2.1 KiB
Protocol Buffer
Executable File

#VRML_SIM R2023b utf8
# template language: javascript
EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/geometries/protos/Extrusion.proto"
PROTO TriangleDeck [
field SFVec2f size 1 1
field SFVec3f translation 0 0 0.001
field SFRotation rotation 1 0 0 0
field SFFloat height 0.17
field SFColor sideColour 1 1 1
field SFColor topColour 0.1 0.1 0.1
field SFBool locked FALSE
field SFString name ""
] {
Pose {
translation IS translation
rotation IS rotation
children [
Solid {
translation 0 0 %<= -fields.height.value / 2 + 0.002 >%
children [
Shape {
appearance PBRAppearance {
baseColor IS sideColour
roughness 1
metalness 0.5
}
geometry DEF DECK Extrusion {
crossSection [0.5 0.5, 0.5 -0.5, -0.5 0.5, 0.5 0.5]
scale %<= fields.size.value.x >% %<= fields.size.value.y >%
spine [0 0 0, 0 0 %<= fields.height.value >%]
splineSubdivision 1
}
}
Solid {
translation 0 0 %<= fields.height.value + 0.002 >%
children [
Shape {
appearance PBRAppearance {
baseColor IS topColour
roughness 1
metalness 0
}
geometry IndexedFaceSet {
coord Coordinate {
point [
%<= -fields.size.value.x / 2 >% %<= -fields.size.value.y / 2 >% 0
%<= fields.size.value.x / 2 >% %<= -fields.size.value.y / 2 >% 0
%<= -fields.size.value.x / 2 >% %<= fields.size.value.y / 2 >% 0
]
}
coordIndex [
0 1 2 0
]
}
castShadows FALSE
}
]
name "Top of deck"
}
]
boundingObject USE DECK
name IS name
locked IS locked
}
]
}
}