MCPcopy Create free account
hub / github.com/Kitware/VTK / GetLagrangePCoords

Method GetLagrangePCoords

Filters/General/vtkFiniteElementFieldDistributor.cxx:1374–1412  ·  view source on GitHub ↗

----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1372
1373//----------------------------------------------------------------------------
1374std::vector<double> vtkFiniteElementFieldDistributor::vtkInternals::GetLagrangePCoords(
1375 VTKCellType cellType, vtkIdType npts)
1376{
1377 vtkCell* cell = nullptr;
1378 switch (cellType)
1379 {
1380 case VTK_HEXAHEDRON:
1381 this->lagrangeHex->SetUniformOrderFromNumPoints(npts);
1382 cell = this->lagrangeHex;
1383 break;
1384 case VTK_QUAD:
1385 this->lagrangeQuad->SetUniformOrderFromNumPoints(npts);
1386 cell = this->lagrangeQuad;
1387 break;
1388 case VTK_TETRA:
1389 cell = this->lagrangeTet;
1390 break;
1391 case VTK_TRIANGLE:
1392 cell = this->lagrangeTri;
1393 break;
1394 case VTK_WEDGE:
1395 cell = this->lagrangeWedge;
1396 break;
1397 default:
1398 break;
1399 }
1400 if (cell != nullptr)
1401 {
1402 cell->PointIds->SetNumberOfIds(npts);
1403 cell->Points->SetNumberOfPoints(npts);
1404 cell->Initialize();
1405 double* pCoords = cell->GetParametricCoords();
1406 return std::vector<double>(pCoords, pCoords + npts * 3);
1407 }
1408 else
1409 {
1410 return {};
1411 }
1412}
1413
1414//----------------------------------------------------------------------------
1415void vtkFiniteElementFieldDistributor::vtkInternals::ExplodeCell(vtkIdType cellId,

Callers 1

Calls 5

SetNumberOfIdsMethod · 0.80
SetNumberOfPointsMethod · 0.45
InitializeMethod · 0.45
GetParametricCoordsMethod · 0.45

Tested by

no test coverage detected