oILAB
Loading...
Searching...
No Matches
BicrystalActor.h
Go to the documentation of this file.
1/* This file is part of MODEL, the Mechanics Of Defect Evolution Library.
2 *
3 * Copyright (C) 2011 by Giacomo Po <gpo@ucla.edu>.
4 *
5 * model is distributed without any warranty under the
6 * GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
7 */
8
9#ifndef model_BicrystalActor_h_
10#define model_BicrystalActor_h_
11
12
13#include <deque>
14#include <string>
15#include <memory>
16
17#include <QWidget>
18#include <QGridLayout>
19#include <QCheckBox>
20#include <QLineEdit>
21
22#include <vtkGenericOpenGLRenderWindow.h>
23#include <vtkVersion.h>
24#include <vtkSmartPointer.h>
25#include <vtkPolyData.h>
26#include <vtkPolyDataMapper.h>
27#include <vtkActor.h>
28#include <vtkMath.h>
29#include <vtkProperty.h>
30#include <vtkTubeFilter.h>
31#include <vtkPolyLine.h>
32#include <vtkSphereSource.h>
33#include <vtkArrowSource.h>
34#include <vtkGlyph3D.h>
35#include <vtkDoubleArray.h>
36#include <vtkPointData.h>
37#include <vtkLabeledDataMapper.h>
38#include <vtkFloatArray.h>
39
40#include "../Lattices/BiCrystal.h"
41
42namespace oILAB {
43struct BicrystalActor : public QWidget
44//: public DDconfigVtkBase
45{
46
47 Q_OBJECT
48private slots:
49 void modify();
50
51private:
52 vtkGenericOpenGLRenderWindow *const renderWindow;
53 vtkRenderer *const renderer;
54
55 QGridLayout *mainLayout;
56 QCheckBox *showA;
57 QCheckBox *showB;
58
59 // std::shared_ptr<Lattice<3>> latticeA;
60 // std::shared_ptr<Lattice<3>> latticeB;
61
62 // QCheckBox* showNodeLabels;
63 // QCheckBox* showVelocities;
64 // QLineEdit* velocityScaleEdit;
65
66public:
67 vtkSmartPointer<vtkPolyData> aPolyData;
68 vtkSmartPointer<vtkGlyph3D> aGlyphs;
69 vtkSmartPointer<vtkPolyDataMapper> aMapper;
70 vtkSmartPointer<vtkActor> aActor;
71
72 vtkSmartPointer<vtkPolyData> bPolyData;
73 vtkSmartPointer<vtkGlyph3D> bGlyphs;
74 vtkSmartPointer<vtkPolyDataMapper> bMapper;
75 vtkSmartPointer<vtkActor> bActor;
76
77 // vtkSmartPointer<vtkPolyData> labelPolyData;
78 // vtkSmartPointer<vtkLabeledDataMapper> labelMapper;
79 // vtkSmartPointer<vtkActor2D> labelActor;
80 //
81 // vtkSmartPointer<vtkPolyData> velocityPolyData;
82 // vtkSmartPointer<vtkGlyph3D> velocityGlyphs;
83 // vtkSmartPointer<vtkPolyDataMapper> velocityMapper;
84 // vtkSmartPointer<vtkActor> velocityActor;
85 //
86 // vtkSmartPointer<vtkPolyData> singleNodeLabelPolyData;
87 // vtkSmartPointer<vtkLabeledDataMapper> singleNodeLabelMapper;
88 // vtkSmartPointer<vtkActor2D> singleNodeLabelActor;
89 //
90 // size_t singleNodeID;
91 // unsigned char nodeClr[4][3];
92
93 BicrystalActor(vtkGenericOpenGLRenderWindow *const, vtkRenderer *const);
94 void updateConfiguration(const std::shared_ptr<BiCrystal<3>> &bc);
95
96
97 };
98
99 } // namespace oILAB
100#endif
vtkGenericOpenGLRenderWindow *const renderWindow
QGridLayout * mainLayout
vtkSmartPointer< vtkPolyDataMapper > bMapper
vtkSmartPointer< vtkGlyph3D > aGlyphs
vtkRenderer *const renderer
void updateConfiguration(const std::shared_ptr< BiCrystal< 3 > > &bc)
vtkSmartPointer< vtkPolyDataMapper > aMapper
vtkSmartPointer< vtkActor > aActor
vtkSmartPointer< vtkPolyData > aPolyData
vtkSmartPointer< vtkPolyData > bPolyData
vtkSmartPointer< vtkGlyph3D > bGlyphs
vtkSmartPointer< vtkActor > bActor