ParaView / PARAVIS improvements 2014: 2.6.3/2.6.4: Geometry & Mesh plug-ins in the ParaVis module

This commit is contained in:
ema 2014-11-25 15:56:20 +03:00 committed by vsr
parent a2204af929
commit cb136b9fea
10 changed files with 89 additions and 2 deletions

View File

@ -313,6 +313,11 @@ module SMESH
* happen if mesh data is not yet fully loaded from the file of study.
*/
boolean IsMeshInfoCorrect();
/*!
* Returns mesh unstructed grid information.
*/
SALOMEDS::TMPFile GetVtkUgStream();
};
interface SMESH_Group;

View File

@ -2517,6 +2517,17 @@ SMESH::SMESH_Mesh_ptr Filter_i::GetMesh()
return SMESH_Mesh::_duplicate( myMesh );
}
//=======================================================================
//function : GetVtkUgStream
//purpose : Return data vtk unstructured grid (not implemented)
//=======================================================================
SALOMEDS::TMPFile* Filter_i::GetVtkUgStream()
{
SALOMEDS::TMPFile_var SeqFile;
return SeqFile._retn();
}
//================================================================================
/*!
* \brief Stores an object to be notified on change of predicate

View File

@ -952,7 +952,7 @@ namespace SMESH
virtual SMESH::array_of_ElementType* GetTypes();
virtual SMESH::SMESH_Mesh_ptr GetMesh();
virtual bool IsMeshInfoCorrect() { return true; }
virtual SALOMEDS::TMPFile* GetVtkUgStream();
/*!
* \brief Object notified on change of predicate
*/

View File

@ -749,6 +749,17 @@ bool SMESH_GroupBase_i::IsMeshInfoCorrect()
return myPreMeshInfo ? myPreMeshInfo->IsMeshInfoCorrect() : true;
}
//=======================================================================
//function : GetVtkUgStream
//purpose : Return data vtk unstructured grid (not implemented)
//=======================================================================
SALOMEDS::TMPFile* SMESH_GroupBase_i::GetVtkUgStream()
{
SALOMEDS::TMPFile_var SeqFile;
return SeqFile._retn();
}
//================================================================================
/*!
* \brief Retrieves the predicate from the filter

View File

@ -95,6 +95,10 @@ class SMESH_I_EXPORT SMESH_GroupBase_i:
* happen if mesh data is not yet fully loaded from the file of study.
*/
virtual bool IsMeshInfoCorrect();
/*!
* Returns mesh unstructed grid information.
*/
virtual SALOMEDS::TMPFile* GetVtkUgStream();
// Internal C++ interface
int GetLocalID() const { return myLocalID; }

View File

@ -781,6 +781,11 @@ struct SMESH_MeshEditor_i::_IDSource : public virtual POA_SMESH::SMESH_IDSource,
}
return types._retn();
}
SALOMEDS::TMPFile* GetVtkUgStream()
{
SALOMEDS::TMPFile_var SeqFile;
return SeqFile._retn();
}
};
SMESH::SMESH_IDSource_ptr SMESH_MeshEditor_i::MakeIDSource(const SMESH::long_array& ids,

View File

@ -79,6 +79,8 @@
#include <iostream>
#include <sstream>
#include <vtkUnstructuredGridWriter.h>
// to pass CORBA exception through SMESH_TRY
#define SMY_OWN_CATCH catch( SALOME::SALOME_Exception& se ) { throw se; }
@ -5048,6 +5050,37 @@ void SMESH_Mesh_i::CollectMeshInfo(const SMDS_ElemIteratorPtr theItr,
while (theItr->more())
theInfo[ theItr->next()->GetEntityType() ]++;
}
//=============================================================================
/*
* Returns mesh unstructed grid information.
*/
//=============================================================================
SALOMEDS::TMPFile* SMESH_Mesh_i::GetVtkUgStream()
{
SALOMEDS::TMPFile_var SeqFile;
if ( SMESHDS_Mesh* aMeshDS = _impl->GetMeshDS() ) {
SMDS_UnstructuredGrid* aGrid = aMeshDS->getGrid();
if(aGrid) {
vtkUnstructuredGridWriter* aWriter = vtkUnstructuredGridWriter::New();
aWriter->WriteToOutputStringOn();
aWriter->SetInputData(aGrid);
aWriter->SetFileTypeToBinary();
aWriter->Write();
char* str = aWriter->GetOutputString();
int size = aWriter->GetOutputStringLength();
//Allocate octect buffer of required size
CORBA::Octet* OctetBuf = SALOMEDS::TMPFile::allocbuf(size);
//Copy ostrstream content to the octect buffer
memcpy(OctetBuf, str, size);
//Create and return TMPFile
SeqFile = new SALOMEDS::TMPFile(size, size, OctetBuf, 1);
aWriter->Delete();
}
}
return SeqFile._retn();
}
//=============================================================================
namespace /* Iterators used in SMESH_Mesh_i::GetElements(SMESH::SMESH_IDSource_var obj,

View File

@ -650,6 +650,10 @@ public:
* happen if mesh data is not yet fully loaded from the file of study.
*/
bool IsMeshInfoCorrect();
/*!
* Returns mesh unstructed grid information.
*/
virtual SALOMEDS::TMPFile* GetVtkUgStream();
std::map<int, SMESH_subMesh_i*> _mapSubMesh_i; //NRI
std::map<int, ::SMESH_subMesh*> _mapSubMesh; //NRI

View File

@ -607,3 +607,14 @@ bool SMESH_subMesh_i::IsMeshInfoCorrect()
{
return _preMeshInfo ? _preMeshInfo->IsMeshInfoCorrect() : true;
}
//=======================================================================
//function : GetVtkUgStream
//purpose : Return data vtk unstructured grid (not implemented)
//=======================================================================
SALOMEDS::TMPFile* SMESH_subMesh_i::GetVtkUgStream()
{
SALOMEDS::TMPFile_var SeqFile;
return SeqFile._retn();
}

View File

@ -110,7 +110,10 @@ public:
* happen if mesh data is not yet fully loaded from the file of study.
*/
virtual bool IsMeshInfoCorrect();
/*!
* Returns mesh unstructed grid information.
*/
virtual SALOMEDS::TMPFile* GetVtkUgStream();
protected: