9#ifndef model_DDFieldWidget_H_
10#define model_DDFieldWidget_H_
26#include <QColorDialog>
27#include <vtkSmartPointer.h>
28#include <vtkPolyData.h>
29#include <vtkPolyDataMapper.h>
31#include <vtkRenderer.h>
32#include <vtkGenericOpenGLRenderWindow.h>
33#include <vtkLookupTable.h>
34#include <vtkScalarBarActor.h>
35#include <vtkTextProperty.h>
36#include <vtkPointData.h>
38#include <vtkChartXY.h>
39#include <vtkContextScene.h>
40#include <vtkContextActor.h>
41#include <vtkNamedColors.h>
43#include <vtkLineSource.h>
65 const Eigen::Matrix<double,3,1>
P;
68 std::vector<Eigen::Matrix<double,3,3>>
stress;
70 std::vector<Eigen::Matrix<double,ClusterDynamicsParameters<3>::iSize,1>>
immobileClusters;
73 double value(
const int& valID,
const std::vector<QCheckBox*>& microstructuresCheck)
const;
78 ,
public std::deque<FieldDataPnt>
79 ,
public std::deque<double>
104 vtkGenericOpenGLRenderWindow*
const renWin;
119 std::shared_ptr<MeshLine<3>>
line;
126 const std::deque<FieldDataPnt>&
dataPnts()
const;
127 std::deque<FieldDataPnt>&
dataPnts();
128 const std::deque<double>&
abscissa()
const;
132 void plotField(
const int& valID,
const std::vector<QCheckBox*>& microstructuresCheck,
const QComboBox*
const fieldComboBox);
138 ,
public std::deque<FieldDataPnt>
158 vtkGenericOpenGLRenderWindow*
const renWin;
170 const std::deque<FieldDataPnt>&
dataPnts()
const;
171 std::deque<FieldDataPnt>&
dataPnts();
173 void plotField(
const int& valID,
const std::vector<QCheckBox*>& microstructuresCheck,
const vtkSmartPointer<vtkLookupTable>& lut);
203 vtkSmartPointer<vtkLookupTable>
lut;
206 vtkGenericOpenGLRenderWindow*
const renWin;
211 void clearLayout(QLayout *layout);
224 vtkRenderer*
const renderer_in,
static constexpr int mSize
static constexpr int iSize
vtkSmartPointer< vtkActor > lineActor
Eigen::Matrix< double, 3, 1 > VectorDim
vtkSmartPointer< vtkContextActor > chartActor
vtkGenericOpenGLRenderWindow *const renWin
void compute(const DefectiveCrystal< 3 > &)
vtkSmartPointer< vtkTable > table
MicrostructureBase< 3 >::ElementType ElementType
vtkSmartPointer< vtkContextScene > chartScene
const std::deque< FieldDataPnt > & dataPnts() const
QLineEdit * directionEdit
void plotField(const int &valID, const std::vector< QCheckBox * > µstructuresCheck, const QComboBox *const fieldComboBox)
const std::deque< double > & abscissa() const
vtkSmartPointer< vtkNamedColors > colors
std::shared_ptr< MeshLine< 3 > > line
vtkSmartPointer< vtkPolyDataMapper > lineMapper
DDLineField(vtkGenericOpenGLRenderWindow *const renWin_in, vtkRenderer *const renderer_in, const DefectiveCrystal< 3 > &defectiveCrystal_in)
const DefectiveCrystal< 3 > & defectiveCrystal
vtkRenderer *const renderer
vtkSmartPointer< vtkLineSource > lineSource
vtkSmartPointer< vtkChartXY > chart
void compute(const DefectiveCrystal< 3 > &)
Eigen::Matrix< double, 3, 1 > VectorDim
vtkSmartPointer< vtkActor > meshActor
void plotField(const int &valID, const std::vector< QCheckBox * > µstructuresCheck, const vtkSmartPointer< vtkLookupTable > &lut)
const std::deque< FieldDataPnt > & dataPnts() const
std::shared_ptr< Plane< 3 > > plane
DDPlaneField(vtkGenericOpenGLRenderWindow *const renWin_in, vtkRenderer *const renderer_in, const DefectiveCrystal< 3 > &defectiveCrystal_in)
MicrostructureBase< 3 >::ElementType ElementType
const DefectiveCrystal< 3 > & defectiveCrystal
vtkRenderer *const renderer
vtkGenericOpenGLRenderWindow *const renWin
vtkSmartPointer< vtkPolyDataMapper > meshMapper
vtkSmartPointer< vtkPolyData > meshPolydata
const SymmetricVoigtTraits< 3 > & voigtTraits
std::vector< Eigen::Matrix< double, ClusterDynamicsParameters< 3 >::iSize, 1 > > immobileClusters
MicrostructureBase< 3 >::ElementType ElementType
const ElementType *const ele
const Eigen::Matrix< double, 3, 1 > P
static constexpr int mSize
std::vector< Eigen::Matrix< double, ClusterDynamicsParameters< 3 >::mSize, 1 > > mobileConcentration
double value(const int &valID, const std::vector< QCheckBox * > µstructuresCheck) const
std::vector< Eigen::Matrix< double, 3, 3 > > stress
FieldDataPnt(const DefectiveCrystal< 3 > &defectiveCrystal, const Eigen::Matrix< double, 3, 1 > &Pin, const ElementType *const ele_in)
std::vector< Eigen::Matrix< double, 3, 1 > > displacement
void compute(const DefectiveCrystal< 3 > &defectiveCrystal)
static constexpr int iSize
DefectiveCrystalBase< dim >::ElementType ElementType