![]() |
NDEVR
API Documentation
|
A dialog where the user can set a 3D orientation of an object. More...
Public Types | |
| enum | SizeMode { e_normal , e_small_horizontal , e_small_vertical , e_tiny_horizontal , e_tiny_vertical } |
| Enumerates layout size modes for the orientation editor. More... | |
Public Member Functions | |
| OrientationEditor (QWidget *parent=nullptr) | |
| Constructs an OrientationEditor widget. | |
| void | edited () |
| Emitted when the user edits any value in the UI. | |
| Matrix< fltp08 > | getMatrix () |
| Computes a 4x4 transformation matrix from the current position, rotation, and scale. | |
| QCustomDial * | getUIDial (uint01 orientation) |
| Returns the dial widget for a given rotation axis. | |
| Vector< 3, Angle< fltp08 > > | getUIDialRotation () const |
| Returns the current rotation values from the UI dial widgets. | |
| QCustomLineEdit * | getUILineEdit (uint01 orientation) |
| Returns the line edit widget for a given rotation axis. | |
| Vector< 3, fltp08 > | getUILocation () const |
| Returns the current position values from the UI fields. | |
| Vector< 3, Angle< fltp08 > > | getUIRotation () const |
| Returns the current rotation values from the UI text fields. | |
| Vector< 3, fltp08 > | getUIScale () const |
| Returns the current scale values from the UI fields. | |
| void | lockAspectRatio () |
| Locks the aspect ratio so that scale changes on one axis propagate proportionally. | |
| virtual QSize | minimumSizeHint () const override |
| Returns the minimum size hint for the widget. | |
| QBoxLayout * | offsetLayout () |
| Returns the layout containing the position/offset fields. | |
| void | orientationEdited () |
| Emitted when the user edits orientation values in the UI. | |
| void | orientationUpdated () |
| Emitted when the orientation resource is updated programmatically. | |
| void | positionEdited () |
| Emitted when the user edits position values in the UI. | |
| void | positionUpdated () |
| Emitted when the position resource is updated programmatically. | |
| void | resizeEvent (QResizeEvent *event) override |
| Handles resize events by adjusting the layout mode if auto-layout is enabled. | |
| void | scaleEdited () |
| Emitted when the user edits scale values in the UI. | |
| void | scaleUpdated () |
| Emitted when the scale resource is updated programmatically. | |
| void | setAutoHideDials (bool auto_hide_dials) |
| Sets whether dials are automatically hidden when the widget is too small. | |
| void | setMatrix (const Matrix< fltp08 > &matrix) |
| Decomposes a transformation matrix and populates the UI fields accordingly. | |
| void | setOffsetLabels (const TranslatedString &x, const TranslatedString &y, const TranslatedString &z) |
| Sets the axis labels for the position/offset fields. | |
| void | setOffsetTitle (const TranslatedString &title) |
| Sets the title label for the position/offset section. | |
| void | setRotationTitle (const TranslatedString &roll, const TranslatedString &pitch, const TranslatedString &yaw) |
| Sets the title labels for the rotation section axes. | |
| void | setScaleTitle (const TranslatedString &title) |
| Sets the title label for the scale section. | |
| void | setSizeMode (SizeMode mode) |
| Sets the layout size mode of the orientation editor. | |
| virtual QSize | sizeHint () const override |
| Returns the preferred size hint for the widget. | |
| void | updated () |
| Emitted when any resource is updated programmatically. | |
| void | updateLabels () |
| Updates the axis labels to reflect the current unit settings. | |
| void | updateLayoutSize () |
| Recalculates the layout based on the current size mode. | |
| void | updateOrientation () |
| Refreshes the orientation UI fields and dials from the orientation resource. | |
| void | updatePosition () |
| Refreshes the position UI fields from the position resource. | |
| void | updateScale () |
| Refreshes the scale UI fields from the scale resource. | |
Public Attributes | |
| Resource< ConstPointer< Unit > > | angle_unit |
| The unit used for displaying angle values. | |
| Resource< Vector< 3, Angle< fltp08 > > > | max_orientation |
| The maximum allowed rotation angles. | |
| Resource< Vector< 3, fltp08 > > | max_position |
| The maximum allowed position values. | |
| Resource< Vector< 3, fltp08 > > | max_scale |
| The maximum allowed scale values. | |
| Resource< Vector< 3, Angle< fltp08 > > > | min_orientation |
| The minimum allowed rotation angles. | |
| Resource< Vector< 3, fltp08 > > | min_position |
| The minimum allowed position values. | |
| Resource< Vector< 3, fltp08 > > | min_scale |
| The minimum allowed scale values. | |
| Resource< Vector< 3, Angle< fltp08 > > > | orientation |
| The current 3D rotation angles (roll, pitch, yaw). | |
| Resource< Vector< 3, fltp08 > > | position |
| The current 3D position values. | |
| Resource< ConstPointer< Unit > > | position_unit |
| The unit used for displaying position values. | |
| Resource< Vector< 3, fltp08 > > | scale |
| The current 3D scale values. | |
| Resource< Vector< 3, bool > > | show_orientation |
| Controls visibility of each orientation axis field. | |
| Resource< Vector< 3, bool > > | show_position |
| Controls visibility of each position axis field. | |
| Resource< Vector< 3, bool > > | show_scale |
| Controls visibility of each scale axis field. | |
| Resource< ConstPointer< Unit > > | size_unit |
| The unit used for displaying scale/size values. | |
Protected Attributes | |
| Vector< 3, fltp08 > | m_aspect_ratio |
| The locked aspect ratio between scale axes. | |
| bool | m_auto_hide_dials |
| Whether to automatically hide dials when space is limited. | |
| bool | m_auto_set_layout |
| Whether to automatically adjust layout on resize. | |
| SizeMode | m_size_mode |
| The current layout size mode. | |
| QTResourceListener * | m_units_listener |
| Listener that triggers label updates when units change. | |
| Ui::OrientationEditorUI * | ui |
| The auto-generated UI form. | |
A dialog where the user can set a 3D orientation of an object.
Definition at line 54 of file OrientationEditor.h.
Enumerates layout size modes for the orientation editor.
Definition at line 61 of file OrientationEditor.h.
|
explicit |
Constructs an OrientationEditor widget.
| [in] | parent | The parent widget. |
References OrientationEditor().
Referenced by DesignObjectOrientation::DesignObjectOrientation(), and OrientationEditor().
Computes a 4x4 transformation matrix from the current position, rotation, and scale.
Referenced by DesignObjectOrientation::orientationEditedSlot().
| QCustomDial * OrientationEditor::getUIDial | ( | uint01 | orientation | ) |
Returns the dial widget for a given rotation axis.
| [in] | orientation | The axis index (0=roll, 1=pitch, 2=yaw). |
References orientation.
Returns the current rotation values from the UI dial widgets.
| QCustomLineEdit * OrientationEditor::getUILineEdit | ( | uint01 | orientation | ) |
Returns the line edit widget for a given rotation axis.
| [in] | orientation | The axis index (0=roll, 1=pitch, 2=yaw). |
References orientation.
Returns the current position values from the UI fields.
Returns the current rotation values from the UI text fields.
Returns the current scale values from the UI fields.
|
overridevirtual |
Returns the minimum size hint for the widget.
| QBoxLayout * OrientationEditor::offsetLayout | ( | ) |
Returns the layout containing the position/offset fields.
Referenced by DesignObjectOrientation::DesignObjectOrientation().
|
override |
Handles resize events by adjusting the layout mode if auto-layout is enabled.
| [in] | event | The resize event. |
| void OrientationEditor::setAutoHideDials | ( | bool | auto_hide_dials | ) |
Sets whether dials are automatically hidden when the widget is too small.
| [in] | auto_hide_dials | True to automatically hide dials based on available space. |
Decomposes a transformation matrix and populates the UI fields accordingly.
| [in] | matrix | The 4x4 transformation matrix to decompose. |
Referenced by DesignObjectOrientation::modelUpdatedSlot().
| void OrientationEditor::setOffsetLabels | ( | const TranslatedString & | x, |
| const TranslatedString & | y, | ||
| const TranslatedString & | z ) |
Sets the axis labels for the position/offset fields.
| [in] | x | The label for the X axis. |
| [in] | y | The label for the Y axis. |
| [in] | z | The label for the Z axis. |
| void OrientationEditor::setOffsetTitle | ( | const TranslatedString & | title | ) |
Sets the title label for the position/offset section.
| [in] | title | The translated title string. |
| void OrientationEditor::setRotationTitle | ( | const TranslatedString & | roll, |
| const TranslatedString & | pitch, | ||
| const TranslatedString & | yaw ) |
Sets the title labels for the rotation section axes.
| [in] | roll | The label for the roll axis. |
| [in] | pitch | The label for the pitch axis. |
| [in] | yaw | The label for the yaw axis. |
| void OrientationEditor::setScaleTitle | ( | const TranslatedString & | title | ) |
Sets the title label for the scale section.
| [in] | title | The translated title string. |
| void OrientationEditor::setSizeMode | ( | SizeMode | mode | ) |
Sets the layout size mode of the orientation editor.
| [in] | mode | The desired SizeMode. |
|
overridevirtual |
Returns the preferred size hint for the widget.