fix tests
This commit is contained in:
@@ -50,33 +50,43 @@
|
||||
|
||||
#include "Vtk/Math/vtkVoxImage.h"
|
||||
|
||||
#include <vtkAutoInit.h>
|
||||
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);
|
||||
VTK_MODULE_INIT(vtkRenderingOpenGL2);
|
||||
VTK_MODULE_INIT(vtkInteractionStyle);
|
||||
|
||||
namespace uLib {
|
||||
namespace Vtk {
|
||||
|
||||
void vtkVoxImage::GetContent() {
|
||||
const int *dims = static_cast<const int *>(m_Content.GetDims().data());
|
||||
m_Image->SetDimensions(dims);
|
||||
Vector3i ev_dims = m_Content.GetDims();
|
||||
m_Image->SetDimensions(ev_dims.data());
|
||||
|
||||
float *spacing = m_Content.GetSpacing().data();
|
||||
m_Image->SetSpacing(spacing[0], spacing[1], spacing[2]);
|
||||
Vector3f ev_spacing = m_Content.GetSpacing();
|
||||
m_Image->SetSpacing(ev_spacing(0), ev_spacing(1), ev_spacing(2));
|
||||
|
||||
float *pos = m_Content.GetPosition().data();
|
||||
m_Image->SetOrigin(pos[0], pos[1], pos[2]);
|
||||
Vector3f ev_pos = m_Content.GetPosition();
|
||||
m_Image->SetOrigin(ev_pos(0), ev_pos(1), ev_pos(2));
|
||||
|
||||
vtkFloatArray *array =
|
||||
vtkFloatArray::SafeDownCast(m_Image->GetPointData()->GetScalars());
|
||||
if (!array) {
|
||||
array = vtkFloatArray::New();
|
||||
m_Image->GetPointData()->SetScalars(array);
|
||||
array->Delete();
|
||||
}
|
||||
|
||||
array->SetNumberOfTuples(m_Content.GetDims().prod());
|
||||
Vector3i index(0, 0, 0);
|
||||
int i = 0;
|
||||
for (int zv = 0; zv < dims[2]; ++zv) {
|
||||
for (int yv = 0; yv < dims[1]; ++yv) {
|
||||
for (int xv = 0; xv < dims[0]; ++xv) {
|
||||
for (int zv = 0; zv < ev_dims(2); ++zv) {
|
||||
for (int yv = 0; yv < ev_dims(1); ++yv) {
|
||||
for (int xv = 0; xv < ev_dims(0); ++xv) {
|
||||
index << xv, yv, zv;
|
||||
array->SetValue(i++, m_Content.GetValue(index));
|
||||
}
|
||||
}
|
||||
}
|
||||
m_Image->GetPointData()->SetScalars(array);
|
||||
}
|
||||
|
||||
void vtkVoxImage::SetContent() {
|
||||
|
||||
Reference in New Issue
Block a user