Skip to content

Pose3d and Vector3d widgets do not display on macOS #1668

Closed
@srmainwaring

Description

Environment

  • OS Version: macOS Monterey, Version 12.5, Xcode 13.4.1.

  • Source or binary build? build: source, branch: gz-sim7, commit: d90fab2.

  • If this is a GUI or sensor rendering bug, describe your GPU and rendering system. Otherwise delete this section.

    • Rendering plugin: [ogre2].
      • [ x ] running on real hardware.
      • [ x ] GPU is concurrently used for other tasks.
        • [ x ] desktop acceleration.
    • Rendering system info:
2022-08-13 15:45:06.469 system_profiler[80028:24179151] Device PreExisted [000000010000096a] AMD Radeon Pro W5700X
Graphics/Displays:

    AMD Radeon Pro W5700X:

      Chipset Model: AMD Radeon Pro W5700X
      Type: GPU
      Bus: PCIe
      Slot: Slot-1
      PCIe Lane Width: x16
      VRAM (Total): 16 GB
      Vendor: AMD (0x1002)
      Device ID: 0x7310
      Revision ID: 0x0000
      ROM Revision: 113-D1860W-213
      VBIOS Version: 113-D186A2XT-019
      Option ROM Version: 113-D186A2XT-019
      EFI Driver Version: 01.01.200
      Metal Family: Supported, Metal GPUFamily macOS 2
      Displays:
        Cinema HD:
          Display Type: LCD
          Resolution: 2560 x 1600
          UI Looks like: 2560 x 1600
          Framebuffer Depth: 30-Bit Color (ARGB2101010)
          Display Serial Number: CY628129UG1
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Rotation: Supported
          Automatically Adjust Brightness: Yes
          Connection Type: DVI or HDMI
          Adapter Firmware Version: 2.21

Description

The Pose3d and Vector3d widgets in the Component Inspector are not displaying correctly on macOS.

Expected behaviour

The pose and vector widgets should display correctly.

Actual behaviour

The pose and vector widgets are empty.

Steps to reproduce

Run the shapes.sdf example on macOS:

#server
gz sim -s -r shapes.sdf
#client
gz sim -g

Output

Vector3d fails to display

vector3d_fail

Pose3d fails to display

pose3d_fail

Possible cause

The problem seems to be that Layout.fillWidth: true is not sizing the widget correctly (at least on macOS).

// Content
GzVector3 {
id: gzVectorInstance
Layout.fillWidth: true
gzUnit: model && model.unit != undefined ? model.unit : 'm'

A temporary workaround is to force the width of the widget to the parent less margin:

        // Content
        GzVector3 {
          id: gzVectorInstance
          width: parent.width - 2*margin
          Layout.fillWidth: true
          gzUnit: model && model.unit != undefined ? model.unit : 'm'

This patch is here: srmainwaring@b4de80f and provides a working solution for macOS, but may not be suitable for general use.

Vector3d after fix

vector3d_pass

Pose3d after fix

pose3d_pass

Metadata

Assignees

No one assigned

    Labels

    GUIGazebo's graphical interface (not pure Ignition GUI)bugSomething isn't workingmacOSmacOS support

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions