Skip to content

Commit

Permalink
Revert "1.19 fixes" as the needed changes to OMC were not ported. (#9148
Browse files Browse the repository at this point in the history
)

* Revert "[OMEdit] Implement visualization of Vector"

This reverts commit 83f7285.

* Revert "[OMEdit] Renaming in preparation for Vector"

This reverts commit 68fb9c9.

* Revert "[OMEdit] Refactoring in preparation for Vector"

This reverts commit 4463fca.
  • Loading branch information
adrpo committed Jun 27, 2022
1 parent a1c9e8b commit 57bdf02
Show file tree
Hide file tree
Showing 38 changed files with 2,285 additions and 3,057 deletions.
96 changes: 48 additions & 48 deletions OMEdit/OMEditLIB/Animation/AbstractAnimationWindow.cpp
Expand Up @@ -41,9 +41,9 @@
#include "Modeling/MessagesWidget.h"
#include "Plotting/PlotWindowContainer.h"
#include "ViewerWidget.h"
#include "Visualization.h"
#include "VisualizationMAT.h"
#include "VisualizationCSV.h"
#include "Visualizer.h"
#include "VisualizerMAT.h"
#include "VisualizerCSV.h"

/*!
* \class AbstractAnimationWindow
Expand All @@ -58,7 +58,7 @@ AbstractAnimationWindow::AbstractAnimationWindow(QWidget *pParent)
// osgViewer::CompositeViewer(),
mPathName(""),
mFileName(""),
mpVisualization(nullptr),
mpVisualizer(nullptr),
mpViewerWidget(nullptr),
mpAnimationToolBar(new QToolBar(QString("Animation Toolbar"),this)),
mpAnimationParameterDockerWidget(new QDockWidget(QString("Parameter Settings"),this)),
Expand Down Expand Up @@ -125,7 +125,7 @@ void AbstractAnimationWindow::openAnimationFile(QString fileName, bool stashCame
mpAnimationSlider->blockSignals(state);
mpSpeedComboBox->setEnabled(true);
mpTimeTextBox->setEnabled(true);
mpTimeTextBox->setText(QString::number(mpVisualization->getTimeManager()->getStartTime()));
mpTimeTextBox->setText(QString::number(mpVisualizer->getTimeManager()->getStartTime()));
/* Only use isometric view as default for csv file type.
* Otherwise use side view as default which suits better for Modelica models.
*/
Expand Down Expand Up @@ -236,8 +236,8 @@ void AbstractAnimationWindow::createActions()
*/
void AbstractAnimationWindow::updateControlPanelValues()
{
if (getVisualization()) {
VisualizationFMU* FMUvis = dynamic_cast<VisualizationFMU*>(mpVisualization);
if (getVisualizer()) {
VisualizerFMU* FMUvis = dynamic_cast<VisualizerFMU*>(mpVisualizer);
for (int stateIdx = 0; stateIdx < mSpinBoxVector.size(); stateIdx++) {
mStateLabels.at(stateIdx)->setText(QString::number(FMUvis->getFMU()->getFMUData()->_states[stateIdx]));
}
Expand All @@ -249,8 +249,8 @@ void AbstractAnimationWindow::updateControlPanelValues()
*/
void AbstractAnimationWindow::initInteractiveControlPanel()
{
if (getVisualization()) {
VisualizationFMU* FMUvis = dynamic_cast<VisualizationFMU*>(mpVisualization);
if (getVisualizer()) {
VisualizerFMU* FMUvis = dynamic_cast<VisualizerFMU*>(mpVisualizer);
QWidget *widget = new QWidget(this);
mSpinBoxVector.clear();
mStateLabels.clear();
Expand Down Expand Up @@ -333,7 +333,7 @@ void AbstractAnimationWindow::initInteractiveControlPanel()
void AbstractAnimationWindow::setStateSolveSystem(double val, int idx)
{
if (idx>=0) {
VisualizationFMU* FMUvis = dynamic_cast<VisualizationFMU*>(mpVisualization);
VisualizerFMU* FMUvis = dynamic_cast<VisualizerFMU*>(mpVisualizer);
if (FMUvis) {
FMUvis->getFMU()->getFMUData()->_states[idx] = val;
}
Expand Down Expand Up @@ -388,39 +388,39 @@ bool AbstractAnimationWindow::loadVisualization()
Helper::scriptingKind, Helper::errorLevel));
return false;
}
//load the XML File, build osgTree, get initial values for the visualizers
//load the XML File, build osgTree, get initial values for the shapes
bool xmlExists = checkForXMLFile(mFileName, mPathName);
if (!xmlExists) {
QString msg = tr("Could not find the visual XML file %1.").arg(QString(assembleXMLFileName(mFileName, mPathName).c_str()));
MessagesWidget::instance()->addGUIMessage(MessageItem(MessageItem::Modelica, msg, Helper::scriptingKind,
Helper::errorLevel));
return false;
} else {
//init visualization
//init visualizer
if (visType == VisType::MAT) {
mpVisualization = new VisualizationMAT(mFileName, mPathName);
mpVisualizer = new VisualizerMAT(mFileName, mPathName);
} else if (visType == VisType::CSV) {
mpVisualization = new VisualizationCSV(mFileName, mPathName);
mpVisualizer = new VisualizerCSV(mFileName, mPathName);
} else if (visType == VisType::FMU) {
mpVisualization = new VisualizationFMU(mFileName, mPathName);
mpVisualizer = new VisualizerFMU(mFileName, mPathName);
} else {
QString msg = tr("Could not init %1 %2.").arg(QString(mPathName.c_str())).arg(QString(mFileName.c_str()));
MessagesWidget::instance()->addGUIMessage(MessageItem(MessageItem::Modelica, msg, Helper::scriptingKind,
Helper::errorLevel));
return false;
}
connect(mpVisualization->getTimeManager()->getUpdateSceneTimer(), SIGNAL(timeout()), SLOT(updateScene()));
mpVisualization->initData();
mpVisualization->setUpScene();
mpVisualization->initVisualization();
connect(mpVisualizer->getTimeManager()->getUpdateSceneTimer(), SIGNAL(timeout()), SLOT(updateScene()));
mpVisualizer->initData();
mpVisualizer->setUpScene();
mpVisualizer->initVisualization();
//add scene for the chosen visualization
mpViewerWidget->getSceneView()->setSceneData(mpVisualization->getOMVisScene()->getScene().getRootNode());
mpViewerWidget->getSceneView()->setSceneData(mpVisualizer->getOMVisScene()->getScene().getRootNode());
}
//add window title
setWindowTitle(QString::fromStdString(mFileName));
//open settings dialog for FMU simulation
if (visType == VisType::FMU) {
openFMUSettingsDialog(dynamic_cast<VisualizationFMU*>(mpVisualization));
openFMUSettingsDialog(dynamic_cast<VisualizerFMU*>(mpVisualizer));
mpInteractiveControlAction->setEnabled(true);
initInteractiveControlPanel();
}
Expand Down Expand Up @@ -528,11 +528,11 @@ double AbstractAnimationWindow::computeDistanceToOrigin()
/*!
* \brief AbstractAnimationWindow::openFMUSettingsDialog
* Opens a dialog to set the settings for the FMU visualization
* \param pVisualizationFMU
* \param pVisualizerFMU
*/
void AbstractAnimationWindow::openFMUSettingsDialog(VisualizationFMU* pVisualizationFMU)
void AbstractAnimationWindow::openFMUSettingsDialog(VisualizerFMU* pVisualizerFMU)
{
FMUSettingsDialog *pFMUSettingsDialog = new FMUSettingsDialog(this, pVisualizationFMU);
FMUSettingsDialog *pFMUSettingsDialog = new FMUSettingsDialog(this, pVisualizerFMU);
pFMUSettingsDialog->exec();
}

Expand All @@ -542,21 +542,21 @@ void AbstractAnimationWindow::openFMUSettingsDialog(VisualizationFMU* pVisualiza
*/
void AbstractAnimationWindow::updateScene()
{
if (mpVisualization) {
if (!(mpVisualizer == NULL)) {
//set time label
if (!mpVisualization->getTimeManager()->isPaused()) {
mpTimeTextBox->setText(QString::number(mpVisualization->getTimeManager()->getVisTime()));
if (!mpVisualizer->getTimeManager()->isPaused()) {
mpTimeTextBox->setText(QString::number(mpVisualizer->getTimeManager()->getVisTime()));
// set time slider
if (mpVisualization->getVisType() != VisType::FMU) {
int time = mpVisualization->getTimeManager()->getTimeFraction();
if (mpVisualizer->getVisType() != VisType::FMU) {
int time = mpVisualizer->getTimeManager()->getTimeFraction();
bool state = mpAnimationSlider->blockSignals(true);
mpAnimationSlider->setValue(time);
mpAnimationSlider->blockSignals(state);
}
}

//update the scene
mpVisualization->sceneUpdate();
mpVisualizer->sceneUpdate();
mpViewerWidget->update();

updateControlPanelValues();
Expand All @@ -569,8 +569,8 @@ void AbstractAnimationWindow::updateScene()
*/
void AbstractAnimationWindow::chooseAnimationFileSlotFunction()
{
QString fileName = StringHandler::getOpenFileName(this, QString("%1 %2").arg(Helper::applicationName).arg(Helper::chooseFile),
nullptr, Helper::visualizationFileTypes, nullptr);
QString fileName = StringHandler::getOpenFileName(this, QString("%1 - %2").arg(Helper::applicationName).arg(Helper::chooseFile),
NULL, Helper::visualizationFileTypes, NULL);
if (fileName.isEmpty()) {
return;
}
Expand All @@ -583,11 +583,11 @@ void AbstractAnimationWindow::chooseAnimationFileSlotFunction()
*/
void AbstractAnimationWindow::initSlotFunction()
{
mpVisualization->initVisualization();
mpVisualizer->initVisualization();
bool state = mpAnimationSlider->blockSignals(true);
mpAnimationSlider->setValue(0);
mpAnimationSlider->blockSignals(state);
mpTimeTextBox->setText(QString::number(mpVisualization->getTimeManager()->getVisTime()));
mpTimeTextBox->setText(QString::number(mpVisualizer->getTimeManager()->getVisTime()));
mpViewerWidget->update();
updateControlPanelValues();
}
Expand All @@ -598,7 +598,7 @@ void AbstractAnimationWindow::initSlotFunction()
*/
void AbstractAnimationWindow::playSlotFunction()
{
mpVisualization->getTimeManager()->setPause(false);
mpVisualizer->getTimeManager()->setPause(false);
}

/*!
Expand All @@ -607,7 +607,7 @@ void AbstractAnimationWindow::playSlotFunction()
*/
void AbstractAnimationWindow::pauseSlotFunction()
{
mpVisualization->getTimeManager()->setPause(true);
mpVisualizer->getTimeManager()->setPause(true);
}

/*!
Expand All @@ -617,7 +617,7 @@ void AbstractAnimationWindow::pauseSlotFunction()
*/
void AbstractAnimationWindow::repeatSlotFunciton(bool checked)
{
mpVisualization->getTimeManager()->setRepeat(checked);
mpVisualizer->getTimeManager()->setRepeat(checked);
}

/*!
Expand All @@ -626,12 +626,12 @@ void AbstractAnimationWindow::repeatSlotFunciton(bool checked)
*/
void AbstractAnimationWindow::sliderSetTimeSlotFunction(int value)
{
float time = (mpVisualization->getTimeManager()->getEndTime()
- mpVisualization->getTimeManager()->getStartTime())
float time = (mpVisualizer->getTimeManager()->getEndTime()
- mpVisualizer->getTimeManager()->getStartTime())
* (float) (value / (float)mSliderRange);
mpVisualization->getTimeManager()->setVisTime(time);
mpTimeTextBox->setText(QString::number(mpVisualization->getTimeManager()->getVisTime()));
mpVisualization->updateScene(time);
mpVisualizer->getTimeManager()->setVisTime(time);
mpTimeTextBox->setText(QString::number(mpVisualizer->getTimeManager()->getVisTime()));
mpVisualizer->updateScene(time);
mpViewerWidget->update();
}

Expand All @@ -643,20 +643,20 @@ void AbstractAnimationWindow::jumpToTimeSlotFunction()
{
QString str = mpTimeTextBox->text();
bool isFloat = true;
double start = mpVisualization->getTimeManager()->getStartTime();
double end = mpVisualization->getTimeManager()->getEndTime();
double start = mpVisualizer->getTimeManager()->getStartTime();
double end = mpVisualizer->getTimeManager()->getEndTime();
double value = str.toFloat(&isFloat);
if (isFloat && value >= 0.0) {
if (value < start) {
value = start;
} else if (value > end) {
value = end;
}
mpVisualization->getTimeManager()->setVisTime(value);
mpVisualizer->getTimeManager()->setVisTime(value);
bool state = mpAnimationSlider->blockSignals(true);
mpAnimationSlider->setValue(mpVisualization->getTimeManager()->getTimeFraction());
mpAnimationSlider->setValue(mpVisualizer->getTimeManager()->getTimeFraction());
mpAnimationSlider->blockSignals(state);
mpVisualization->updateScene(value);
mpVisualizer->updateScene(value);
mpViewerWidget->update();
}
}
Expand All @@ -671,7 +671,7 @@ void AbstractAnimationWindow::setSpeedSlotFunction()
bool isFloat = true;
double value = str.toFloat(&isFloat);
if (isFloat && value > 0.0) {
mpVisualization->getTimeManager()->setSpeedUp(value);
mpVisualizer->getTimeManager()->setSpeedUp(value);
mpViewerWidget->update();
}
}
Expand Down
10 changes: 5 additions & 5 deletions OMEdit/OMEditLIB/Animation/AbstractAnimationWindow.h
Expand Up @@ -45,7 +45,7 @@

#include "FMUSettingsDialog.h"

class VisualizationAbstract;
class VisualizerAbstract;
class ViewerWidget;
class Label;

Expand All @@ -70,7 +70,7 @@ class AbstractAnimationWindow : public QMainWindow
public:
AbstractAnimationWindow(QWidget *pParent);
ViewerWidget* getViewerWidget() {return mpViewerWidget;}
VisualizationAbstract* getVisualization() {return mpVisualization;}
VisualizerAbstract* getVisualizer() {return mpVisualizer;}
void openAnimationFile(QString fileName, bool stashCamera=false);
virtual void createActions();
void clearView();
Expand All @@ -82,8 +82,8 @@ class AbstractAnimationWindow : public QMainWindow
//to be animated
std::string mPathName;
std::string mFileName;
//stores the data for the visualizers, time management, functionality for updating the values(mat/fmu) etc.
VisualizationAbstract* mpVisualization;
//stores the data for the shapes, time management, functionality for updating the values(mat/fmu) etc.
VisualizerAbstract* mpVisualizer;
//widgets
ViewerWidget *mpViewerWidget;
QToolBar* mpAnimationToolBar;
Expand Down Expand Up @@ -114,7 +114,7 @@ class AbstractAnimationWindow : public QMainWindow
void cameraPositionFront();
void cameraPositionTop();
double computeDistanceToOrigin();
void openFMUSettingsDialog(VisualizationFMU *pVisualizationFMU);
void openFMUSettingsDialog(VisualizerFMU *pVisualizerFMU);
void updateControlPanelValues();

public slots:
Expand Down

0 comments on commit 57bdf02

Please sign in to comment.