nbEdges = 4;
break;
case VTK_QUADRATIC_POLYGON:
- nbEdges = grid->GetCell(myVtkID)->GetNumberOfPoints() / 2;
+ nbEdges = NbNodes() / 2;
break;
case VTK_POLYGON:
default:
- nbEdges = grid->GetCell(myVtkID)->GetNumberOfPoints();
+ nbEdges = NbNodes();
break;
}
return nbEdges;
int SMDS_VtkFace::NbNodes() const
{
vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
- int nbPoints = grid->GetCell(myVtkID)->GetNumberOfPoints();
- return nbPoints;
+ vtkIdType *pts, npts;
+ grid->GetCellPoints( myVtkID, npts, pts );
+ return npts;
}
/*!
bool SMDS_VtkFace::IsMediumNode(const SMDS_MeshNode* node) const
{
vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
+ vtkIdType npts = 0;
+ vtkIdType* pts = 0;
+ grid->GetCellPoints(myVtkID, npts, pts);
+
vtkIdType aVtkType = grid->GetCellType(this->myVtkID);
int rankFirstMedium = 0;
switch (aVtkType)
rankFirstMedium = 4; // medium nodes are of rank 4,5,6,7
break;
case VTK_QUADRATIC_POLYGON:
- rankFirstMedium = grid->GetCell(myVtkID)->GetNumberOfPoints() / 2;
+ rankFirstMedium = npts / 2;
break;
default:
//MESSAGE("wrong element type " << aVtkType);
return false;
}
- vtkIdType npts = 0;
- vtkIdType* pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
vtkIdType nodeId = node->getVtkId();
for (int rank = 0; rank < npts; rank++)
{
int SMDS_VtkFace::NbCornerNodes() const
{
vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
- int nbPoints = grid->GetCell(myVtkID)->GetNumberOfPoints();
+ int nbPoints = NbNodes();
vtkIdType aVtkType = grid->GetCellType(myVtkID);
switch ( aVtkType )
{