From 5183450b278d9bb8563b880d57470ef50d9dcefa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= Date: Fri, 29 Apr 2016 13:55:45 +0200 Subject: [PATCH 01/54] Rebuild for qhull-2015.2-1. - Reflect qhull_a.h's location having changed. --- 3Depict.spec | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 7427521..bbf272b 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.18 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -55,6 +55,16 @@ useful for general scalar valued point data purposes. %patch1 %patch2 -p1 -b .gcc6 +%if 0%{?fedora} > 24 +# Installation directory has changed +sed -i -e 's,qhull/qhull_a.h,libqhull/qhull_a.h,' \ + src/backend/filters/filterCommon.h \ + src/backend/filters/algorithms/rdf.cpp \ + configure configure.ac +# Avoid rerunning the autotools +touch -r aclocal.m4 configure configure.ac +%endif + %build #Due to bug 1077718, wx-config cannot be specified, due to # wx2/wx3 conflict. @@ -111,6 +121,10 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Fri Apr 29 2016 Ralf Corsépius - 0.0.18-7 +- Rebuild for qhull-2015.2-1. +- Reflect qhull_a.h's location having changed. + * Tue Mar 8 2016 Orion Poplawski - 0.0.18-6 - Add patch for fix compilation with gcc 6 From ea5a105d62bc4f5c61b16014da57344dd7c31990 Mon Sep 17 00:00:00 2001 From: mycae Date: Wed, 3 Aug 2016 20:03:40 -0400 Subject: [PATCH 02/54] * Update to 0.0.19 --- 3Depict-0.0.18-upstream.patch | 171 ------------------ ...th.patch => 3Depict-0.0.19-font-path.patch | 0 ...tch => 3Depict-0.0.19-manual-pdf-loc.patch | 0 3Depict.spec | 9 +- 4 files changed, 7 insertions(+), 173 deletions(-) delete mode 100644 3Depict-0.0.18-upstream.patch rename 3Depict-0.0.18-font-path.patch => 3Depict-0.0.19-font-path.patch (100%) rename 3Depict-0.0.18-manual-pdf-loc.patch => 3Depict-0.0.19-manual-pdf-loc.patch (100%) diff --git a/3Depict-0.0.18-upstream.patch b/3Depict-0.0.18-upstream.patch deleted file mode 100644 index f52f426..0000000 --- a/3Depict-0.0.18-upstream.patch +++ /dev/null @@ -1,171 +0,0 @@ -diff -r 7510fdcc8b8a -r 185ccbce5421 src/3Depict.cpp ---- src/3Depict.cpp Mon Aug 25 14:41:48 2014 +0100 -+++ src/3Depict.cpp Mon Aug 25 14:42:29 2014 +0100 -@@ -39,6 +39,12 @@ - - class threeDepictApp: public wxApp { - private: -+#ifndef DEBUG -+ //instance of this class suppresses internal wx error dialogs. -+ // these are a nuisance in release code, as recovered errors often annoy the user -+ wxLogNull nullifyLogs; -+#endif -+ - MainWindowFrame* MainFrame ; - wxArrayString commandLineFiles; - wxLocale* usrLocale; -@@ -62,9 +68,6 @@ - void MacReopenFile(const wxString & fileName); - #endif - --#ifdef DEBUG -- void setEventloggerFile(const char *file); --#endif - }; - - //Check version is in place because wxT is deprecated for wx 2.9 -diff -r 185ccbce5421 -r c8ff86119e58 src/backend/filters/clusterAnalysis.cpp ---- src/backend/filters/clusterAnalysis.cpp Mon Aug 25 14:42:29 2014 +0100 -+++ src/backend/filters/clusterAnalysis.cpp Mon Aug 25 14:43:10 2014 +0100 -@@ -264,7 +264,7 @@ - - ClusterAnalysisFilter::ClusterAnalysisFilter() : algorithm(CLUSTER_LINK_ERODE), - enableCoreClassify(false), coreDist(0.0f), coreKNN(1), linkDist(0.5f), -- enableBulkLink(false), bulkLink(1), enableErosion(false), dErosion(0.25), -+ enableBulkLink(false), bulkLink(0.25), enableErosion(false), dErosion(0.25), - wantClusterID(false), wantCropSize(false), nMin(0),nMax(std::numeric_limits::max()), - wantClusterSizeDist(false),logClusterSize(false), - wantClusterComposition(true),normaliseComposition(true), -diff -r c8ff86119e58 -r 55ec5e056846 src/gui/mainFrame.cpp ---- src/gui/mainFrame.cpp Mon Aug 25 14:43:10 2014 +0100 -+++ src/gui/mainFrame.cpp Mon Aug 25 14:51:53 2014 +0100 -@@ -464,7 +464,7 @@ - fileExport->Append(ID_FILE_EXPORT_IMAGE, TRANS("&Image...\tCtrl+I"), TRANS("Export Current 3D View"), wxITEM_NORMAL); - fileExport->Append(ID_FILE_EXPORT_IONS, TRANS("Ion&s...\tCtrl+N"), TRANS("Export Ion Data"), wxITEM_NORMAL); - fileExport->Append(ID_FILE_EXPORT_RANGE, TRANS("Ran&ges...\tCtrl+G"), TRANS("Export Range Data"), wxITEM_NORMAL); -- fileExport->Append(ID_FILE_EXPORT_FILTER_ANIMATION, TRANS("&Animate Filters...\tCtrl+A"), TRANS("Export Animated Filter"), wxITEM_NORMAL); -+ fileExport->Append(ID_FILE_EXPORT_FILTER_ANIMATION, TRANS("&Animate Filters...\tCtrl+T"), TRANS("Export Animated Filter"), wxITEM_NORMAL); - fileExport->Append(ID_FILE_EXPORT_ANIMATION, TRANS("Ani&mate Camera...\tCtrl+M"), TRANS("Export Animated Camera"), wxITEM_NORMAL); - fileExport->Append(ID_FILE_EXPORT_PACKAGE, TRANS("Pac&kage...\tCtrl+K"), TRANS("Export analysis package"), wxITEM_NORMAL); - -diff -r 9d545342c3ad -r 3c853d1f5af7 src/backend/filters/externalProgram.cpp ---- src/backend/filters/externalProgram.cpp Mon Aug 25 14:52:42 2014 +0100 -+++ src/backend/filters/externalProgram.cpp Mon Aug 25 14:53:04 2014 +0100 -@@ -551,7 +551,7 @@ - - p.name=TRANS("Work Dir"); - p.data= workingDir; -- p.type=PROPERTY_TYPE_STRING; -+ p.type=PROPERTY_TYPE_DIR; - p.helpText=TRANS("Directory to run the command in"); - p.key=EXTERNALPROGRAM_KEY_WORKDIR; - propertyList.addProperty(p,curGroup); -diff -r 9d545342c3ad -r 3c853d1f5af7 src/common/constants.h ---- src/common/constants.h Mon Aug 25 14:52:42 2014 +0100 -+++ src/common/constants.h Mon Aug 25 14:53:04 2014 +0100 -@@ -57,6 +57,7 @@ - PROPERTY_TYPE_POINT3D, - PROPERTY_TYPE_CHOICE, - PROPERTY_TYPE_FILE, -+ PROPERTY_TYPE_DIR, - PROPERTY_TYPE_ENUM_END //Not a prop, just end of enum - }; - -diff -r 9d545342c3ad -r 3c853d1f5af7 src/wx/propertyGridUpdater.cpp ---- src/wx/propertyGridUpdater.cpp Mon Aug 25 14:52:42 2014 +0100 -+++ src/wx/propertyGridUpdater.cpp Mon Aug 25 14:53:04 2014 +0100 -@@ -61,7 +61,7 @@ - g->Append(new wxPropertyCategory(string("") + title,title)); - - -- //Set the children of thies property -+ //Set the children of this property - for(size_t uj=0;ujSetHelpString(fp.helpText); - -+ //add the property to the grid - g->Append(pgp); - - switch(fp.type) - { - case PROPERTY_TYPE_BOOL: - { -+ //if a bool property, use a checkbox to edit - g->SetPropertyEditor(pgp,wxPGEditor_CheckBox); - break; - } -diff -r 7372047ee6f9 src/common/basics.cpp ---- src/common/basics.cpp Sun Aug 03 16:58:06 2014 -0400 -+++ src/common/basics.cpp Sun Aug 03 17:01:04 2014 -0400 -@@ -1471,6 +1471,21 @@ - return 0; - } - -+bool isNotDirectory(const char *filename) -+{ -+ struct stat statbuf; -+ -+ if(stat(filename,&statbuf) == -1) -+ return false; -+ -+ return (statbuf.st_mode !=S_IFDIR); -+} -+ -+bool rmFile(const std::string &filename) -+{ -+ return remove(filename.c_str()) == 0; -+} -+ - #ifdef DEBUG - bool isValidXML(const char *filename) - { -@@ -1503,27 +1518,6 @@ - return true; - } - --#if !defined(__WIN32__) && !defined(__WIN64) - --bool isNotDirectory(const char *filename) --{ -- struct stat statbuf; -- -- if(stat(filename,&statbuf) == -1) -- return false; -- -- return (statbuf.st_mode !=S_IFDIR); --} -- --bool rmFile(const std::string &filename) --{ -- return remove(filename.c_str()) == 0; --} --#elif defined(__WIN32) || defined(__WIN64) --bool rmFile(const std::string &filename) --{ -- return DeleteFile((const wchar_t*)filename.c_str()) == 0; --} --#endif - - #endif diff --git a/3Depict-0.0.18-font-path.patch b/3Depict-0.0.19-font-path.patch similarity index 100% rename from 3Depict-0.0.18-font-path.patch rename to 3Depict-0.0.19-font-path.patch diff --git a/3Depict-0.0.18-manual-pdf-loc.patch b/3Depict-0.0.19-manual-pdf-loc.patch similarity index 100% rename from 3Depict-0.0.18-manual-pdf-loc.patch rename to 3Depict-0.0.19-manual-pdf-loc.patch diff --git a/3Depict.spec b/3Depict.spec index bbf272b..9f5934a 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict -Version: 0.0.18 -Release: 7%{?dist} +Version: 0.0.19 +Release: 1%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -121,6 +121,10 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Jun 01 2016 D Haley - 0.0.19-1 +- Update to 0.0.19 +- Remove gcc patch, fixed upstream + * Fri Apr 29 2016 Ralf Corsépius - 0.0.18-7 - Rebuild for qhull-2015.2-1. - Reflect qhull_a.h's location having changed. @@ -250,3 +254,4 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf * Sun Aug 08 2010 D Haley - 0.0.1-1 - Initial package + From 14c644dbfe6040391b4c81627b1e3458a5853204 Mon Sep 17 00:00:00 2001 From: mycae Date: Wed, 3 Aug 2016 20:04:46 -0400 Subject: [PATCH 03/54] * Remove old gcc6 patch --- 3Depict.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/3Depict.spec b/3Depict.spec index 9f5934a..048bada 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -37,8 +37,6 @@ BuildRequires: qhull-devel Patch0: %{name}-%{version}-manual-pdf-loc.patch #Fedora specific font dir Patch1: %{name}-%{version}-font-path.patch -#Fix gcc6 compilation -Patch2: %{name}-gcc6.patch %description @@ -53,7 +51,6 @@ useful for general scalar valued point data purposes. %patch0 %patch1 -%patch2 -p1 -b .gcc6 %if 0%{?fedora} > 24 # Installation directory has changed From 7b80c0dfe3cbca8b5f7be893d56f368d753f2a1c Mon Sep 17 00:00:00 2001 From: mycae Date: Wed, 3 Aug 2016 21:20:38 -0400 Subject: [PATCH 04/54] * Add upstream patch * Remove old gcc6 patch, as this is fixed by upstream --- 3Depict-0.0.19-upstream-effd078610a7.patch | 1243 ++++++++++++++++++++ 3Depict-gcc6.patch | 12 - 3Depict.spec | 5 +- 3 files changed, 1247 insertions(+), 13 deletions(-) create mode 100644 3Depict-0.0.19-upstream-effd078610a7.patch delete mode 100644 3Depict-gcc6.patch diff --git a/3Depict-0.0.19-upstream-effd078610a7.patch b/3Depict-0.0.19-upstream-effd078610a7.patch new file mode 100644 index 0000000..34a4cc8 --- /dev/null +++ b/3Depict-0.0.19-upstream-effd078610a7.patch @@ -0,0 +1,1243 @@ +diff -r bcb9acfa66de -r effd078610a7 .hgtags +--- a/.hgtags Tue May 31 13:04:58 2016 +1000 ++++ b/.hgtags Tue Jun 21 12:45:20 2016 +0100 +@@ -16,3 +16,4 @@ + 9fcee7d53bc2a2b69db9dbe59c6f1264615a54e4 3Depict-0.0.16 + 19a65d51c5d65ebf3d8b7760cfa4edde36c251c0 3Depict-0.0.17 + 910618ab1f369c5a9253965e12f5d8f75fceb0c6 3Depict-0.0.18 ++bcb9acfa66de56f6531016d1e81a68d7118b7b35 3Depict-0.0.19 +diff -r bcb9acfa66de -r effd078610a7 docs/manual-latex/build-latex.sh +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/docs/manual-latex/build-latex.sh Tue Jun 21 12:45:20 2016 +0100 +@@ -0,0 +1,37 @@ ++#!/bin/bash ++LATEXBIN=pdflatex ++BIBTEXBIN=bibtex ++if [ x`which $LATEXBIN` == x"" ] ; then ++ echo "no $LATEXBIN" ++ exit 1 ++fi ++ ++if [ x`which $BIBTEXBIN` == x"" ] ; then ++ echo "no $BIBTEXBIN" ++ exit 1 ++fi ++ ++MANUAL=manual.tex ++ ++#check to see if the manual and its bib file are around ++if [ ! -f $MANUAL ] ; then ++ echo "$MANUAL is missing" ++ exit 1 ++fi ++ ++#Remove the old manul ++rm -f manual.pdf ++ ++ ++ ++#run the multi-pass latex build. ++$LATEXBIN $MANUAL || { echo "failed latex build (pass 1 of 2)"; exit 1 ; } ++$BIBTEXBIN `basename -s .tex $MANUAL` || { echo "failed bibtex build"; exit 1 ; } ++$LATEXBIN $MANUAL || { echo "failed latex build (pass 2 of 2)"; exit 1 ; } ++ ++ ++if [ ! -f manual.pdf ] ; then ++ echo "latex ran, but somehow we did not output the PDF...." ++ exit 1 ++fi ++ +diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.cpp +--- a/src/backend/filter.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filter.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -553,7 +553,7 @@ + ASSERT(scatterIntensity.empty()); + + +- ASSERT(plotType < PLOT_TYPE_ENUM_END); ++ ASSERT(plotStyle < PLOT_TYPE_ENUM_END); + } + void RangeStreamData::checkSelfConsistent() const + { +diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.h +--- a/src/backend/filter.h Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filter.h Tue Jun 21 12:45:20 2016 +0100 +@@ -395,7 +395,7 @@ + //Label for X, Y axes + std::string xLabel,yLabel; + +- unsigned int plotType; ++ unsigned int plotStyle; + + //!Structured XY data pairs for plotting curve + Array2D xyData; +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/algorithms/rdf.cpp +--- a/src/backend/filters/algorithms/rdf.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/algorithms/rdf.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -862,6 +862,8 @@ + return RDF_ABORT_FAIL; + #endif + ++ *progressPtr=100; ++ + return 0; + } + +@@ -1003,6 +1005,8 @@ + #endif + + //Calculations complete! ++ *progressPtr=100; ++ + return 0; + } + +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/annotation.cpp +--- a/src/backend/filters/annotation.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/annotation.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -167,8 +167,15 @@ + + //If we are not enabled, do not draw anything into the output + if(!active) ++ { ++ progress.filterProgress=100; + return 0; ++ } + ++ progress.step=1; ++ progress.maxStep=1; ++ progress.stepName=TRANS("Draw"); ++ + DrawStreamData *d; + d = new DrawStreamData; + d->parent=this; +@@ -505,6 +512,7 @@ + d->cached=0; + getOut.push_back(d); + ++ progress.filterProgress=100; + return 0; + } + +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/boundingBox.cpp +--- a/src/backend/filters/boundingBox.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/boundingBox.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -510,7 +510,6 @@ + } + #endif + bTotal.expand(bThis); +- progress.filterProgress=100; + break; + } + default: +@@ -521,6 +520,7 @@ + getOut.push_back(dataIn[ui]); + } + ++ progress.filterProgress=100; + //Append the bounding box if it is valid + if(bTotal.isValid()) + { +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/clusterAnalysis.cpp +--- a/src/backend/filters/clusterAnalysis.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/clusterAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -685,7 +685,7 @@ + Plot2DStreamData *p = new Plot2DStreamData; + p->parent=this; + +- p->plotType=PLOT_2D_SCATTER; ++ p->plotStyle=PLOT_2D_SCATTER; + p->dataLabel=TRANS("Morphology Plot"); + p->xLabel=TRANS("\\lambda_1:\\lambda_2 ratio"); + p->yLabel=TRANS("\\lambda_2:\\lambda_3 ratio"); +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionColour.cpp +--- a/src/backend/filters/ionColour.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/ionColour.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -271,12 +271,14 @@ + + + p.name=TRANS("Show Bar"); ++ p.helpText=TRANS("Display the colour legend in the 3D view"); + p.key=KEY_IONCOLOURFILTER_SHOWBAR; + p.data=boolStrEnc(showColourBar); + p.type=PROPERTY_TYPE_BOOL; + propertyList.addProperty(p,curGroup); + + p.name=TRANS("Opacity"); ++ p.helpText=TRANS("How see-through to make the legend (0- transparent, 1- solid)"); + p.key=KEY_IONCOLOURFILTER_ALPHA; + stream_cast(p.data,alpha); + p.type=PROPERTY_TYPE_REAL; +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionDownsample.cpp +--- a/src/backend/filters/ionDownsample.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/ionDownsample.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -88,7 +88,7 @@ + rsdIncoming = new RangeStreamData; + *rsdIncoming=*c; + +- if(ionFractions.size() != c->rangeFile->getNumIons()) ++ if(ionFractions.size() != c->rangeFile->getNumIons()+1) + { + //set up some defaults; seeded from normal + ionFractions.resize(c->rangeFile->getNumIons()+1,fraction); +@@ -464,7 +464,8 @@ + + propertyList.setGroupTitle(curGroup,TRANS("Mode")); + curGroup++; +- if(rsdIncoming && perSpecies) ++ ++ if(rsdIncoming && perSpecies && rsdIncoming->enabledIons.size()) + { + unsigned int typeVal; + if(fixedNumOut) +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionInfo.cpp +--- a/src/backend/filters/ionInfo.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/ionInfo.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -398,7 +398,7 @@ + + + //"Pairwise events" - where we perform an action if both +- //These ++ //these are set + if(wantIonCounts && wantVolume) + { + if(computedVol > sqrtf(std::numeric_limits::epsilon())) +@@ -420,6 +420,9 @@ + } + } + ++ ++ progress.filterProgress=100; ++ + return 0; + } + +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spatialAnalysis.cpp +--- a/src/backend/filters/spatialAnalysis.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/spatialAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -655,115 +655,180 @@ + return ERR_FILE_READ_FAIL; + + +- +- progress.step=3; +- progress.stepName=TRANS("Build"); +- progress.filterProgress=0; +- +- //Build the search tree we will use to perform replacement +- K3DTreeMk2 tree; +- tree.resetPts(fileIons,false); +- if(!tree.build()) +- return ERR_ABORT_FAIL; +- BoundCube b; +- tree.getBoundCube(b); +- +- //map the offset of the nearest to +- //the tree ID +- vector nearestVec; +- nearestVec.resize(inIons.size()); +- +- //TODO: pair vector might be faster +- // as we can use it in sequence, and can use openmp +- map matchedMap; +- +- //Find the nearest point for all points in the dataset +- +- #pragma omp parallel for +- for(size_t ui=0;ui outIons; ++ if(inIons.empty() || fileIons.empty()) + { +- nearestVec[ui]=tree.findNearestUntagged(inIons[ui].getPos(),b,false); +- } +- +- float sqrReplaceTol=replaceTolerance*replaceTolerance; +- +- //Filter this to only points that had an NN within range +- #pragma omp parallel for +- for(size_t ui=0;ui outIons; +- switch(replaceMode) +- { +- case REPLACE_MODE_SUBTRACT: ++ ++ progress.step=3; ++ progress.stepName=TRANS("Build"); ++ progress.filterProgress=0; ++ ++ //TODO: Possible speed increase by finding the smaller of ++ // the two inputs, and using that to build the tree ++ ++ //Build the search tree we will use to perform replacement ++ K3DTreeMk2 tree; ++ tree.resetPts(fileIons,false); ++ if(!tree.build()) ++ return ERR_ABORT_FAIL; ++ BoundCube b; ++ tree.getBoundCube(b); ++ ++ //map the offset of the nearest to ++ //the tree ID ++ vector nearestVec; ++ nearestVec.resize(inIons.size()); ++ ++ //TODO: pair vector might be faster ++ // as we can use it in sequence, and can use openmp ++ map matchedMap; ++ ++ //Find the nearest point for all points in the dataset ++ // maps the ith ion in "inions" to the tree value ++ #pragma omp parallel for ++ for(size_t ui=0;ui matchedMap.size()) +- outIons.reserve(inIons.size()-matchedMap.size()); +- +- // +- #pragma omp parallel for +- for(unsigned int ui=0;ui::iterator it; +- it=matchedMap.find(ui); +- if(it != matchedMap.end()) +- continue; +- + #pragma omp critical +- outIons.push_back(inIons[ui]); ++ matchedMap[ui]=tree.getOrigIndex(nearestVec[ui]); + } +- break; + } +- case REPLACE_MODE_INTERSECT: ++ ++ nearestVec.clear(); ++ ++ ++ progress.step=4; ++ progress.stepName=TRANS("Compute"); ++ progress.filterProgress=0; ++ ++ ++ //now we have a map that matches as so: ++ // map ( "inIon" ID -> "fileIon" ID) ++ // inIon should be our "A" in "A operator B" ++ switch(replaceMode) + { +- outIons.reserve(matchedMap.size()); +- +- if(replaceMass) ++ case REPLACE_MODE_SUBTRACT: + { +- for(map::const_iterator it=matchedMap.begin();it!=matchedMap.end();++it) ++ //If no matches, A-0 = A. Just return input ++ if(matchedMap.empty()) + { +- outIons.push_back(fileIons[it->second]); +- ASSERT(fileIons[it->second].getPosRef().sqrDist(inIons[it->first].getPosRef()) < sqrReplaceTol); ++ outIons.swap(inIons); ++ break; + } ++ //In subtraction mode, we should have ++ // at least this many ions ++ if(inIons.size() > matchedMap.size()) ++ outIons.reserve(inIons.size()-matchedMap.size()); ++ ++ // ++ #pragma omp parallel for ++ for(unsigned int ui=0;ui::iterator it; ++ it=matchedMap.find(ui); ++ if(it != matchedMap.end()) ++ continue; ++ ++ #pragma omp critical ++ outIons.push_back(inIons[ui]); ++ } ++ break; + } +- else ++ case REPLACE_MODE_INTERSECT: + { +- for(map::const_iterator it=matchedMap.begin();it!=matchedMap.end();++it) ++ //Finish if no matches ++ if(matchedMap.empty()) ++ break; ++ ++ outIons.reserve(matchedMap.size()); ++ ++ if(replaceMass) + { +- outIons.push_back(inIons[it->first]); ++ for(map::const_iterator it=matchedMap.begin();it!=matchedMap.end();++it) ++ { ++ outIons.push_back(fileIons[it->second]); ++ ASSERT(fileIons[it->second].getPosRef().sqrDist(inIons[it->first].getPosRef()) < sqrReplaceTol); ++ } + } ++ else ++ { ++ for(map::const_iterator it=matchedMap.begin();it!=matchedMap.end();++it) ++ { ++ outIons.push_back(inIons[it->first]); ++ } ++ } ++ break; + } +- break; ++ case REPLACE_MODE_UNION: ++ { ++ outIons.swap(fileIons); ++ outIons.reserve(outIons.size() + fileIons.size() - matchedMap.size()); ++ map::const_iterator it=matchedMap.begin(); ++ ++ ++ for(unsigned int ui=0;uifirst == ui) ) ++ { ++ it++; ++ continue; ++ } ++ ++ ++ outIons.push_back(inIons[ui]); ++ } ++ ++ ++ break; ++ } ++ default: ++ ASSERT(false); + } +- case REPLACE_MODE_UNION: +- { +- ASSERT(false); +- break; +- } +- default: +- ASSERT(false); + } + + //Only output ions if any were found +@@ -2779,6 +2844,8 @@ + newD->data.resize(d->data.size()); + if(stopMode == STOP_MODE_NEIGHBOUR) + { ++ unsigned int nProg=0; ++ + bool spin=false; + #pragma omp parallel for shared(spin) + for(size_t uj=0;ujdata.size();uj++) +@@ -2811,14 +2878,15 @@ + } + + res.clear(); ++ #pragma atomic ++ nProg++; + + //Update progress as needed + if(!curProg--) + { + #pragma omp critical + { +- n+=NUM_CALLBACK/(nnMax); +- progress.filterProgress= (unsigned int)(((float)n/(float)totalDataSize)*100.0f); ++ progress.filterProgress= (unsigned int)(((float)nProg/(float)totalDataSize)*100.0f); + if(*Filter::wantAbort) + spin=true; + curProg=NUM_CALLBACK/(nnMax); +@@ -3063,9 +3131,10 @@ + IonStreamData *newD = new IonStreamData; + newD->parent=this; + +- //Adjust this number to provide more update thanusual, because we ++ //Adjust this number to provide more update than usual, because we + //are not doing an o(1) task between updates; yes, it is a hack +- unsigned int curProg=NUM_CALLBACK/(10*nnMax); ++ const unsigned int PROG_PER_PASS=NUM_CALLBACK/(10*nnMax); ++ unsigned int curProg=PROG_PER_PASS; + newD->data.reserve(d->data.size()); + if(stopMode == STOP_MODE_NEIGHBOUR) + { +@@ -3113,11 +3182,11 @@ + { + #pragma omp critical + { +- n+=NUM_CALLBACK/(nnMax); ++ n+=PROG_PER_PASS; + progress.filterProgress= (unsigned int)(((float)n/(float)totalDataSize)*100.0f); + if(*Filter::wantAbort) + spin=true; +- curProg=NUM_CALLBACK/(nnMax); ++ curProg=PROG_PER_PASS; + } + } + } +@@ -3263,6 +3332,8 @@ + break; + } + } ++ progress.filterProgress=100; ++ + //If we have bad points, let the user know. + if(!badPts.empty()) + { +@@ -4230,11 +4301,8 @@ + } + + //distance between search pt and found pt +- float sqrDistance; +- sqrDistance = searchTree.getPtRef(ptIdx).sqrDist(pSource[ui].getPosRef()); +- +- if(sqrDistance > DISTANCE_EPSILON) +- ptsFound.insert(ptIdx); ++ ++ ptsFound.insert(ptIdx); + } + + +@@ -4244,8 +4312,14 @@ + //Count the number of numerator and denominator ions, using the masses we set aside earlier + for(set::iterator it=ptsFound.begin(); it!=ptsFound.end(); ++it) + { ++ ++ //check that the distance is non-zero, to force no self-matching ++ float sqrDistance; ++ sqrDistance = searchTree.getPtRef(*it).sqrDist(pSource[ui].getPosRef()); ++ if(sqrDistance < DISTANCE_EPSILON) ++ continue; ++ + float ionMass; +- //check that the distance is non-zero, to force no self-matching + ionMass = dataMasses[searchTree.getOrigIndex(*it)]; + + unsigned int ionID; +@@ -4326,9 +4400,11 @@ + bool nnHistogramTest(); + bool rdfPlotTest(); + bool axialDistTest(); +-bool replaceTest(); ++bool replaceIntersectAndUnionTest(); + bool localConcTestRadius(); + bool localConcTestNN(); ++bool replaceSubtractTest(); ++bool replaceUnionTest(); + + bool SpatialAnalysisFilter::runUnitTests() + { +@@ -4343,8 +4419,15 @@ + + if(!axialDistTest()) + return false; +- if(!replaceTest()) ++ if(!replaceIntersectAndUnionTest()) + return false; ++ ++ if(!replaceSubtractTest()) ++ return false; ++ ++ if(!replaceUnionTest()) ++ return false; ++ + if(!localConcTestRadius()) + return false; + +@@ -4617,7 +4700,7 @@ + return true; + } + +-bool replaceTest() ++bool replaceIntersectAndUnionTest() + { + std::string ionFile=createTmpFilename(NULL,".pos"); + +@@ -4637,6 +4720,157 @@ + //Create a spatial analysis filter + SpatialAnalysisFilter *f=new SpatialAnalysisFilter; + f->setCaching(false); ++ //Set it to do a union calculation ++ bool needUp; ++ string s; ++ s=TRANS(SPATIAL_ALGORITHMS[ALGORITHM_REPLACE]); ++ TEST(f->setProperty(KEY_ALGORITHM,s,needUp),"Set prop"); ++ TEST(f->setProperty(KEY_REPLACE_FILE,ionFile,needUp),"Set prop"); ++ s="1"; ++ TEST(f->setProperty(KEY_REPLACE_VALUE,s,needUp),"Set prop"); ++ ++ vector opVec; ++ opVec.push_back(REPLACE_MODE_INTERSECT); ++ opVec.push_back(REPLACE_MODE_UNION); ++ ++ ProgressData p; ++ vector streamIn,streamOut; ++ streamIn.push_back(d); ++ for(unsigned int opId=0;opIdsetProperty(KEY_REPLACE_ALGORITHM,s,needUp),"Set prop"); ++ ++ //Do the refresh ++ TEST(!f->refresh(streamIn,streamOut,p),"refresh OK"); ++ ++ TEST(streamOut.size() == 1,"stream count"); ++ TEST(streamOut[0]->getStreamType() == STREAM_TYPE_IONS,"stream type"); ++ TEST(streamOut[0]->getNumBasicObjects() == NIONS,"Number objects"); ++ ++ //we should have taken the mass-to-charge from the file ++ const IonStreamData *outIons = (const IonStreamData*)streamOut[0]; ++ for(unsigned int ui=0;uidata[ui].getMassToCharge() == 1); ++ } ++ delete streamOut[0]; ++ streamOut.clear(); ++ } ++ delete f; ++ delete d; ++ ++ wxRemoveFile(ionFile); ++ ++ ++ return true; ++} ++ ++bool replaceSubtractTest() ++{ ++ std::string ionFile=createTmpFilename(NULL,".pos"); ++ ++ vector ions; ++ const unsigned int NIONS=10; ++ const unsigned int DIFF_COUNT=5; ++ for(unsigned int ui=0;ui tmpI; ++ for(unsigned int ui=0;uidata.swap(ions); ++ ++ //Create a spatial analysis filter ++ SpatialAnalysisFilter *f=new SpatialAnalysisFilter; ++ f->setCaching(false); ++ ++ //Set it to do a subtraction calculation ++ bool needUp; ++ string s; ++ s=TRANS(SPATIAL_ALGORITHMS[ALGORITHM_REPLACE]); ++ TEST(f->setProperty(KEY_ALGORITHM,s,needUp),"Set prop"); ++ TEST(f->setProperty(KEY_REPLACE_FILE,ionFile,needUp),"Set prop"); ++ s=TRANS(REPLACE_ALGORITHMS[REPLACE_MODE_SUBTRACT]); ++ TEST(f->setProperty(KEY_REPLACE_ALGORITHM,s,needUp),"Set prop"); ++ ++ //Do the refresh ++ ProgressData p; ++ vector streamIn,streamOut; ++ streamIn.push_back(d); ++ TEST(!f->refresh(streamIn,streamOut,p),"refresh OK"); ++ delete f; ++ delete d; ++ streamIn.clear(); ++ ++ TEST(streamOut.size() == 1,"stream count"); ++ TEST(streamOut[0]->getStreamType() == STREAM_TYPE_IONS,"stream type"); ++ TEST(streamOut[0]->getNumBasicObjects() == DIFF_COUNT,"Number objects"); ++ ++ //we should have taken the mass-to-charge from the original data, ++ // not the file ++ const IonStreamData *outIons = (const IonStreamData*)streamOut[0]; ++ for(unsigned int ui=0;uigetNumBasicObjects(); ui++) ++ { ++ ASSERT(outIons->data[ui].getMassToCharge() == 1); ++ ASSERT(outIons->data[ui].getPos()[2] >= 0); ++ } ++ ++ wxRemoveFile(ionFile); ++ ++ delete streamOut[0]; ++ ++ return true; ++} ++ ++bool replaceUnionTest() ++{ ++ std::string ionFile=createTmpFilename(NULL,".pos"); ++ ++ //"B" dataset ++ vector ions; ++ ions.push_back(IonHit(Point3D(0,0,0),1)); ++ ions.push_back(IonHit(Point3D(1,0,1),1)); ++ ions.push_back(IonHit(Point3D(0,1,1),1)); ++ ++ IonHit::makePos(ions,ionFile.c_str()); ++ ions.clear(); ++ ++ //"A" dataset ++ ions.push_back(IonHit(Point3D(0,0,0),2)); ++ ions.push_back(IonHit(Point3D(1,0,-1),2)); ++ ions.push_back(IonHit(Point3D(0,1,-1),2)); ++ ++ ++ IonStreamData *d = new IonStreamData; ++ d->data.swap(ions); ++ ++ //Create a spatial analysis filter ++ SpatialAnalysisFilter *f=new SpatialAnalysisFilter; ++ f->setCaching(false); + + //Set it to do a union calculation + bool needUp; +@@ -4644,13 +4878,11 @@ + s=TRANS(SPATIAL_ALGORITHMS[ALGORITHM_REPLACE]); + TEST(f->setProperty(KEY_ALGORITHM,s,needUp),"Set prop"); + TEST(f->setProperty(KEY_REPLACE_FILE,ionFile,needUp),"Set prop"); +- s=TRANS(REPLACE_ALGORITHMS[REPLACE_MODE_INTERSECT]); ++ s=TRANS(REPLACE_ALGORITHMS[REPLACE_MODE_UNION]); + TEST(f->setProperty(KEY_REPLACE_ALGORITHM,s,needUp),"Set prop"); +- + s="1"; + TEST(f->setProperty(KEY_REPLACE_VALUE,s,needUp),"Set prop"); + +- + //Do the refresh + ProgressData p; + vector streamIn,streamOut; +@@ -4662,14 +4894,16 @@ + + TEST(streamOut.size() == 1,"stream count"); + TEST(streamOut[0]->getStreamType() == STREAM_TYPE_IONS,"stream type"); +- TEST(streamOut[0]->getNumBasicObjects() == NIONS,"Number objects"); +- +- //we should have taken the mass-to-charge from the file ++ TEST(streamOut[0]->getNumBasicObjects() == 5,"Number objects"); ++ ++ //There should be + const IonStreamData *outIons = (const IonStreamData*)streamOut[0]; +- for(unsigned int ui=0;uigetNumBasicObjects(); ui++) + { +- ASSERT(outIons->data[ui].getMassToCharge() == 1); ++ sumV+=outIons->data[ui].getMassToCharge(); + } ++ TEST( EQ_TOL(sumV,7.0f),"mass-to-charge check"); + + wxRemoveFile(ionFile); + +@@ -4678,7 +4912,6 @@ + return true; + } + +- + //--- Local concentration tests -- + const IonStreamData *createLCIonStream() + { +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spectrumPlot.cpp +--- a/src/backend/filters/spectrumPlot.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/spectrumPlot.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -517,6 +517,8 @@ + + getOut.push_back(d); + ++ progress.filterProgress=100; ++ + return 0; + } + +diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/transform.cpp +--- a/src/backend/filters/transform.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/filters/transform.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -998,8 +998,10 @@ + break; + } + ++ } + } +- } ++ ++ progress.filterProgress=100; + } + else + { +@@ -1526,6 +1528,11 @@ + case KEY_CROP_MINIMUM: + { + ASSERT(scalarParams.size() ==2); ++ float tmp; ++ if(stream_cast(tmp,value) || tmp >=scalarParams[1]) ++ return false; ++ ++ + if(!applyPropertyNow(scalarParams[0],value,needUpdate)) + return false; + break; +@@ -1533,6 +1540,9 @@ + case KEY_CROP_MAXIMUM: + { + ASSERT(scalarParams.size() ==2); ++ float tmp; ++ if(stream_cast(tmp,value) || tmp <=scalarParams[0]) ++ return false; + if(!applyPropertyNow(scalarParams[1],value,needUpdate)) + return false; + break; +diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.cpp +--- a/src/backend/plot.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/plot.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -29,7 +29,7 @@ + NTRANS("Moving avg.") + }; + +-const char *plotTypeStrings[]= { ++const char *traceStyleStrings[]= { + NTRANS("Lines"), + NTRANS("Bars"), + NTRANS("Steps"), +@@ -119,15 +119,15 @@ + string plotString(unsigned int plotMode) + { + ASSERT(plotMode< PLOT_TYPE_ENUM_END); +- return TRANS(plotTypeStrings[plotMode]); ++ return TRANS(traceStyleStrings[plotMode]); + } + + unsigned int plotID(const std::string &plotString) + { +- COMPILE_ASSERT(THREEDEP_ARRAYSIZE(plotTypeStrings) == PLOT_TYPE_ENUM_END); ++ COMPILE_ASSERT(THREEDEP_ARRAYSIZE(traceStyleStrings) == PLOT_TYPE_ENUM_END); + for(unsigned int ui=0;uigetPlotMode(); ++} ++ + void PlotWrapper::getVisibleIDs(vector &visiblePlotIDs ) const + { + +@@ -791,7 +797,7 @@ + if(!plottingData[ui]->visible) + continue; + +- if(plottingData[ui]->getType()!= PLOT_MODE_1D) ++ if(plottingData[ui]->getMode()!= PLOT_MODE_1D) + continue; + + if(((Plot1D*)plottingData[ui])->wantLogPlot()) +@@ -809,7 +815,7 @@ + float minYVal=0.1; + for(size_t ui=0;uivisible || plottingData[ui]->getType() !=PLOT_MODE_1D) ++ if(!plottingData[ui]->visible || plottingData[ui]->getMode() !=PLOT_MODE_1D) + continue; + + float tmp ; +@@ -929,7 +935,7 @@ + Plot2DFunc *curPlot; + curPlot=(Plot2DFunc*)plottingData[ui]; + +- if(curPlot->getType() == PLOT_2D_DENS) ++ if(curPlot->getMode() == PLOT_2D_DENS) + { + wantColourbar=true; + } +@@ -1047,11 +1053,6 @@ + plottingData[plotIDHandler.getPos(plotId)]->regionGroup.getRegion(regionId,region); + } + +-unsigned int PlotWrapper::plotType(unsigned int plotId) const +-{ +- return plottingData[plotIDHandler.getPos(plotId)]->getPlotMode(); +-} +- + + void PlotWrapper::moveRegion(unsigned int plotID, unsigned int regionId, bool regionSelfUpdate, + unsigned int movementType, float newX, float newY) const +@@ -1135,7 +1136,7 @@ + + void PlotBase::copyBase(PlotBase *target) const + { +- target->plotType=plotType; ++ target->traceStyle=traceStyle; + target->minX=minX; + target->maxX=maxX; + target->minY=minY; +@@ -1157,12 +1158,12 @@ + + unsigned int PlotBase::getType() const + { +- return plotType; ++ return traceStyle; + } + + unsigned int PlotBase::getMode() const + { +- switch(plotType) ++ switch(traceStyle) + { + case PLOT_LINE_LINES: + case PLOT_LINE_BARS: +@@ -1181,7 +1182,7 @@ + Plot1D::Plot1D() + { + //Set the default plot properties +- plotType=PLOT_LINE_LINES; ++ traceStyle=PLOT_LINE_LINES; + plotMode=PLOT_MODE_1D; + xLabel=""; + yLabel=""; +@@ -1489,7 +1490,7 @@ + + + //Plot the appropriate form +- switch(plotMode) ++ switch(traceStyle) + { + case PLOT_LINE_LINES: + //Unfortunately, when using line plots, mathgl moves the data points to the plot boundary, +@@ -1632,7 +1633,7 @@ + Plot2DFunc::Plot2DFunc() + { + plotMode = PLOT_MODE_2D; +- plotType=PLOT_2D_DENS; ++ traceStyle=PLOT_2D_DENS; + } + + void Plot2DFunc::setData(const Array2D &a, +@@ -1705,7 +1706,8 @@ + + Plot2DScatter::Plot2DScatter() + { +- plotType=PLOT_2D_SCATTER; ++ plotMode=PLOT_2D_SCATTER; ++ traceStyle=PLOT_LINE_POINTS; + scatterIntensityLog=false; + } + +diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.h +--- a/src/backend/plot.h Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/plot.h Tue Jun 21 12:45:20 2016 +0100 +@@ -217,7 +217,7 @@ + class PlotBase + { + protected: +- //!Sub type of plot (eg lines, bars for 1D) ++ //!Type of plot + unsigned int plotMode; + //!xaxis label + std::string xLabel; +@@ -229,8 +229,9 @@ + //plot colour (for single coloured plots) + float r,g,b; + +- //The type of plot (ie what class is it?) +- unsigned int plotType; ++ //The sub-style of the plot trace (eg lines, points, bars, etc) ++ // FIXME: This is badly named, change to traceStyle, or dataStyle, or something ++ unsigned int traceStyle; + + void copyBase(PlotBase *target) const; + +@@ -297,8 +298,12 @@ + void setStrings(const std::string &x, + const std::string &y,const std::string &t); + ++ //Set the colour of the plot trace + void setColour(float rNew, float gNew, float bNew); + ++ //set the visual style for the trace (dots, lines, etc) ++ void setTraceStyle(unsigned int newStyle) { traceStyle=newStyle;} ++ + std::string getXLabel() const { return xLabel;} + std::string getTitle() const { return title;} + std::string getYLabel() const { return yLabel;} +@@ -309,6 +314,7 @@ + void setPlotMode(unsigned int newMode) { plotMode= newMode;} + + ++ //get the colour of the trace + void getColour(float &r, float &g, float &b) const ; + + #ifdef DEBUG +@@ -613,7 +619,7 @@ + + + //!obtain the type of a plot, given the plot's uniqueID +- unsigned int plotType(unsigned int plotId) const; ++ unsigned int getPlotMode(unsigned int plotId) const; + + //Retrieve the types of visible plots + unsigned int getVisibleMode() const; +diff -r bcb9acfa66de -r effd078610a7 src/backend/viscontrol.cpp +--- a/src/backend/viscontrol.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/backend/viscontrol.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -249,7 +249,7 @@ + plotData->yLabel,plotData->dataLabel); + + //set the appearance of the plot +- //plotNew->setTraceStyle(plotStyle); ++ plotNew->setTraceStyle(plotData->plotStyle); + plotNew->setColour(plotData->r,plotData->g,plotData->b); + + +@@ -275,7 +275,7 @@ + unsigned int plotID; + + PlotBase *plotNew; +- switch(plotData->plotType) ++ switch(plotData->plotStyle) + { + case PLOT_2D_DENS: + { +diff -r bcb9acfa66de -r effd078610a7 src/common/basics.cpp +--- a/src/common/basics.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/common/basics.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -1347,7 +1347,8 @@ + while(CFile.good() && !CFile.eof() && atHeader) + { + //Grab a line from the file +- CFile.getline(inBuffer,BUFFER_SIZE); ++ if(!CFile.getline(inBuffer,BUFFER_SIZE)) ++ break; + + if(!CFile.good()) + return ERR_FILE_FORMAT; +@@ -1457,10 +1458,8 @@ + + } + //Grab a line from the file +- CFile.getline(inBuffer,BUFFER_SIZE); +- +- if(!CFile.good() && !CFile.eof()) +- return ERR_FILE_FORMAT; ++ if(!CFile.getline(inBuffer,BUFFER_SIZE)) ++ break; + } + + return 0; +diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.cpp +--- a/src/gui/mainFrame.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/gui/mainFrame.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -1391,7 +1391,7 @@ + updateWxTreeCtrl(treeFilters); + + if(!noUpdate) +- return doSceneUpdate(true); ++ doSceneUpdate(true); + + return true; + } +@@ -3834,7 +3834,7 @@ + + } + +-bool MainWindowFrame::doSceneUpdate(bool ensureVisible) ++void MainWindowFrame::doSceneUpdate(bool ensureVisible) + { + //Update scene + ASSERT(!currentlyUpdatingScene); +@@ -3864,6 +3864,11 @@ + ensureResultVisible=ensureVisible; + + ASSERT(!refreshControl); ++ ++ //Hack to prevent crash on double-refresh ++ if(refreshControl) ++ return; ++ + refreshControl = new RefreshController(visControl.state.treeState); + refreshThread=new RefreshThread(this,refreshControl); + progressTimer->Start(PROGRESS_TIMER_DELAY); +@@ -3871,7 +3876,8 @@ + refreshThread->Create(); + refreshThread->Run(); + +- return true; ++ cerr << "Updating scene complete"<< endl; ++ return; + } + + void MainWindowFrame::updateWxTreeCtrl( wxTreeCtrl *t, const Filter *f) +@@ -3971,6 +3977,11 @@ + ASSERT(!visControl.state.treeState.isRefreshing()); + progressTimer->Stop(); + ++ //Hack to prevent crash on re-entry during refresh. Should never trigger. ++ if(!refreshControl) ++ return; ++ ++ + vector > consoleMessages; + consoleMessages=refreshControl->getConsoleMessages(); + +diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.h +--- a/src/gui/mainFrame.h Tue May 31 13:04:58 2016 +1000 ++++ b/src/gui/mainFrame.h Tue Jun 21 12:45:20 2016 +0100 +@@ -124,7 +124,7 @@ + //!Update the progress information in the status bar + void updateProgressStatus(); + //!Perform an update to the 3D Scene. Returns false if refresh failed +- bool doSceneUpdate(bool ensureResultVisible=false); ++ void doSceneUpdate(bool ensureResultVisible=false); + + //!Complete the scene update. Returns false if failed + void finishSceneUpdate(unsigned int errCode); +diff -r bcb9acfa66de -r effd078610a7 src/gui/mathglPane.cpp +--- a/src/gui/mathglPane.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/gui/mathglPane.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -627,7 +627,7 @@ + thePlot->getRegion(plotId,regionId,r); + + //TODO: Implement a more generic region handler? +- ASSERT(thePlot->plotType(plotId) == PLOT_MODE_1D); ++ ASSERT(thePlot->getPlotMode(plotId) == PLOT_MODE_1D); + + float mglStartX,mglStartY; + toPlotCoords(draggingStart.x, draggingStart.y,mglStartX,mglStartY); +@@ -1471,7 +1471,7 @@ + return; + + +- ASSERT(thePlot->plotType(startMousePlot) == PLOT_MODE_1D); ++ ASSERT(thePlot->getPlotMode(startMousePlot) == PLOT_MODE_1D); + + //See where extending the region is allowed up to. + thePlot->findRegionLimit(startMousePlot,startMouseRegion, +@@ -1550,7 +1550,7 @@ + { + //This needs to be extended to support more + //plot types. +- ASSERT(thePlot->plotType(startMousePlot) == PLOT_MODE_1D); ++ ASSERT(thePlot->getPlotMode(startMousePlot) == PLOT_MODE_1D); + + //Draw "ghost" limits markers for move, + //these appear as moving vertical bars to outline +diff -r bcb9acfa66de -r effd078610a7 src/wx/wxcomponents.cpp +--- a/src/wx/wxcomponents.cpp Tue May 31 13:04:58 2016 +1000 ++++ b/src/wx/wxcomponents.cpp Tue Jun 21 12:45:20 2016 +0100 +@@ -188,14 +188,14 @@ + + void CopyGrid::saveData() + { +- wxFileDialog *wxF = new wxFileDialog(this,TRANS("Save Data..."), wxT(""), ++ wxFileDialog wxF(this,TRANS("Save Data..."), wxT(""), + wxT(""),TRANS("Text File (*.txt)|*.txt|All Files (*)|*"),wxFD_SAVE); + +- if( (wxF->ShowModal() == wxID_CANCEL)) ++ if( (wxF.ShowModal() == wxID_CANCEL)) + return; + + +- std::string dataFile = stlStr(wxF->GetPath()); ++ std::string dataFile = stlStr(wxF.GetPath()); + ofstream f(dataFile.c_str()); + + if(!f) diff --git a/3Depict-gcc6.patch b/3Depict-gcc6.patch deleted file mode 100644 index 96e9bd4..0000000 --- a/3Depict-gcc6.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up 3Depict-0.0.18/src/common/stringFuncs.cpp.gcc6 3Depict-0.0.18/src/common/stringFuncs.cpp ---- 3Depict-0.0.18/src/common/stringFuncs.cpp.gcc6 2016-03-08 19:17:26.511474604 -0700 -+++ 3Depict-0.0.18/src/common/stringFuncs.cpp 2016-03-08 19:17:47.243499854 -0700 -@@ -229,7 +229,7 @@ bool genRandomFilename(std::string &s,bo - retry++; - } - while(!f && (retry < MAX_RETRY) ); -- return f; -+ return static_cast(f); - - } - diff --git a/3Depict.spec b/3Depict.spec index 048bada..03a4d45 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -37,7 +37,8 @@ BuildRequires: qhull-devel Patch0: %{name}-%{version}-manual-pdf-loc.patch #Fedora specific font dir Patch1: %{name}-%{version}-font-path.patch - +#Upstream post-release patches from hg repo +Patch2: %{name}-%{version}-upstream-effd078610a7.patch %description This software is designed to help users visualize and analyze 3D point clouds @@ -51,6 +52,7 @@ useful for general scalar valued point data purposes. %patch0 %patch1 +%patch2 %if 0%{?fedora} > 24 # Installation directory has changed @@ -121,6 +123,7 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf * Wed Jun 01 2016 D Haley - 0.0.19-1 - Update to 0.0.19 - Remove gcc patch, fixed upstream +- Add upstream patch * Fri Apr 29 2016 Ralf Corsépius - 0.0.18-7 - Rebuild for qhull-2015.2-1. From 4c1ec64e9f82e5ca7def467ad4c37b57ff5766f2 Mon Sep 17 00:00:00 2001 From: mycae Date: Wed, 3 Aug 2016 21:45:07 -0400 Subject: [PATCH 05/54] * Update sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7909acc..101ae2b 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /3Depict-0.0.16.tar.gz /3Depict-0.0.17.tar.gz /3Depict-0.0.18.tar.gz +/3Depict-0.0.19.tar.gz diff --git a/sources b/sources index 187026f..768b71f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -feddf0bf7b81d02e064a2b7cfe81aaeb 3Depict-0.0.18.tar.gz +09f6e960a3a2e7e2a217e64930a1a3d4 3Depict-0.0.19.tar.gz From 70a58bbed2067874c55e698ef579c9c0bc6fb72f Mon Sep 17 00:00:00 2001 From: mycae Date: Wed, 3 Aug 2016 22:35:45 -0400 Subject: [PATCH 06/54] * Fix broken patch --- 3Depict-0.0.19-upstream-effd078610a7.patch | 90 ++++++++++------------ 1 file changed, 41 insertions(+), 49 deletions(-) diff --git a/3Depict-0.0.19-upstream-effd078610a7.patch b/3Depict-0.0.19-upstream-effd078610a7.patch index 34a4cc8..d588967 100644 --- a/3Depict-0.0.19-upstream-effd078610a7.patch +++ b/3Depict-0.0.19-upstream-effd078610a7.patch @@ -1,14 +1,6 @@ -diff -r bcb9acfa66de -r effd078610a7 .hgtags ---- a/.hgtags Tue May 31 13:04:58 2016 +1000 -+++ b/.hgtags Tue Jun 21 12:45:20 2016 +0100 -@@ -16,3 +16,4 @@ - 9fcee7d53bc2a2b69db9dbe59c6f1264615a54e4 3Depict-0.0.16 - 19a65d51c5d65ebf3d8b7760cfa4edde36c251c0 3Depict-0.0.17 - 910618ab1f369c5a9253965e12f5d8f75fceb0c6 3Depict-0.0.18 -+bcb9acfa66de56f6531016d1e81a68d7118b7b35 3Depict-0.0.19 diff -r bcb9acfa66de -r effd078610a7 docs/manual-latex/build-latex.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/docs/manual-latex/build-latex.sh Tue Jun 21 12:45:20 2016 +0100 ++++ docs/manual-latex/build-latex.sh Tue Jun 21 12:45:20 2016 +0100 @@ -0,0 +1,37 @@ +#!/bin/bash +LATEXBIN=pdflatex @@ -48,8 +40,8 @@ diff -r bcb9acfa66de -r effd078610a7 docs/manual-latex/build-latex.sh +fi + diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.cpp ---- a/src/backend/filter.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filter.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filter.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filter.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -553,7 +553,7 @@ ASSERT(scatterIntensity.empty()); @@ -60,8 +52,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.cpp void RangeStreamData::checkSelfConsistent() const { diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.h ---- a/src/backend/filter.h Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filter.h Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filter.h Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filter.h Tue Jun 21 12:45:20 2016 +0100 @@ -395,7 +395,7 @@ //Label for X, Y axes std::string xLabel,yLabel; @@ -72,8 +64,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.h //!Structured XY data pairs for plotting curve Array2D xyData; diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/algorithms/rdf.cpp ---- a/src/backend/filters/algorithms/rdf.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/algorithms/rdf.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/algorithms/rdf.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/algorithms/rdf.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -862,6 +862,8 @@ return RDF_ABORT_FAIL; #endif @@ -93,8 +85,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/algorithms/rdf.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/annotation.cpp ---- a/src/backend/filters/annotation.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/annotation.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/annotation.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/annotation.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -167,8 +167,15 @@ //If we are not enabled, do not draw anything into the output @@ -120,8 +112,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/annotation.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/boundingBox.cpp ---- a/src/backend/filters/boundingBox.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/boundingBox.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/boundingBox.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/boundingBox.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -510,7 +510,6 @@ } #endif @@ -139,8 +131,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/boundingBox.cpp if(bTotal.isValid()) { diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/clusterAnalysis.cpp ---- a/src/backend/filters/clusterAnalysis.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/clusterAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/clusterAnalysis.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/clusterAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -685,7 +685,7 @@ Plot2DStreamData *p = new Plot2DStreamData; p->parent=this; @@ -151,8 +143,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/clusterAnalysis.cpp p->xLabel=TRANS("\\lambda_1:\\lambda_2 ratio"); p->yLabel=TRANS("\\lambda_2:\\lambda_3 ratio"); diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionColour.cpp ---- a/src/backend/filters/ionColour.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/ionColour.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/ionColour.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/ionColour.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -271,12 +271,14 @@ @@ -169,8 +161,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionColour.cpp stream_cast(p.data,alpha); p.type=PROPERTY_TYPE_REAL; diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionDownsample.cpp ---- a/src/backend/filters/ionDownsample.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/ionDownsample.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/ionDownsample.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/ionDownsample.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -88,7 +88,7 @@ rsdIncoming = new RangeStreamData; *rsdIncoming=*c; @@ -191,8 +183,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionDownsample.cpp unsigned int typeVal; if(fixedNumOut) diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionInfo.cpp ---- a/src/backend/filters/ionInfo.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/ionInfo.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/ionInfo.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/ionInfo.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -398,7 +398,7 @@ @@ -213,8 +205,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionInfo.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spatialAnalysis.cpp ---- a/src/backend/filters/spatialAnalysis.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/spatialAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/spatialAnalysis.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/spatialAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -655,115 +655,180 @@ return ERR_FILE_READ_FAIL; @@ -821,8 +813,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spatialAnalysis.cpp const IonStreamData *createLCIonStream() { diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spectrumPlot.cpp ---- a/src/backend/filters/spectrumPlot.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/spectrumPlot.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/spectrumPlot.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/spectrumPlot.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -517,6 +517,8 @@ getOut.push_back(d); @@ -833,8 +825,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spectrumPlot.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/transform.cpp ---- a/src/backend/filters/transform.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/transform.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/transform.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/transform.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -998,8 +998,10 @@ break; } @@ -870,8 +862,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/transform.cpp return false; break; diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.cpp ---- a/src/backend/plot.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/plot.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/plot.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/plot.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -29,7 +29,7 @@ NTRANS("Moving avg.") }; @@ -1023,8 +1015,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.h ---- a/src/backend/plot.h Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/plot.h Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/plot.h Tue May 31 13:04:58 2016 +1000 ++++ src/backend/plot.h Tue Jun 21 12:45:20 2016 +0100 @@ -217,7 +217,7 @@ class PlotBase { @@ -1077,8 +1069,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.h //Retrieve the types of visible plots unsigned int getVisibleMode() const; diff -r bcb9acfa66de -r effd078610a7 src/backend/viscontrol.cpp ---- a/src/backend/viscontrol.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/viscontrol.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/viscontrol.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/viscontrol.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -249,7 +249,7 @@ plotData->yLabel,plotData->dataLabel); @@ -1098,8 +1090,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/viscontrol.cpp case PLOT_2D_DENS: { diff -r bcb9acfa66de -r effd078610a7 src/common/basics.cpp ---- a/src/common/basics.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/common/basics.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/common/basics.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/common/basics.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -1347,7 +1347,8 @@ while(CFile.good() && !CFile.eof() && atHeader) { @@ -1124,8 +1116,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/common/basics.cpp return 0; diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.cpp ---- a/src/gui/mainFrame.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/gui/mainFrame.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/gui/mainFrame.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/gui/mainFrame.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -1391,7 +1391,7 @@ updateWxTreeCtrl(treeFilters); @@ -1179,8 +1171,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.cpp consoleMessages=refreshControl->getConsoleMessages(); diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.h ---- a/src/gui/mainFrame.h Tue May 31 13:04:58 2016 +1000 -+++ b/src/gui/mainFrame.h Tue Jun 21 12:45:20 2016 +0100 +--- src/gui/mainFrame.h Tue May 31 13:04:58 2016 +1000 ++++ src/gui/mainFrame.h Tue Jun 21 12:45:20 2016 +0100 @@ -124,7 +124,7 @@ //!Update the progress information in the status bar void updateProgressStatus(); @@ -1191,8 +1183,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.h //!Complete the scene update. Returns false if failed void finishSceneUpdate(unsigned int errCode); diff -r bcb9acfa66de -r effd078610a7 src/gui/mathglPane.cpp ---- a/src/gui/mathglPane.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/gui/mathglPane.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/gui/mathglPane.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/gui/mathglPane.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -627,7 +627,7 @@ thePlot->getRegion(plotId,regionId,r); @@ -1221,8 +1213,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/gui/mathglPane.cpp //Draw "ghost" limits markers for move, //these appear as moving vertical bars to outline diff -r bcb9acfa66de -r effd078610a7 src/wx/wxcomponents.cpp ---- a/src/wx/wxcomponents.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/wx/wxcomponents.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/wx/wxcomponents.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/wx/wxcomponents.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -188,14 +188,14 @@ void CopyGrid::saveData() From b9e2ff5e8c7967966680324719264d6ae4aa074e Mon Sep 17 00:00:00 2001 From: builder Date: Sat, 14 Jan 2017 19:18:02 +0000 Subject: [PATCH 07/54] * Fix patch application * Rebuild for upstream mathgl --- 3Depict-0.0.19-upstream-effd078610a7.patch | 90 ++++++++++------------ 3Depict.spec | 5 +- 2 files changed, 45 insertions(+), 50 deletions(-) diff --git a/3Depict-0.0.19-upstream-effd078610a7.patch b/3Depict-0.0.19-upstream-effd078610a7.patch index 34a4cc8..d588967 100644 --- a/3Depict-0.0.19-upstream-effd078610a7.patch +++ b/3Depict-0.0.19-upstream-effd078610a7.patch @@ -1,14 +1,6 @@ -diff -r bcb9acfa66de -r effd078610a7 .hgtags ---- a/.hgtags Tue May 31 13:04:58 2016 +1000 -+++ b/.hgtags Tue Jun 21 12:45:20 2016 +0100 -@@ -16,3 +16,4 @@ - 9fcee7d53bc2a2b69db9dbe59c6f1264615a54e4 3Depict-0.0.16 - 19a65d51c5d65ebf3d8b7760cfa4edde36c251c0 3Depict-0.0.17 - 910618ab1f369c5a9253965e12f5d8f75fceb0c6 3Depict-0.0.18 -+bcb9acfa66de56f6531016d1e81a68d7118b7b35 3Depict-0.0.19 diff -r bcb9acfa66de -r effd078610a7 docs/manual-latex/build-latex.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/docs/manual-latex/build-latex.sh Tue Jun 21 12:45:20 2016 +0100 ++++ docs/manual-latex/build-latex.sh Tue Jun 21 12:45:20 2016 +0100 @@ -0,0 +1,37 @@ +#!/bin/bash +LATEXBIN=pdflatex @@ -48,8 +40,8 @@ diff -r bcb9acfa66de -r effd078610a7 docs/manual-latex/build-latex.sh +fi + diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.cpp ---- a/src/backend/filter.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filter.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filter.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filter.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -553,7 +553,7 @@ ASSERT(scatterIntensity.empty()); @@ -60,8 +52,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.cpp void RangeStreamData::checkSelfConsistent() const { diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.h ---- a/src/backend/filter.h Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filter.h Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filter.h Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filter.h Tue Jun 21 12:45:20 2016 +0100 @@ -395,7 +395,7 @@ //Label for X, Y axes std::string xLabel,yLabel; @@ -72,8 +64,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.h //!Structured XY data pairs for plotting curve Array2D xyData; diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/algorithms/rdf.cpp ---- a/src/backend/filters/algorithms/rdf.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/algorithms/rdf.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/algorithms/rdf.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/algorithms/rdf.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -862,6 +862,8 @@ return RDF_ABORT_FAIL; #endif @@ -93,8 +85,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/algorithms/rdf.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/annotation.cpp ---- a/src/backend/filters/annotation.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/annotation.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/annotation.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/annotation.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -167,8 +167,15 @@ //If we are not enabled, do not draw anything into the output @@ -120,8 +112,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/annotation.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/boundingBox.cpp ---- a/src/backend/filters/boundingBox.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/boundingBox.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/boundingBox.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/boundingBox.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -510,7 +510,6 @@ } #endif @@ -139,8 +131,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/boundingBox.cpp if(bTotal.isValid()) { diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/clusterAnalysis.cpp ---- a/src/backend/filters/clusterAnalysis.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/clusterAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/clusterAnalysis.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/clusterAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -685,7 +685,7 @@ Plot2DStreamData *p = new Plot2DStreamData; p->parent=this; @@ -151,8 +143,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/clusterAnalysis.cpp p->xLabel=TRANS("\\lambda_1:\\lambda_2 ratio"); p->yLabel=TRANS("\\lambda_2:\\lambda_3 ratio"); diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionColour.cpp ---- a/src/backend/filters/ionColour.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/ionColour.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/ionColour.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/ionColour.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -271,12 +271,14 @@ @@ -169,8 +161,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionColour.cpp stream_cast(p.data,alpha); p.type=PROPERTY_TYPE_REAL; diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionDownsample.cpp ---- a/src/backend/filters/ionDownsample.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/ionDownsample.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/ionDownsample.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/ionDownsample.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -88,7 +88,7 @@ rsdIncoming = new RangeStreamData; *rsdIncoming=*c; @@ -191,8 +183,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionDownsample.cpp unsigned int typeVal; if(fixedNumOut) diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionInfo.cpp ---- a/src/backend/filters/ionInfo.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/ionInfo.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/ionInfo.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/ionInfo.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -398,7 +398,7 @@ @@ -213,8 +205,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionInfo.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spatialAnalysis.cpp ---- a/src/backend/filters/spatialAnalysis.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/spatialAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/spatialAnalysis.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/spatialAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -655,115 +655,180 @@ return ERR_FILE_READ_FAIL; @@ -821,8 +813,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spatialAnalysis.cpp const IonStreamData *createLCIonStream() { diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spectrumPlot.cpp ---- a/src/backend/filters/spectrumPlot.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/spectrumPlot.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/spectrumPlot.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/spectrumPlot.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -517,6 +517,8 @@ getOut.push_back(d); @@ -833,8 +825,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spectrumPlot.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/transform.cpp ---- a/src/backend/filters/transform.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/filters/transform.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/filters/transform.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/filters/transform.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -998,8 +998,10 @@ break; } @@ -870,8 +862,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/transform.cpp return false; break; diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.cpp ---- a/src/backend/plot.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/plot.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/plot.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/plot.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -29,7 +29,7 @@ NTRANS("Moving avg.") }; @@ -1023,8 +1015,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.cpp } diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.h ---- a/src/backend/plot.h Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/plot.h Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/plot.h Tue May 31 13:04:58 2016 +1000 ++++ src/backend/plot.h Tue Jun 21 12:45:20 2016 +0100 @@ -217,7 +217,7 @@ class PlotBase { @@ -1077,8 +1069,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.h //Retrieve the types of visible plots unsigned int getVisibleMode() const; diff -r bcb9acfa66de -r effd078610a7 src/backend/viscontrol.cpp ---- a/src/backend/viscontrol.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/backend/viscontrol.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/backend/viscontrol.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/backend/viscontrol.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -249,7 +249,7 @@ plotData->yLabel,plotData->dataLabel); @@ -1098,8 +1090,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/backend/viscontrol.cpp case PLOT_2D_DENS: { diff -r bcb9acfa66de -r effd078610a7 src/common/basics.cpp ---- a/src/common/basics.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/common/basics.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/common/basics.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/common/basics.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -1347,7 +1347,8 @@ while(CFile.good() && !CFile.eof() && atHeader) { @@ -1124,8 +1116,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/common/basics.cpp return 0; diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.cpp ---- a/src/gui/mainFrame.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/gui/mainFrame.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/gui/mainFrame.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/gui/mainFrame.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -1391,7 +1391,7 @@ updateWxTreeCtrl(treeFilters); @@ -1179,8 +1171,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.cpp consoleMessages=refreshControl->getConsoleMessages(); diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.h ---- a/src/gui/mainFrame.h Tue May 31 13:04:58 2016 +1000 -+++ b/src/gui/mainFrame.h Tue Jun 21 12:45:20 2016 +0100 +--- src/gui/mainFrame.h Tue May 31 13:04:58 2016 +1000 ++++ src/gui/mainFrame.h Tue Jun 21 12:45:20 2016 +0100 @@ -124,7 +124,7 @@ //!Update the progress information in the status bar void updateProgressStatus(); @@ -1191,8 +1183,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.h //!Complete the scene update. Returns false if failed void finishSceneUpdate(unsigned int errCode); diff -r bcb9acfa66de -r effd078610a7 src/gui/mathglPane.cpp ---- a/src/gui/mathglPane.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/gui/mathglPane.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/gui/mathglPane.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/gui/mathglPane.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -627,7 +627,7 @@ thePlot->getRegion(plotId,regionId,r); @@ -1221,8 +1213,8 @@ diff -r bcb9acfa66de -r effd078610a7 src/gui/mathglPane.cpp //Draw "ghost" limits markers for move, //these appear as moving vertical bars to outline diff -r bcb9acfa66de -r effd078610a7 src/wx/wxcomponents.cpp ---- a/src/wx/wxcomponents.cpp Tue May 31 13:04:58 2016 +1000 -+++ b/src/wx/wxcomponents.cpp Tue Jun 21 12:45:20 2016 +0100 +--- src/wx/wxcomponents.cpp Tue May 31 13:04:58 2016 +1000 ++++ src/wx/wxcomponents.cpp Tue Jun 21 12:45:20 2016 +0100 @@ -188,14 +188,14 @@ void CopyGrid::saveData() diff --git a/3Depict.spec b/3Depict.spec index 03a4d45..555a96a 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.19 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -120,6 +120,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Sat Jan 14 2017 D Haley - 0.0.19-2 +- Rebuild for libmgl bump + * Wed Jun 01 2016 D Haley - 0.0.19-1 - Update to 0.0.19 - Remove gcc patch, fixed upstream From 2a08a5416df0482ead7b80bfd8e173488e840143 Mon Sep 17 00:00:00 2001 From: mycae Date: Sun, 5 Feb 2017 06:32:13 -0500 Subject: [PATCH 08/54] * Update to upstream 0.0.20 --- 3Depict-0.0.19-upstream-effd078610a7.patch | 1235 ----------------- ...th.patch => 3Depict-0.0.20-font-path.patch | 0 ...tch => 3Depict-0.0.20-manual-pdf-loc.patch | 0 3Depict.spec | 13 +- 4 files changed, 6 insertions(+), 1242 deletions(-) delete mode 100644 3Depict-0.0.19-upstream-effd078610a7.patch rename 3Depict-0.0.19-font-path.patch => 3Depict-0.0.20-font-path.patch (100%) rename 3Depict-0.0.19-manual-pdf-loc.patch => 3Depict-0.0.20-manual-pdf-loc.patch (100%) diff --git a/3Depict-0.0.19-upstream-effd078610a7.patch b/3Depict-0.0.19-upstream-effd078610a7.patch deleted file mode 100644 index d588967..0000000 --- a/3Depict-0.0.19-upstream-effd078610a7.patch +++ /dev/null @@ -1,1235 +0,0 @@ -diff -r bcb9acfa66de -r effd078610a7 docs/manual-latex/build-latex.sh ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ docs/manual-latex/build-latex.sh Tue Jun 21 12:45:20 2016 +0100 -@@ -0,0 +1,37 @@ -+#!/bin/bash -+LATEXBIN=pdflatex -+BIBTEXBIN=bibtex -+if [ x`which $LATEXBIN` == x"" ] ; then -+ echo "no $LATEXBIN" -+ exit 1 -+fi -+ -+if [ x`which $BIBTEXBIN` == x"" ] ; then -+ echo "no $BIBTEXBIN" -+ exit 1 -+fi -+ -+MANUAL=manual.tex -+ -+#check to see if the manual and its bib file are around -+if [ ! -f $MANUAL ] ; then -+ echo "$MANUAL is missing" -+ exit 1 -+fi -+ -+#Remove the old manul -+rm -f manual.pdf -+ -+ -+ -+#run the multi-pass latex build. -+$LATEXBIN $MANUAL || { echo "failed latex build (pass 1 of 2)"; exit 1 ; } -+$BIBTEXBIN `basename -s .tex $MANUAL` || { echo "failed bibtex build"; exit 1 ; } -+$LATEXBIN $MANUAL || { echo "failed latex build (pass 2 of 2)"; exit 1 ; } -+ -+ -+if [ ! -f manual.pdf ] ; then -+ echo "latex ran, but somehow we did not output the PDF...." -+ exit 1 -+fi -+ -diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.cpp ---- src/backend/filter.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filter.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -553,7 +553,7 @@ - ASSERT(scatterIntensity.empty()); - - -- ASSERT(plotType < PLOT_TYPE_ENUM_END); -+ ASSERT(plotStyle < PLOT_TYPE_ENUM_END); - } - void RangeStreamData::checkSelfConsistent() const - { -diff -r bcb9acfa66de -r effd078610a7 src/backend/filter.h ---- src/backend/filter.h Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filter.h Tue Jun 21 12:45:20 2016 +0100 -@@ -395,7 +395,7 @@ - //Label for X, Y axes - std::string xLabel,yLabel; - -- unsigned int plotType; -+ unsigned int plotStyle; - - //!Structured XY data pairs for plotting curve - Array2D xyData; -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/algorithms/rdf.cpp ---- src/backend/filters/algorithms/rdf.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/algorithms/rdf.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -862,6 +862,8 @@ - return RDF_ABORT_FAIL; - #endif - -+ *progressPtr=100; -+ - return 0; - } - -@@ -1003,6 +1005,8 @@ - #endif - - //Calculations complete! -+ *progressPtr=100; -+ - return 0; - } - -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/annotation.cpp ---- src/backend/filters/annotation.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/annotation.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -167,8 +167,15 @@ - - //If we are not enabled, do not draw anything into the output - if(!active) -+ { -+ progress.filterProgress=100; - return 0; -+ } - -+ progress.step=1; -+ progress.maxStep=1; -+ progress.stepName=TRANS("Draw"); -+ - DrawStreamData *d; - d = new DrawStreamData; - d->parent=this; -@@ -505,6 +512,7 @@ - d->cached=0; - getOut.push_back(d); - -+ progress.filterProgress=100; - return 0; - } - -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/boundingBox.cpp ---- src/backend/filters/boundingBox.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/boundingBox.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -510,7 +510,6 @@ - } - #endif - bTotal.expand(bThis); -- progress.filterProgress=100; - break; - } - default: -@@ -521,6 +520,7 @@ - getOut.push_back(dataIn[ui]); - } - -+ progress.filterProgress=100; - //Append the bounding box if it is valid - if(bTotal.isValid()) - { -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/clusterAnalysis.cpp ---- src/backend/filters/clusterAnalysis.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/clusterAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -685,7 +685,7 @@ - Plot2DStreamData *p = new Plot2DStreamData; - p->parent=this; - -- p->plotType=PLOT_2D_SCATTER; -+ p->plotStyle=PLOT_2D_SCATTER; - p->dataLabel=TRANS("Morphology Plot"); - p->xLabel=TRANS("\\lambda_1:\\lambda_2 ratio"); - p->yLabel=TRANS("\\lambda_2:\\lambda_3 ratio"); -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionColour.cpp ---- src/backend/filters/ionColour.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/ionColour.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -271,12 +271,14 @@ - - - p.name=TRANS("Show Bar"); -+ p.helpText=TRANS("Display the colour legend in the 3D view"); - p.key=KEY_IONCOLOURFILTER_SHOWBAR; - p.data=boolStrEnc(showColourBar); - p.type=PROPERTY_TYPE_BOOL; - propertyList.addProperty(p,curGroup); - - p.name=TRANS("Opacity"); -+ p.helpText=TRANS("How see-through to make the legend (0- transparent, 1- solid)"); - p.key=KEY_IONCOLOURFILTER_ALPHA; - stream_cast(p.data,alpha); - p.type=PROPERTY_TYPE_REAL; -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionDownsample.cpp ---- src/backend/filters/ionDownsample.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/ionDownsample.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -88,7 +88,7 @@ - rsdIncoming = new RangeStreamData; - *rsdIncoming=*c; - -- if(ionFractions.size() != c->rangeFile->getNumIons()) -+ if(ionFractions.size() != c->rangeFile->getNumIons()+1) - { - //set up some defaults; seeded from normal - ionFractions.resize(c->rangeFile->getNumIons()+1,fraction); -@@ -464,7 +464,8 @@ - - propertyList.setGroupTitle(curGroup,TRANS("Mode")); - curGroup++; -- if(rsdIncoming && perSpecies) -+ -+ if(rsdIncoming && perSpecies && rsdIncoming->enabledIons.size()) - { - unsigned int typeVal; - if(fixedNumOut) -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/ionInfo.cpp ---- src/backend/filters/ionInfo.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/ionInfo.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -398,7 +398,7 @@ - - - //"Pairwise events" - where we perform an action if both -- //These -+ //these are set - if(wantIonCounts && wantVolume) - { - if(computedVol > sqrtf(std::numeric_limits::epsilon())) -@@ -420,6 +420,9 @@ - } - } - -+ -+ progress.filterProgress=100; -+ - return 0; - } - -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spatialAnalysis.cpp ---- src/backend/filters/spatialAnalysis.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/spatialAnalysis.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -655,115 +655,180 @@ - return ERR_FILE_READ_FAIL; - - -- -- progress.step=3; -- progress.stepName=TRANS("Build"); -- progress.filterProgress=0; -- -- //Build the search tree we will use to perform replacement -- K3DTreeMk2 tree; -- tree.resetPts(fileIons,false); -- if(!tree.build()) -- return ERR_ABORT_FAIL; -- BoundCube b; -- tree.getBoundCube(b); -- -- //map the offset of the nearest to -- //the tree ID -- vector nearestVec; -- nearestVec.resize(inIons.size()); -- -- //TODO: pair vector might be faster -- // as we can use it in sequence, and can use openmp -- map matchedMap; -- -- //Find the nearest point for all points in the dataset -- -- #pragma omp parallel for -- for(size_t ui=0;ui outIons; -+ if(inIons.empty() || fileIons.empty()) - { -- nearestVec[ui]=tree.findNearestUntagged(inIons[ui].getPos(),b,false); -- } -- -- float sqrReplaceTol=replaceTolerance*replaceTolerance; -- -- //Filter this to only points that had an NN within range -- #pragma omp parallel for -- for(size_t ui=0;ui outIons; -- switch(replaceMode) -- { -- case REPLACE_MODE_SUBTRACT: -+ -+ progress.step=3; -+ progress.stepName=TRANS("Build"); -+ progress.filterProgress=0; -+ -+ //TODO: Possible speed increase by finding the smaller of -+ // the two inputs, and using that to build the tree -+ -+ //Build the search tree we will use to perform replacement -+ K3DTreeMk2 tree; -+ tree.resetPts(fileIons,false); -+ if(!tree.build()) -+ return ERR_ABORT_FAIL; -+ BoundCube b; -+ tree.getBoundCube(b); -+ -+ //map the offset of the nearest to -+ //the tree ID -+ vector nearestVec; -+ nearestVec.resize(inIons.size()); -+ -+ //TODO: pair vector might be faster -+ // as we can use it in sequence, and can use openmp -+ map matchedMap; -+ -+ //Find the nearest point for all points in the dataset -+ // maps the ith ion in "inions" to the tree value -+ #pragma omp parallel for -+ for(size_t ui=0;ui matchedMap.size()) -- outIons.reserve(inIons.size()-matchedMap.size()); -- -- // -- #pragma omp parallel for -- for(unsigned int ui=0;ui::iterator it; -- it=matchedMap.find(ui); -- if(it != matchedMap.end()) -- continue; -- - #pragma omp critical -- outIons.push_back(inIons[ui]); -+ matchedMap[ui]=tree.getOrigIndex(nearestVec[ui]); - } -- break; - } -- case REPLACE_MODE_INTERSECT: -+ -+ nearestVec.clear(); -+ -+ -+ progress.step=4; -+ progress.stepName=TRANS("Compute"); -+ progress.filterProgress=0; -+ -+ -+ //now we have a map that matches as so: -+ // map ( "inIon" ID -> "fileIon" ID) -+ // inIon should be our "A" in "A operator B" -+ switch(replaceMode) - { -- outIons.reserve(matchedMap.size()); -- -- if(replaceMass) -+ case REPLACE_MODE_SUBTRACT: - { -- for(map::const_iterator it=matchedMap.begin();it!=matchedMap.end();++it) -+ //If no matches, A-0 = A. Just return input -+ if(matchedMap.empty()) - { -- outIons.push_back(fileIons[it->second]); -- ASSERT(fileIons[it->second].getPosRef().sqrDist(inIons[it->first].getPosRef()) < sqrReplaceTol); -+ outIons.swap(inIons); -+ break; - } -+ //In subtraction mode, we should have -+ // at least this many ions -+ if(inIons.size() > matchedMap.size()) -+ outIons.reserve(inIons.size()-matchedMap.size()); -+ -+ // -+ #pragma omp parallel for -+ for(unsigned int ui=0;ui::iterator it; -+ it=matchedMap.find(ui); -+ if(it != matchedMap.end()) -+ continue; -+ -+ #pragma omp critical -+ outIons.push_back(inIons[ui]); -+ } -+ break; - } -- else -+ case REPLACE_MODE_INTERSECT: - { -- for(map::const_iterator it=matchedMap.begin();it!=matchedMap.end();++it) -+ //Finish if no matches -+ if(matchedMap.empty()) -+ break; -+ -+ outIons.reserve(matchedMap.size()); -+ -+ if(replaceMass) - { -- outIons.push_back(inIons[it->first]); -+ for(map::const_iterator it=matchedMap.begin();it!=matchedMap.end();++it) -+ { -+ outIons.push_back(fileIons[it->second]); -+ ASSERT(fileIons[it->second].getPosRef().sqrDist(inIons[it->first].getPosRef()) < sqrReplaceTol); -+ } - } -+ else -+ { -+ for(map::const_iterator it=matchedMap.begin();it!=matchedMap.end();++it) -+ { -+ outIons.push_back(inIons[it->first]); -+ } -+ } -+ break; - } -- break; -+ case REPLACE_MODE_UNION: -+ { -+ outIons.swap(fileIons); -+ outIons.reserve(outIons.size() + fileIons.size() - matchedMap.size()); -+ map::const_iterator it=matchedMap.begin(); -+ -+ -+ for(unsigned int ui=0;uifirst == ui) ) -+ { -+ it++; -+ continue; -+ } -+ -+ -+ outIons.push_back(inIons[ui]); -+ } -+ -+ -+ break; -+ } -+ default: -+ ASSERT(false); - } -- case REPLACE_MODE_UNION: -- { -- ASSERT(false); -- break; -- } -- default: -- ASSERT(false); - } - - //Only output ions if any were found -@@ -2779,6 +2844,8 @@ - newD->data.resize(d->data.size()); - if(stopMode == STOP_MODE_NEIGHBOUR) - { -+ unsigned int nProg=0; -+ - bool spin=false; - #pragma omp parallel for shared(spin) - for(size_t uj=0;ujdata.size();uj++) -@@ -2811,14 +2878,15 @@ - } - - res.clear(); -+ #pragma atomic -+ nProg++; - - //Update progress as needed - if(!curProg--) - { - #pragma omp critical - { -- n+=NUM_CALLBACK/(nnMax); -- progress.filterProgress= (unsigned int)(((float)n/(float)totalDataSize)*100.0f); -+ progress.filterProgress= (unsigned int)(((float)nProg/(float)totalDataSize)*100.0f); - if(*Filter::wantAbort) - spin=true; - curProg=NUM_CALLBACK/(nnMax); -@@ -3063,9 +3131,10 @@ - IonStreamData *newD = new IonStreamData; - newD->parent=this; - -- //Adjust this number to provide more update thanusual, because we -+ //Adjust this number to provide more update than usual, because we - //are not doing an o(1) task between updates; yes, it is a hack -- unsigned int curProg=NUM_CALLBACK/(10*nnMax); -+ const unsigned int PROG_PER_PASS=NUM_CALLBACK/(10*nnMax); -+ unsigned int curProg=PROG_PER_PASS; - newD->data.reserve(d->data.size()); - if(stopMode == STOP_MODE_NEIGHBOUR) - { -@@ -3113,11 +3182,11 @@ - { - #pragma omp critical - { -- n+=NUM_CALLBACK/(nnMax); -+ n+=PROG_PER_PASS; - progress.filterProgress= (unsigned int)(((float)n/(float)totalDataSize)*100.0f); - if(*Filter::wantAbort) - spin=true; -- curProg=NUM_CALLBACK/(nnMax); -+ curProg=PROG_PER_PASS; - } - } - } -@@ -3263,6 +3332,8 @@ - break; - } - } -+ progress.filterProgress=100; -+ - //If we have bad points, let the user know. - if(!badPts.empty()) - { -@@ -4230,11 +4301,8 @@ - } - - //distance between search pt and found pt -- float sqrDistance; -- sqrDistance = searchTree.getPtRef(ptIdx).sqrDist(pSource[ui].getPosRef()); -- -- if(sqrDistance > DISTANCE_EPSILON) -- ptsFound.insert(ptIdx); -+ -+ ptsFound.insert(ptIdx); - } - - -@@ -4244,8 +4312,14 @@ - //Count the number of numerator and denominator ions, using the masses we set aside earlier - for(set::iterator it=ptsFound.begin(); it!=ptsFound.end(); ++it) - { -+ -+ //check that the distance is non-zero, to force no self-matching -+ float sqrDistance; -+ sqrDistance = searchTree.getPtRef(*it).sqrDist(pSource[ui].getPosRef()); -+ if(sqrDistance < DISTANCE_EPSILON) -+ continue; -+ - float ionMass; -- //check that the distance is non-zero, to force no self-matching - ionMass = dataMasses[searchTree.getOrigIndex(*it)]; - - unsigned int ionID; -@@ -4326,9 +4400,11 @@ - bool nnHistogramTest(); - bool rdfPlotTest(); - bool axialDistTest(); --bool replaceTest(); -+bool replaceIntersectAndUnionTest(); - bool localConcTestRadius(); - bool localConcTestNN(); -+bool replaceSubtractTest(); -+bool replaceUnionTest(); - - bool SpatialAnalysisFilter::runUnitTests() - { -@@ -4343,8 +4419,15 @@ - - if(!axialDistTest()) - return false; -- if(!replaceTest()) -+ if(!replaceIntersectAndUnionTest()) - return false; -+ -+ if(!replaceSubtractTest()) -+ return false; -+ -+ if(!replaceUnionTest()) -+ return false; -+ - if(!localConcTestRadius()) - return false; - -@@ -4617,7 +4700,7 @@ - return true; - } - --bool replaceTest() -+bool replaceIntersectAndUnionTest() - { - std::string ionFile=createTmpFilename(NULL,".pos"); - -@@ -4637,6 +4720,157 @@ - //Create a spatial analysis filter - SpatialAnalysisFilter *f=new SpatialAnalysisFilter; - f->setCaching(false); -+ //Set it to do a union calculation -+ bool needUp; -+ string s; -+ s=TRANS(SPATIAL_ALGORITHMS[ALGORITHM_REPLACE]); -+ TEST(f->setProperty(KEY_ALGORITHM,s,needUp),"Set prop"); -+ TEST(f->setProperty(KEY_REPLACE_FILE,ionFile,needUp),"Set prop"); -+ s="1"; -+ TEST(f->setProperty(KEY_REPLACE_VALUE,s,needUp),"Set prop"); -+ -+ vector opVec; -+ opVec.push_back(REPLACE_MODE_INTERSECT); -+ opVec.push_back(REPLACE_MODE_UNION); -+ -+ ProgressData p; -+ vector streamIn,streamOut; -+ streamIn.push_back(d); -+ for(unsigned int opId=0;opIdsetProperty(KEY_REPLACE_ALGORITHM,s,needUp),"Set prop"); -+ -+ //Do the refresh -+ TEST(!f->refresh(streamIn,streamOut,p),"refresh OK"); -+ -+ TEST(streamOut.size() == 1,"stream count"); -+ TEST(streamOut[0]->getStreamType() == STREAM_TYPE_IONS,"stream type"); -+ TEST(streamOut[0]->getNumBasicObjects() == NIONS,"Number objects"); -+ -+ //we should have taken the mass-to-charge from the file -+ const IonStreamData *outIons = (const IonStreamData*)streamOut[0]; -+ for(unsigned int ui=0;uidata[ui].getMassToCharge() == 1); -+ } -+ delete streamOut[0]; -+ streamOut.clear(); -+ } -+ delete f; -+ delete d; -+ -+ wxRemoveFile(ionFile); -+ -+ -+ return true; -+} -+ -+bool replaceSubtractTest() -+{ -+ std::string ionFile=createTmpFilename(NULL,".pos"); -+ -+ vector ions; -+ const unsigned int NIONS=10; -+ const unsigned int DIFF_COUNT=5; -+ for(unsigned int ui=0;ui tmpI; -+ for(unsigned int ui=0;uidata.swap(ions); -+ -+ //Create a spatial analysis filter -+ SpatialAnalysisFilter *f=new SpatialAnalysisFilter; -+ f->setCaching(false); -+ -+ //Set it to do a subtraction calculation -+ bool needUp; -+ string s; -+ s=TRANS(SPATIAL_ALGORITHMS[ALGORITHM_REPLACE]); -+ TEST(f->setProperty(KEY_ALGORITHM,s,needUp),"Set prop"); -+ TEST(f->setProperty(KEY_REPLACE_FILE,ionFile,needUp),"Set prop"); -+ s=TRANS(REPLACE_ALGORITHMS[REPLACE_MODE_SUBTRACT]); -+ TEST(f->setProperty(KEY_REPLACE_ALGORITHM,s,needUp),"Set prop"); -+ -+ //Do the refresh -+ ProgressData p; -+ vector streamIn,streamOut; -+ streamIn.push_back(d); -+ TEST(!f->refresh(streamIn,streamOut,p),"refresh OK"); -+ delete f; -+ delete d; -+ streamIn.clear(); -+ -+ TEST(streamOut.size() == 1,"stream count"); -+ TEST(streamOut[0]->getStreamType() == STREAM_TYPE_IONS,"stream type"); -+ TEST(streamOut[0]->getNumBasicObjects() == DIFF_COUNT,"Number objects"); -+ -+ //we should have taken the mass-to-charge from the original data, -+ // not the file -+ const IonStreamData *outIons = (const IonStreamData*)streamOut[0]; -+ for(unsigned int ui=0;uigetNumBasicObjects(); ui++) -+ { -+ ASSERT(outIons->data[ui].getMassToCharge() == 1); -+ ASSERT(outIons->data[ui].getPos()[2] >= 0); -+ } -+ -+ wxRemoveFile(ionFile); -+ -+ delete streamOut[0]; -+ -+ return true; -+} -+ -+bool replaceUnionTest() -+{ -+ std::string ionFile=createTmpFilename(NULL,".pos"); -+ -+ //"B" dataset -+ vector ions; -+ ions.push_back(IonHit(Point3D(0,0,0),1)); -+ ions.push_back(IonHit(Point3D(1,0,1),1)); -+ ions.push_back(IonHit(Point3D(0,1,1),1)); -+ -+ IonHit::makePos(ions,ionFile.c_str()); -+ ions.clear(); -+ -+ //"A" dataset -+ ions.push_back(IonHit(Point3D(0,0,0),2)); -+ ions.push_back(IonHit(Point3D(1,0,-1),2)); -+ ions.push_back(IonHit(Point3D(0,1,-1),2)); -+ -+ -+ IonStreamData *d = new IonStreamData; -+ d->data.swap(ions); -+ -+ //Create a spatial analysis filter -+ SpatialAnalysisFilter *f=new SpatialAnalysisFilter; -+ f->setCaching(false); - - //Set it to do a union calculation - bool needUp; -@@ -4644,13 +4878,11 @@ - s=TRANS(SPATIAL_ALGORITHMS[ALGORITHM_REPLACE]); - TEST(f->setProperty(KEY_ALGORITHM,s,needUp),"Set prop"); - TEST(f->setProperty(KEY_REPLACE_FILE,ionFile,needUp),"Set prop"); -- s=TRANS(REPLACE_ALGORITHMS[REPLACE_MODE_INTERSECT]); -+ s=TRANS(REPLACE_ALGORITHMS[REPLACE_MODE_UNION]); - TEST(f->setProperty(KEY_REPLACE_ALGORITHM,s,needUp),"Set prop"); -- - s="1"; - TEST(f->setProperty(KEY_REPLACE_VALUE,s,needUp),"Set prop"); - -- - //Do the refresh - ProgressData p; - vector streamIn,streamOut; -@@ -4662,14 +4894,16 @@ - - TEST(streamOut.size() == 1,"stream count"); - TEST(streamOut[0]->getStreamType() == STREAM_TYPE_IONS,"stream type"); -- TEST(streamOut[0]->getNumBasicObjects() == NIONS,"Number objects"); -- -- //we should have taken the mass-to-charge from the file -+ TEST(streamOut[0]->getNumBasicObjects() == 5,"Number objects"); -+ -+ //There should be - const IonStreamData *outIons = (const IonStreamData*)streamOut[0]; -- for(unsigned int ui=0;uigetNumBasicObjects(); ui++) - { -- ASSERT(outIons->data[ui].getMassToCharge() == 1); -+ sumV+=outIons->data[ui].getMassToCharge(); - } -+ TEST( EQ_TOL(sumV,7.0f),"mass-to-charge check"); - - wxRemoveFile(ionFile); - -@@ -4678,7 +4912,6 @@ - return true; - } - -- - //--- Local concentration tests -- - const IonStreamData *createLCIonStream() - { -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/spectrumPlot.cpp ---- src/backend/filters/spectrumPlot.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/spectrumPlot.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -517,6 +517,8 @@ - - getOut.push_back(d); - -+ progress.filterProgress=100; -+ - return 0; - } - -diff -r bcb9acfa66de -r effd078610a7 src/backend/filters/transform.cpp ---- src/backend/filters/transform.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/filters/transform.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -998,8 +998,10 @@ - break; - } - -+ } - } -- } -+ -+ progress.filterProgress=100; - } - else - { -@@ -1526,6 +1528,11 @@ - case KEY_CROP_MINIMUM: - { - ASSERT(scalarParams.size() ==2); -+ float tmp; -+ if(stream_cast(tmp,value) || tmp >=scalarParams[1]) -+ return false; -+ -+ - if(!applyPropertyNow(scalarParams[0],value,needUpdate)) - return false; - break; -@@ -1533,6 +1540,9 @@ - case KEY_CROP_MAXIMUM: - { - ASSERT(scalarParams.size() ==2); -+ float tmp; -+ if(stream_cast(tmp,value) || tmp <=scalarParams[0]) -+ return false; - if(!applyPropertyNow(scalarParams[1],value,needUpdate)) - return false; - break; -diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.cpp ---- src/backend/plot.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/plot.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -29,7 +29,7 @@ - NTRANS("Moving avg.") - }; - --const char *plotTypeStrings[]= { -+const char *traceStyleStrings[]= { - NTRANS("Lines"), - NTRANS("Bars"), - NTRANS("Steps"), -@@ -119,15 +119,15 @@ - string plotString(unsigned int plotMode) - { - ASSERT(plotMode< PLOT_TYPE_ENUM_END); -- return TRANS(plotTypeStrings[plotMode]); -+ return TRANS(traceStyleStrings[plotMode]); - } - - unsigned int plotID(const std::string &plotString) - { -- COMPILE_ASSERT(THREEDEP_ARRAYSIZE(plotTypeStrings) == PLOT_TYPE_ENUM_END); -+ COMPILE_ASSERT(THREEDEP_ARRAYSIZE(traceStyleStrings) == PLOT_TYPE_ENUM_END); - for(unsigned int ui=0;uigetPlotMode(); -+} -+ - void PlotWrapper::getVisibleIDs(vector &visiblePlotIDs ) const - { - -@@ -791,7 +797,7 @@ - if(!plottingData[ui]->visible) - continue; - -- if(plottingData[ui]->getType()!= PLOT_MODE_1D) -+ if(plottingData[ui]->getMode()!= PLOT_MODE_1D) - continue; - - if(((Plot1D*)plottingData[ui])->wantLogPlot()) -@@ -809,7 +815,7 @@ - float minYVal=0.1; - for(size_t ui=0;uivisible || plottingData[ui]->getType() !=PLOT_MODE_1D) -+ if(!plottingData[ui]->visible || plottingData[ui]->getMode() !=PLOT_MODE_1D) - continue; - - float tmp ; -@@ -929,7 +935,7 @@ - Plot2DFunc *curPlot; - curPlot=(Plot2DFunc*)plottingData[ui]; - -- if(curPlot->getType() == PLOT_2D_DENS) -+ if(curPlot->getMode() == PLOT_2D_DENS) - { - wantColourbar=true; - } -@@ -1047,11 +1053,6 @@ - plottingData[plotIDHandler.getPos(plotId)]->regionGroup.getRegion(regionId,region); - } - --unsigned int PlotWrapper::plotType(unsigned int plotId) const --{ -- return plottingData[plotIDHandler.getPos(plotId)]->getPlotMode(); --} -- - - void PlotWrapper::moveRegion(unsigned int plotID, unsigned int regionId, bool regionSelfUpdate, - unsigned int movementType, float newX, float newY) const -@@ -1135,7 +1136,7 @@ - - void PlotBase::copyBase(PlotBase *target) const - { -- target->plotType=plotType; -+ target->traceStyle=traceStyle; - target->minX=minX; - target->maxX=maxX; - target->minY=minY; -@@ -1157,12 +1158,12 @@ - - unsigned int PlotBase::getType() const - { -- return plotType; -+ return traceStyle; - } - - unsigned int PlotBase::getMode() const - { -- switch(plotType) -+ switch(traceStyle) - { - case PLOT_LINE_LINES: - case PLOT_LINE_BARS: -@@ -1181,7 +1182,7 @@ - Plot1D::Plot1D() - { - //Set the default plot properties -- plotType=PLOT_LINE_LINES; -+ traceStyle=PLOT_LINE_LINES; - plotMode=PLOT_MODE_1D; - xLabel=""; - yLabel=""; -@@ -1489,7 +1490,7 @@ - - - //Plot the appropriate form -- switch(plotMode) -+ switch(traceStyle) - { - case PLOT_LINE_LINES: - //Unfortunately, when using line plots, mathgl moves the data points to the plot boundary, -@@ -1632,7 +1633,7 @@ - Plot2DFunc::Plot2DFunc() - { - plotMode = PLOT_MODE_2D; -- plotType=PLOT_2D_DENS; -+ traceStyle=PLOT_2D_DENS; - } - - void Plot2DFunc::setData(const Array2D &a, -@@ -1705,7 +1706,8 @@ - - Plot2DScatter::Plot2DScatter() - { -- plotType=PLOT_2D_SCATTER; -+ plotMode=PLOT_2D_SCATTER; -+ traceStyle=PLOT_LINE_POINTS; - scatterIntensityLog=false; - } - -diff -r bcb9acfa66de -r effd078610a7 src/backend/plot.h ---- src/backend/plot.h Tue May 31 13:04:58 2016 +1000 -+++ src/backend/plot.h Tue Jun 21 12:45:20 2016 +0100 -@@ -217,7 +217,7 @@ - class PlotBase - { - protected: -- //!Sub type of plot (eg lines, bars for 1D) -+ //!Type of plot - unsigned int plotMode; - //!xaxis label - std::string xLabel; -@@ -229,8 +229,9 @@ - //plot colour (for single coloured plots) - float r,g,b; - -- //The type of plot (ie what class is it?) -- unsigned int plotType; -+ //The sub-style of the plot trace (eg lines, points, bars, etc) -+ // FIXME: This is badly named, change to traceStyle, or dataStyle, or something -+ unsigned int traceStyle; - - void copyBase(PlotBase *target) const; - -@@ -297,8 +298,12 @@ - void setStrings(const std::string &x, - const std::string &y,const std::string &t); - -+ //Set the colour of the plot trace - void setColour(float rNew, float gNew, float bNew); - -+ //set the visual style for the trace (dots, lines, etc) -+ void setTraceStyle(unsigned int newStyle) { traceStyle=newStyle;} -+ - std::string getXLabel() const { return xLabel;} - std::string getTitle() const { return title;} - std::string getYLabel() const { return yLabel;} -@@ -309,6 +314,7 @@ - void setPlotMode(unsigned int newMode) { plotMode= newMode;} - - -+ //get the colour of the trace - void getColour(float &r, float &g, float &b) const ; - - #ifdef DEBUG -@@ -613,7 +619,7 @@ - - - //!obtain the type of a plot, given the plot's uniqueID -- unsigned int plotType(unsigned int plotId) const; -+ unsigned int getPlotMode(unsigned int plotId) const; - - //Retrieve the types of visible plots - unsigned int getVisibleMode() const; -diff -r bcb9acfa66de -r effd078610a7 src/backend/viscontrol.cpp ---- src/backend/viscontrol.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/backend/viscontrol.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -249,7 +249,7 @@ - plotData->yLabel,plotData->dataLabel); - - //set the appearance of the plot -- //plotNew->setTraceStyle(plotStyle); -+ plotNew->setTraceStyle(plotData->plotStyle); - plotNew->setColour(plotData->r,plotData->g,plotData->b); - - -@@ -275,7 +275,7 @@ - unsigned int plotID; - - PlotBase *plotNew; -- switch(plotData->plotType) -+ switch(plotData->plotStyle) - { - case PLOT_2D_DENS: - { -diff -r bcb9acfa66de -r effd078610a7 src/common/basics.cpp ---- src/common/basics.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/common/basics.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -1347,7 +1347,8 @@ - while(CFile.good() && !CFile.eof() && atHeader) - { - //Grab a line from the file -- CFile.getline(inBuffer,BUFFER_SIZE); -+ if(!CFile.getline(inBuffer,BUFFER_SIZE)) -+ break; - - if(!CFile.good()) - return ERR_FILE_FORMAT; -@@ -1457,10 +1458,8 @@ - - } - //Grab a line from the file -- CFile.getline(inBuffer,BUFFER_SIZE); -- -- if(!CFile.good() && !CFile.eof()) -- return ERR_FILE_FORMAT; -+ if(!CFile.getline(inBuffer,BUFFER_SIZE)) -+ break; - } - - return 0; -diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.cpp ---- src/gui/mainFrame.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/gui/mainFrame.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -1391,7 +1391,7 @@ - updateWxTreeCtrl(treeFilters); - - if(!noUpdate) -- return doSceneUpdate(true); -+ doSceneUpdate(true); - - return true; - } -@@ -3834,7 +3834,7 @@ - - } - --bool MainWindowFrame::doSceneUpdate(bool ensureVisible) -+void MainWindowFrame::doSceneUpdate(bool ensureVisible) - { - //Update scene - ASSERT(!currentlyUpdatingScene); -@@ -3864,6 +3864,11 @@ - ensureResultVisible=ensureVisible; - - ASSERT(!refreshControl); -+ -+ //Hack to prevent crash on double-refresh -+ if(refreshControl) -+ return; -+ - refreshControl = new RefreshController(visControl.state.treeState); - refreshThread=new RefreshThread(this,refreshControl); - progressTimer->Start(PROGRESS_TIMER_DELAY); -@@ -3871,7 +3876,8 @@ - refreshThread->Create(); - refreshThread->Run(); - -- return true; -+ cerr << "Updating scene complete"<< endl; -+ return; - } - - void MainWindowFrame::updateWxTreeCtrl( wxTreeCtrl *t, const Filter *f) -@@ -3971,6 +3977,11 @@ - ASSERT(!visControl.state.treeState.isRefreshing()); - progressTimer->Stop(); - -+ //Hack to prevent crash on re-entry during refresh. Should never trigger. -+ if(!refreshControl) -+ return; -+ -+ - vector > consoleMessages; - consoleMessages=refreshControl->getConsoleMessages(); - -diff -r bcb9acfa66de -r effd078610a7 src/gui/mainFrame.h ---- src/gui/mainFrame.h Tue May 31 13:04:58 2016 +1000 -+++ src/gui/mainFrame.h Tue Jun 21 12:45:20 2016 +0100 -@@ -124,7 +124,7 @@ - //!Update the progress information in the status bar - void updateProgressStatus(); - //!Perform an update to the 3D Scene. Returns false if refresh failed -- bool doSceneUpdate(bool ensureResultVisible=false); -+ void doSceneUpdate(bool ensureResultVisible=false); - - //!Complete the scene update. Returns false if failed - void finishSceneUpdate(unsigned int errCode); -diff -r bcb9acfa66de -r effd078610a7 src/gui/mathglPane.cpp ---- src/gui/mathglPane.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/gui/mathglPane.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -627,7 +627,7 @@ - thePlot->getRegion(plotId,regionId,r); - - //TODO: Implement a more generic region handler? -- ASSERT(thePlot->plotType(plotId) == PLOT_MODE_1D); -+ ASSERT(thePlot->getPlotMode(plotId) == PLOT_MODE_1D); - - float mglStartX,mglStartY; - toPlotCoords(draggingStart.x, draggingStart.y,mglStartX,mglStartY); -@@ -1471,7 +1471,7 @@ - return; - - -- ASSERT(thePlot->plotType(startMousePlot) == PLOT_MODE_1D); -+ ASSERT(thePlot->getPlotMode(startMousePlot) == PLOT_MODE_1D); - - //See where extending the region is allowed up to. - thePlot->findRegionLimit(startMousePlot,startMouseRegion, -@@ -1550,7 +1550,7 @@ - { - //This needs to be extended to support more - //plot types. -- ASSERT(thePlot->plotType(startMousePlot) == PLOT_MODE_1D); -+ ASSERT(thePlot->getPlotMode(startMousePlot) == PLOT_MODE_1D); - - //Draw "ghost" limits markers for move, - //these appear as moving vertical bars to outline -diff -r bcb9acfa66de -r effd078610a7 src/wx/wxcomponents.cpp ---- src/wx/wxcomponents.cpp Tue May 31 13:04:58 2016 +1000 -+++ src/wx/wxcomponents.cpp Tue Jun 21 12:45:20 2016 +0100 -@@ -188,14 +188,14 @@ - - void CopyGrid::saveData() - { -- wxFileDialog *wxF = new wxFileDialog(this,TRANS("Save Data..."), wxT(""), -+ wxFileDialog wxF(this,TRANS("Save Data..."), wxT(""), - wxT(""),TRANS("Text File (*.txt)|*.txt|All Files (*)|*"),wxFD_SAVE); - -- if( (wxF->ShowModal() == wxID_CANCEL)) -+ if( (wxF.ShowModal() == wxID_CANCEL)) - return; - - -- std::string dataFile = stlStr(wxF->GetPath()); -+ std::string dataFile = stlStr(wxF.GetPath()); - ofstream f(dataFile.c_str()); - - if(!f) diff --git a/3Depict-0.0.19-font-path.patch b/3Depict-0.0.20-font-path.patch similarity index 100% rename from 3Depict-0.0.19-font-path.patch rename to 3Depict-0.0.20-font-path.patch diff --git a/3Depict-0.0.19-manual-pdf-loc.patch b/3Depict-0.0.20-manual-pdf-loc.patch similarity index 100% rename from 3Depict-0.0.19-manual-pdf-loc.patch rename to 3Depict-0.0.20-manual-pdf-loc.patch diff --git a/3Depict.spec b/3Depict.spec index 03a4d45..a94702e 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,5 +1,5 @@ Name: 3Depict -Version: 0.0.19 +Version: 0.0.20 Release: 1%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -37,8 +37,6 @@ BuildRequires: qhull-devel Patch0: %{name}-%{version}-manual-pdf-loc.patch #Fedora specific font dir Patch1: %{name}-%{version}-font-path.patch -#Upstream post-release patches from hg repo -Patch2: %{name}-%{version}-upstream-effd078610a7.patch %description This software is designed to help users visualize and analyze 3D point clouds @@ -52,7 +50,6 @@ useful for general scalar valued point data purposes. %patch0 %patch1 -%patch2 %if 0%{?fedora} > 24 # Installation directory has changed @@ -65,9 +62,7 @@ touch -r aclocal.m4 configure configure.ac %endif %build -#Due to bug 1077718, wx-config cannot be specified, due to -# wx2/wx3 conflict. -%configure --disable-debug-checks --enable-openmp-parallel --with-wx-config=wx-config-3.0 +%configure --disable-debug-checks --enable-openmp-parallel make %{?_smp_mflags} %install @@ -120,6 +115,10 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Sun Feb 05 2017 D Haley - 0.0.20-1 +- Update to 0.0.20 +- Do not specify wx-config-3.0 (bug in wx, 1077718, fixed) + * Wed Jun 01 2016 D Haley - 0.0.19-1 - Update to 0.0.19 - Remove gcc patch, fixed upstream From 74114d8c2afc4c44a0d92c694c54fa4c8874baa4 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 5 Feb 2017 17:00:21 +0000 Subject: [PATCH 09/54] * Update sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 101ae2b..db1a723 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /3Depict-0.0.17.tar.gz /3Depict-0.0.18.tar.gz /3Depict-0.0.19.tar.gz +/3Depict-0.0.20.tar.gz diff --git a/sources b/sources index 768b71f..2039ffd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -09f6e960a3a2e7e2a217e64930a1a3d4 3Depict-0.0.19.tar.gz +SHA512 (3Depict-0.0.20.tar.gz) = e9a68e57c56a0fc9246a70b0bb031a40c54726ba38663fddc9f92995826bc17641fa6cb6872773de39b762e340f03f114a1509ed640bcfc06b266260f1e17654 From 360a21fe0372426513651f1d851767bfc6935fb0 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 5 Feb 2017 17:13:50 +0000 Subject: [PATCH 10/54] * Fix compilation - source file with qhull header's location changed --- 3Depict.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 55d0fab..8f9c7cc 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -55,7 +55,7 @@ useful for general scalar valued point data purposes. # Installation directory has changed sed -i -e 's,qhull/qhull_a.h,libqhull/qhull_a.h,' \ src/backend/filters/filterCommon.h \ - src/backend/filters/algorithms/rdf.cpp \ + src/backend/filters/algorithms/spatial.cpp \ configure configure.ac # Avoid rerunning the autotools touch -r aclocal.m4 configure configure.ac From 87c6977fb7edf6362493904193ace1639c2787dc Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 5 Feb 2017 17:21:08 +0000 Subject: [PATCH 11/54] * Refresh patches --- 3Depict-0.0.20-font-path.patch | 7 +++---- 3Depict-0.0.20-manual-pdf-loc.patch | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/3Depict-0.0.20-font-path.patch b/3Depict-0.0.20-font-path.patch index 02f52fc..9a52b58 100644 --- a/3Depict-0.0.20-font-path.patch +++ b/3Depict-0.0.20-font-path.patch @@ -1,7 +1,6 @@ -diff -r 7abb69436c2b src/wx/wxcomponents.cpp ---- src/wx/wxcomponents.cpp Sat Aug 02 05:39:24 2014 -0400 -+++ src/wx/wxcomponents.cpp Sat Aug 02 05:40:51 2014 -0400 -@@ -547,16 +547,17 @@ +--- src/wx/wxcomponents.cpp ++++ src/wx/wxcomponents.cpp +@@ -555,16 +555,17 @@ std::string TTFFinder::nxFindFont(const char *fontFile) //(Oh look Ma, I'm autoconf!) const char *dirs[] = { ".", diff --git a/3Depict-0.0.20-manual-pdf-loc.patch b/3Depict-0.0.20-manual-pdf-loc.patch index 31178af..b2d23c4 100644 --- a/3Depict-0.0.20-manual-pdf-loc.patch +++ b/3Depict-0.0.20-manual-pdf-loc.patch @@ -1,7 +1,6 @@ -diff -r 7abb69436c2b src/gui/mainFrame.cpp ---- src/gui/mainFrame.cpp Sat Aug 02 05:39:24 2014 -0400 -+++ src/gui/mainFrame.cpp Sat Aug 02 05:40:32 2014 -0400 -@@ -2840,9 +2840,9 @@ +--- src/gui/mainFrame.cpp ++++ src/gui/mainFrame.cpp +@@ -2904,9 +2904,9 @@ void MainWindowFrame::OnHelpHelp(wxCommandEvent &event) string s; s=locateDataFile("3Depict-manual.pdf"); From eb3bc157f485b8dc9ac20d63753e5793ab5893fa Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 5 Feb 2017 18:30:10 +0000 Subject: [PATCH 12/54] * Add upstream patch to fix failed build on ppc64 --- 3Depict-0.0.20-tapsim-endian.patch | 125 +++++++++++++++++++++++++++++ 3Depict.spec | 4 + 2 files changed, 129 insertions(+) create mode 100644 3Depict-0.0.20-tapsim-endian.patch diff --git a/3Depict-0.0.20-tapsim-endian.patch b/3Depict-0.0.20-tapsim-endian.patch new file mode 100644 index 0000000..24282c2 --- /dev/null +++ b/3Depict-0.0.20-tapsim-endian.patch @@ -0,0 +1,125 @@ +diff -r cf4c3eefdead -r a369c6597982 src/backend/APT/APTFileIO.cpp +--- src/backend/APT/APTFileIO.cpp Sun Feb 05 14:33:21 2017 +0000 ++++ src/backend/APT/APTFileIO.cpp Sun Feb 05 18:27:46 2017 +0000 +@@ -24,7 +24,6 @@ + #include "../../common/translation.h" + + +- + #include + #include + +@@ -1123,7 +1122,7 @@ + return 0; + } + +-//Load a TAPSIM Binfile ++//Load a TAPSIM Binfile, which is the input geometry format for TAPSIM + unsigned int loadTapsimBinFile(const char *fileName, unsigned int &progress, ATOMIC_BOOL &wantAbort, vector &posIons) + { + ifstream f(fileName,std::ios::binary); +@@ -1136,7 +1135,7 @@ + fileSize = f.tellg(); + f.seekg(0,std::ios::beg); + +- //TAPSIM's binary geometery input format is not totally clearly documented ++ //TAPSIM's binary geometry input format is not totally clearly documented + // but an example is provided. So best efforts are us. + + std::string str; +@@ -1202,7 +1201,7 @@ + return TAPSIM_ERR_FILE_FORMAT_FAIL; + } + +- //Contrary to docuemntation, ids appear to be "short", not "unsigned int" ++ //Contrary to documentation, ids appear to be "short", not "unsigned int" + size_t recordSize=( (numbersPresent ? 1:0 )*sizeof(unsigned int) + + 3*sizeof(float) + (idsPresent ?1:0)*sizeof(short)); + +@@ -1222,11 +1221,24 @@ + //Transfer position data + #ifdef __LITTLE_ENDIAN__ + h.setPos(Point3D((float*)(buffer))); +-#elif __BIG_ENDIAN__ +- static_assert(false); //TODO: IMPLEMENT ME +-#endif ++ + //assign the ID as the mass to charge + h.setMassToCharge(*( (short*)(buffer+12) )); ++#elif __BIG_ENDIAN__ ++ { ++ Point3D pt((float*)(buffer)); ++ pt.switchEndian(); ++ h.setPos(pt); ++ ++ uint16_t s; ++ s =*( (uint16_t*)(buffer+12) ); ++ shortSwapBytes(s); ++ ++ ++ ++ } ++ ++#endif + + posIons[ui]=h; + +@@ -1291,7 +1303,7 @@ + + if(!flip) + { +- //Fkip the endinanness ++ //Flip the endinanness + for(size_t ui=0;ui<4;ui++) + floatSwapBytes(buffer+ui); + } +@@ -1300,7 +1312,7 @@ + outF.write((char*)&intData,4); + + intData=3; +- //Write out verion num as "3" ++ //Write out version num as "3" + outF.write((char*)&intData,4); + + for(size_t ui=0;ui::epsilon())),"Checking read/write OK"); + //Load using auto-detection of endinanness + +- //Load, forcing assuming cont4ents are little endianness as requried ++ //Load, forcing assuming contents are little endianness as required + TEST(!LoadATOFile(filename.c_str(),ions,dummyProgress,wantAbort,1),"ATO load test (forced endianness)"); + TEST(ions.size() == 100,"ion size check"); + TEST((ions[0].getPos().sqrDist(Point3D(1,1,0)) < sqrtf(std::numeric_limits::epsilon())),"checking read/write OK"); +diff -r cf4c3eefdead -r a369c6597982 src/common/endianTest.h +--- src/common/endianTest.h Sun Feb 05 14:33:21 2017 +0000 ++++ src/common/endianTest.h Sun Feb 05 18:27:46 2017 +0000 +@@ -51,7 +51,7 @@ + + inline int is_littleendian() { return (*(char*)&ENDIAN_TEST) == 1 ;} + +- ++//this may fail on some compilers?? + inline void floatSwapBytes(float *inFloat) + { + //Use a union to avoid strict-aliasing error +@@ -69,5 +69,19 @@ + + *inFloat=fb.f; + } ++inline void shortSwapBytes(short *inShort) ++{ ++ //Use a union to avoid strict-aliasing error ++ union ShortSwapUnion{ ++ short s; ++ char c[2]; ++ } ; ++ ShortSwapUnion sa,sb; ++ sa.s = *inShort; + ++ sb.c[0] = sa.c[1]; ++ sb.c[1] = sa.c[0]; ++ ++ *inShort=sb.s; ++} + #endif diff --git a/3Depict.spec b/3Depict.spec index 8f9c7cc..05a72c3 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -37,6 +37,9 @@ BuildRequires: qhull-devel Patch0: %{name}-%{version}-manual-pdf-loc.patch #Fedora specific font dir Patch1: %{name}-%{version}-font-path.patch +#Implementes tapsim loading for big-endian +# this is to fix a failed scratch build on ppc64 +Patch2: %{name}-%{version}-tapsim-endian.patch %description This software is designed to help users visualize and analyze 3D point clouds @@ -50,6 +53,7 @@ useful for general scalar valued point data purposes. %patch0 %patch1 +%patch2 %if 0%{?fedora} > 24 # Installation directory has changed From 031d702d71efbecadec7689acad047cff89bf4a5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 20:13:43 +0000 Subject: [PATCH 13/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 05a72c3..74be228 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.20 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -119,6 +119,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Mon May 15 2017 Fedora Release Engineering - 0.0.20-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Sun Feb 05 2017 D Haley - 0.0.20-1 - Update to 0.0.20 - Do not specify wx-config-3.0 (bug in wx, 1077718, fixed) From 62fc6956ce36ef4acc226eac251a5b6a57cd00ec Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 01:37:16 +0000 Subject: [PATCH 14/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 74be228..5f6ebf7 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.20 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -119,6 +119,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 0.0.20-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Mon May 15 2017 Fedora Release Engineering - 0.0.20-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From 369bd567c3fd9d03643a690fd6f1582e68813362 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 16:45:45 +0000 Subject: [PATCH 15/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 5f6ebf7..b6d48d0 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.20 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -119,6 +119,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 0.0.20-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 0.0.20-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From f9d723acadd099e373f77bfe467b41592af682e9 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 27 Aug 2017 02:00:19 +0100 Subject: [PATCH 16/54] * Update for PPC64 fix --- 3Depict-0.0.20-short_type_fix.patch | 127 ++++++++++++++++++++++++++++ 3Depict.spec | 3 + 2 files changed, 130 insertions(+) create mode 100644 3Depict-0.0.20-short_type_fix.patch diff --git a/3Depict-0.0.20-short_type_fix.patch b/3Depict-0.0.20-short_type_fix.patch new file mode 100644 index 0000000..434b8be --- /dev/null +++ b/3Depict-0.0.20-short_type_fix.patch @@ -0,0 +1,127 @@ +diff -r f7be487d31b2 src/backend/APT/APTFileIO.cpp +--- src/backend/APT/APTFileIO.cpp Sun Aug 27 05:07:02 2017 +0100 ++++ src/backend/APT/APTFileIO.cpp Sun Aug 27 05:08:00 2017 +0100 +@@ -22,6 +22,7 @@ + #include "../../common/stringFuncs.h" + #include "../../common/basics.h" + #include "../../common/translation.h" ++#include "../../common/endianTest.h" + + + #include +@@ -1230,9 +1231,9 @@ + pt.switchEndian(); + h.setPos(pt); + +- uint16_t s; +- s =*( (uint16_t*)(buffer+12) ); +- shortSwapBytes(s); ++ uint16_t *s; ++ s =( (uint16_t*)(buffer+12) ); ++ uint16_tSwapBytes(s); + + + +diff -r f7be487d31b2 src/backend/APT/ionhit.cpp +--- src/backend/APT/ionhit.cpp Sun Aug 27 05:07:02 2017 +0100 ++++ src/backend/APT/ionhit.cpp Sun Aug 27 05:08:00 2017 +0100 +@@ -75,14 +75,12 @@ + pos=p; + } + +-#ifdef __LITTLE_ENDIAN__ + void IonHit::switchEndian() + { + + pos.switchEndian(); + floatSwapBytes(&(massToCharge)); + } +-#endif + + const IonHit &IonHit::operator=(const IonHit &obj) + { +diff -r f7be487d31b2 src/backend/APT/ionhit.h +--- src/backend/APT/ionhit.h Sun Aug 27 05:07:02 2017 +0100 ++++ src/backend/APT/ionhit.h Sun Aug 27 05:08:00 2017 +0100 +@@ -64,9 +64,8 @@ + //returns true if any of the 4 data pts are +-inf + bool hasInf(); + +-#ifdef __LITTLE_ENDIAN__ ++ //!Flip the endian of the point contained in this class + void switchEndian(); +-#endif + //this does the endian switch for you + //but you must supply a valid array. + void makePosData(float *floatArr) const; +diff -r f7be487d31b2 src/common/endianTest.h +--- src/common/endianTest.h Sun Aug 27 05:07:02 2017 +0100 ++++ src/common/endianTest.h Sun Aug 27 05:08:00 2017 +0100 +@@ -25,10 +25,12 @@ + #include + #endif + #endif ++#include + + #ifdef __BYTE_ORDER + //if both are not defined it is TRUE! +-#if __BYTE_ORDER == __BIG_ENDIAN ++// on F28 ppc64, is defined as __ORDER_BIG_ENDIAN ++#if (__BYTE_ORDER == __BIG_ENDIAN) || (__BYTE_ORDER == __ORDER_BIG_ENDIAN) + #ifndef __BIG_ENDIAN__ + #define __BIG_ENDIAN__ + #endif +@@ -69,14 +71,14 @@ + + *inFloat=fb.f; + } +-inline void shortSwapBytes(short *inShort) ++inline void uint16_tSwapBytes(uint16_t *inShort) + { + //Use a union to avoid strict-aliasing error +- union ShortSwapUnion{ +- short s; ++ union Uint16SwapUnion{ ++ uint16_t s; + char c[2]; + } ; +- ShortSwapUnion sa,sb; ++ Uint16SwapUnion sa,sb; + sa.s = *inShort; + + sb.c[0] = sa.c[1]; +diff -r f7be487d31b2 src/common/mathfuncs.cpp +--- src/common/mathfuncs.cpp Sun Aug 27 05:07:02 2017 +0100 ++++ src/common/mathfuncs.cpp Sun Aug 27 05:08:00 2017 +0100 +@@ -455,7 +455,6 @@ + return true; + } + +-#ifdef __LITTLE_ENDIAN__ + + void Point3D::switchEndian() + { +@@ -463,7 +462,6 @@ + floatSwapBytes(&value[1]); + floatSwapBytes(&value[2]); + } +-#endif + + std::ostream& operator<<(std::ostream &stream, const Point3D &pt) + { +diff -r f7be487d31b2 src/common/mathfuncs.h +--- src/common/mathfuncs.h Sun Aug 27 05:07:02 2017 +0100 ++++ src/common/mathfuncs.h Sun Aug 27 05:08:00 2017 +0100 +@@ -174,10 +174,9 @@ + static Point3D centroid(const Point3D *p, unsigned int n); + + static Point3D centroid(const std::vector &p); +-#ifdef __LITTLE_ENDIAN__ +- //!Flip the endian state for data stored in this point ++ ++ //!Flip the endian state for data stored in this point + void switchEndian(); +-#endif + }; + + //IMPORTANT!!! diff --git a/3Depict.spec b/3Depict.spec index b6d48d0..92936f0 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -40,6 +40,8 @@ Patch1: %{name}-%{version}-font-path.patch #Implementes tapsim loading for big-endian # this is to fix a failed scratch build on ppc64 Patch2: %{name}-%{version}-tapsim-endian.patch +#More fixes for ppc64 build failures +Patch3: %{name}-%{version}-short_type_fix.patch %description This software is designed to help users visualize and analyze 3D point clouds @@ -54,6 +56,7 @@ useful for general scalar valued point data purposes. %patch0 %patch1 %patch2 +%patch3 %if 0%{?fedora} > 24 # Installation directory has changed From 83c1ee0ea09ffaa0ad06a39c362c77b4a8179d84 Mon Sep 17 00:00:00 2001 From: D Haley Date: Mon, 28 Aug 2017 13:53:55 +0100 Subject: [PATCH 17/54] * Add patch to fix build failure on s390 --- 3Depict-0.0.20-s390_preprocessor_fix.patch | 21 +++++++++++++++++++++ 3Depict.spec | 12 +++++++----- 2 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 3Depict-0.0.20-s390_preprocessor_fix.patch diff --git a/3Depict-0.0.20-s390_preprocessor_fix.patch b/3Depict-0.0.20-s390_preprocessor_fix.patch new file mode 100644 index 0000000..d716174 --- /dev/null +++ b/3Depict-0.0.20-s390_preprocessor_fix.patch @@ -0,0 +1,21 @@ +diff -r 522fed67ed37 src/backend/APT/APTFileIO.cpp +--- src/backend/APT/APTFileIO.cpp Mon Aug 28 13:47:41 2017 +0100 ++++ src/backend/APT/APTFileIO.cpp Mon Aug 28 13:49:44 2017 +0100 +@@ -956,7 +956,7 @@ + ASSERT(forceEndian < 3); + #ifdef __LITTLE_ENDIAN__ + endianFlip=(forceEndian == 2); +-#elif __BIG_ENDIAN ++#elif defined(__BIG_ENDIAN__) + endianFlip=(forceEndian == 1); + #endif + } +@@ -1225,7 +1225,7 @@ + + //assign the ID as the mass to charge + h.setMassToCharge(*( (short*)(buffer+12) )); +-#elif __BIG_ENDIAN__ ++#elif defined(__BIG_ENDIAN__) + { + Point3D pt((float*)(buffer)); + pt.switchEndian(); diff --git a/3Depict.spec b/3Depict.spec index 92936f0..3f496a0 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -40,8 +40,10 @@ Patch1: %{name}-%{version}-font-path.patch #Implementes tapsim loading for big-endian # this is to fix a failed scratch build on ppc64 Patch2: %{name}-%{version}-tapsim-endian.patch -#More fixes for ppc64 build failures +#Fixes for ppc64 build failures Patch3: %{name}-%{version}-short_type_fix.patch +#Fixes for S390 build failures +Patch4: %{name}-%{version}-s390_preprocessor_fix.patch %description This software is designed to help users visualize and analyze 3D point clouds @@ -57,16 +59,16 @@ useful for general scalar valued point data purposes. %patch1 %patch2 %patch3 +%patch4 -%if 0%{?fedora} > 24 -# Installation directory has changed +# Change header locations, as installation directory +# is different from upstream sed -i -e 's,qhull/qhull_a.h,libqhull/qhull_a.h,' \ src/backend/filters/filterCommon.h \ src/backend/filters/algorithms/spatial.cpp \ configure configure.ac -# Avoid rerunning the autotools +# Avoid rerunning the autotools suite touch -r aclocal.m4 configure configure.ac -%endif %build %configure --disable-debug-checks --enable-openmp-parallel From 4caf7bea9a58c5f9c9eed2d9d58a3ca9b003fbcf Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 14 Jan 2018 11:58:00 +0000 Subject: [PATCH 18/54] * Update from f27 branch, and bump to fix broken build on rawhide --- 3Depict.spec | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/3Depict.spec b/3Depict.spec index 3f496a0..9d67684 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.20 -Release: 4%{?dist} +Release: 6%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -40,10 +40,10 @@ Patch1: %{name}-%{version}-font-path.patch #Implementes tapsim loading for big-endian # this is to fix a failed scratch build on ppc64 Patch2: %{name}-%{version}-tapsim-endian.patch -#Fixes for ppc64 build failures -Patch3: %{name}-%{version}-short_type_fix.patch -#Fixes for S390 build failures -Patch4: %{name}-%{version}-s390_preprocessor_fix.patch +#Fixes for build under s390/ppc64, due to endianness problems +Patch3: %{name}-%{version}-s390_preprocessor_fix.patch +#Fixes for build under s390/ppc64, due to type problems +Patch4: %{name}-%{version}-short_type_fix.patch %description This software is designed to help users visualize and analyze 3D point clouds @@ -61,14 +61,15 @@ useful for general scalar valued point data purposes. %patch3 %patch4 -# Change header locations, as installation directory -# is different from upstream +%if 0%{?fedora} > 24 +# Installation directory has changed sed -i -e 's,qhull/qhull_a.h,libqhull/qhull_a.h,' \ src/backend/filters/filterCommon.h \ src/backend/filters/algorithms/spatial.cpp \ configure configure.ac -# Avoid rerunning the autotools suite +# Avoid rerunning the autotools touch -r aclocal.m4 configure configure.ac +%endif %build %configure --disable-debug-checks --enable-openmp-parallel @@ -124,6 +125,13 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Sun Jan 14 2018 D Haley - 0.0.20-6 +- Bump for MGL rebuild + +* Thu Oct 12 2017 D Haley - 0.0.20-5 +- Bump for GSL rebuild +- Add fixes for s390/ppc64 + * Wed Aug 02 2017 Fedora Release Engineering - 0.0.20-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 58ec630122605331e3940ddade4bb8f498547893 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 00:21:30 +0000 Subject: [PATCH 19/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 9d67684..66fda80 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.20 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -125,6 +125,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 0.0.20-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sun Jan 14 2018 D Haley - 0.0.20-6 - Bump for MGL rebuild From 39b420e17d4a0ea0848d7d94e70ad891b35ae3a4 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 11 Feb 2018 01:02:02 +0000 Subject: [PATCH 20/54] * Update to 0.0.21 --- .gitignore | 1 + ...ath.patch => 3Depict-0.0.21-font-path.patch | 0 ...atch => 3Depict-0.0.21-manual-pdf-loc.patch | 0 3Depict-0.0.21-qhull.patch | 12 ++++++++++++ ... 3Depict-0.0.21-s390_preprocessor_fix.patch | 0 ...atch => 3Depict-0.0.21-short_type_fix.patch | 0 ...patch => 3Depict-0.0.21-tapsim-endian.patch | 0 3Depict.spec | 18 +++++++----------- sources | 2 +- 9 files changed, 21 insertions(+), 12 deletions(-) rename 3Depict-0.0.20-font-path.patch => 3Depict-0.0.21-font-path.patch (100%) rename 3Depict-0.0.20-manual-pdf-loc.patch => 3Depict-0.0.21-manual-pdf-loc.patch (100%) create mode 100644 3Depict-0.0.21-qhull.patch rename 3Depict-0.0.20-s390_preprocessor_fix.patch => 3Depict-0.0.21-s390_preprocessor_fix.patch (100%) rename 3Depict-0.0.20-short_type_fix.patch => 3Depict-0.0.21-short_type_fix.patch (100%) rename 3Depict-0.0.20-tapsim-endian.patch => 3Depict-0.0.21-tapsim-endian.patch (100%) diff --git a/.gitignore b/.gitignore index db1a723..f53c1de 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /3Depict-0.0.18.tar.gz /3Depict-0.0.19.tar.gz /3Depict-0.0.20.tar.gz +/3Depict-0.0.21.tar.gz diff --git a/3Depict-0.0.20-font-path.patch b/3Depict-0.0.21-font-path.patch similarity index 100% rename from 3Depict-0.0.20-font-path.patch rename to 3Depict-0.0.21-font-path.patch diff --git a/3Depict-0.0.20-manual-pdf-loc.patch b/3Depict-0.0.21-manual-pdf-loc.patch similarity index 100% rename from 3Depict-0.0.20-manual-pdf-loc.patch rename to 3Depict-0.0.21-manual-pdf-loc.patch diff --git a/3Depict-0.0.21-qhull.patch b/3Depict-0.0.21-qhull.patch new file mode 100644 index 0000000..835831b --- /dev/null +++ b/3Depict-0.0.21-qhull.patch @@ -0,0 +1,12 @@ +diff -r 031db7992cf7 src/backend/filters/algorithms/convexHull.h +--- src/backend/filters/algorithms/convexHull.h Sun Feb 11 00:27:02 2018 +0000 ++++ src/backend/filters/algorithms/convexHull.h Sun Feb 11 00:34:47 2018 +0000 +@@ -35,7 +35,7 @@ + #endif + extern "C" + { +- #include ++ #include + } + #ifdef __POWERPC__ + #pragma pop_macro("__POWERPC__") diff --git a/3Depict-0.0.20-s390_preprocessor_fix.patch b/3Depict-0.0.21-s390_preprocessor_fix.patch similarity index 100% rename from 3Depict-0.0.20-s390_preprocessor_fix.patch rename to 3Depict-0.0.21-s390_preprocessor_fix.patch diff --git a/3Depict-0.0.20-short_type_fix.patch b/3Depict-0.0.21-short_type_fix.patch similarity index 100% rename from 3Depict-0.0.20-short_type_fix.patch rename to 3Depict-0.0.21-short_type_fix.patch diff --git a/3Depict-0.0.20-tapsim-endian.patch b/3Depict-0.0.21-tapsim-endian.patch similarity index 100% rename from 3Depict-0.0.20-tapsim-endian.patch rename to 3Depict-0.0.21-tapsim-endian.patch diff --git a/3Depict.spec b/3Depict.spec index 66fda80..4935d6d 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict -Version: 0.0.20 -Release: 7%{?dist} +Version: 0.0.21 +Release: 1%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -37,13 +37,8 @@ BuildRequires: qhull-devel Patch0: %{name}-%{version}-manual-pdf-loc.patch #Fedora specific font dir Patch1: %{name}-%{version}-font-path.patch -#Implementes tapsim loading for big-endian -# this is to fix a failed scratch build on ppc64 -Patch2: %{name}-%{version}-tapsim-endian.patch -#Fixes for build under s390/ppc64, due to endianness problems -Patch3: %{name}-%{version}-s390_preprocessor_fix.patch -#Fixes for build under s390/ppc64, due to type problems -Patch4: %{name}-%{version}-short_type_fix.patch +#Qhull dir has changed +Patch2: %{name}-%{version}-qhull.patch %description This software is designed to help users visualize and analyze 3D point clouds @@ -58,8 +53,6 @@ useful for general scalar valued point data purposes. %patch0 %patch1 %patch2 -%patch3 -%patch4 %if 0%{?fedora} > 24 # Installation directory has changed @@ -125,6 +118,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Sat Feb 10 2018 D Haley - 0.0.21-1 +- Update to 0.0.21 + * Wed Feb 07 2018 Fedora Release Engineering - 0.0.20-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/sources b/sources index 2039ffd..cac1c82 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (3Depict-0.0.20.tar.gz) = e9a68e57c56a0fc9246a70b0bb031a40c54726ba38663fddc9f92995826bc17641fa6cb6872773de39b762e340f03f114a1509ed640bcfc06b266260f1e17654 +SHA512 (3Depict-0.0.21.tar.gz) = 7f9ed4813675c7977df9fd5cc83af3c03e2c91f8d724ebe497d120bd5db0b25843bfdb8d01d495be08f86ed63117755f87be9a81bb4c6b48246c9b7144dec984 From c9bfaddccaea45cdb855f51af8cbeb58805435fc Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 11 Feb 2018 01:03:49 +0000 Subject: [PATCH 21/54] * remove old patches --- 3Depict-0.0.21-s390_preprocessor_fix.patch | 21 ---- 3Depict-0.0.21-short_type_fix.patch | 127 --------------------- 3Depict-0.0.21-tapsim-endian.patch | 125 -------------------- 3 files changed, 273 deletions(-) delete mode 100644 3Depict-0.0.21-s390_preprocessor_fix.patch delete mode 100644 3Depict-0.0.21-short_type_fix.patch delete mode 100644 3Depict-0.0.21-tapsim-endian.patch diff --git a/3Depict-0.0.21-s390_preprocessor_fix.patch b/3Depict-0.0.21-s390_preprocessor_fix.patch deleted file mode 100644 index d716174..0000000 --- a/3Depict-0.0.21-s390_preprocessor_fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -r 522fed67ed37 src/backend/APT/APTFileIO.cpp ---- src/backend/APT/APTFileIO.cpp Mon Aug 28 13:47:41 2017 +0100 -+++ src/backend/APT/APTFileIO.cpp Mon Aug 28 13:49:44 2017 +0100 -@@ -956,7 +956,7 @@ - ASSERT(forceEndian < 3); - #ifdef __LITTLE_ENDIAN__ - endianFlip=(forceEndian == 2); --#elif __BIG_ENDIAN -+#elif defined(__BIG_ENDIAN__) - endianFlip=(forceEndian == 1); - #endif - } -@@ -1225,7 +1225,7 @@ - - //assign the ID as the mass to charge - h.setMassToCharge(*( (short*)(buffer+12) )); --#elif __BIG_ENDIAN__ -+#elif defined(__BIG_ENDIAN__) - { - Point3D pt((float*)(buffer)); - pt.switchEndian(); diff --git a/3Depict-0.0.21-short_type_fix.patch b/3Depict-0.0.21-short_type_fix.patch deleted file mode 100644 index 434b8be..0000000 --- a/3Depict-0.0.21-short_type_fix.patch +++ /dev/null @@ -1,127 +0,0 @@ -diff -r f7be487d31b2 src/backend/APT/APTFileIO.cpp ---- src/backend/APT/APTFileIO.cpp Sun Aug 27 05:07:02 2017 +0100 -+++ src/backend/APT/APTFileIO.cpp Sun Aug 27 05:08:00 2017 +0100 -@@ -22,6 +22,7 @@ - #include "../../common/stringFuncs.h" - #include "../../common/basics.h" - #include "../../common/translation.h" -+#include "../../common/endianTest.h" - - - #include -@@ -1230,9 +1231,9 @@ - pt.switchEndian(); - h.setPos(pt); - -- uint16_t s; -- s =*( (uint16_t*)(buffer+12) ); -- shortSwapBytes(s); -+ uint16_t *s; -+ s =( (uint16_t*)(buffer+12) ); -+ uint16_tSwapBytes(s); - - - -diff -r f7be487d31b2 src/backend/APT/ionhit.cpp ---- src/backend/APT/ionhit.cpp Sun Aug 27 05:07:02 2017 +0100 -+++ src/backend/APT/ionhit.cpp Sun Aug 27 05:08:00 2017 +0100 -@@ -75,14 +75,12 @@ - pos=p; - } - --#ifdef __LITTLE_ENDIAN__ - void IonHit::switchEndian() - { - - pos.switchEndian(); - floatSwapBytes(&(massToCharge)); - } --#endif - - const IonHit &IonHit::operator=(const IonHit &obj) - { -diff -r f7be487d31b2 src/backend/APT/ionhit.h ---- src/backend/APT/ionhit.h Sun Aug 27 05:07:02 2017 +0100 -+++ src/backend/APT/ionhit.h Sun Aug 27 05:08:00 2017 +0100 -@@ -64,9 +64,8 @@ - //returns true if any of the 4 data pts are +-inf - bool hasInf(); - --#ifdef __LITTLE_ENDIAN__ -+ //!Flip the endian of the point contained in this class - void switchEndian(); --#endif - //this does the endian switch for you - //but you must supply a valid array. - void makePosData(float *floatArr) const; -diff -r f7be487d31b2 src/common/endianTest.h ---- src/common/endianTest.h Sun Aug 27 05:07:02 2017 +0100 -+++ src/common/endianTest.h Sun Aug 27 05:08:00 2017 +0100 -@@ -25,10 +25,12 @@ - #include - #endif - #endif -+#include - - #ifdef __BYTE_ORDER - //if both are not defined it is TRUE! --#if __BYTE_ORDER == __BIG_ENDIAN -+// on F28 ppc64, is defined as __ORDER_BIG_ENDIAN -+#if (__BYTE_ORDER == __BIG_ENDIAN) || (__BYTE_ORDER == __ORDER_BIG_ENDIAN) - #ifndef __BIG_ENDIAN__ - #define __BIG_ENDIAN__ - #endif -@@ -69,14 +71,14 @@ - - *inFloat=fb.f; - } --inline void shortSwapBytes(short *inShort) -+inline void uint16_tSwapBytes(uint16_t *inShort) - { - //Use a union to avoid strict-aliasing error -- union ShortSwapUnion{ -- short s; -+ union Uint16SwapUnion{ -+ uint16_t s; - char c[2]; - } ; -- ShortSwapUnion sa,sb; -+ Uint16SwapUnion sa,sb; - sa.s = *inShort; - - sb.c[0] = sa.c[1]; -diff -r f7be487d31b2 src/common/mathfuncs.cpp ---- src/common/mathfuncs.cpp Sun Aug 27 05:07:02 2017 +0100 -+++ src/common/mathfuncs.cpp Sun Aug 27 05:08:00 2017 +0100 -@@ -455,7 +455,6 @@ - return true; - } - --#ifdef __LITTLE_ENDIAN__ - - void Point3D::switchEndian() - { -@@ -463,7 +462,6 @@ - floatSwapBytes(&value[1]); - floatSwapBytes(&value[2]); - } --#endif - - std::ostream& operator<<(std::ostream &stream, const Point3D &pt) - { -diff -r f7be487d31b2 src/common/mathfuncs.h ---- src/common/mathfuncs.h Sun Aug 27 05:07:02 2017 +0100 -+++ src/common/mathfuncs.h Sun Aug 27 05:08:00 2017 +0100 -@@ -174,10 +174,9 @@ - static Point3D centroid(const Point3D *p, unsigned int n); - - static Point3D centroid(const std::vector &p); --#ifdef __LITTLE_ENDIAN__ -- //!Flip the endian state for data stored in this point -+ -+ //!Flip the endian state for data stored in this point - void switchEndian(); --#endif - }; - - //IMPORTANT!!! diff --git a/3Depict-0.0.21-tapsim-endian.patch b/3Depict-0.0.21-tapsim-endian.patch deleted file mode 100644 index 24282c2..0000000 --- a/3Depict-0.0.21-tapsim-endian.patch +++ /dev/null @@ -1,125 +0,0 @@ -diff -r cf4c3eefdead -r a369c6597982 src/backend/APT/APTFileIO.cpp ---- src/backend/APT/APTFileIO.cpp Sun Feb 05 14:33:21 2017 +0000 -+++ src/backend/APT/APTFileIO.cpp Sun Feb 05 18:27:46 2017 +0000 -@@ -24,7 +24,6 @@ - #include "../../common/translation.h" - - -- - #include - #include - -@@ -1123,7 +1122,7 @@ - return 0; - } - --//Load a TAPSIM Binfile -+//Load a TAPSIM Binfile, which is the input geometry format for TAPSIM - unsigned int loadTapsimBinFile(const char *fileName, unsigned int &progress, ATOMIC_BOOL &wantAbort, vector &posIons) - { - ifstream f(fileName,std::ios::binary); -@@ -1136,7 +1135,7 @@ - fileSize = f.tellg(); - f.seekg(0,std::ios::beg); - -- //TAPSIM's binary geometery input format is not totally clearly documented -+ //TAPSIM's binary geometry input format is not totally clearly documented - // but an example is provided. So best efforts are us. - - std::string str; -@@ -1202,7 +1201,7 @@ - return TAPSIM_ERR_FILE_FORMAT_FAIL; - } - -- //Contrary to docuemntation, ids appear to be "short", not "unsigned int" -+ //Contrary to documentation, ids appear to be "short", not "unsigned int" - size_t recordSize=( (numbersPresent ? 1:0 )*sizeof(unsigned int) + - 3*sizeof(float) + (idsPresent ?1:0)*sizeof(short)); - -@@ -1222,11 +1221,24 @@ - //Transfer position data - #ifdef __LITTLE_ENDIAN__ - h.setPos(Point3D((float*)(buffer))); --#elif __BIG_ENDIAN__ -- static_assert(false); //TODO: IMPLEMENT ME --#endif -+ - //assign the ID as the mass to charge - h.setMassToCharge(*( (short*)(buffer+12) )); -+#elif __BIG_ENDIAN__ -+ { -+ Point3D pt((float*)(buffer)); -+ pt.switchEndian(); -+ h.setPos(pt); -+ -+ uint16_t s; -+ s =*( (uint16_t*)(buffer+12) ); -+ shortSwapBytes(s); -+ -+ -+ -+ } -+ -+#endif - - posIons[ui]=h; - -@@ -1291,7 +1303,7 @@ - - if(!flip) - { -- //Fkip the endinanness -+ //Flip the endinanness - for(size_t ui=0;ui<4;ui++) - floatSwapBytes(buffer+ui); - } -@@ -1300,7 +1312,7 @@ - outF.write((char*)&intData,4); - - intData=3; -- //Write out verion num as "3" -+ //Write out version num as "3" - outF.write((char*)&intData,4); - - for(size_t ui=0;ui::epsilon())),"Checking read/write OK"); - //Load using auto-detection of endinanness - -- //Load, forcing assuming cont4ents are little endianness as requried -+ //Load, forcing assuming contents are little endianness as required - TEST(!LoadATOFile(filename.c_str(),ions,dummyProgress,wantAbort,1),"ATO load test (forced endianness)"); - TEST(ions.size() == 100,"ion size check"); - TEST((ions[0].getPos().sqrDist(Point3D(1,1,0)) < sqrtf(std::numeric_limits::epsilon())),"checking read/write OK"); -diff -r cf4c3eefdead -r a369c6597982 src/common/endianTest.h ---- src/common/endianTest.h Sun Feb 05 14:33:21 2017 +0000 -+++ src/common/endianTest.h Sun Feb 05 18:27:46 2017 +0000 -@@ -51,7 +51,7 @@ - - inline int is_littleendian() { return (*(char*)&ENDIAN_TEST) == 1 ;} - -- -+//this may fail on some compilers?? - inline void floatSwapBytes(float *inFloat) - { - //Use a union to avoid strict-aliasing error -@@ -69,5 +69,19 @@ - - *inFloat=fb.f; - } -+inline void shortSwapBytes(short *inShort) -+{ -+ //Use a union to avoid strict-aliasing error -+ union ShortSwapUnion{ -+ short s; -+ char c[2]; -+ } ; -+ ShortSwapUnion sa,sb; -+ sa.s = *inShort; - -+ sb.c[0] = sa.c[1]; -+ sb.c[1] = sa.c[0]; -+ -+ *inShort=sb.s; -+} - #endif From 1d3911af36a03b2a4555e49763db49409b2e73d1 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 10 Jul 2018 16:11:34 +0200 Subject: [PATCH 22/54] add BuildRequires: gcc-c++ Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- 3Depict.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/3Depict.spec b/3Depict.spec index 4935d6d..3e4b0b0 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -11,6 +11,7 @@ Source0: http://downloads.sourceforge.net/threedepict/%{name}-%{version}.tar.gz #Mathgl for plotting +BuildRequires: gcc-c++ BuildRequires: mathgl-devel #Mesa for GLU BuildRequires: libGL-devel From 107dacf61dfe2fde81dc6dca50225b28e768c7e3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 18:52:44 +0000 Subject: [PATCH 23/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 3e4b0b0..6453ed2 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.21 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Valued 3D point cloud visualization and analysis Group: Applications/Engineering @@ -119,6 +119,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 0.0.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Sat Feb 10 2018 D Haley - 0.0.21-1 - Update to 0.0.21 From c0b2ae08245479995c2a2b2aa275411ad1fdcc2d Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:38 +0100 Subject: [PATCH 24/54] Remove obsolete Group tag Signed-off-by: Igor Gnatenko --- 3Depict.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 6453ed2..dabc544 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -2,7 +2,6 @@ Name: 3Depict Version: 0.0.21 Release: 2%{?dist} Summary: Valued 3D point cloud visualization and analysis -Group: Applications/Engineering License: GPLv3+ From 31298558b9e441087d24824e80574bed5d10b5ae Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 11:19:09 +0000 Subject: [PATCH 25/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index dabc544..c5c72ab 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.21 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -118,6 +118,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 0.0.21-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jul 12 2018 Fedora Release Engineering - 0.0.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 565726a833e428e94ed2cf1c206da9def30c6f94 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sat, 6 Apr 2019 00:44:19 +0100 Subject: [PATCH 26/54] * Update to 0.0.22 --- .gitignore | 1 + ....21-font-path.patch => 3Depict-0.0.22-font-path.patch | 0 ...-pdf-loc.patch => 3Depict-0.0.22-manual-pdf-loc.patch | 0 3Depict-0.0.21-qhull.patch => 3Depict-0.0.22-qhull.patch | 0 3Depict.spec | 9 ++++++--- sources | 2 +- 6 files changed, 8 insertions(+), 4 deletions(-) rename 3Depict-0.0.21-font-path.patch => 3Depict-0.0.22-font-path.patch (100%) rename 3Depict-0.0.21-manual-pdf-loc.patch => 3Depict-0.0.22-manual-pdf-loc.patch (100%) rename 3Depict-0.0.21-qhull.patch => 3Depict-0.0.22-qhull.patch (100%) diff --git a/.gitignore b/.gitignore index f53c1de..641651a 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /3Depict-0.0.19.tar.gz /3Depict-0.0.20.tar.gz /3Depict-0.0.21.tar.gz +/3Depict-0.0.22.tar.gz diff --git a/3Depict-0.0.21-font-path.patch b/3Depict-0.0.22-font-path.patch similarity index 100% rename from 3Depict-0.0.21-font-path.patch rename to 3Depict-0.0.22-font-path.patch diff --git a/3Depict-0.0.21-manual-pdf-loc.patch b/3Depict-0.0.22-manual-pdf-loc.patch similarity index 100% rename from 3Depict-0.0.21-manual-pdf-loc.patch rename to 3Depict-0.0.22-manual-pdf-loc.patch diff --git a/3Depict-0.0.21-qhull.patch b/3Depict-0.0.22-qhull.patch similarity index 100% rename from 3Depict-0.0.21-qhull.patch rename to 3Depict-0.0.22-qhull.patch diff --git a/3Depict.spec b/3Depict.spec index c5c72ab..4612452 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict -Version: 0.0.21 -Release: 3%{?dist} +Version: 0.0.22 +Release: 1%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -107,7 +107,7 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %files -f %{name}.lang %license COPYING -%doc AUTHORS ChangeLog README TODO %{name}-%{version}-manual.pdf +%doc ChangeLog.txt README %{name}-%{version}-manual.pdf %{_bindir}/%{name} %dir %{_datadir}/%{name}/ %dir %{_datadir}/%{name}/textures @@ -118,6 +118,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Fri Apr 05 2019 D Haley - 0.0.22-1 +- Update to 0.0.22 + * Thu Jan 31 2019 Fedora Release Engineering - 0.0.21-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index cac1c82..2ef54ab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (3Depict-0.0.21.tar.gz) = 7f9ed4813675c7977df9fd5cc83af3c03e2c91f8d724ebe497d120bd5db0b25843bfdb8d01d495be08f86ed63117755f87be9a81bb4c6b48246c9b7144dec984 +SHA512 (3Depict-0.0.22.tar.gz) = 41659b44b089aa61e0d517bacc4a4509cac3ba2d168bdd952d29e4b1f296f8ba97e547482a12da0a0c6936e37fc8421428baa9c4eb1dc82527635802944ab47c From 5a864470480fe3310a267cdec069d1e32c9e8273 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sat, 6 Apr 2019 00:48:25 +0100 Subject: [PATCH 27/54] * Fix spaces/tabs warning --- 3Depict.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 4612452..b19ddf9 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -10,7 +10,7 @@ Source0: http://downloads.sourceforge.net/threedepict/%{name}-%{version}.tar.gz #Mathgl for plotting -BuildRequires: gcc-c++ +BuildRequires: gcc-c++ BuildRequires: mathgl-devel #Mesa for GLU BuildRequires: libGL-devel From cb942a7e2038f31661c7c81b16ff9de3605fb010 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 15:36:29 +0000 Subject: [PATCH 28/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index b19ddf9..974392f 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -118,6 +118,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 0.0.22-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Fri Apr 05 2019 D Haley - 0.0.22-1 - Update to 0.0.22 From eea52948a70d92ccab6f584a0f2ceff573ed4979 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 11 Aug 2019 20:08:48 +0100 Subject: [PATCH 29/54] * Fix for bug #1735406 --- 3Depict-0.0.22-qhull_ppc64le.patch | 25 +++++++++++++++++++++++++ 3Depict.spec | 6 ++++++ 2 files changed, 31 insertions(+) create mode 100644 3Depict-0.0.22-qhull_ppc64le.patch diff --git a/3Depict-0.0.22-qhull_ppc64le.patch b/3Depict-0.0.22-qhull_ppc64le.patch new file mode 100644 index 0000000..67a5c36 --- /dev/null +++ b/3Depict-0.0.22-qhull_ppc64le.patch @@ -0,0 +1,25 @@ +diff -r 419306b866c3 src/backend/filters/algorithms/spatial.cpp +--- a/src/backend/filters/algorithms/spatial.cpp Sun Aug 11 20:03:37 2019 +0100 ++++ b/src/backend/filters/algorithms/spatial.cpp Sun Aug 11 20:05:06 2019 +0100 +@@ -26,7 +26,20 @@ + #include + #include + +-#include ++//QHull library ++//Build fix for qhull ; wx defines powerpc without ++//assigning a value, causing build fail on powerpc ++#ifdef __POWERPC__ ++ #pragma push_macro("__POWERPC__") ++ #define __POWERPC__ 1 ++#endif ++extern "C" ++{ ++ #include ++} ++#ifdef __POWERPC__ ++ #pragma pop_macro("__POWERPC__") ++#endif + + using std::vector; + diff --git a/3Depict.spec b/3Depict.spec index 974392f..5c09a83 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -39,6 +39,8 @@ Patch0: %{name}-%{version}-manual-pdf-loc.patch Patch1: %{name}-%{version}-font-path.patch #Qhull dir has changed Patch2: %{name}-%{version}-qhull.patch +#Fix for PPC64 arch +Patch3: %{name}-%{version}-qhull_ppc64le.patch %description This software is designed to help users visualize and analyze 3D point clouds @@ -53,6 +55,7 @@ useful for general scalar valued point data purposes. %patch0 %patch1 %patch2 +%patch3 %if 0%{?fedora} > 24 # Installation directory has changed @@ -118,6 +121,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Sun Aug 11 2019 D Haley - 0.0.22-3 +- Fix for PPC64LE qhull include bug (#1735406) + * Wed Jul 24 2019 Fedora Release Engineering - 0.0.22-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 919fbf6d9ad0b9a2873b4e70d164d85f489c8b70 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 11 Aug 2019 20:11:19 +0100 Subject: [PATCH 30/54] * Forgot to bump spec version --- 3Depict.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 5c09a83..607c850 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Valued 3D point cloud visualization and analysis From 190a6803a5931bd32c4caace0296a5f027664ac1 Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 11 Aug 2019 20:16:26 +0100 Subject: [PATCH 31/54] * Update patch --- 3Depict-0.0.22-qhull_ppc64le.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/3Depict-0.0.22-qhull_ppc64le.patch b/3Depict-0.0.22-qhull_ppc64le.patch index 67a5c36..10e9d2f 100644 --- a/3Depict-0.0.22-qhull_ppc64le.patch +++ b/3Depict-0.0.22-qhull_ppc64le.patch @@ -1,6 +1,6 @@ diff -r 419306b866c3 src/backend/filters/algorithms/spatial.cpp ---- a/src/backend/filters/algorithms/spatial.cpp Sun Aug 11 20:03:37 2019 +0100 -+++ b/src/backend/filters/algorithms/spatial.cpp Sun Aug 11 20:05:06 2019 +0100 +--- src/backend/filters/algorithms/spatial.cpp Sun Aug 11 20:03:37 2019 +0100 ++++ src/backend/filters/algorithms/spatial.cpp Sun Aug 11 20:05:06 2019 +0100 @@ -26,7 +26,20 @@ #include #include From 4ee8b6b4bb506b51a36ba90871b907e13b1b8b2b Mon Sep 17 00:00:00 2001 From: D Haley Date: Sun, 11 Aug 2019 22:30:17 +0100 Subject: [PATCH 32/54] * Patch to force X11 use when running wayland --- 3Depict-0.0.22-wayland.patch | 21 +++++++++++++++++++++ 3Depict.spec | 9 ++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 3Depict-0.0.22-wayland.patch diff --git a/3Depict-0.0.22-wayland.patch b/3Depict-0.0.22-wayland.patch new file mode 100644 index 0000000..3a9cf16 --- /dev/null +++ b/3Depict-0.0.22-wayland.patch @@ -0,0 +1,21 @@ +diff -r 13113574c8fc src/3Depict.cpp +--- src/3Depict.cpp Sun Aug 11 23:16:43 2019 +0100 ++++ src/3Depict.cpp Sun Aug 11 23:17:35 2019 +0100 +@@ -76,6 +76,17 @@ + + }; + ++//Wayland workaround - wx bug 17702 ++#ifdef __WXGTK3__ ++struct ForceX11 { ++ ForceX11(){ ++ setenv("GDK_BACKEND","x11",1); ++ } ++}; ++ ++static struct ForceX11 forcex11; ++#endif ++ + //Check version is in place because wxT is deprecated for wx 2.9 + //Command line parameter table + static const wxCmdLineEntryDesc g_cmdLineDesc [] = diff --git a/3Depict.spec b/3Depict.spec index 607c850..6c56c9a 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -42,6 +42,9 @@ Patch2: %{name}-%{version}-qhull.patch #Fix for PPC64 arch Patch3: %{name}-%{version}-qhull_ppc64le.patch +#wxGLCanvas not supported under wayland. +# wx bug 17702 +Patch4: %{name}-%{version}-wayland.patch %description This software is designed to help users visualize and analyze 3D point clouds with an associated real value, in a fast and flexible fashion. It is @@ -56,6 +59,7 @@ useful for general scalar valued point data purposes. %patch1 %patch2 %patch3 +%patch4 %if 0%{?fedora} > 24 # Installation directory has changed @@ -121,6 +125,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Sun Aug 11 2019 D Haley - 0.0.22-4 +- Add workaround for crash under wayland (wx bug 17702) + * Sun Aug 11 2019 D Haley - 0.0.22-3 - Fix for PPC64LE qhull include bug (#1735406) From a3151660986d76b00c1c657ee4f3f7fcdd7ef20a Mon Sep 17 00:00:00 2001 From: Susi Lehtola Date: Tue, 20 Aug 2019 22:00:17 +0200 Subject: [PATCH 33/54] Rebuilt for GSL 2.6. --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 6c56c9a..625a38f 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -125,6 +125,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Tue Aug 20 2019 Susi Lehtola - 0.0.22-5 +- Rebuilt for GSL 2.6. + * Sun Aug 11 2019 D Haley - 0.0.22-4 - Add workaround for crash under wayland (wx bug 17702) From f3907fedbf1d2188b9480633b4d5c1493921071c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 09:07:33 +0000 Subject: [PATCH 34/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 625a38f..745bd28 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -125,6 +125,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 0.0.22-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Tue Aug 20 2019 Susi Lehtola - 0.0.22-5 - Rebuilt for GSL 2.6. From 805e32651d8817782f7984804d26d47f16b03294 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 10:09:55 +0000 Subject: [PATCH 35/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 745bd28..411302d 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -125,6 +125,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 0.0.22-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jan 28 2020 Fedora Release Engineering - 0.0.22-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From d08c89f7c588aa059b40187227ce675b67e507ec Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 28 Jul 2020 09:21:41 -0600 Subject: [PATCH 36/54] Force C++14 as this code is not C++17 ready --- 3Depict.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 411302d..c4a55d9 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -72,6 +72,7 @@ touch -r aclocal.m4 configure configure.ac %endif %build +export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" %configure --disable-debug-checks --enable-openmp-parallel make %{?_smp_mflags} @@ -125,6 +126,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Tue Jul 28 2020 Jeff Law - 0.0.22-8 +- Force C++14 as this code is not C++17 ready + * Mon Jul 27 2020 Fedora Release Engineering - 0.0.22-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 8260fed1a7782ef85fe932819425537dda238d02 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 15 Dec 2020 01:17:37 +0000 Subject: [PATCH 37/54] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- 3Depict.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/3Depict.spec b/3Depict.spec index c4a55d9..8ab9ab8 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -32,6 +32,7 @@ BuildRequires: vigra-devel #Required for surface removal algorithms BuildRequires: qhull-devel +BuildRequires: make #Fedora specific PDF dir. Patch0: %{name}-%{version}-manual-pdf-loc.patch From 9b42115fb316a4b5b7253e2eb3fa7f1231cce4d2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 25 Jan 2021 22:12:49 +0000 Subject: [PATCH 38/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 8ab9ab8..27035ba 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -127,6 +127,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Mon Jan 25 2021 Fedora Release Engineering - 0.0.22-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Jul 28 2020 Jeff Law - 0.0.22-8 - Force C++14 as this code is not C++17 ready From e6e5ba01a44eea19af556d3cc78c80ab02108e1b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 10:41:08 +0000 Subject: [PATCH 39/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 7dbe7bed5c4cbd5469c6be0adf06dbeaa85bfb80 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 15:35:34 +0000 Subject: [PATCH 40/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 27035ba..5bf3409 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -127,6 +127,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 0.0.22-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Mon Jan 25 2021 Fedora Release Engineering - 0.0.22-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From e68a242d6899b6fd8dd85870f4fc3d489e81dbb5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 19:09:54 +0000 Subject: [PATCH 41/54] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 5bf3409..3fc3971 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -127,6 +127,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 0.0.22-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jul 21 2021 Fedora Release Engineering - 0.0.22-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 8b9b6aefb1cec9ad38696094a36fdd78519726b3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 18:22:40 +0000 Subject: [PATCH 42/54] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 3fc3971..dfb23b7 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -127,6 +127,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 0.0.22-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jan 19 2022 Fedora Release Engineering - 0.0.22-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 8adb15376928145d47c7eb11113c80e62c8c272d Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Tue, 23 Aug 2022 16:55:42 +0900 Subject: [PATCH 43/54] Rebuild for gsl-2.7.1 --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index dfb23b7..703cf95 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -127,6 +127,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Tue Aug 23 2022 Mamoru TASAKA - 0.0.22-13 +- Rebuild for gsl-2.7.1 + * Wed Jul 20 2022 Fedora Release Engineering - 0.0.22-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From bffe9da0f6ed34aebc39729a72b88ed2a1695900 Mon Sep 17 00:00:00 2001 From: Scott Talbert Date: Mon, 12 Sep 2022 18:43:52 -0400 Subject: [PATCH 44/54] Rebuild with wxWidgets 3.2 --- 3Depict-0.0.22-wx3.2.patch | 115 +++++++++++++++++++++++++++++++++++++ 3Depict.spec | 10 +++- 2 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 3Depict-0.0.22-wx3.2.patch diff --git a/3Depict-0.0.22-wx3.2.patch b/3Depict-0.0.22-wx3.2.patch new file mode 100644 index 0000000..cb98229 --- /dev/null +++ b/3Depict-0.0.22-wx3.2.patch @@ -0,0 +1,115 @@ +diff -up 3Depict-0.0.22/src/gui/cropPanel.cpp.wx32 3Depict-0.0.22/src/gui/cropPanel.cpp +--- 3Depict-0.0.22/src/gui/cropPanel.cpp.wx32 2019-01-05 19:47:51.000000000 -0500 ++++ 3Depict-0.0.22/src/gui/cropPanel.cpp 2022-08-04 18:48:53.245358493 -0400 +@@ -720,7 +720,7 @@ void CropPanel::makeCropValuesValid() + void CropPanel::onResize(wxSizeEvent &evt) + { + #ifndef __WXMAC__ +- wxPaintEvent paintEvt; +- wxPostEvent(this,paintEvt); ++ Refresh(); ++ Update(); + #endif + } +diff -up 3Depict-0.0.22/src/gui/dialogs/resolutionDialog.cpp.wx32 3Depict-0.0.22/src/gui/dialogs/resolutionDialog.cpp +--- 3Depict-0.0.22/src/gui/dialogs/resolutionDialog.cpp.wx32 2018-08-05 09:48:45.000000000 -0400 ++++ 3Depict-0.0.22/src/gui/dialogs/resolutionDialog.cpp 2022-08-04 18:49:54.126843451 -0400 +@@ -79,8 +79,8 @@ END_EVENT_TABLE(); + + void ResolutionDialog::updateImage() + { +- wxPaintEvent paintEvt; +- wxPostEvent(this,paintEvt); ++ Refresh(); ++ Update(); + } + + void ResolutionDialog::setRes(unsigned int w, unsigned int h, bool asReset) +diff -up 3Depict-0.0.22/src/gui/glPane.cpp.wx32 3Depict-0.0.22/src/gui/glPane.cpp +--- 3Depict-0.0.22/src/gui/glPane.cpp.wx32 2019-01-05 19:47:51.000000000 -0500 ++++ 3Depict-0.0.22/src/gui/glPane.cpp 2022-08-04 19:34:27.351248848 -0400 +@@ -214,8 +214,8 @@ unsigned int BasicGLPane::hoverTest(con + void BasicGLPane::forceRedraw() + { + //Force a paint update for the scene +- wxPaintEvent ptEvent; +- wxPostEvent(this,ptEvent); ++ Refresh(); ++ Update(); + + #ifdef WIN32 + //Hack for windows. Does not redraw otherwise. +@@ -1108,8 +1108,8 @@ bool BasicGLPane::saveImage(unsigned int + delete image; + + if (needPostPaint) { +- wxPaintEvent event; +- wxPostEvent(this,event); ++ Refresh(); ++ Update(); + } + + return isOK; +@@ -1182,8 +1182,8 @@ bool BasicGLPane::saveImageSequence(unsi + currentScene->discardTempCam(); + wxD->Destroy(); + +- wxPaintEvent event; +- wxPostEvent(this,event); ++ Refresh(); ++ Update(); + return true; + + } +diff -up 3Depict-0.0.22/src/gui/mainFrame.cpp.wx32 3Depict-0.0.22/src/gui/mainFrame.cpp +--- 3Depict-0.0.22/src/gui/mainFrame.cpp.wx32 2022-08-04 16:54:09.801980447 -0400 ++++ 3Depict-0.0.22/src/gui/mainFrame.cpp 2022-08-04 18:47:41.785789266 -0400 +@@ -1814,8 +1814,8 @@ void MainWindowFrame::OnFileExportVideo( + + + //Force a paint update for the scene, to ensure aspect ratio information is preserved +- wxPaintEvent ptEvent; +- wxPostEvent(panelTop,ptEvent); ++ panelTop->Refresh(); ++ panelTop->Update(); + } + + +diff -up 3Depict-0.0.22/src/wx/propertyGridUpdater.h.wx32 3Depict-0.0.22/src/wx/propertyGridUpdater.h +--- 3Depict-0.0.22/src/wx/propertyGridUpdater.h.wx32 2018-06-05 18:52:57.000000000 -0400 ++++ 3Depict-0.0.22/src/wx/propertyGridUpdater.h 2022-08-04 17:51:35.619683708 -0400 +@@ -19,7 +19,9 @@ + #ifndef PROPERTYGRIDUPDATER_H + #define PROPERTYGRIDUPDATER_H + ++#include + #include ++#include + #include + #include "backend/filter.h" + #include "gui/dialogs/transferFuncDialog.h" +diff -up 3Depict-0.0.22/src/wx/wxcomponents.h.wx32 3Depict-0.0.22/src/wx/wxcomponents.h +--- 3Depict-0.0.22/src/wx/wxcomponents.h.wx32 2018-06-05 18:52:57.000000000 -0400 ++++ 3Depict-0.0.22/src/wx/wxcomponents.h 2022-08-04 17:57:47.144135600 -0400 +@@ -39,10 +39,10 @@ + + //!3D combo grid renderer, from + //http://nomadsync.cvs.sourceforge.net/nomadsync/nomadsync/src/EzGrid.cpp?view=markup (GPL) +-class wxGridCellChoiceRenderer : public wxGridCellStringRenderer ++class wxGridCellChoiceRenderer_ : public wxGridCellStringRenderer + { + public: +- wxGridCellChoiceRenderer(wxLayoutAlignment border = wxLAYOUT_NONE) : ++ wxGridCellChoiceRenderer_(wxLayoutAlignment border = wxLAYOUT_NONE) : + m_border(border) {} + virtual void Draw(wxGrid& grid, + wxGridCellAttr& attr, +@@ -52,7 +52,7 @@ public: + bool isSelected); + virtual wxGridCellRenderer *Clone() const + { +- return new wxGridCellChoiceRenderer; ++ return new wxGridCellChoiceRenderer_; + } + private: + wxLayoutAlignment m_border; diff --git a/3Depict.spec b/3Depict.spec index 703cf95..5d2c536 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -23,7 +23,7 @@ BuildRequires: libpng-devel #Desktop file utils for installing desktop file BuildRequires: desktop-file-utils #WX widgets -BuildRequires: wxGTK3-devel +BuildRequires: wxGTK-devel #Vigra, for voxelisation BuildRequires: vigra-devel @@ -46,6 +46,8 @@ Patch3: %{name}-%{version}-qhull_ppc64le.patch #wxGLCanvas not supported under wayland. # wx bug 17702 Patch4: %{name}-%{version}-wayland.patch +# Fixes for wxWidgets 3.2 compatibility +Patch5: %{name}-%{version}-wx3.2.patch %description This software is designed to help users visualize and analyze 3D point clouds with an associated real value, in a fast and flexible fashion. It is @@ -61,6 +63,7 @@ useful for general scalar valued point data purposes. %patch2 %patch3 %patch4 +%patch5 -p1 %if 0%{?fedora} > 24 # Installation directory has changed @@ -127,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Mon Sep 12 2022 Scott Talbert - 0.0.22-14 +- Rebuild with wxWidgets 3.2 + * Tue Aug 23 2022 Mamoru TASAKA - 0.0.22-13 - Rebuild for gsl-2.7.1 From 13e37e792c2a5de382ab68a432acd344e6cb81e4 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 14 Jan 2023 12:13:16 -0700 Subject: [PATCH 45/54] Rebuild with mathgl 8.0.1 --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 5d2c536..89a0e58 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -130,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Sat Jan 14 2023 Orion Poplawski - 0.0.22-15 +- Rebuild with mathgl 8.0.1 + * Mon Sep 12 2022 Scott Talbert - 0.0.22-14 - Rebuild with wxWidgets 3.2 From 1a00d7f33a35d7cb741e7791daab367a092a9949 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 19:34:13 +0000 Subject: [PATCH 46/54] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 89a0e58..3194e22 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -130,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 0.0.22-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Jan 14 2023 Orion Poplawski - 0.0.22-15 - Rebuild with mathgl 8.0.1 From 634bf4e5a1e911b7a613d81012990b342b8001a2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 10:53:24 +0000 Subject: [PATCH 47/54] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 3194e22..adbc6b2 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 16%{?dist} +Release: 17%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -130,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 0.0.22-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Wed Jan 18 2023 Fedora Release Engineering - 0.0.22-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From cd6e5c6a4fabf103e69e30475f5b3c5b0d991633 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Thu, 10 Aug 2023 14:39:00 -0400 Subject: [PATCH 48/54] rebuild for new qhull --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index adbc6b2..9f281dd 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -130,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Thu Aug 10 2023 Tom Callaway - 0.0.22-18 +- rebuild for new qhull + * Wed Jul 19 2023 Fedora Release Engineering - 0.0.22-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 5242e1e8624f5fbc5b43e632650fd90f561c93ac Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jan 2024 12:00:06 +0000 Subject: [PATCH 49/54] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 9f281dd..93781b9 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 18%{?dist} +Release: 19%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -130,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Thu Jan 18 2024 Fedora Release Engineering - 0.0.22-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Aug 10 2023 Tom Callaway - 0.0.22-18 - rebuild for new qhull From 3a2fe6fec33fe64495e87755204d839aa1147613 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 09:04:59 +0000 Subject: [PATCH 50/54] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 93781b9..467af67 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 19%{?dist} +Release: 20%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -130,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 0.0.22-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jan 18 2024 Fedora Release Engineering - 0.0.22-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From ad1c56ee86c1b54a97f7da9f56bf485e73d6256a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 20:39:20 +0000 Subject: [PATCH 51/54] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 467af67..49900e5 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 20%{?dist} +Release: 21%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -130,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 0.0.22-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 0.0.22-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 793eedfb94fb97db224245e3442752a0450517b9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 29 Jan 2024 10:42:29 +0000 Subject: [PATCH 52/54] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 3Depict.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3Depict.spec b/3Depict.spec index 49900e5..f494d68 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -1,6 +1,6 @@ Name: 3Depict Version: 0.0.22 -Release: 21%{?dist} +Release: 22%{?dist} Summary: Valued 3D point cloud visualization and analysis @@ -130,6 +130,9 @@ mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf %changelog +* Mon Jan 29 2024 Fedora Release Engineering - 0.0.22-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Jan 22 2024 Fedora Release Engineering - 0.0.22-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From c5de7eac33c3a7d1fb8e023c3d7cef9e3489c997 Mon Sep 17 00:00:00 2001 From: Software Management Team Date: Thu, 30 May 2024 12:46:50 +0200 Subject: [PATCH 53/54] Eliminate use of obsolete %patchN syntax (#2283636) --- 3Depict.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/3Depict.spec b/3Depict.spec index f494d68..5fa9b68 100644 --- a/3Depict.spec +++ b/3Depict.spec @@ -58,12 +58,12 @@ useful for general scalar valued point data purposes. %setup -q -%patch0 -%patch1 -%patch2 -%patch3 -%patch4 -%patch5 -p1 +%patch -P0 +%patch -P1 +%patch -P2 +%patch -P3 +%patch -P4 +%patch -P5 -p1 %if 0%{?fedora} > 24 # Installation directory has changed From 6cf5a19464c6967b76e1232b8e6c9b3f3136c293 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 1 Jul 2024 12:13:01 -0500 Subject: [PATCH 54/54] Orphaned for 6+ weeks --- .gitignore | 19 -- 3Depict-0.0.22-font-path.patch | 26 -- 3Depict-0.0.22-manual-pdf-loc.patch | 15 -- 3Depict-0.0.22-qhull.patch | 12 - 3Depict-0.0.22-qhull_ppc64le.patch | 25 -- 3Depict-0.0.22-wayland.patch | 21 -- 3Depict-0.0.22-wx3.2.patch | 115 --------- 3Depict.spec | 368 ---------------------------- dead.package | 1 + sources | 1 - 10 files changed, 1 insertion(+), 602 deletions(-) delete mode 100644 .gitignore delete mode 100644 3Depict-0.0.22-font-path.patch delete mode 100644 3Depict-0.0.22-manual-pdf-loc.patch delete mode 100644 3Depict-0.0.22-qhull.patch delete mode 100644 3Depict-0.0.22-qhull_ppc64le.patch delete mode 100644 3Depict-0.0.22-wayland.patch delete mode 100644 3Depict-0.0.22-wx3.2.patch delete mode 100644 3Depict.spec create mode 100644 dead.package delete mode 100644 sources diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 641651a..0000000 --- a/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -/3Depict-0.0.2.tar.gz -/3Depict-0.0.3.tar.gz -/3Depict-0.0.6.tar.gz -/3Depict-0.0.7.tar.gz -/3Depict-0.0.8.tar.gz -/3Depict-0.0.9.tar.gz -/3Depict-0.0.10.tar.gz -/3Depict-0.0.11.tar.gz -/3Depict-0.0.12.tar.gz -/3Depict-0.0.13.tar.gz -/3Depict-0.0.14.tar.gz -/3Depict-0.0.15.tar.gz -/3Depict-0.0.16.tar.gz -/3Depict-0.0.17.tar.gz -/3Depict-0.0.18.tar.gz -/3Depict-0.0.19.tar.gz -/3Depict-0.0.20.tar.gz -/3Depict-0.0.21.tar.gz -/3Depict-0.0.22.tar.gz diff --git a/3Depict-0.0.22-font-path.patch b/3Depict-0.0.22-font-path.patch deleted file mode 100644 index 9a52b58..0000000 --- a/3Depict-0.0.22-font-path.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- src/wx/wxcomponents.cpp -+++ src/wx/wxcomponents.cpp -@@ -555,16 +555,17 @@ std::string TTFFinder::nxFindFont(const char *fontFile) - //(Oh look Ma, I'm autoconf!) - - const char *dirs[] = { ".", -- "/usr/share/fonts/truetype", //Old debian -+ "/usr/local/share/fonts/truetype", // User fonts - "/usr/share/fonts/truetype/freefont", // New debian - "/usr/share/fonts/truetype/ttf-dejavu", //New debian -- "/usr/local/share/fonts/truetype", // User fonts -+ "/usr/share/fonts/truetype", //Old debian -+ "/usr/share/fonts/dejavu", //Fedora - "/usr/X11R6/lib/X11/fonts/truetype", - "/usr/X11R6/lib64/X11/fonts/truetype", -- "/usr/lib/X11/fonts/truetype",// Fedora 32 -- "/usr/lib64/X11/fonts/truetype", //Fedora 64 -- "/usr/local/lib/X11/fonts/truetype", // Fedora 32 new -- "/usr/local/lib64/X11/fonts/truetype",// Fedora 64 new -+ "/usr/lib/X11/fonts/truetype", -+ "/usr/lib64/X11/fonts/truetype", -+ "/usr/local/lib/X11/fonts/truetype", -+ "/usr/local/lib64/X11/fonts/truetype", - "", - }; //MUST end with "". - diff --git a/3Depict-0.0.22-manual-pdf-loc.patch b/3Depict-0.0.22-manual-pdf-loc.patch deleted file mode 100644 index b2d23c4..0000000 --- a/3Depict-0.0.22-manual-pdf-loc.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- src/gui/mainFrame.cpp -+++ src/gui/mainFrame.cpp -@@ -2904,9 +2904,9 @@ void MainWindowFrame::OnHelpHelp(wxCommandEvent &event) - string s; - s=locateDataFile("3Depict-manual.pdf"); - -- //Also Debian makes us use the lowercase "D", so check there too. -- if(!s.size()) -- s=locateDataFile("3depict-manual.pdf"); -+ //Also Fedora has diff dir -+ if(!wxFileExists(s)) -+ s="/usr/share/doc/3Depict-0.0.8/3Depict-0.0.8-manual.pdf"; - - //FIXME: under windows, currently we use "manual.pdf" - if(!s.size()) diff --git a/3Depict-0.0.22-qhull.patch b/3Depict-0.0.22-qhull.patch deleted file mode 100644 index 835831b..0000000 --- a/3Depict-0.0.22-qhull.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -r 031db7992cf7 src/backend/filters/algorithms/convexHull.h ---- src/backend/filters/algorithms/convexHull.h Sun Feb 11 00:27:02 2018 +0000 -+++ src/backend/filters/algorithms/convexHull.h Sun Feb 11 00:34:47 2018 +0000 -@@ -35,7 +35,7 @@ - #endif - extern "C" - { -- #include -+ #include - } - #ifdef __POWERPC__ - #pragma pop_macro("__POWERPC__") diff --git a/3Depict-0.0.22-qhull_ppc64le.patch b/3Depict-0.0.22-qhull_ppc64le.patch deleted file mode 100644 index 10e9d2f..0000000 --- a/3Depict-0.0.22-qhull_ppc64le.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -r 419306b866c3 src/backend/filters/algorithms/spatial.cpp ---- src/backend/filters/algorithms/spatial.cpp Sun Aug 11 20:03:37 2019 +0100 -+++ src/backend/filters/algorithms/spatial.cpp Sun Aug 11 20:05:06 2019 +0100 -@@ -26,7 +26,20 @@ - #include - #include - --#include -+//QHull library -+//Build fix for qhull ; wx defines powerpc without -+//assigning a value, causing build fail on powerpc -+#ifdef __POWERPC__ -+ #pragma push_macro("__POWERPC__") -+ #define __POWERPC__ 1 -+#endif -+extern "C" -+{ -+ #include -+} -+#ifdef __POWERPC__ -+ #pragma pop_macro("__POWERPC__") -+#endif - - using std::vector; - diff --git a/3Depict-0.0.22-wayland.patch b/3Depict-0.0.22-wayland.patch deleted file mode 100644 index 3a9cf16..0000000 --- a/3Depict-0.0.22-wayland.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -r 13113574c8fc src/3Depict.cpp ---- src/3Depict.cpp Sun Aug 11 23:16:43 2019 +0100 -+++ src/3Depict.cpp Sun Aug 11 23:17:35 2019 +0100 -@@ -76,6 +76,17 @@ - - }; - -+//Wayland workaround - wx bug 17702 -+#ifdef __WXGTK3__ -+struct ForceX11 { -+ ForceX11(){ -+ setenv("GDK_BACKEND","x11",1); -+ } -+}; -+ -+static struct ForceX11 forcex11; -+#endif -+ - //Check version is in place because wxT is deprecated for wx 2.9 - //Command line parameter table - static const wxCmdLineEntryDesc g_cmdLineDesc [] = diff --git a/3Depict-0.0.22-wx3.2.patch b/3Depict-0.0.22-wx3.2.patch deleted file mode 100644 index cb98229..0000000 --- a/3Depict-0.0.22-wx3.2.patch +++ /dev/null @@ -1,115 +0,0 @@ -diff -up 3Depict-0.0.22/src/gui/cropPanel.cpp.wx32 3Depict-0.0.22/src/gui/cropPanel.cpp ---- 3Depict-0.0.22/src/gui/cropPanel.cpp.wx32 2019-01-05 19:47:51.000000000 -0500 -+++ 3Depict-0.0.22/src/gui/cropPanel.cpp 2022-08-04 18:48:53.245358493 -0400 -@@ -720,7 +720,7 @@ void CropPanel::makeCropValuesValid() - void CropPanel::onResize(wxSizeEvent &evt) - { - #ifndef __WXMAC__ -- wxPaintEvent paintEvt; -- wxPostEvent(this,paintEvt); -+ Refresh(); -+ Update(); - #endif - } -diff -up 3Depict-0.0.22/src/gui/dialogs/resolutionDialog.cpp.wx32 3Depict-0.0.22/src/gui/dialogs/resolutionDialog.cpp ---- 3Depict-0.0.22/src/gui/dialogs/resolutionDialog.cpp.wx32 2018-08-05 09:48:45.000000000 -0400 -+++ 3Depict-0.0.22/src/gui/dialogs/resolutionDialog.cpp 2022-08-04 18:49:54.126843451 -0400 -@@ -79,8 +79,8 @@ END_EVENT_TABLE(); - - void ResolutionDialog::updateImage() - { -- wxPaintEvent paintEvt; -- wxPostEvent(this,paintEvt); -+ Refresh(); -+ Update(); - } - - void ResolutionDialog::setRes(unsigned int w, unsigned int h, bool asReset) -diff -up 3Depict-0.0.22/src/gui/glPane.cpp.wx32 3Depict-0.0.22/src/gui/glPane.cpp ---- 3Depict-0.0.22/src/gui/glPane.cpp.wx32 2019-01-05 19:47:51.000000000 -0500 -+++ 3Depict-0.0.22/src/gui/glPane.cpp 2022-08-04 19:34:27.351248848 -0400 -@@ -214,8 +214,8 @@ unsigned int BasicGLPane::hoverTest(con - void BasicGLPane::forceRedraw() - { - //Force a paint update for the scene -- wxPaintEvent ptEvent; -- wxPostEvent(this,ptEvent); -+ Refresh(); -+ Update(); - - #ifdef WIN32 - //Hack for windows. Does not redraw otherwise. -@@ -1108,8 +1108,8 @@ bool BasicGLPane::saveImage(unsigned int - delete image; - - if (needPostPaint) { -- wxPaintEvent event; -- wxPostEvent(this,event); -+ Refresh(); -+ Update(); - } - - return isOK; -@@ -1182,8 +1182,8 @@ bool BasicGLPane::saveImageSequence(unsi - currentScene->discardTempCam(); - wxD->Destroy(); - -- wxPaintEvent event; -- wxPostEvent(this,event); -+ Refresh(); -+ Update(); - return true; - - } -diff -up 3Depict-0.0.22/src/gui/mainFrame.cpp.wx32 3Depict-0.0.22/src/gui/mainFrame.cpp ---- 3Depict-0.0.22/src/gui/mainFrame.cpp.wx32 2022-08-04 16:54:09.801980447 -0400 -+++ 3Depict-0.0.22/src/gui/mainFrame.cpp 2022-08-04 18:47:41.785789266 -0400 -@@ -1814,8 +1814,8 @@ void MainWindowFrame::OnFileExportVideo( - - - //Force a paint update for the scene, to ensure aspect ratio information is preserved -- wxPaintEvent ptEvent; -- wxPostEvent(panelTop,ptEvent); -+ panelTop->Refresh(); -+ panelTop->Update(); - } - - -diff -up 3Depict-0.0.22/src/wx/propertyGridUpdater.h.wx32 3Depict-0.0.22/src/wx/propertyGridUpdater.h ---- 3Depict-0.0.22/src/wx/propertyGridUpdater.h.wx32 2018-06-05 18:52:57.000000000 -0400 -+++ 3Depict-0.0.22/src/wx/propertyGridUpdater.h 2022-08-04 17:51:35.619683708 -0400 -@@ -19,7 +19,9 @@ - #ifndef PROPERTYGRIDUPDATER_H - #define PROPERTYGRIDUPDATER_H - -+#include - #include -+#include - #include - #include "backend/filter.h" - #include "gui/dialogs/transferFuncDialog.h" -diff -up 3Depict-0.0.22/src/wx/wxcomponents.h.wx32 3Depict-0.0.22/src/wx/wxcomponents.h ---- 3Depict-0.0.22/src/wx/wxcomponents.h.wx32 2018-06-05 18:52:57.000000000 -0400 -+++ 3Depict-0.0.22/src/wx/wxcomponents.h 2022-08-04 17:57:47.144135600 -0400 -@@ -39,10 +39,10 @@ - - //!3D combo grid renderer, from - //http://nomadsync.cvs.sourceforge.net/nomadsync/nomadsync/src/EzGrid.cpp?view=markup (GPL) --class wxGridCellChoiceRenderer : public wxGridCellStringRenderer -+class wxGridCellChoiceRenderer_ : public wxGridCellStringRenderer - { - public: -- wxGridCellChoiceRenderer(wxLayoutAlignment border = wxLAYOUT_NONE) : -+ wxGridCellChoiceRenderer_(wxLayoutAlignment border = wxLAYOUT_NONE) : - m_border(border) {} - virtual void Draw(wxGrid& grid, - wxGridCellAttr& attr, -@@ -52,7 +52,7 @@ public: - bool isSelected); - virtual wxGridCellRenderer *Clone() const - { -- return new wxGridCellChoiceRenderer; -+ return new wxGridCellChoiceRenderer_; - } - private: - wxLayoutAlignment m_border; diff --git a/3Depict.spec b/3Depict.spec deleted file mode 100644 index 5fa9b68..0000000 --- a/3Depict.spec +++ /dev/null @@ -1,368 +0,0 @@ -Name: 3Depict -Version: 0.0.22 -Release: 22%{?dist} -Summary: Valued 3D point cloud visualization and analysis - - -License: GPLv3+ -URL: http://threedepict.sourceforge.net -Source0: http://downloads.sourceforge.net/threedepict/%{name}-%{version}.tar.gz - - -#Mathgl for plotting -BuildRequires: gcc-c++ -BuildRequires: mathgl-devel -#Mesa for GLU -BuildRequires: libGL-devel -#Libxml2 for file parsing -BuildRequires: libxml2-devel -#FTGL for 3d fonts -BuildRequires: ftgl-devel -#libpng for textures -BuildRequires: libpng-devel -#Desktop file utils for installing desktop file -BuildRequires: desktop-file-utils -#WX widgets -BuildRequires: wxGTK-devel -#Vigra, for voxelisation -BuildRequires: vigra-devel - -#PDF latex build -#BuildRequires: tex(latex) - -#Required for surface removal algorithms -BuildRequires: qhull-devel -BuildRequires: make - -#Fedora specific PDF dir. -Patch0: %{name}-%{version}-manual-pdf-loc.patch -#Fedora specific font dir -Patch1: %{name}-%{version}-font-path.patch -#Qhull dir has changed -Patch2: %{name}-%{version}-qhull.patch -#Fix for PPC64 arch -Patch3: %{name}-%{version}-qhull_ppc64le.patch - -#wxGLCanvas not supported under wayland. -# wx bug 17702 -Patch4: %{name}-%{version}-wayland.patch -# Fixes for wxWidgets 3.2 compatibility -Patch5: %{name}-%{version}-wx3.2.patch -%description -This software is designed to help users visualize and analyze 3D point clouds -with an associated real value, in a fast and flexible fashion. It is -specifically targeted to atom probe tomography applications, but may be -useful for general scalar valued point data purposes. - -%prep - -%setup -q - -%patch -P0 -%patch -P1 -%patch -P2 -%patch -P3 -%patch -P4 -%patch -P5 -p1 - -%if 0%{?fedora} > 24 -# Installation directory has changed -sed -i -e 's,qhull/qhull_a.h,libqhull/qhull_a.h,' \ - src/backend/filters/filterCommon.h \ - src/backend/filters/algorithms/spatial.cpp \ - configure configure.ac -# Avoid rerunning the autotools -touch -r aclocal.m4 configure configure.ac -%endif - -%build -export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" -%configure --disable-debug-checks --enable-openmp-parallel -make %{?_smp_mflags} - -%install -make install DESTDIR=%{buildroot} - -# Install the textures -mkdir -p %{buildroot}%{_datadir}/%{name}/textures -cp -p data/textures/*png %{buildroot}%{_datadir}/%{name}/textures/ - - -#Install the manpage -install -Dp -m 644 packaging/manpage/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 - -desktop-file-install \ - --dir %{buildroot}%{_datadir}/applications \ - packaging/%{name}.desktop -mkdir -p %{buildroot}%{_datadir}/pixmaps/ -install -Dp -m 644 data/textures/tex-source/%{name}-icon.svg %{buildroot}%{_datadir}/pixmaps/%{name}.svg - -#install language files -#-- -#Remap locale names -mv locales/de_DE/ locales/de/ - -mkdir -p %{buildroot}/%{_datadir}/locale/ -cp -R locales/* %{buildroot}/%{_datadir}/locale/ - -#Restore the internal build's locale naming -mv locales/de/ locales/de_DE/ -#-- - - -#Move the documentation such that it is picked up by the doc macro -mv docs/manual-latex/manual.pdf %{name}-%{version}-manual.pdf - -#Locale stuff -%find_lang %{name} - - -%files -f %{name}.lang -%license COPYING -%doc ChangeLog.txt README %{name}-%{version}-manual.pdf -%{_bindir}/%{name} -%dir %{_datadir}/%{name}/ -%dir %{_datadir}/%{name}/textures -%{_datadir}/%{name}/textures/*.png -%{_datadir}/applications/%{name}.desktop -%{_mandir}/man1/%{name}.1.* -%{_datadir}/pixmaps/*.svg - - -%changelog -* Mon Jan 29 2024 Fedora Release Engineering - 0.0.22-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 0.0.22-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 0.0.22-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jan 18 2024 Fedora Release Engineering - 0.0.22-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Aug 10 2023 Tom Callaway - 0.0.22-18 -- rebuild for new qhull - -* Wed Jul 19 2023 Fedora Release Engineering - 0.0.22-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 0.0.22-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jan 14 2023 Orion Poplawski - 0.0.22-15 -- Rebuild with mathgl 8.0.1 - -* Mon Sep 12 2022 Scott Talbert - 0.0.22-14 -- Rebuild with wxWidgets 3.2 - -* Tue Aug 23 2022 Mamoru TASAKA - 0.0.22-13 -- Rebuild for gsl-2.7.1 - -* Wed Jul 20 2022 Fedora Release Engineering - 0.0.22-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 0.0.22-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 0.0.22-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Jan 25 2021 Fedora Release Engineering - 0.0.22-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Jeff Law - 0.0.22-8 -- Force C++14 as this code is not C++17 ready - -* Mon Jul 27 2020 Fedora Release Engineering - 0.0.22-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 0.0.22-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Aug 20 2019 Susi Lehtola - 0.0.22-5 -- Rebuilt for GSL 2.6. - -* Sun Aug 11 2019 D Haley - 0.0.22-4 -- Add workaround for crash under wayland (wx bug 17702) - -* Sun Aug 11 2019 D Haley - 0.0.22-3 -- Fix for PPC64LE qhull include bug (#1735406) - -* Wed Jul 24 2019 Fedora Release Engineering - 0.0.22-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Apr 05 2019 D Haley - 0.0.22-1 -- Update to 0.0.22 - -* Thu Jan 31 2019 Fedora Release Engineering - 0.0.21-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jul 12 2018 Fedora Release Engineering - 0.0.21-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sat Feb 10 2018 D Haley - 0.0.21-1 -- Update to 0.0.21 - -* Wed Feb 07 2018 Fedora Release Engineering - 0.0.20-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sun Jan 14 2018 D Haley - 0.0.20-6 -- Bump for MGL rebuild - -* Thu Oct 12 2017 D Haley - 0.0.20-5 -- Bump for GSL rebuild -- Add fixes for s390/ppc64 - -* Wed Aug 02 2017 Fedora Release Engineering - 0.0.20-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 0.0.20-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Mon May 15 2017 Fedora Release Engineering - 0.0.20-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild - -* Sun Feb 05 2017 D Haley - 0.0.20-1 -- Update to 0.0.20 -- Do not specify wx-config-3.0 (bug in wx, 1077718, fixed) -======= -* Sat Jan 14 2017 D Haley - 0.0.19-2 -- Rebuild for libmgl bump - -* Wed Jun 01 2016 D Haley - 0.0.19-1 -- Update to 0.0.19 -- Remove gcc patch, fixed upstream -- Add upstream patch - -* Fri Apr 29 2016 Ralf Corsépius - 0.0.18-7 -- Rebuild for qhull-2015.2-1. -- Reflect qhull_a.h's location having changed. - -* Tue Mar 8 2016 Orion Poplawski - 0.0.18-6 -- Add patch for fix compilation with gcc 6 - -* Mon Feb 22 2016 Orion Poplawski - 0.0.18-5 -- Rebuild for gsl 2.1 -- Cleanup spec - -* Wed Feb 03 2016 Fedora Release Engineering - 0.0.18-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Sun Nov 29 2015 Kalev Lember - 0.0.18-3 -- Rebuilt for libmgl soname bump - -* Tue Jun 16 2015 Fedora Release Engineering - 0.0.18-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Fri May 01 2015 D Haley - 0.0.18-1 -- Update to 0.0.18 - -* Sat Oct 11 2014 D Haley - 0.0.17-2 -- Rebuild for mathgl 2.3 - -* Sun Sep 28 2014 D Haley - 0.0.17-1 -- Update to 0.0.17 - -* Fri Jun 06 2014 Fedora Release Engineering - 0.0.16-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sat Apr 26 2014 D Haley - 0.0.16-1 -- Update to 0.0.16 - -* Wed Feb 12 2014 D Haley - 0.0.15-4 -- Rebuild for mgl - -* Wed Feb 05 2014 D Haley - 0.0.15-3 -- Rebuild for new mgl -- Add upstream patches - -* Sun Jan 26 2014 D Haley - 0.0.15-2 -- Rebuild for new mgl - -* Sun Dec 01 2013 D Haley - 0.0.15-1 -- Update to 0.0.15 - -* Fri Aug 02 2013 Fedora Release Engineering - 0.0.14-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sat Jul 20 2013 D Haley - 0.0.14-1 -- Update to 0.0.14 - -* Tue Jun 25 2013 D Haley - 0.0.13-2 -- Enable mathgl2 - -* Fri Apr 12 2013 D Haley - 0.0.13-1 -- Update to 0.0.13 - -* Sat Mar 23 2013 D Haley - 0.0.12-4 -- Add aarch 64 patch for bug 924960, until next version - -* Wed Feb 13 2013 Fedora Release Engineering - 0.0.12-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Sun Dec 9 2012 D Haley - 0.0.12-2 -- Import bugfixes from upstream for plot UI and crash fixes - -* Sun Nov 25 2012 D Haley - 0.0.12-1 -- Update to 0.0.12 - -* Mon Apr 2 2012 D Haley - 0.0.10-1 -- Update to 0.0.10 - -* Tue Feb 28 2012 Fedora Release Engineering - 0.0.9-4 -- Rebuilt for c++ ABI breakage - -* Thu Jan 12 2012 D Haley - 0.0.9-3 -- Patch to fix FTFBS for gcc 4.7 - -* Thu Jan 12 2012 Fedora Release Engineering - 0.0.9-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Sat Dec 17 2011 D Haley - 0.0.9-1 -- Update to 0.0.9 - -* Tue Dec 06 2011 Adam Jackson - 0.0.8-3 -- Rebuild for new libpng - -* Sat Oct 29 2011 D Haley - 0.0.8-2 -- Post release fixes for various crash bugs - -* Sun Oct 23 2011 D Haley - 0.0.8-1 -- Update to 0.0.8 - -* Sun Aug 14 2011 D Haley - 0.0.7-1 -- Update to 0.0.7 - -* Fri May 20 2011 D Haley - 0.0.6-1 -- Update to 0.0.6 - -* Sun Mar 27 2011 D Haley - 0.0.5-1 -- New upstream release - -* Sun Mar 13 2011 D Haley - 0.0.4-3 -- Patch opengl startup code -- peek at gl context. Possible fix for bug 684390 - -* Sat Feb 12 2011 D Haley - 0.0.4-2 -- Fix bug 677016 - 3Depict no built with rpm opt flags - -* Sat Jan 22 2011 D Haley - 0.0.4-1 -- Update to 0.0.4 - -* Fri Nov 26 2010 D Haley - 0.0.3-1 -- Update to 0.0.3 - -* Tue Oct 5 2010 D Haley - 0.0.2-3 -- Use tex(latex) virtual package in preference to texlive-latex - -* Mon Oct 4 2010 D Haley - 0.0.2-2 -- Add latex build for manual - -* Sat Sep 25 2010 D Haley - 0.0.2-1 -- Update to 0.0.2 -- Address comments in package review - -* Sun Aug 08 2010 D Haley - 0.0.1-1 -- Initial package - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..5204a84 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Orphaned for 6+ weeks diff --git a/sources b/sources deleted file mode 100644 index 2ef54ab..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (3Depict-0.0.22.tar.gz) = 41659b44b089aa61e0d517bacc4a4509cac3ba2d168bdd952d29e4b1f296f8ba97e547482a12da0a0c6936e37fc8421428baa9c4eb1dc82527635802944ab47c