static int INCMEMORY = 4;
+int VISU::PrsMerger_i::IsCompatibleCellTypes(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity,
+ const char* theFieldName, int theIteration)
+{
+ // check cell types
+ VISU::PIDMapper anIDMapper =
+ theResult->GetInput()->GetTimeStampOnMesh(theMeshName,VISU::TEntity(theEntity),theFieldName,theIteration);
+ vtkUnsignedCharArray* cellTypes = vtkUnsignedCharArray::New();
+ VISU::TVTKOutput* aDataSet = anIDMapper->GetVTKOutput();
+ aDataSet->Update();
+ aDataSet->GetListOfUniqueCellTypes(cellTypes);
+ for(vtkIdType anId = 0; anId < cellTypes->GetNumberOfTuples(); anId++){
+ const vtkIdType aType = (const vtkIdType)cellTypes->GetValue(anId);
+ if(aType == VTK_QUADRATIC_EDGE ||
+ aType == VTK_QUADRATIC_TRIANGLE ||
+ aType == VTK_QUADRATIC_QUAD ||
+ aType == VTK_QUADRATIC_TETRA ||
+ aType == VTK_QUADRATIC_HEXAHEDRON ||
+ aType == VTK_CONVEX_POINT_SET)
+ {
+ cellTypes->Delete();
+ return 0;
+ }
+ }
+ cellTypes->Delete();
+ return 1;
+}
+
+
int VISU::PrsMerger_i::IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity,
const char* theFieldName, int theIteration, int isMemoryCheck)
{
public:
+ static int IsCompatibleCellTypes(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity,
+ const char* theFieldName, int theIteration);
static int IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity,
const char* theFieldName, int theIteration, int isMemoryCheck = true);