mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +05:00
[Bug PAL7863] REGRESSION: Orientations of preview and already created object aren't coincide.
This commit is contained in:
parent
3c6d43b5e5
commit
0a35ffc7d7
@ -125,7 +125,7 @@ namespace SMESH{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
typedef list<vtkIdType> TVTKIds;
|
typedef std::vector<vtkIdType> TVTKIds;
|
||||||
void SetPosition(SMESH_Actor* theActor,
|
void SetPosition(SMESH_Actor* theActor,
|
||||||
vtkIdType theType,
|
vtkIdType theType,
|
||||||
const TVTKIds& theIds)
|
const TVTKIds& theIds)
|
||||||
@ -133,11 +133,34 @@ namespace SMESH{
|
|||||||
vtkUnstructuredGrid *aGrid = theActor->GetUnstructuredGrid();
|
vtkUnstructuredGrid *aGrid = theActor->GetUnstructuredGrid();
|
||||||
myGrid->SetPoints(aGrid->GetPoints());
|
myGrid->SetPoints(aGrid->GetPoints());
|
||||||
|
|
||||||
|
const int* aConn = NULL;
|
||||||
|
switch(theType){
|
||||||
|
case VTK_TETRA:{
|
||||||
|
static int anIds[] = {0,2,1,3};
|
||||||
|
aConn = anIds;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case VTK_PYRAMID:{
|
||||||
|
static int anIds[] = {0,3,2,1,4};
|
||||||
|
aConn = anIds;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case VTK_HEXAHEDRON:{
|
||||||
|
static int anIds[] = {0,3,2,1,4,7,6,5};
|
||||||
|
aConn = anIds;
|
||||||
|
break;
|
||||||
|
}}
|
||||||
|
|
||||||
myGrid->Reset();
|
myGrid->Reset();
|
||||||
vtkIdList *anIds = vtkIdList::New();
|
vtkIdList *anIds = vtkIdList::New();
|
||||||
TVTKIds::const_iterator anIt = theIds.begin();
|
|
||||||
for (int i = 0; anIt != theIds.end(); anIt++,i++)
|
if(aConn)
|
||||||
anIds->InsertId(i, *anIt);
|
for (int i = 0, iEnd = theIds.size(); i < iEnd; i++)
|
||||||
|
anIds->InsertId(i,theIds[aConn[i]]);
|
||||||
|
else
|
||||||
|
for (int i = 0, iEnd = theIds.size(); i < iEnd; i++)
|
||||||
|
anIds->InsertId(i,theIds[i]);
|
||||||
|
|
||||||
myGrid->InsertNextCell(theType,anIds);
|
myGrid->InsertNextCell(theType,anIds);
|
||||||
anIds->Delete();
|
anIds->Delete();
|
||||||
|
|
||||||
@ -578,7 +601,7 @@ void SMESHGUI_AddMeshElementDlg::displaySimulation()
|
|||||||
anIds.push_back( myActor->GetObject()->GetNodeVTKId( aListId[ i ].toInt() ));
|
anIds.push_back( myActor->GetObject()->GetNodeVTKId( aListId[ i ].toInt() ));
|
||||||
|
|
||||||
if ( Reverse && Reverse->isChecked() )
|
if ( Reverse && Reverse->isChecked() )
|
||||||
anIds.reverse();
|
reverse(anIds.begin(),anIds.end());
|
||||||
|
|
||||||
vtkIdType aType = 0;
|
vtkIdType aType = 0;
|
||||||
switch ( myNbNodes ) {
|
switch ( myNbNodes ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user