Compare commits
2 Commits
340cdbd7ed
...
5ad9c70825
Author | SHA1 | Date | |
---|---|---|---|
5ad9c70825 | |||
6178f294cd |
@ -1,18 +1,30 @@
|
|||||||
#include "aspect_ratio_filter.h"
|
#include "aspect_ratio_filter.h"
|
||||||
|
#include "vtkDataObject.h"
|
||||||
|
|
||||||
#include <vtkUnstructuredGrid.h>
|
#include <vtkUnstructuredGrid.h>
|
||||||
#include <vtkPointData.h>
|
#include <vtkPointData.h>
|
||||||
#include <vtkCellData.h>
|
#include <vtkCellData.h>
|
||||||
#include <vtkDoubleArray.h>
|
#include <vtkDoubleArray.h>
|
||||||
#include <vtkCellIterator.h>
|
#include <vtkCellIterator.h>
|
||||||
|
#include <vtkInformation.h>
|
||||||
|
#include <vtkInformationVector.h>
|
||||||
|
|
||||||
|
|
||||||
vtkStandardNewMacro(AspectRatioFilter);
|
vtkStandardNewMacro(AspectRatioFilter);
|
||||||
|
|
||||||
|
|
||||||
|
// Ensure there is an "angles", 12 floats tuple array in the DataCell.
|
||||||
int AspectRatioFilter::FillInputPortInformation(int port, vtkInformation *info) {
|
int AspectRatioFilter::FillInputPortInformation(int port, vtkInformation *info) {
|
||||||
vtkUnstructuredGridAlgorithm::FillInputPortInformation(port, info);
|
vtkUnstructuredGridAlgorithm::FillInputPortInformation(port, info);
|
||||||
// Ensure there is an "angles" array in the DataCell.
|
vtkNew<vtkInformation> anglesField;
|
||||||
|
anglesField->Set(vtkDataObject::FIELD_ASSOCIATION(), vtkDataObject::FIELD_ASSOCIATION_CELLS);
|
||||||
|
anglesField->Set(vtkDataObject::FIELD_NAME(), "angles");
|
||||||
|
anglesField->Set(vtkDataObject::FIELD_NUMBER_OF_COMPONENTS(), 12);
|
||||||
|
anglesField->Set(vtkDataObject::FIELD_ARRAY_TYPE(), VTK_DOUBLE);
|
||||||
|
|
||||||
|
vtkNew<vtkInformationVector> fields;
|
||||||
|
fields->Append(anglesField);
|
||||||
|
info->Set(vtkAlgorithm::INPUT_REQUIRED_FIELDS(), fields);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
#include <vtkOpenGLProjectedTetrahedraMapper.h>
|
#include <vtkOpenGLProjectedTetrahedraMapper.h>
|
||||||
#include <vtkUnstructuredGridReader.h>
|
#include <vtkUnstructuredGridReader.h>
|
||||||
#include <vtkPiecewiseFunction.h>
|
#include <vtkPiecewiseFunction.h>
|
||||||
#include <vtkDoubleArray.h>
|
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
@ -60,7 +59,7 @@ int main(int argc, char **argv) {
|
|||||||
/* Display angles in console. */
|
/* Display angles in console. */
|
||||||
anglesFilter->Update();
|
anglesFilter->Update();
|
||||||
vtkUnstructuredGrid *grid = anglesFilter->GetOutput();
|
vtkUnstructuredGrid *grid = anglesFilter->GetOutput();
|
||||||
auto *angles = vtkDoubleArray::SafeDownCast(grid->GetCellData()->GetArray("angles"));
|
auto *angles = grid->GetCellData()->GetArray("angles");
|
||||||
for (ssize_t i = 0; i < angles->GetNumberOfTuples(); i++) {
|
for (ssize_t i = 0; i < angles->GetNumberOfTuples(); i++) {
|
||||||
std::cout << "cell " << i << ": ";
|
std::cout << "cell " << i << ": ";
|
||||||
for (ssize_t j = 0; j < angles->GetNumberOfComponents(); j++) {
|
for (ssize_t j = 0; j < angles->GetNumberOfComponents(); j++) {
|
||||||
@ -76,7 +75,7 @@ int main(int argc, char **argv) {
|
|||||||
/* Display aspect ratios in console. */
|
/* Display aspect ratios in console. */
|
||||||
aspectRatioFilter->Update();
|
aspectRatioFilter->Update();
|
||||||
grid = aspectRatioFilter->GetOutput();
|
grid = aspectRatioFilter->GetOutput();
|
||||||
auto *aspectRatios = vtkDoubleArray::SafeDownCast(grid->GetCellData()->GetArray("aspect_ratio"));
|
auto *aspectRatios = grid->GetCellData()->GetArray("aspect_ratio");
|
||||||
for (ssize_t i = 0; i < aspectRatios->GetNumberOfTuples(); i++) {
|
for (ssize_t i = 0; i < aspectRatios->GetNumberOfTuples(); i++) {
|
||||||
std::cout << "cell " << i << ": "
|
std::cout << "cell " << i << ": "
|
||||||
<< aspectRatios->GetTuple1(i) << "\n";
|
<< aspectRatios->GetTuple1(i) << "\n";
|
||||||
|
Loading…
Reference in New Issue
Block a user