提交 f51d3a18 编写于 作者: F Florian Maurin

Replace some duplicated code by existing functions

The code that is replaced is exactly the same in the function.
It is just more compact as it.
上级 91904c1c
......@@ -526,54 +526,27 @@ void vtkDataSet::SetCellOrderAndRationalWeights(vtkIdType cellId, vtkGenericCell
{
vtkHigherOrderQuadrilateral* cellBezier =
dynamic_cast<vtkHigherOrderQuadrilateral*>(cell->GetRepresentativeCell());
vtkDataArray* v = this->GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
cellBezier->SetOrder(degs[0], degs[1]);
}
else
{
vtkIdType numPts = cell->PointIds->GetNumberOfIds();
cellBezier->SetUniformOrderFromNumPoints(numPts);
}
// Set the degrees
cellBezier->SetOrderFromCellData(
this->GetCellData(), cell->PointIds->GetNumberOfIds(), cellId);
break;
}
case VTK_LAGRANGE_WEDGE:
{
vtkIdType numPts = cell->PointIds->GetNumberOfIds();
vtkHigherOrderWedge* cellBezier =
dynamic_cast<vtkHigherOrderWedge*>(cell->GetRepresentativeCell());
vtkDataArray* v = this->GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
cellBezier->SetOrder(degs[0], degs[1], degs[2], numPts);
}
else
{
cellBezier->SetUniformOrderFromNumPoints(numPts);
}
// Set the degrees
cellBezier->SetOrderFromCellData(
this->GetCellData(), cell->PointIds->GetNumberOfIds(), cellId);
break;
}
case VTK_LAGRANGE_HEXAHEDRON:
{
vtkHigherOrderHexahedron* cellBezier =
dynamic_cast<vtkHigherOrderHexahedron*>(cell->GetRepresentativeCell());
vtkDataArray* v = this->GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
cellBezier->SetOrder(degs[0], degs[1], degs[2]);
}
else
{
vtkIdType numPts = cell->PointIds->GetNumberOfIds();
cellBezier->SetUniformOrderFromNumPoints(numPts);
}
// Set the degrees
cellBezier->SetOrderFromCellData(
this->GetCellData(), cell->PointIds->GetNumberOfIds(), cellId);
break;
}
......@@ -583,20 +556,8 @@ void vtkDataSet::SetCellOrderAndRationalWeights(vtkIdType cellId, vtkGenericCell
vtkIdType numPts = cell->PointIds->GetNumberOfIds();
vtkBezierQuadrilateral* cellBezier =
dynamic_cast<vtkBezierQuadrilateral*>(cell->GetRepresentativeCell());
// Set the degrees
vtkDataArray* v = this->GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
cellBezier->SetOrder(degs[0], degs[1]);
}
else
{
cellBezier->SetUniformOrderFromNumPoints(numPts);
}
cellBezier->SetOrderFromCellData(this->GetCellData(), numPts, cellId);
// Set the weights
cellBezier->SetRationalWeightsFromPointData(GetPointData(), numPts);
break;
......@@ -606,20 +567,8 @@ void vtkDataSet::SetCellOrderAndRationalWeights(vtkIdType cellId, vtkGenericCell
vtkIdType numPts = cell->PointIds->GetNumberOfIds();
vtkBezierHexahedron* cellBezier =
dynamic_cast<vtkBezierHexahedron*>(cell->GetRepresentativeCell());
// Set the degrees
vtkDataArray* v = this->GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
cellBezier->SetOrder(degs[0], degs[1], degs[2]);
}
else
{
cellBezier->SetUniformOrderFromNumPoints(numPts);
}
cellBezier->SetOrderFromCellData(this->GetCellData(), numPts, cellId);
// Set the weights
cellBezier->SetRationalWeightsFromPointData(GetPointData(), numPts);
break;
......@@ -628,20 +577,8 @@ void vtkDataSet::SetCellOrderAndRationalWeights(vtkIdType cellId, vtkGenericCell
{
vtkIdType numPts = cell->PointIds->GetNumberOfIds();
vtkBezierWedge* cellBezier = dynamic_cast<vtkBezierWedge*>(cell->GetRepresentativeCell());
// Set the degrees
vtkDataArray* v = this->GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
cellBezier->SetOrder(degs[0], degs[1], degs[2], numPts);
}
else
{
cellBezier->SetUniformOrderFromNumPoints(numPts);
}
cellBezier->SetOrderFromCellData(this->GetCellData(), numPts, cellId);
// Set the weights
cellBezier->SetRationalWeightsFromPointData(GetPointData(), numPts);
break;
......
......@@ -604,17 +604,7 @@ vtkCell* vtkUnstructuredGrid::GetCell(vtkIdType cellId)
{
this->LagrangeQuadrilateral = vtkLagrangeQuadrilateral::New();
}
vtkDataArray* v = GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
this->LagrangeQuadrilateral->SetOrder(degs[0], degs[1]);
}
else
{
this->LagrangeQuadrilateral->SetUniformOrderFromNumPoints(numPts);
}
this->LagrangeQuadrilateral->SetOrderFromCellData(GetCellData(), numPts, cellId);
cell = this->LagrangeQuadrilateral;
break;
}
......@@ -625,17 +615,7 @@ vtkCell* vtkUnstructuredGrid::GetCell(vtkIdType cellId)
{
this->LagrangeHexahedron = vtkLagrangeHexahedron::New();
}
vtkDataArray* v = GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
this->LagrangeHexahedron->SetOrder(degs[0], degs[1], degs[2]);
}
else
{
this->LagrangeHexahedron->SetUniformOrderFromNumPoints(numPts);
}
this->LagrangeHexahedron->SetOrderFromCellData(GetCellData(), numPts, cellId);
cell = this->LagrangeHexahedron;
break;
}
......@@ -662,17 +642,7 @@ vtkCell* vtkUnstructuredGrid::GetCell(vtkIdType cellId)
{
this->LagrangeWedge = vtkLagrangeWedge::New();
}
vtkDataArray* v = GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
this->LagrangeWedge->SetOrder(degs[0], degs[1], degs[2], numPts);
}
else
{
this->LagrangeWedge->SetUniformOrderFromNumPoints(numPts);
}
this->LagrangeWedge->SetOrderFromCellData(GetCellData(), numPts, cellId);
cell = this->LagrangeWedge;
break;
}
......@@ -704,17 +674,7 @@ vtkCell* vtkUnstructuredGrid::GetCell(vtkIdType cellId)
{
this->BezierQuadrilateral = vtkBezierQuadrilateral::New();
}
vtkDataArray* v = GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
this->BezierQuadrilateral->SetOrder(degs[0], degs[1]);
}
else
{
this->BezierQuadrilateral->SetUniformOrderFromNumPoints(numPts);
}
this->BezierQuadrilateral->SetOrderFromCellData(GetCellData(), numPts, cellId);
vtkDataArray* wts = GetPointData()->GetRationalWeights();
if (wts)
{
......@@ -736,17 +696,7 @@ vtkCell* vtkUnstructuredGrid::GetCell(vtkIdType cellId)
{
this->BezierHexahedron = vtkBezierHexahedron::New();
}
vtkDataArray* v = GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
this->BezierHexahedron->SetOrder(degs[0], degs[1], degs[2]);
}
else
{
this->BezierHexahedron->SetUniformOrderFromNumPoints(numPts);
}
this->BezierHexahedron->SetOrderFromCellData(GetCellData(), numPts, cellId);
vtkDataArray* wts = GetPointData()->GetRationalWeights();
if (wts)
{
......@@ -810,17 +760,7 @@ vtkCell* vtkUnstructuredGrid::GetCell(vtkIdType cellId)
{
this->BezierWedge = vtkBezierWedge::New();
}
vtkDataArray* v = GetCellData()->GetHigherOrderDegrees();
if (v)
{
double degs[3];
v->GetTuple(cellId, degs);
this->BezierWedge->SetOrder(degs[0], degs[1], degs[2], numPts);
}
else
{
this->BezierWedge->SetUniformOrderFromNumPoints(numPts);
}
this->BezierWedge->SetOrderFromCellData(GetCellData(), numPts, cellId);
vtkDataArray* wts = GetPointData()->GetRationalWeights();
if (wts)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册