9#ifndef model_DefectiveCrystalActor_h_
10#define model_DefectiveCrystalActor_h_
20#include <QVTKOpenGLStereoWidget.h>
22#include <vtkRenderer.h>
23#include <vtkGenericOpenGLRenderWindow.h>
75 std::unique_ptr<DefectiveCrystalConfigIO<3>> configuration;
76 std::unique_ptr<DefectiveCrystalAuxIO<3>> auxiliary;
77 QTimer *
const playbackTimer;
79 bool updatingFrame =
false;
80 void refreshFrame(
size_t frameID);
81 vtkRenderer *
const renderer;
84 Eigen::Vector3d rotationAxis = Eigen::Vector3d::UnitZ();
85 double rotationDegreesPerFrame = 0.0;
86 double cameraAdvancePerFrame = 0.0;
87 size_t loadedFrameID = 0;
88 bool frameLoaded =
false;
89 bool readRotationSettings();
90 void updateRotationSettings();
93 bool updateConfiguration();
94 bool nextConfiguration();
95 bool prevConfiguration();
96 void playConfigurations();
121 vtkRenderer*
const ren,
122 QVTKOpenGLStereoWidget*
const qvtkGLwidget_in,
125 bool updateConfiguration(
const size_t& frameID);
SurfaceMeshActor * surfaceMesh
QLineEdit * frameIncrementEdit
QLineEdit * rotationAxisEdit
QLineEdit * cameraAdvanceEdit
QVTKOpenGLStereoWidget *const qvtkGLwidget
QToolButton * plusFrameButton
QToolButton * minusFrameButton
NetworkLinkActor * segments
vtkGenericOpenGLRenderWindow *const renderWindow
void frameChanged(qulonglong frameID)
QToolButton * stopFrameButton
DefectiveCrystal< 3 > defectiveCrystal
DefectiveCrystalBase< 3 > & ddBase
DefectiveCrystalActor(vtkGenericOpenGLRenderWindow *const, vtkRenderer *const ren, QVTKOpenGLStereoWidget *const qvtkGLwidget_in, DefectiveCrystalBase< 3 > &ddBase_in)
void stopConfigurations()
~DefectiveCrystalActor() override
GlidePlaneActor * glidePlanes
const DefectiveCrystalConfigIO< 3 > & configIO() const
QuadratureActor * quadrature
WrappingTabWidget * tabWidget
QToolButton * playFrameButton
const DefectiveCrystalAuxIO< 3 > & auxIO() const
QLineEdit * rotationAngleEdit
InclusionActor * inclusions
SlipSystemTab * slipSystemTab