pyOMA.GUI.PlotMSHGUI.ModeShapeGUI#
- class pyOMA.GUI.PlotMSHGUI.ModeShapeGUI(mode_shape_plot, reduced_gui=False)[source]#
Bases:
QMainWindow,Ui_PlotMSHPyQt6 main window for interactive 3-D mode-shape animation.
Wraps a
ModeShapePlotobject in a full Qt main-window with controls for mode selection, animation speed, amplitude scaling, and display options (nodes, beams, axis arrows, parent-child connections).- Parameters:
msh_plot (ModeShapePlot) – Populated mode-shape plot object to display.
TODO:: (..) –
Button for Axes3d.set_axis_off/on
Use the logging module to replace print commands
- __init__(mode_shape_plot, reduced_gui=False)[source]#
- Parameters:
mode_shape_plot (ModeShapePlot) – Populated mode-shape plot object to display.
reduced_gui (bool, optional) – When
True, show a simplified control panel without advanced options. Default isFalse.
Methods
__init__(mode_shape_plot[, reduced_gui])acceptDrops(self)accessibleDescription(self)accessibleIdentifier(self)accessibleName(self)actionEvent(self, a0)actions(self)activateWindow(self)addAction(...)addActions(self, actions)addDockWidget()addToolBar()addToolBarBreak(self[, area])adjustSize(self)animate()create necessary objects to animate the currently displayed deformed structure
autoFillBackground(self)backgroundRole(self)baseSize(self)blockSignals(self, b)centralWidget(self)changeEvent(self, a0)change_animation_speed(speed)change_mode(mode)if user selects a new mode, extract the mode number from the passed string (contains frequency...) write modal values to the infobox and plot the mode shape
shift the view along specified axis by +-20 % (hardcoded) works in combination with the appropriate buttons as senders or by passing one of ['+X', '-X', '+Y', '-Y', '+Z', '-Z']
change_viewport([viewport])change the viewport for non-ISO viewports the projection methods of matplotlib will be monkeypatched, because otherwise it would not be an axonometric view (functions are defined at the top of document) works in combination with the appropriate buttons as senders or by passing one of ['X', 'Y', 'Z', 'ISO']
childAt(-> QWidget|None -> QWidget|None)childEvent(self, a0)children(self)childrenRect(self)childrenRegion(self)clearFocus(self)clearMask(self)close(self)closeEvent(self, a0)colorCount(self)connectNotify(self, signal)contentsMargins(self)contentsRect(self)contextMenuEvent(self, event)contextMenuPolicy(self)corner(self, corner)create(self[, window, initializeWindow, ...])createPopupMenu(self)createWindowContainer(window[, parent, flags])cursor(self)customEvent(self, a0)deleteLater(self)depth(self)destroy(self[, destroyWindow, destroySubWindows])devType(self)devicePixelRatio(self)devicePixelRatioF(self)devicePixelRatioFScale()disconnect(-> bool)disconnectNotify(self, signal)dockOptions(self)dockWidgetArea(self, dockwidget)documentMode(self)dragEnterEvent(self, a0)dragLeaveEvent(self, a0)dragMoveEvent(self, a0)dropEvent(self, a0)dumpObjectInfo(self)dumpObjectTree(self)dynamicPropertyNames(self)effectiveWinId(self)ensurePolished(self)enterEvent(self, event)event(self, event)eventFilter(self, a0, a1)create necessary objects to animate the currently displayed deformed structure
find(a0)findChild(-> QObjectT)findChildren(...)focusInEvent(self, a0)focusNextChild(self)focusNextPrevChild(self, next)focusOutEvent(self, a0)focusPolicy(self)focusPreviousChild(self)focusProxy(self)focusWidget(self)font(self)fontInfo(self)fontMetrics(self)foregroundRole(self)frameGeometry(self)frameSize(self)geometry(self)grab(self[, rectangle])grabGesture(self, type[, flags])grabKeyboard(self)grabMouse()grabShortcut(self, key[, context])graphicsEffect(self)graphicsProxyWidget(self)hasFocus(self)hasHeightForWidth(self)hasMouseTracking(self)hasTabletTracking(self)height(self)heightForWidth(self, a0)heightMM(self)hide(self)hideEvent(self, a0)iconSize(self)inherits(self, classname)initPainter(self, painter)inputMethodEvent(self, a0)inputMethodHints(self)inputMethodQuery(self, a0)insertAction(self, before, action)insertActions(self, before, actions)insertToolBar(self, before, toolbar)insertToolBarBreak(self, before)installEventFilter(self, a0)isActiveWindow(self)isAncestorOf(self, child)isAnimated(self)isDockNestingEnabled(self)isEnabled(self)isEnabledTo(self, a0)isFullScreen(self)isHidden(self)isLeftToRight(self)isMaximized(self)isMinimized(self)isModal(self)isQmlExposed(self)isQuickItemType(self)isRightToLeft(self)isSeparator(self, pos)isSignalConnected(self, signal)isVisible(self)isVisibleTo(self, a0)isWidgetType(self)isWindow(self)isWindowModified(self)isWindowType(self)keyPressEvent(self, a0)keyReleaseEvent(self, a0)keyboardGrabber()killTimer(self, id)layout(self)layoutDirection(self)leaveEvent(self, a0)locale(self)logicalDpiX(self)logicalDpiY(self)lower(self)mapFrom(-> QPoint)mapFromGlobal(-> QPoint)mapFromParent(-> QPoint)mapTo(-> QPoint)mapToGlobal(-> QPoint)mapToParent(-> QPoint)mask(self)maximumHeight(self)maximumSize(self)maximumWidth(self)menuBar(self)menuWidget(self)metaObject(self)metric(self, a0)minimumHeight(self)minimumSize(self)minimumSizeHint(self)minimumWidth(self)mouseDoubleClickEvent(self, a0)mouseGrabber()mouseMoveEvent(self, a0)mousePressEvent(self, a0)mouseReleaseEvent(self, a0)move()moveEvent(self, a0)moveToThread(self, thread)nativeEvent(self, eventType, message)nativeParentWidget(self)nextInFocusChain(self)normalGeometry(self)objectName(self)overrideWindowFlags(self, type)overrideWindowState(self, state)paintEngine(self)paintEvent(self, a0)paintingActive(self)palette(self)parent(self)parentWidget(self)physicalDpiX(self)physicalDpiY(self)plot_this(index)pos(self)prepare_filter()previousInFocusChain(self)property(self, name)pyqtConfigure(...)Each keyword argument is either the name of a Qt property or a Qt signal.
raise_(self)receivers(self, signal)rect(self)releaseKeyboard(self)releaseMouse(self)releaseShortcut(self, id)removeAction(self, action)removeDockWidget(self, dockwidget)removeEventFilter(self, a0)removeToolBar(self, toolbar)removeToolBarBreak(self, before)render(, sourceRegion, flags, sourceRegion, ...)repaint()reset_view()resize()resizeDocks(self, docks, sizes, orientation)resizeEvent(self, a0)restoreDockWidget(self, dockwidget)restoreGeometry(self, geometry)restoreState(self, state[, version])retranslateUi(PlotMSH)saveGeometry(self)saveState(self[, version])save_plot([path])save the curently displayed frame as a *.png graphics file
screen(self)scroll()sender(self)senderSignalIndex(self)setAcceptDrops(self, on)setAccessibleDescription(self, description)setAccessibleIdentifier(self, identifier)setAccessibleName(self, name)setAnimated(self, enabled)setAttribute(self, attribute[, on])setAutoFillBackground(self, enabled)setBackgroundRole(self, a0)setBaseSize()setCentralWidget(self, widget)setContentsMargins()setContextMenuPolicy(self, policy)setCorner(self, corner, area)setCursor(self, a0)setDisabled(self, a0)setDockNestingEnabled(self, enabled)setDockOptions(self, options)setDocumentMode(self, enabled)setEnabled(self, a0)setFixedHeight(self, h)setFixedSize()setFixedWidth(self, w)setFocus()setFocusPolicy(self, policy)setFocusProxy(self, a0)setFont(self, a0)setForegroundRole(self, a0)setGeometry()setGraphicsEffect(self, effect)setHidden(self, hidden)setIconSize(self, iconSize)setInputMethodHints(self, hints)setLayout(self, a0)setLayoutDirection(self, direction)setLocale(self, locale)setMask()setMaximumHeight(self, maxh)setMaximumSize()setMaximumWidth(self, maxw)setMenuBar(self, menubar)setMenuWidget(self, menubar)setMinimumHeight(self, minh)setMinimumSize()setMinimumWidth(self, minw)setMouseTracking(self, enable)setObjectName(self, name)setPalette(self, a0)setParent()setProperty(self, name, value)setScreen(self, a0)setShortcutAutoRepeat(self, id[, enabled])setShortcutEnabled(self, id[, enabled])setSizeIncrement()setSizePolicy()setStatusBar(self, statusbar)setStatusTip(self, a0)setStyle(self, a0)setStyleSheet(self, styleSheet)setTabOrder(a0, a1)setTabPosition(self, areas, tabPosition)setTabShape(self, tabShape)setTabletTracking(self, enable)setToolButtonStyle(self, toolButtonStyle)setToolTip(self, a0)setToolTipDuration(self, msec)setUnifiedTitleAndToolBarOnMac(self, set)setUpdatesEnabled(self, enable)setVisible(self, visible)setWhatsThis(self, a0)setWindowFilePath(self, filePath)setWindowFlag(self, a0[, on])setWindowFlags(self, type)setWindowIcon(self, icon)setWindowIconText(self, a0)setWindowModality(self, windowModality)setWindowModified(self, a0)setWindowOpacity(self, level)setWindowRole(self, a0)setWindowState(self, state)setWindowTitle(self, a0)set_ani_time(pos)setupUi(PlotMSH)sharedPainter(self)show(self)showEvent(self, a0)showFullScreen(self)showMaximized(self)showMinimized(self)showNormal(self)signalsBlocked(self)size(self)sizeHint(self)sizeIncrement(self)sizePolicy(self)splitDockWidget(self, after, dockwidget, ...)stackUnder(self, a0)startTimer(self, interval[, timerType])statusBar(self)statusTip(self)stop_ani()convenience method to stop the animation and restore the still plot
style(self)styleSheet(self)tabPosition(self, area)tabShape(self)tabifiedDockWidgets(self, dockwidget)tabifyDockWidget(self, first, second)tabletEvent(self, a0)takeCentralWidget(self)testAttribute(self, attribute)thread(self)timerEvent(self, a0)toggle_draw(i)helper function to receive the signal from the draw_button_group i is the number of the button that had it's state changed.
toolBarArea(self, toolbar)toolBarBreak(self, toolbar)toolButtonStyle(self)toolTip(self)toolTipDuration(self)tr(sourceText[, disambiguation, n])underMouse(self)ungrabGesture(self, type)unifiedTitleAndToolBarOnMac(self)unsetCursor(self)unsetLayoutDirection(self)unsetLocale(self)update()updateGeometry(self)updateMicroFocus(self[, query])update_lims(event)updatesEnabled(self)visibleRegion(self)whatsThis(self)wheelEvent(self, a0)width(self)widthMM(self)winId(self)window(self)windowFilePath(self)windowFlags(self)windowHandle(self)windowIcon(self)windowIconText(self)windowModality(self)windowOpacity(self)windowRole(self)windowState(self)windowTitle(self)windowType(self)x(self)y(self)Attributes
beams_requestedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
chan_dofs_requestedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
childs_requestedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
customContextMenuRequestedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
destroyedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
grid_requestedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
iconSizeChangedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
objectNameChangedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
staticMetaObjecttabifiedDockWidgetActivatedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
toolButtonStyleChangedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
windowIconChangedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
windowIconTextChangedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
windowTitleChangedint = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
- change_mode(mode)[source]#
if user selects a new mode, extract the mode number from the passed string (contains frequency…) write modal values to the infobox and plot the mode shape
- change_view()[source]#
shift the view along specified axis by +-20 % (hardcoded) works in combination with the appropriate buttons as senders or by passing one of [‘+X’, ‘-X’, ‘+Y’, ‘-Y’, ‘+Z’, ‘-Z’]
- change_viewport(viewport=None)[source]#
change the viewport for non-ISO viewports the projection methods of matplotlib will be monkeypatched, because otherwise it would not be an axonometric view (functions are defined at the top of document) works in combination with the appropriate buttons as senders or by passing one of [‘X’, ‘Y’, ‘Z’, ‘ISO’]
- filter_and_animate_data()[source]#
create necessary objects to animate the currently displayed deformed structure
- toggle_draw(i)[source]#
helper function to receive the signal from the draw_button_group i is the number of the button that had it’s state changed. Show parent-childs Assignm. (0) and Show Channel-DOF Assignm. (1) are mutually exclusive with each other; Show Lines is independent of this group and is wired directly to refresh_lines instead.