add voximage represetation and test
This commit is contained in:
@@ -125,6 +125,7 @@ void vtkVoxImage::SetContent() {
|
||||
vtkVoxImage::vtkVoxImage(Content &content)
|
||||
: m_Content(content), m_Actor(vtkVolume::New()),
|
||||
m_Image(vtkImageData::New()), m_Outline(vtkCubeSource::New()),
|
||||
m_OutlineActor(vtkActor::New()),
|
||||
m_Reader(NULL), m_Writer(NULL), writer_factor(1.E6) {
|
||||
GetContent();
|
||||
InstallPipe();
|
||||
@@ -134,6 +135,7 @@ vtkVoxImage::~vtkVoxImage() {
|
||||
m_Image->Delete();
|
||||
m_Actor->Delete();
|
||||
m_Outline->Delete();
|
||||
m_OutlineActor->Delete();
|
||||
}
|
||||
|
||||
vtkImageData *vtkVoxImage::GetImageData() {
|
||||
@@ -260,6 +262,18 @@ void vtkVoxImage::setShadingPreset(int blendType) {
|
||||
}
|
||||
}
|
||||
|
||||
void vtkVoxImage::SetRepresentation(Representation mode) {
|
||||
if (mode == Wireframe) {
|
||||
m_Actor->SetVisibility(0);
|
||||
m_OutlineActor->SetVisibility(1);
|
||||
} else if (mode == Surface) {
|
||||
m_Actor->SetVisibility(1);
|
||||
m_OutlineActor->SetVisibility(0);
|
||||
} else {
|
||||
Puppet::SetRepresentation(mode);
|
||||
}
|
||||
}
|
||||
|
||||
void vtkVoxImage::Update() {
|
||||
m_Actor->Update();
|
||||
m_Outline->SetBounds(m_Image->GetBounds());
|
||||
@@ -284,12 +298,16 @@ void vtkVoxImage::InstallPipe() {
|
||||
vtkSmartPointer<vtkPolyDataMapper> mmapper =
|
||||
vtkSmartPointer<vtkPolyDataMapper>::New();
|
||||
mmapper->SetInputConnection(m_Outline->GetOutputPort());
|
||||
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
|
||||
actor->SetMapper(mmapper);
|
||||
actor->GetProperty()->SetRepresentationToWireframe();
|
||||
actor->GetProperty()->SetAmbient(0.7);
|
||||
|
||||
m_OutlineActor->SetMapper(mmapper);
|
||||
m_OutlineActor->GetProperty()->SetRepresentationToWireframe();
|
||||
m_OutlineActor->GetProperty()->SetAmbient(0.7);
|
||||
|
||||
this->SetProp(m_Actor);
|
||||
this->SetProp(m_OutlineActor);
|
||||
|
||||
// Default look
|
||||
this->SetRepresentation(Surface);
|
||||
}
|
||||
|
||||
} // namespace Vtk
|
||||
|
||||
Reference in New Issue
Block a user