Salome HOME
0022100: EDF 2413 SMESH: Take into account TRIA7
authoreap <eap@opencascade.com>
Thu, 16 May 2013 16:41:58 +0000 (16:41 +0000)
committereap <eap@opencascade.com>
Thu, 16 May 2013 16:41:58 +0000 (16:41 +0000)
+  aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_TRIANGLE);

src/OBJECT/SMESH_Actor.cxx
src/OBJECT/SMESH_Object.cxx

index ee5c77ac222fcedac398d4a46e4a3342dbbfd5c8..42193dc2f444209305662862a115df7a36b10a75 100644 (file)
@@ -230,6 +230,7 @@ SMESH_ActorDef::SMESH_ActorDef()
   aFilter->RegisterCellsWithType(VTK_QUADRATIC_TRIANGLE);
   aFilter->RegisterCellsWithType(VTK_QUADRATIC_QUAD);
   aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_QUAD);
   aFilter->RegisterCellsWithType(VTK_QUADRATIC_TRIANGLE);
   aFilter->RegisterCellsWithType(VTK_QUADRATIC_QUAD);
   aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_QUAD);
+  aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_TRIANGLE);
 
   my2DExtProp = vtkProperty::New();
   my2DExtProp->DeepCopy(mySurfaceProp);
 
   my2DExtProp = vtkProperty::New();
   my2DExtProp->DeepCopy(mySurfaceProp);
@@ -252,6 +253,7 @@ SMESH_ActorDef::SMESH_ActorDef()
   aFilter->RegisterCellsWithType(VTK_QUADRATIC_TRIANGLE);
   aFilter->RegisterCellsWithType(VTK_QUADRATIC_QUAD);
   aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_QUAD);
   aFilter->RegisterCellsWithType(VTK_QUADRATIC_TRIANGLE);
   aFilter->RegisterCellsWithType(VTK_QUADRATIC_QUAD);
   aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_QUAD);
+  aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_TRIANGLE);
 
   my3DActor = SMESH_CellLabelActor::New();
   my3DActor->SetStoreGemetryMapping(true);
 
   my3DActor = SMESH_CellLabelActor::New();
   my3DActor->SetStoreGemetryMapping(true);
@@ -1582,6 +1584,7 @@ void SMESH_ActorDef::SetEntityMode(unsigned int theMode)
     aFilter->RegisterCellsWithType(VTK_QUADRATIC_TRIANGLE);
     aFilter->RegisterCellsWithType(VTK_QUADRATIC_QUAD);
     aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_QUAD);
     aFilter->RegisterCellsWithType(VTK_QUADRATIC_TRIANGLE);
     aFilter->RegisterCellsWithType(VTK_QUADRATIC_QUAD);
     aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_QUAD);
+    aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_TRIANGLE);
 
     aHightFilter->RegisterCellsWithType(VTK_TRIANGLE);
     aHightFilter->RegisterCellsWithType(VTK_POLYGON);
 
     aHightFilter->RegisterCellsWithType(VTK_TRIANGLE);
     aHightFilter->RegisterCellsWithType(VTK_POLYGON);
@@ -1589,6 +1592,7 @@ void SMESH_ActorDef::SetEntityMode(unsigned int theMode)
     aHightFilter->RegisterCellsWithType(VTK_QUADRATIC_TRIANGLE);
     aHightFilter->RegisterCellsWithType(VTK_QUADRATIC_QUAD);
     aHightFilter->RegisterCellsWithType(VTK_BIQUADRATIC_QUAD);
     aHightFilter->RegisterCellsWithType(VTK_QUADRATIC_TRIANGLE);
     aHightFilter->RegisterCellsWithType(VTK_QUADRATIC_QUAD);
     aHightFilter->RegisterCellsWithType(VTK_BIQUADRATIC_QUAD);
+    aHightFilter->RegisterCellsWithType(VTK_BIQUADRATIC_TRIANGLE);
   }
 
   if (myEntityMode & eVolumes) {
   }
 
   if (myEntityMode & eVolumes) {
index 0fa50848ad5ae2847471d101681c7c57cbb4d442..c4ddc1cd03c839e83ab6110b604a377f7dabeff8 100644 (file)
@@ -103,6 +103,7 @@ static inline vtkIdType getCellType( const SMDSAbs_ElementType theType,
       else if ( theNbNodes == 6 )   return VTK_QUADRATIC_TRIANGLE;
       else if ( theNbNodes == 8 )   return VTK_QUADRATIC_QUAD;
       else if ( theNbNodes == 9 )   return VTK_BIQUADRATIC_QUAD;
       else if ( theNbNodes == 6 )   return VTK_QUADRATIC_TRIANGLE;
       else if ( theNbNodes == 8 )   return VTK_QUADRATIC_QUAD;
       else if ( theNbNodes == 9 )   return VTK_BIQUADRATIC_QUAD;
+      else if ( theNbNodes == 7 )   return VTK_BIQUADRATIC_TRIANGLE;
       else return VTK_EMPTY_CELL;
       
     case SMDSAbs_Volume:
       else return VTK_EMPTY_CELL;
       
     case SMDSAbs_Volume: