From 3fb1bc2a3a090007c48af1990d88c235d7074bd3 Mon Sep 17 00:00:00 2001 From: Tuareg Date: Mon, 17 Aug 2020 18:34:07 +1200 Subject: [PATCH] solve trilinear and megamesh bug now read the coordinates field name automatically --- .../cellmlzincmappingvieweditingwidget.cpp | 2 +- .../src/cellmlzincmappingviewzincwidget.cpp | 37 ++++++++++++++----- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/plugins/editing/CellMLZincMappingView/src/cellmlzincmappingvieweditingwidget.cpp b/src/plugins/editing/CellMLZincMappingView/src/cellmlzincmappingvieweditingwidget.cpp index 1897d64a5e..0ce23c5e3a 100644 --- a/src/plugins/editing/CellMLZincMappingView/src/cellmlzincmappingvieweditingwidget.cpp +++ b/src/plugins/editing/CellMLZincMappingView/src/cellmlzincmappingvieweditingwidget.cpp @@ -124,7 +124,7 @@ CellMLZincMappingViewEditingWidget::CellMLZincMappingViewEditingWidget(const QSt mDelayWidget->setFixedSize(int(0.07*availableGeometry.width()), mDelayWidget->height()/2); mDelayWidget->setFocusPolicy(Qt::NoFocus); - mDelayWidget->setRange(0.0, 100.0); + mDelayWidget->setRange(-30.0, 100.0); mDelayWidget->setWheelBorderWidth(0); mDelayWidget->setValue(CellMLZincMappingViewZincWidget::nodeSizeOrigin); diff --git a/src/plugins/editing/CellMLZincMappingView/src/cellmlzincmappingviewzincwidget.cpp b/src/plugins/editing/CellMLZincMappingView/src/cellmlzincmappingviewzincwidget.cpp index b718d41c8f..29d8c9bac9 100644 --- a/src/plugins/editing/CellMLZincMappingView/src/cellmlzincmappingviewzincwidget.cpp +++ b/src/plugins/editing/CellMLZincMappingView/src/cellmlzincmappingviewzincwidget.cpp @@ -33,6 +33,7 @@ along with this program. If not, see . #include #include #include +#include #include #include @@ -61,8 +62,7 @@ CellMLZincMappingViewZincWidget::CellMLZincMappingViewZincWidget(QWidget *pParen ZincWidget::ZincWidget(pParent), mMainFileName(pMainFileName), mEditingWidget(pEditingWidget), - mNodeSize(pow(nodeSixeExp,nodeSizeOrigin))//, - //mMappedNodeSize() + mNodeSize(pow(nodeSixeExp,nodeSizeOrigin)) { // Allow for things to be dropped on us @@ -77,6 +77,8 @@ CellMLZincMappingViewZincWidget::CellMLZincMappingViewZincWidget(QWidget *pParen initAuxFile(); setupRegion(); + + draw(); } //============================================================================== @@ -101,6 +103,7 @@ void CellMLZincMappingViewZincWidget::changeSource(const QString &pMainFileName) //mSceneViewer.setScene(region.getScene()); //draw(); initializeGL(); + draw(); } //============================================================================== @@ -109,7 +112,7 @@ void CellMLZincMappingViewZincWidget::initializeGL() { ZincWidget::initializeGL(); //TODO usefull ? - //mSceneViewer.readDescription(mZincSceneViewerDescription); + mSceneViewer.readDescription(mZincSceneViewerDescription); // background colour @@ -117,10 +120,8 @@ void CellMLZincMappingViewZincWidget::initializeGL() mSceneViewer.setBackgroundColourRGBA(backgroundColor.data()); - OpenCMISS::Zinc::Region region = mZincContext->getDefaultRegion(); - mSceneViewer.setScene(region.getScene()); - - draw(); + //OpenCMISS::Zinc::Region region = mZincContext->getDefaultRegion(); + //mSceneViewer.setScene(region.getScene()); } //============================================================================== @@ -273,18 +274,34 @@ void CellMLZincMappingViewZincWidget::draw() OpenCMISS::Zinc::Region region = mZincContext->getDefaultRegion(); //read files - region.readFile(qPrintable(mMainFileName)); + region.readFile(mMainFileName.toUtf8().constData()); if (mAuxFileName!="") { - region.readFile(qPrintable(mAuxFileName)); + region.readFile(mAuxFileName.toUtf8().constData()); } OpenCMISS::Zinc::Fieldmodule fieldModule = region.getFieldmodule(); OpenCMISS::Zinc::Scene scene = region.getScene(); + QString nameCooredinates = "Coordinates"; + + QFile file(mMainFileName); + + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { + QTextStream in(&file); + while (!in.atEnd()) { + QString line = in.readLine(); + if (line.startsWith(" 1) ")) { + line = line.split(",").first(); + line.remove(0,4); + nameCooredinates= line; + break; + } + } + } fieldModule.beginChange(); - OpenCMISS::Zinc::Field coordinates = fieldModule.findFieldByName("Coordinates"); + OpenCMISS::Zinc::Field coordinates = fieldModule.findFieldByName(qPrintable(nameCooredinates)); mMappedSelectionGroup = fieldModule.createFieldGroup(); mMappedSelectionGroup.setName("Mapped");