Skip to content

Studio/Visualization/SliceView.h

Namespaces

Name
shapeworks
User usage reporting (telemetry)

Classes

Name
class shapeworks::SliceView
SliceView.

Source code

```cpp

pragma once

include

include

include "qcolor.h"

class vtkImageActor; class vtkImageSliceMapper; class vtkImageData;

class vtkPolyData; class vtkPolyDataMapper; class vtkActor; class vtkTransformPolyDataFilter; class vtkCutter; class vtkStripper; class vtkImageActorPointPlacer;

namespace shapeworks {

class Viewer;

class SliceView { public: enum SliceChange { Down, Up };

SliceView(Viewer* viewer);

void set_volume(std::shared_ptr volume);

void add_mesh(vtkSmartPointer poly_data); void set_mask(std::shared_ptr mask); void clear_meshes();

void set_orientation(int orientation);

bool is_image_loaded();

void update_colormap(); void update_renderer();

void update_camera();

Point handle_key(std::string key);

void change_slice(SliceChange change);

Point get_slice_position();

void set_slice_position(Point point);

void set_brightness_and_contrast(double brightness, double contrast);

double get_spacing();

int get_orientation_index();

void update_particles();

Viewer* get_viewer();

bool should_point_show(double x, double y, double z);

int get_slice_number();

vtkSmartPointer get_image_actor();

vtkPlane* get_slice_plane();

void update();

private: void set_slice_number(int slice);

void update_extent();

vtkSmartPointer create_shape_actor(vtkSmartPointer poly_data, QColor color);

Viewer* viewer_{nullptr};

vtkSmartPointer image_slice_; vtkSmartPointer mask_slice_; vtkSmartPointer slice_mapper_; vtkSmartPointer mask_mapper_; std::shared_ptr volume_; std::shared_ptr mask_volume_;

vtkSmartPointer vtk_volume_; vtkSmartPointer vtk_mask_volume_; vtkSmartPointer placer_;

int current_slice_number_ = 0;

std::vector> cut_actors_;

std::vector> poly_datas_; };

} // namespace shapeworks ```


Updated on 2026-03-31 at 16:02:11 +0000