Studio/Visualization/Viewer.h
Namespaces
| Name |
|---|
| shapeworks User usage reporting (telemetry) |
Classes
| Name | |
|---|---|
| class | shapeworks::PickResult |
| class | shapeworks::Viewer 3D Viewer |
Source code
```cpp
pragma once
include
include
include
include
include
include
class vtkRenderer; class vtkLookupTable; class vtkRenderWindowInteractor; class vtkImageData; class vtkCamera; class vtkGlyph3D; class vtkSphereSource; class vtkArrowSource; class vtkTransformPolyDataFilter; class vtkScalarBarActor; class vtkCornerAnnotation; class vtkPolyDataMapper; class vtkActor; class vtkTransform; class vtkReverseSense; class vtkHandleWidget; class vtkPolygonalSurfacePointPlacer; class vtkImageSlice; class vtkImageSliceMapper; class vtkImageData; class vtkCellPicker; class vtkPropPicker; class vtkColorSeries;
namespace shapeworks {
class Shape; class Viewer; class Visualizer; class StudioInteractorStyle; class LandmarkWidget; class PlaneWidget; class PaintWidget; class Session;
typedef QSharedPointer
class PickResult { public: Shape::Point pos_; int domain_ = -1; int subject_ = -1; };
class Viewer { public: Viewer(); ~Viewer() = default;
void set_renderer(vtkSmartPointer
void display_shape(std::shared_ptr
void clear_viewer();
void reset_camera(std::array
void set_color_series(ColorMap color_series);
void set_glyph_size_and_quality(double size, double quality);
double get_glyph_size();
double get_glyph_quality();
void set_session(QSharedPointer
void set_show_glyphs(bool show); void set_show_surface(bool show); void set_scale_arrows(bool scale);
void update_points(); void update_glyph_properties();
int handle_pick(int* click_pos);
PickResult handle_ctrl_click(int* click_pos);
void set_selected_point(int id);
void set_glyph_lut(vtkSmartPointer
void set_loading_screen(vtkSmartPointer
void set_color_scheme(int i);
void handle_new_mesh();
bool is_viewer_ready();
void set_visualizer(Visualizer* visualizer);
void update_feature_range(double* range); void reset_feature_range();
void update_opacities();
std::shared_ptr
void update_landmarks(); void update_planes(); void update_paint_mode();
std::vector
MeshGroup get_meshes();
vtkSmartPointer
vtkSmartPointer
vtkSmartPointer
vtkSmartPointer
vtkSmartPointer
SliceView& slice_view();
void update_image_volume(bool force = false);
vtkSmartPointer
vtkSmartPointer
void update_clipping_planes();
vtkSmartPointer
void handle_paint(double display_pos[2], double world_pos[3]);
void fill_all_ffc();
static bool is_reverse(vtkSmartPointer
void update_actors();
void remove_scalar_bar();
bool is_ready() { return mesh_ready_; }
vtkFloatArray* get_particle_scalars();
vtkSmartPointer
void insert_compare_meshes();
void set_scalar_visibility(vtkSmartPointer
vtkSmartPointer
bool showing_feature_map();
private: void initialize_surfaces();
void display_vector_field();
void compute_point_differences(const Eigen::VectorXd& points, vtkSmartPointer
void compute_surface_differences(vtkSmartPointer
void update_difference_lut(float r0, float r1);
std::string get_displayed_feature_map();
vtkSmartPointer
bool visible_ = false;
std::shared_ptr
bool show_glyphs_ = true; bool show_surface_ = true;
double glyph_size_ = 1.0f; double glyph_quality_ = 5.0f; bool scale_arrows_{true}; ColorMap color_series_;
vtkSmartPointer
vtkSmartPointer
vtkSmartPointer
std::vector
// for comparing to other shapes (e.g. original vs groomed)
std::vector
vtkSmartPointer
vtkSmartPointer
vtkSmartPointer
bool arrows_visible_ = false;
ColorSchemes color_schemes_; int scheme_ = 0;
bool mesh_ready_ = false; bool viewer_ready_ = false; bool loading_displayed_ = false;
MeshGroup meshes_; MeshGroup compare_meshes_;
Visualizer* visualizer_{nullptr};
int number_of_domains_ = 0; double lut_min_ = 0; double lut_max_ = 0;
std::shared_ptr
QSharedPointer
std::string current_image_name_ = "-none-";
vtkSmartPointer
// slice viewer SliceView slice_view_{this}; }; } // namespace shapeworks ```
Updated on 2026-03-31 at 16:02:11 +0000