mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-27 09:50:34 +05:00
Fix for issue 0019935: EDF 793 SMESH: Drawing of a line on a non-planar surface. To draw only connectivity lines.
This commit is contained in:
parent
c003632371
commit
bc3f3f9c01
@ -168,7 +168,9 @@ SMESH_ActorDef::SMESH_ActorDef()
|
||||
aFilter->RegisterCellsWithType(VTK_PYRAMID);
|
||||
aFilter->RegisterCellsWithType(VTK_QUADRATIC_TETRA);
|
||||
aFilter->RegisterCellsWithType(VTK_QUADRATIC_HEXAHEDRON);
|
||||
aFilter->RegisterCellsWithType(VTK_QUADRATIC_WEDGE);
|
||||
aFilter->RegisterCellsWithType(VTK_CONVEX_POINT_SET);
|
||||
|
||||
|
||||
//Definition 1D divice of the actor
|
||||
//---------------------------------
|
||||
@ -1055,6 +1057,7 @@ void SMESH_ActorDef::SetEntityMode(unsigned int theMode){
|
||||
aFilter->RegisterCellsWithType(VTK_PYRAMID);
|
||||
aFilter->RegisterCellsWithType(VTK_QUADRATIC_TETRA);
|
||||
aFilter->RegisterCellsWithType(VTK_QUADRATIC_HEXAHEDRON);
|
||||
aFilter->RegisterCellsWithType(VTK_QUADRATIC_WEDGE);
|
||||
aFilter->RegisterCellsWithType(VTK_CONVEX_POINT_SET);
|
||||
}
|
||||
aFilter->Update();
|
||||
|
@ -112,7 +112,10 @@ static inline vtkIdType getCellType( const SMDSAbs_ElementType theType,
|
||||
else if ( theNbNodes == 20 ) {
|
||||
return VTK_QUADRATIC_HEXAHEDRON;
|
||||
}
|
||||
else if ( theNbNodes==13 || theNbNodes==15 ) {
|
||||
else if ( theNbNodes == 15 ) {
|
||||
return VTK_QUADRATIC_WEDGE;
|
||||
}
|
||||
else if ( theNbNodes==13 ) {
|
||||
return VTK_CONVEX_POINT_SET;
|
||||
}
|
||||
else return VTK_EMPTY_CELL;
|
||||
@ -404,7 +407,8 @@ void SMESH_VisualObjDef::buildElemPrs()
|
||||
for (int k = 0; k < aNbNodes; k++) aConnectivities.push_back(anIds[k]);
|
||||
}
|
||||
else if (aNbNodes == 15) {
|
||||
static int anIds[] = {0,2,1,3,5,4,8,7,6,11,10,9,12,14,13};
|
||||
//static int anIds[] = {0,2,1,3,5,4,8,7,6,11,10,9,12,14,13};
|
||||
static int anIds[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};
|
||||
for (int k = 0; k < aNbNodes; k++) aConnectivities.push_back(anIds[k]);
|
||||
//for (int k = 0; k < aNbNodes; k++) {
|
||||
// int nn = aConnectivities[k];
|
||||
|
@ -220,8 +220,8 @@ namespace SMESH {
|
||||
aType = VTK_CONVEX_POINT_SET;
|
||||
break;
|
||||
case QUAD_PENTAHEDRON:
|
||||
//aType = VTK_QUADRATIC_WEDGE; // NOT SUPPORTED IN VTK4.2
|
||||
aType = VTK_CONVEX_POINT_SET;
|
||||
aType = VTK_QUADRATIC_WEDGE;
|
||||
//aType = VTK_CONVEX_POINT_SET;
|
||||
break;
|
||||
case QUAD_HEXAHEDRON:
|
||||
aType = VTK_QUADRATIC_HEXAHEDRON;
|
||||
@ -236,9 +236,13 @@ namespace SMESH {
|
||||
}
|
||||
else {
|
||||
// VTK cell connectivity opposites the MED one for volumic elements
|
||||
if ( theIds.size() > 8 ? !theReverse : theReverse ) {
|
||||
ReverseConnectivity( theIds, theType );
|
||||
if( aType != VTK_QUADRATIC_WEDGE) {
|
||||
if ( theIds.size() > 8 ? !theReverse : theReverse ) {
|
||||
ReverseConnectivity( theIds, theType );
|
||||
}
|
||||
}
|
||||
else if(theReverse)
|
||||
ReverseConnectivity( theIds, theType );
|
||||
}
|
||||
|
||||
myGrid->Reset();
|
||||
|
@ -137,7 +137,10 @@ vtkIdType getCellType( const SMDSAbs_ElementType theType,
|
||||
else if ( theNbNodes == 20 ) {
|
||||
return VTK_QUADRATIC_HEXAHEDRON;
|
||||
}
|
||||
else if ( theNbNodes==13 || theNbNodes==15 ) {
|
||||
else if ( theNbNodes==15 ) {
|
||||
return VTK_QUADRATIC_WEDGE;
|
||||
}
|
||||
else if ( theNbNodes==13 ) {
|
||||
return VTK_CONVEX_POINT_SET;
|
||||
}
|
||||
else return VTK_EMPTY_CELL;
|
||||
|
Loading…
Reference in New Issue
Block a user