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

Function vtkImageGridSourceExecute

Imaging/Sources/vtkImageGridSource.cxx:60–134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58//------------------------------------------------------------------------------
59template <class T>
60void vtkImageGridSourceExecute(
61 vtkImageGridSource* self, vtkImageData* data, T* outPtr, int outExt[6], int id)
62{
63 int idxX, idxY, idxZ;
64 int xval, yval, zval;
65 vtkIdType outIncX, outIncY, outIncZ;
66 unsigned long count = 0;
67 unsigned long target;
68
69 int gridSpacing[3], gridOrigin[3];
70 self->GetGridSpacing(gridSpacing);
71 self->GetGridOrigin(gridOrigin);
72
73 T fillValue = T(self->GetFillValue());
74 T lineValue = T(self->GetLineValue());
75
76 // Get increments to march through data
77 data->GetContinuousIncrements(outExt, outIncX, outIncY, outIncZ);
78
79 target =
80 static_cast<unsigned long>((outExt[5] - outExt[4] + 1) * (outExt[3] - outExt[2] + 1) / 50.0);
81 target++;
82
83 // Loop through output pixel
84 for (idxZ = outExt[4]; idxZ <= outExt[5]; idxZ++)
85 {
86 if (gridSpacing[2])
87 {
88 zval = (idxZ % gridSpacing[2] == gridOrigin[2]);
89 }
90 else
91 {
92 zval = 0;
93 }
94 for (idxY = outExt[2]; !self->GetAbortExecute() && idxY <= outExt[3]; idxY++)
95 {
96 if (gridSpacing[1])
97 {
98 yval = (idxY % gridSpacing[1] == gridOrigin[1]);
99 }
100 else
101 {
102 yval = 0;
103 }
104 if (id == 0)
105 {
106 if (!(count % target))
107 {
108 self->UpdateProgress(count / (50.0 * target));
109 }
110 count++;
111 }
112
113 if (gridSpacing[0])
114 {
115 for (idxX = outExt[0]; idxX <= outExt[1]; idxX++)
116 {
117 xval = (idxX % gridSpacing[0] == gridOrigin[0]);

Callers 1

Calls 3

TClass · 0.50
UpdateProgressMethod · 0.45

Tested by

no test coverage detected