INCLUDE(UseQt4Ext)
+# Install ParaView filters, etc ...
+ADD_SUBDIRECTORY(resources)
+
# --- options ---
INCLUDE_DIRECTORIES(${GUI_INCLUDE_DIRS}
std::string PVViewer_EngineWrapper::FindOrStartPVServer(int port)
{
PyLockWrapper lock;
-
PyObjWrapper obj(PyObject_CallMethod(paravisEngine, (char*)("FindOrStartPVServer"),
(char *)"i", port ) );
if (!obj)
return std::string(s);
}
+
+void PVViewer_EngineWrapper::PutPythonTraceStringToEngine(const char * str)
+{
+ PyLockWrapper lock;
+ PyObjWrapper obj(PyObject_CallMethod(paravisEngine, (char*)("PutPythonTraceStringToEngine"),
+ (char *)"s", str) );
+ if (!obj)
+ {
+ PyErr_Print();
+ throw SALOME_Exception("Unable to invoke PARAVIS engine!");
+ }
+}
bool GetGUIConnected();
void SetGUIConnected(bool isConnected);
std::string FindOrStartPVServer(int port);
+ void PutPythonTraceStringToEngine(const char *);
private:
PVViewer_EngineWrapper();
propertiesPanel(0), pipelineBrowserWidget(0),
sourcesMenu(0)
{
-// propertiesPanel = new pqPropertiesPanel(desk);
-// propertiesPanel->hide();
+ propertiesPanel = new pqPropertiesPanel(desk);
+ propertiesPanel->hide();
pipelineBrowserWidget = new pqPipelineBrowserWidget(desk);
pipelineBrowserWidget->hide();
: SUIT_ViewManager( study, desk, new PVViewer_Viewer() ),
desktop(desk)
{
- MESSAGE("PARAVIS - view manager created ...")
+ MESSAGE("PVViewer - view manager created ...")
setTitle( tr( "PARAVIEW_VIEW_TITLE" ) );
// Initialize minimal paraview stuff (if not already done)
ParaviewInitApp(desk, logWindow);
// Obtain command-line arguments
int argc = 0;
char** argv = 0;
- QString aOptions = getenv("PARAVIS_OPTIONS");
+ QString aOptions = getenv("PARAVIEW_OPTIONS");
QStringList aOptList = aOptions.split(":", QString::SkipEmptyParts);
argv = new char*[aOptList.size() + 1];
QStringList args = QApplication::arguments();
if (!ConfigLoaded)
{
SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
- QString aPath = resMgr->stringValue("resources", "PARAVIS", QString());
+ QString aPath = resMgr->stringValue("resources", "PVViewer", QString());
if (!aPath.isNull()) {
MyCoreApp->loadConfiguration(aPath + QDir::separator() + "ParaViewFilters.xml");
MyCoreApp->loadConfiguration(aPath + QDir::separator() + "ParaViewReaders.xml");
std::stringstream msg;
// Try to connect to the external PVServer - gives priority to an externally specified URL:
- QString serverUrlEnv = getenv("PARAVIS_PVSERVER_URL");
+ QString serverUrlEnv = getenv("PARAVIEW_PVSERVER_URL");
std::string serverUrl;
if (!serverUrlEnv.isEmpty())
serverUrl = serverUrlEnv.toStdString();
return true;
}
-//void PVViewer_ViewManager::onPVViewCreated(SUIT_ViewWindow* w)
-//{
-// PVViewer_ViewWindow * w2 = dynamic_cast<PVViewer_ViewWindow *>(w);
-// Q_ASSERT(w2 != NULL);
-// connect(w2, SIGNAL(applyRequest()), ParaviewBehaviors, SLOT(onEmulateApply()));
-//}
-
void PVViewer_ViewManager::onEmulateApply()
{
PVViewer_GUIElements * guiElements = PVViewer_GUIElements::GetInstance(desktop);
--- /dev/null
+# Copyright (C) 2010-2014 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SET(dist_salomeres_DATA
+ ParaViewFilters.xml
+ ParaViewReaders.xml
+ ParaViewSources.xml
+ ParaViewWriters.xml
+ )
+
+FOREACH(f ${dist_salomeres_DATA})
+ INSTALL(FILES ${f} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA})
+ENDFOREACH(f ${dist_salomeres_DATA})
--- /dev/null
+<ParaViewFilters>
+ <Category name="Cosmology" menu_label="Cosmology">
+ <Proxy group="filters" name="HaloFinder" />
+ </Category>
+
+ <Category name="Common" menu_label="&Common" preserve_order="1"
+ show_in_toolbar="1">
+ <Proxy group="filters" name="Calculator" icon=":/pqWidgets/Icons/pqCalculator24.png"/>
+ <Proxy group="filters" name="Contour" icon=":/pqWidgets/Icons/pqIsosurface24.png"/>
+ <Proxy group="filters" name="Clip" icon=":/pqWidgets/Icons/pqClip24.png"/>
+ <Proxy group="filters" name="Cut" icon=":/pqWidgets/Icons/pqSlice24.png"/>
+ <Proxy group="filters" name="Threshold" icon=":/pqWidgets/Icons/pqThreshold24.png"/>
+ <Proxy group="filters" name="ExtractGrid" icon=":/pqWidgets/Icons/pqExtractGrid24.png"/>
+ <Proxy group="filters" name="Glyph" icon=":/pqWidgets/Icons/pqGlyph24.png"/>
+ <Proxy group="filters" name="StreamTracer" icon=":/pqWidgets/Icons/pqStreamTracer24.png"/>
+ <Proxy group="filters" name="WarpVector" icon=":/pqWidgets/Icons/pqWarp24.png"/>
+ <Proxy group="filters" name="GroupDataSets" icon=":/pqWidgets/Icons/pqGroup24.png"/>
+ <Proxy group="filters" name="ExtractHierarchicalLevel" icon=":/pqWidgets/Icons/pqGroupExtract24.png"/>
+ </Category>
+
+ <Category name="DataAnalysis" menu_label="&Data Analysis" show_in_toolbar="1" hide_for_tests="1">
+ <Proxy group="filters" name="Calculator"
+ icon=":/pqWidgets/Icons/pqCalculator24.png" omit_from_toolbar="1"/>
+ <Proxy group="filters" name="ExtractSelection"
+ icon=":/pqWidgets/Icons/pqExtractSelection24.png" />
+ <Proxy group="filters" name="ExtractSelectionOverTime"
+ icon=":/pqWidgets/Icons/pqPlotSelectionOverTime24.png" />
+ <Proxy group="filters" name="ExtractHistogram"
+ icon=":/pqWidgets/Icons/pqHistogram24.png" omit_from_toolbar="1"/>
+ <Proxy group="filters" name="IntegrateAttributes" omit_from_toolbar="1"/>
+ <Proxy group="filters" name="ExtractFieldDataOverTime"
+ icon=":/pqWidgets/Icons/pqPlotGlobalOverTime24.png" />
+ <Proxy group="filters" name="ProbeLine"
+ icon=":/pqWidgets/Icons/pqPlotOverLine24.png" />
+ <Proxy group="filters" name="ProbePoint"
+ icon=":/pqWidgets/Icons/pqProbeLocation24.png" />
+ <Proxy group="filters" name="PlotAttributes" omit_from_toolbar="1"/>
+ <Proxy group="filters" name="PlotOnSortedLines" omit_from_toolbar="1"/>
+ <Proxy group="filters" name="PlotOnIntersectionCurves" omit_from_toolbar="1"/>
+ <Proxy group="filters" name="ProgrammableFilter"
+ icon=":/pqWidgets/Icons/pqProgrammableFilter24.png" omit_from_toolbar="1"/>
+ </Category>
+
+ <Category name="Statistics" menu_label="&Statistics">
+ <Proxy group="filters" name="ContingencyStatistics"/>
+ <Proxy group="filters" name="DescriptiveStatistics"/>
+ <Proxy group="filters" name="KMeans"/>
+ <Proxy group="filters" name="MulticorrelativeStatistics"/>
+ <Proxy group="filters" name="PCAStatistics"/>
+ </Category>
+
+ <Category name="Temporal" menu_label="&Temporal">
+ <Proxy group="filters" name="ParticleTracer" />
+ <Proxy group="filters" name="ParticlePath" />
+ <Proxy group="filters" name="StreakLine" />
+ <Proxy group="filters" name="TemporalCache" />
+ <Proxy group="filters" name="TemporalInterpolator" />
+ <Proxy group="filters" name="TemporalSnapToTimeStep" />
+ <Proxy group="filters" name="TemporalShiftScale" />
+ <Proxy group="filters" name="TemporalStatistics" />
+ <Proxy group="filters" name="TimeToTextConvertor" />
+ </Category>
+
+ <Category name="Material Analysis" menu_label="&Material Analysis">
+ <Proxy group="filters" name="MaterialInterfaceFilter" />
+ <Proxy group="filters" name="IntersectFragments" />
+ </Category>
+
+ <Category name="CTH" menu_label="&CTH">
+ <Proxy group="filters" name="CTHFragmentConnect"/>
+ <Proxy group="filters" name="CTHFragmentIntersect"/>
+ <Proxy group="filters" name="CTHPart" />
+ <Proxy group="filters" name="NonOverlappingLevelIdScalars" />
+ <Proxy group="filters" name="MaterialInterfaceFilter" />
+ <Proxy group="filters" name="AMRDualClip" />
+ <Proxy group="filters" name="AMRDualContour" />
+ <Proxy group="filters" name="ExtractHierarchicalLevel" />
+ <Proxy group="filters" name="ExtractHierarchicalDataSets" />
+ </Category>
+
+ <Category name="AMR" menu_label="&AMR">
+ <Proxy group="filters" name="AMRDualMeshExtractor" />
+ <Proxy group="filters" name="AMRResampleFilter" />
+ <Proxy group="filters" name="AMRSlice" />
+ <Proxy group="filters" name="AMRToMultiBlock" />
+ <Proxy group="filters" name="AMRCutPlane" />
+ <Proxy group="filters" name="OverlappingLevelIdScalars" />
+ <Proxy group="filters" name="ExtractHierarchicalLevel" />
+ <Proxy group="filters" name="ExtractHierarchicalDataSets" />
+ </Category>
+
+ <Proxy group="filters" name="ImageDataToAMR" />
+ <Proxy group="filters" name="UniformGridPartitioner" />
+ <Proxy group="filters" name="AnnotateGlobalData" />
+ <Proxy group="filters" name="Append" />
+ <Proxy group="filters" name="AppendAttributes" />
+ <Proxy group="filters" name="AppendPolyData" />
+ <Proxy group="filters" name="ArbitrarySourceGlyph" />
+ <Proxy group="filters" name="ArbitrarySourceStreamTracer" />
+ <Proxy group="filters" name="BlockIdScalars" />
+ <Proxy group="filters" name="BrownianPoints" />
+ <Proxy group="filters" name="Calculator" />
+ <Proxy group="filters" name="CellCenters" />
+ <Proxy group="filters" name="CellDataToPointData" />
+ <Proxy group="filters" name="CellDerivatives"/>
+ <Proxy group="filters" name="CleanPolyData" />
+ <Proxy group="filters" name="CleanUnstructuredGrid" />
+ <Proxy group="filters" name="CleanUnstructuredGridCells" />
+ <Proxy group="filters" name="Clip" />
+ <Proxy group="filters" name="ClipClosedSurface" />
+ <Proxy group="filters" name="Contour" />
+ <Proxy group="filters" name="Curvatures" />
+ <Proxy group="filters" name="Cut" />
+ <Proxy group="filters" name="CutEverything" />
+ <Proxy group="filters" name="D3" />
+ <Proxy group="filters" name="DataSetSurfaceFilter" />
+ <Proxy group="filters" name="DataSetTriangleFilter" />
+ <Proxy group="filters" name="DecimatePro" />
+ <Proxy group="filters" name="Delaunay2D" />
+ <Proxy group="filters" name="Delaunay3D" />
+ <Proxy group="filters" name="ElevationFilter" />
+ <Proxy group="filters" name="ExtractBlock" />
+ <Proxy group="filters" name="ExtractEdges" />
+ <Proxy group="filters" name="ExtractGeometry" />
+ <Proxy group="filters" name="ExtractGrid" />
+ <Proxy group="filters" name="ExtractHistogram" />
+ <Proxy group="filters" name="ExtractSelection" />
+ <Proxy group="filters" name="ExtractSelectionOverTime" />
+ <Proxy group="filters" name="FeatureEdges" />
+ <Proxy group="filters" name="FFTSelectionOverTime" />
+ <Proxy group="filters" name="GaussianSplatter"/>
+ <Proxy group="filters" name="GenerateIdScalars"/>
+ <Proxy group="filters" name="Glyph" />
+ <Proxy group="filters" name="Gradient" />
+ <Proxy group="filters" name="GridConnectivity" />
+ <Proxy group="filters" name="GroupDataSets" />
+ <Proxy group="filters" name="ImageDataToAMR" />
+ <Proxy group="filters" name="ImageDataToPointSet" />
+ <Proxy group="filters" name="IntegrateAttributes" />
+ <Proxy group="filters" name="IntegrateFlowThroughSurface" />
+ <!-- <Proxy group="filters" name="LevelIdScalars" /> -->
+ <Proxy group="filters" name="LinearExtrusionFilter" />
+ <Proxy group="filters" name="LoopSubdivisionFilter" />
+ <Proxy group="filters" name="MaskPoints" />
+ <Proxy group="filters" name="Median" />
+ <Proxy group="filters" name="MergeBlocks" />
+ <Proxy group="filters" name="MeshQuality" />
+ <Proxy group="filters" name="OctreeDepthLimit" />
+ <Proxy group="filters" name="OctreeDepthScalars" />
+ <Proxy group="filters" name="OutlineCornerFilter" />
+ <Proxy group="filters" name="OutlineFilter" />
+ <Proxy group="filters" name="ParticlePathLines" />
+ <Proxy group="filters" name="ParticleTracer" />
+ <Proxy group="filters" name="PassArrays" />
+ <Proxy group="filters" name="PlotAttributes" />
+ <Proxy group="filters" name="PlotOnIntersectionCurves" />
+ <Proxy group="filters" name="PlotOnSortedLines" />
+ <Proxy group="filters" name="PointDataToCellData" />
+ <Proxy group="filters" name="PolyDataNormals" />
+ <Proxy group="filters" name="Probe" />
+ <Proxy group="filters" name="ProbeLine" />
+ <Proxy group="filters" name="ProbePoint" />
+ <Proxy group="filters" name="ProcessIdScalars" />
+ <Proxy group="filters" name="ProgrammableFilter" />
+ <Proxy group="filters" name="PVConnectivityFilter" />
+ <Proxy group="filters" name="PythonCalculator" />
+ <Proxy group="filters" name="PythonAnnotation" />
+ <Proxy group="filters" name="PythonExtractSelection" />
+ <Proxy group="filters" name="QuadraturePointInterpolator" />
+ <Proxy group="filters" name="QuadraturePointsGenerator" />
+ <Proxy group="filters" name="QuadraturePointStatistics" />
+ <Proxy group="filters" name="QuadratureSchemeDictionaryGenerator" />
+ <Proxy group="filters" name="QuadricClustering" />
+ <Proxy group="filters" name="RectilinearGridConnectivity" />
+ <Proxy group="filters" name="RectilinearGridToPointSet" />
+ <Proxy group="filters" name="ReflectionFilter" />
+ <Proxy group="filters" name="RibbonFilter" />
+ <Proxy group="filters" name="RotationalExtrusionFilter" />
+ <Proxy group="filters" name="ScatterPlot"/>
+ <Proxy group="filters" name="ShrinkFilter" />
+ <Proxy group="filters" name="SmoothPolyDataFilter" />
+ <Proxy group="filters" name="StreamTracer" />
+ <Proxy group="filters" name="Stripper" />
+ <Proxy group="filters" name="StructuredGridOutlineFilter" />
+ <Proxy group="filters" name="Subdivide" />
+ <Proxy group="filters" name="SurfaceVectors" />
+ <Proxy group="filters" name="TemporalCache" />
+ <Proxy group="filters" name="TemporalInterpolator" />
+ <Proxy group="filters" name="TemporalSnapToTimeStep" />
+ <Proxy group="filters" name="TemporalShiftScale" />
+ <Proxy group="filters" name="TemporalStatistics" />
+ <Proxy group="filters" name="TessellatorFilter" />
+ <Proxy group="filters" name="TextureMapToCylinder" />
+ <Proxy group="filters" name="TextureMapToPlane" />
+ <Proxy group="filters" name="TextureMapToSphere" />
+ <Proxy group="filters" name="Threshold" />
+ <Proxy group="filters" name="TimeToTextConvertor" />
+ <Proxy group="filters" name="TransformFilter" />
+ <Proxy group="filters" name="TriangleFilter" />
+ <Proxy group="filters" name="TubeFilter" />
+ <Proxy group="filters" name="UnstructuredGradient" />
+ <Proxy group="filters" name="WarpScalar" />
+ <Proxy group="filters" name="WarpVector" />
+ <Proxy group="filters" name="YoungsMaterialInterface"/>
+ <Proxy group="filters" name="NormalGlyphs" />
+ <Proxy group="filters" name="TableToPolyData" />
+ <Proxy group="filters" name="TableToStructuredGrid" />
+ <Proxy group="filters" name="IsoVolume" />
+
+ <Proxy group="filters" name="GenericClip" />
+ <Proxy group="filters" name="GenericContour" />
+ <Proxy group="filters" name="GenericCut" />
+ <Proxy group="filters" name="GenericStreamTracer" />
+ <Proxy group="filters" name="GenericGeometryFilter" />
+</ParaViewFilters>
--- /dev/null
+<ParaViewReaders>
+ <!--
+ NOTE: Readers are tried in reverse order that they are present in this
+ list i.e. if two readers can read the same extension, then the reader
+ apperaring later will be tried first when reading the file.
+ -->
+ <ProxyManager type="reader" />
+ <Proxy group="sources" name="LSDynaReader" />
+ <Proxy group="sources" name="PVDReader" />
+ <Proxy group="sources" name="XMLHierarchicalBoxDataReader" />
+ <Proxy group="sources" name="XMLPolyDataReader"/>
+ <Proxy group="sources" name="XMLUnstructuredGridReader" />
+ <Proxy group="sources" name="XMLImageDataReader" />
+ <Proxy group="sources" name="XMLStructuredGridReader" />
+ <Proxy group="sources" name="XMLRectilinearGridReader" />
+ <Proxy group="sources" name="XMLPPolyDataReader" />
+ <Proxy group="sources" name="XMLPUnstructuredGridReader" />
+ <Proxy group="sources" name="XMLPImageDataReader" />
+ <Proxy group="sources" name="XMLPStructuredGridReader" />
+ <Proxy group="sources" name="XMLPRectilinearGridReader" />
+ <Proxy group="sources" name="XMLMultiBlockDataReader" />
+ <Proxy group="sources" name="XMLUniformGridAMRReader" />
+ <Proxy group="sources" name="LegacyVTKFileReader" />
+ <Proxy group="sources" name="pvtkfile" />
+ <Proxy group="sources" name="ensight" />
+ <Proxy group="sources" name="ensightMS" />
+ <Proxy group="sources" name="TecplotReader" />
+ <Proxy group="sources" name="netCDFReader" />
+ <Proxy group="sources" name="byureader" />
+ <Proxy group="sources" name="objreader" />
+ <Proxy group="sources" name="ProStarReader" />
+ <Proxy group="sources" name="XdmfReader" />
+ <Proxy group="sources" name="pdbreader" />
+ <Proxy group="sources" name="xyzreader" />
+ <Proxy group="sources" name="P3DReader" />
+ <Proxy group="sources" name="spcthreader" />
+ <Proxy group="sources" name="SPCTHRestartReader" />
+ <Proxy group="sources" name="spcthhistoryreader" />
+ <Proxy group="sources" name="DEMReader" />
+ <Proxy group="sources" name="vrmlreader" />
+ <Proxy group="sources" name="plyreader" />
+ <Proxy group="sources" name="stlreader" />
+ <Proxy group="sources" name="gaussiancubereader" />
+ <Proxy group="sources" name="ImageReader" />
+ <Proxy group="sources" name="popreader"/>
+ <Proxy group="sources" name="AVSucdSeriesReader" />
+ <Proxy group="sources" name="MetaImageReader" />
+ <Proxy group="sources" name="NrrdReader" />
+ <Proxy group="sources" name="FacetReader" />
+ <Proxy group="sources" name="PNGSeriesReader" />
+ <Proxy group="sources" name="JPEGSeriesReader" />
+ <Proxy group="sources" name="TIFFSeriesReader" />
+ <Proxy group="sources" name="PhastaReader" />
+ <Proxy group="sources" name="EnzoReader" />
+ <Proxy group="sources" name="FlashReader" />
+ <Proxy group="sources" name="SESAMEReader" />
+ <Proxy group="sources" name="CSVReader" />
+ <Proxy group="sources" name="MFIXReader" />
+ <Proxy group="sources" name="FLUENTReader" />
+ <Proxy group="sources" name="OpenFOAMReader" />
+ <Proxy group="sources" name="CosmoReader" />
+ <Proxy group="sources" name="SiloReader"/>
+ <Proxy group="sources" name="ExodusIIReader" />
+ <Proxy group="sources" name="ExodusRestartReader" />
+ <Proxy group="sources" name="SLACReader" />
+ <Proxy group="sources" name="SLACParticleReader" />
+ <Proxy group="sources" name="ParticleReader" />
+ <Proxy group="sources" name="VPICReader" />
+ <Proxy group="sources" name="WindBladeReader" />
+ <Proxy group="sources" name="NetCDFCAMReader" />
+ <Proxy group="sources" name="NetCDFPOPReader" />
+ <Proxy group="sources" name="UnstructuredPOPReader" />
+ <Proxy group="sources" name="PNetCDFPOPReader" />
+ <Proxy group="sources" name="MPASReader" />
+ <Proxy group="sources" name="EnzoParticlesReader" />
+ <Proxy group="sources" name="FlashParticlesReader" />
+ <Proxy group="sources" name="CMLMoleculeReader"/>
+</ParaViewReaders>
--- /dev/null
+<ParaViewSources>
+ <Proxy group="sources" name="GlyphSource2D" />
+ <Proxy group="sources" name="VectorText" />
+ <Proxy group="sources" name="TimeToTextConvertorSource" />
+ <Proxy group="sources" name="ArrowSource" />
+ <Proxy group="sources" name="Axes" />
+ <Proxy group="sources" name="CubeSource" />
+ <Proxy group="sources" name="ConeSource" />
+ <Proxy group="sources" name="CylinderSource" />
+ <Proxy group="sources" name="DataObjectGenerator" />
+ <Proxy group="sources" name="DiskSource" />
+ <Proxy group="sources" name="HierarchicalFractal" />
+ <Proxy group="sources" name="HyperTreeGridSource" />
+ <Proxy group="sources" name="LineSource" />
+ <Proxy group="sources" name="ImageMandelbrotSource" />
+ <Proxy group="sources" name="OctreeFractal" />
+ <Proxy group="sources" name="OutlineSource" />
+ <Proxy group="sources" name="PlaneSource" />
+ <Proxy group="sources" name="PointSource" />
+ <Proxy group="sources" name="ProgrammableSource" />
+ <Proxy group="sources" name="SphereSource" />
+ <Proxy group="sources" name="SplineSource" />
+ <Proxy group="sources" name="SuperquadricSource" />
+ <Proxy group="sources" name="TextSource" />
+ <Proxy group="sources" name="TimeSource" />
+ <Proxy group="sources" name="Ruler" />
+ <Proxy group="sources" name="RTAnalyticSource" />
+ <Proxy group="sources" name="AMRGaussianPulseSource" />
+</ParaViewSources>
--- /dev/null
+<ParaViewWriters>
+ <ProxyManager type="writer" />
+ <Proxy group="writers" name="XMLPVDWriter" />
+ <Proxy group="writers" name="XMLHyperOctreeWriter" />
+ <Proxy group="writers" name="XMLPolyDataWriter" />
+ <Proxy group="writers" name="XMLUnstructuredGridWriter" />
+ <Proxy group="writers" name="XMLStructuredGridWriter" />
+ <Proxy group="writers" name="XMLRectilinearGridWriter" />
+ <Proxy group="writers" name="XMLImageDataWriter" />
+ <Proxy group="writers" name="XMLPPolyDataWriter" />
+ <Proxy group="writers" name="XMLPUnstructuredGridWriter" />
+ <Proxy group="writers" name="XMLPStructuredGridWriter" />
+ <Proxy group="writers" name="XMLPRectilinearGridWriter"/>
+ <Proxy group="writers" name="XMLPImageDataWriter" />
+ <Proxy group="writers" name="XMLMultiBlockDataWriter" />
+ <Proxy group="writers" name="XMLUniformGridAMRWriter" />
+ <Proxy group="writers" name="DataSetWriter" />
+ <Proxy group="writers" name="PDataSetWriter" />
+ <Proxy group="writers" name="PPLYWriter" />
+ <Proxy group="writers" name="PSTLWriter" />
+ <Proxy group="writers" name="MetaImageWriter" />
+ <Proxy group="writers" name="PNGWriter" />
+ <Proxy group="writers" name="XdmfWriter"/>
+ <Proxy group="writers" name="ExodusIIWriter" />
+ <Proxy group="writers" name="EnSightWriter" />
+ <Proxy group="writers" name="CSVWriter" />
+ <Proxy group="writers" name="DataSetCSVWriter" />
+</ParaViewWriters>
#include "PyInterp_Utils.h"
+#include <iostream>
+
/*!
\class PyLockWrapper
\brief Python GIL wrapper.
PyLockWrapper::PyLockWrapper()
{
_gil_state = PyGILState_Ensure();
+ // Save current thread state for later comparison
+ _state = PyGILState_GetThisThreadState();
}
/*!
*/
PyLockWrapper::~PyLockWrapper()
{
+ PyThreadState * _currState = PyGILState_GetThisThreadState();
+ if (_currState != _state)
+ {
+ std::cout << "!!!!!!!!! PyLockWrapper inconsistency - now entering infinite loop for debugging\n";
+ while(1);
+ }
+
PyGILState_Release(_gil_state);
}
*/
class PYINTERP_EXPORT PyLockWrapper
{
- PyGILState_STATE _gil_state;
+
public:
PyLockWrapper();
~PyLockWrapper();
private:
+ PyGILState_STATE _gil_state;
+ PyThreadState * _state;
+
// "Rule of 3" - Forbid usage of copy operator and copy-constructor
PyLockWrapper(const PyLockWrapper & another);
const PyLockWrapper & operator=(const PyLockWrapper & another);
${OPENGL_LIBRARIES}
${QWT_LIBRARY}
SalomePyQtGUILight
- SalomeApp
)
# --- headers ---
#include CORBA_SERVER_HEADER(SALOME_Session)
#include CORBA_SERVER_HEADER(SALOMEDS)
+#include <time.h>
+
#include <QDir>
#include <QFile>
#include <QApplication>
//PyRun_SimpleString("orb.destroy()");
// Destroy the ORB:
- MESSAGE("Explicitely destroying the ORB (hoping to kill omniORB threads ...)");
+ sleep(2);
+ //std::cout << "@@@@@ Explicitely destroying the ORB (hoping to kill omniORB threads ...)\n";
ORB_INIT * init = SINGLETON_<ORB_INIT>::Instance();
if (init)
init->explicit_destroy();
+ //std::cout << "@@@@@ ORB destroyed\n";
// After ORB destruction
if(Py_IsInitialized())
{
PyGILState_Ensure();
+ //std::cout << "@@@@@ About to PyFinalize\n";
Py_Finalize();
+ //std::cout << "@@@@@ DONE PyFinalize\n";
}
if ( shutdownAll )
- killOmniNames();
+ {
+ //std::cout << "@@@@@ About to kill omni\n";
+ killOmniNames();
+ //std::cout << "@@@@@ DONE kill omni\n";
+ }
MESSAGE( "Salome_Session_Server:endofserver" );
return result;