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 <BiCrystal.h>
41
42
43namespace gbLAB
44{
45 struct BicrystalActor : public QWidget
46//: public DDconfigVtkBase
47 {
48
49 Q_OBJECT
50 private slots:
51 void modify();
52
53 private:
54 vtkGenericOpenGLRenderWindow* const renderWindow;
55 vtkRenderer* const renderer;
56
57 QGridLayout* mainLayout;
58 QCheckBox* showA;
59 QCheckBox* showB;
60
61// std::shared_ptr<Lattice<3>> latticeA;
62// std::shared_ptr<Lattice<3>> latticeB;
63
64// QCheckBox* showNodeLabels;
65// QCheckBox* showVelocities;
66// QLineEdit* velocityScaleEdit;
67
68
69 public:
70
71 vtkSmartPointer<vtkPolyData> aPolyData;
72 vtkSmartPointer<vtkGlyph3D> aGlyphs;
73 vtkSmartPointer<vtkPolyDataMapper> aMapper;
74 vtkSmartPointer<vtkActor> aActor;
75
76 vtkSmartPointer<vtkPolyData> bPolyData;
77 vtkSmartPointer<vtkGlyph3D> bGlyphs;
78 vtkSmartPointer<vtkPolyDataMapper> bMapper;
79 vtkSmartPointer<vtkActor> bActor;
80
81
82// vtkSmartPointer<vtkPolyData> labelPolyData;
83// vtkSmartPointer<vtkLabeledDataMapper> labelMapper;
84// vtkSmartPointer<vtkActor2D> labelActor;
85//
86// vtkSmartPointer<vtkPolyData> velocityPolyData;
87// vtkSmartPointer<vtkGlyph3D> velocityGlyphs;
88// vtkSmartPointer<vtkPolyDataMapper> velocityMapper;
89// vtkSmartPointer<vtkActor> velocityActor;
90//
91// vtkSmartPointer<vtkPolyData> singleNodeLabelPolyData;
92// vtkSmartPointer<vtkLabeledDataMapper> singleNodeLabelMapper;
93// vtkSmartPointer<vtkActor2D> singleNodeLabelActor;
94//
95// size_t singleNodeID;
96// unsigned char nodeClr[4][3];
97
98 BicrystalActor(vtkGenericOpenGLRenderWindow* const,vtkRenderer* const);
99 void updateConfiguration(const std::shared_ptr<BiCrystal<3>>& bc);
100
101
102 };
103
104} // namespace model
105#endif
vtkSmartPointer< vtkPolyData > bPolyData
void updateConfiguration(const std::shared_ptr< BiCrystal< 3 > > &bc)
vtkSmartPointer< vtkGlyph3D > aGlyphs
vtkSmartPointer< vtkPolyDataMapper > aMapper
vtkSmartPointer< vtkActor > bActor
vtkSmartPointer< vtkPolyData > aPolyData
QGridLayout * mainLayout
vtkGenericOpenGLRenderWindow *const renderWindow
vtkSmartPointer< vtkPolyDataMapper > bMapper
vtkSmartPointer< vtkGlyph3D > bGlyphs
vtkRenderer *const renderer
vtkSmartPointer< vtkActor > aActor