Wed, 08 Feb 2017 16:25:06 +0200
Switched from euler angle rotation to matrix rotation. Gimbal lock is now broken.
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>NewPart</class> <widget class="QDialog" name="NewPart"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>491</width> <height>254</height> </rect> </property> <property name="windowTitle"> <string>New Part</string> </property> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QLabel" name="label_3"> <property name="text"> <string/> </property> <property name="pixmap"> <pixmap resource="../../ldforge.qrc">:/icons/brick.png</pixmap> </property> </widget> </item> <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>40</height> </size> </property> </spacer> </item> </layout> </item> <item> <layout class="QGridLayout" name="gridLayout"> <item row="1" column="1"> <widget class="QLineEdit" name="author"> <property name="placeholderText"> <string/> </property> </widget> </item> <item row="0" column="1"> <widget class="QLineEdit" name="title"> <property name="placeholderText"> <string/> </property> </widget> </item> <item row="1" column="0"> <widget class="QLabel" name="label_2"> <property name="text"> <string>Author:</string> </property> </widget> </item> <item row="0" column="0"> <widget class="QLabel" name="label"> <property name="text"> <string>Title:</string> </property> </widget> </item> </layout> </item> </layout> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QGroupBox" name="groupBox"> <property name="title"> <string>BFC winding</string> </property> <layout class="QVBoxLayout" name="verticalLayout_4"> <item> <widget class="QRadioButton" name="windingCcw"> <property name="text"> <string>CCW</string> </property> <property name="checked"> <bool>true</bool> </property> </widget> </item> <item> <widget class="QRadioButton" name="windingCw"> <property name="text"> <string>CW</string> </property> </widget> </item> <item> <widget class="QRadioButton" name="windingNone"> <property name="text"> <string>None</string> </property> </widget> </item> </layout> </widget> </item> <item> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QCheckBox" name="useCaLicense"> <property name="text"> <string>Use CA license</string> </property> </widget> </item> <item> <spacer name="verticalSpacer_2"> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>40</height> </size> </property> </spacer> </item> </layout> </item> </layout> </item> <item> <widget class="QDialogButtonBox" name="buttonBox"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> </layout> </widget> <tabstops> <tabstop>title</tabstop> <tabstop>author</tabstop> <tabstop>windingCcw</tabstop> <tabstop>windingCw</tabstop> <tabstop>windingNone</tabstop> <tabstop>useCaLicense</tabstop> </tabstops> <resources> <include location="../../ldforge.qrc"/> </resources> <connections> <connection> <sender>buttonBox</sender> <signal>accepted()</signal> <receiver>NewPart</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> <x>248</x> <y>254</y> </hint> <hint type="destinationlabel"> <x>157</x> <y>274</y> </hint> </hints> </connection> <connection> <sender>buttonBox</sender> <signal>rejected()</signal> <receiver>NewPart</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> <x>316</x> <y>260</y> </hint> <hint type="destinationlabel"> <x>286</x> <y>274</y> </hint> </hints> </connection> </connections> </ui>