Skip to content

Studio/Visualization/PlaneWidget.h

Namespaces

Name
shapeworks
User usage reporting (telemetry)

Classes

Name
class shapeworks::PlaneWidget
PlaneWidget.

Source code

```cpp

include

include

include

class vtkHandleWidget; class vtkSphereSource; class vtkPlaneSource; class vtkPolyDataMapper; class vtkActor;

namespace shapeworks {

class Viewer; class PlaneCallback; class StudioHandleWidget;

class PlaneWidget { public: PlaneWidget(Viewer* viewer); ~PlaneWidget();

void update();

void store_positions();

void update_glyph_properties();

void clear_planes();

void handle_right_click(int domain, int plane, int point);

void delete_plane(int domain, int plane_id);

void flip_plane(int domain, int plane_id);

void apply_plane(int domain, int plane_id);

void set_plane_offset(int domain, int plane_id, int offset);

void finalize_plane_offset(int domain, int plane_id);

private: void update_plane_points(); void update_planes();

vtkSmartPointer create_handle();

void assign_handle_to_domain(vtkSmartPointer handle, int domain_id);

int count_plane_points(); int count_complete_planes();

PlaneConstraint& get_plane_reference(int domain, int plane);

double get_offset_scale(int domain_id);

bool block_update_ = false;

Viewer* viewer_ = nullptr;

// control points vtkSmartPointer sphere_; std::vector> handles_;

// planes std::vector> plane_sources_; std::vector> plane_mappers_; std::vector> plane_actors_;

vtkSmartPointer callback_; };

} // namespace shapeworks ```


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