-// Copyright (C) 2010-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2010-2021 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
}
va_end( vl );
- int vtkType = toVtkType( theEntity );
- int vtkID = getGrid()->InsertNextLinkedCell( vtkType, theNbNodes, vtkIds );
+ int vtkType = toVtkType( theEntity );
+ vtkIdType vtkID = getGrid()->InsertNextLinkedCell( vtkType, theNbNodes, vtkIds );
setVtkID( vtkID );
}
for ( size_t i = 0; i < nodes.size(); ++i )
vtkIds[i] = nodes[i]->GetVtkID();
- int vtkType = toVtkType( theEntity );
- int vtkID = getGrid()->InsertNextLinkedCell( vtkType, nodes.size(), &vtkIds[0] );
+ int vtkType = toVtkType( theEntity );
+ vtkIdType vtkID = getGrid()->InsertNextLinkedCell( vtkType, nodes.size(), &vtkIds[0] );
setVtkID( vtkID );
}
void SMDS_MeshCell::init( SMDSAbs_EntityType theEntity,
const std::vector<vtkIdType>& vtkNodeIds )
{
- int vtkType = toVtkType( theEntity );
- int vtkID = getGrid()->InsertNextLinkedCell( vtkType, vtkNodeIds.size(),
- const_cast< vtkIdType* > ( &vtkNodeIds[0] ));
+ int vtkType = toVtkType( theEntity );
+ vtkIdType vtkID = getGrid()->InsertNextLinkedCell( vtkType, vtkNodeIds.size(),
+ const_cast< vtkIdType* > ( &vtkNodeIds[0] ));
setVtkID( vtkID );
}
bool SMDS_MeshCell::ChangeNodes(const SMDS_MeshNode* nodes[], const int theNbNodes)
{
vtkIdType npts = 0;
- vtkIdType* pts = 0;
- getGrid()->GetCellPoints( GetVtkID(), npts, pts );
+ vtkIdType *pts(nullptr);
+ vtkIdType const *tmp(nullptr);
+ getGrid()->GetCellPoints( GetVtkID(), npts, tmp );
+ pts = const_cast<vtkIdType *>(tmp);
if ( theNbNodes != npts )
{
MESSAGE("ChangeNodes problem: not the same number of nodes " << npts << " -> " << theNbNodes);
{
if ( GetVtkType() == VTK_POLYHEDRON )
return static_cast< const SMDS_MeshVolume* >( this )->SMDS_MeshVolume::NbNodes();
- vtkIdType *pts, npts;
- getGrid()->GetCellPoints( GetVtkID(), npts, pts );
+ vtkIdType npts = getGrid()->GetCells()->GetCellSize( GetVtkID() );
return npts;
}
if ( GetVtkType() == VTK_POLYHEDRON )
return static_cast< const SMDS_MeshVolume* >( this )->SMDS_MeshVolume::GetNode( ind );
- vtkIdType npts, *pts;
+ vtkIdType npts;
+ vtkIdType const *pts;
getGrid()->GetCellPoints( GetVtkID(), npts, pts );
const std::vector<int>& interlace = SMDS_MeshCell::fromVtkOrder( VTKCellType( GetVtkType() ));
return GetMesh()->FindNodeVtk( pts[ interlace.empty() ? ind : interlace[ ind ]]);
if ( GetVtkType() == VTK_POLYHEDRON )
return static_cast< const SMDS_MeshVolume* >( this )->SMDS_MeshVolume::GetNodeIndex( node );
- vtkIdType npts, *pts;
+ vtkIdType npts;
+ vtkIdType const *pts;
getGrid()->GetCellPoints( GetVtkID(), npts, pts );
for ( vtkIdType i = 0; i < npts; ++i )
if ( pts[i] == node->GetVtkID() )