Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
NetworkNodeActor.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_NetworkNodeActor_h_
10#define model_NetworkNodeActor_h_
11
12
13#include <deque>
14#include <string>
15
16#include <QWidget>
17#include <QGridLayout>
18#include <QCheckBox>
19#include <QLineEdit>
20#include <QSlider>
21
22
23#include <vtkGenericOpenGLRenderWindow.h>
24#include <vtkVersion.h>
25#include <vtkSmartPointer.h>
26#include <vtkPolyData.h>
27#include <vtkPolyDataMapper.h>
28#include <vtkActor.h>
29#include <vtkMath.h>
30#include <vtkProperty.h>
31#include <vtkTubeFilter.h>
32#include <vtkPolyLine.h>
33#include <vtkSphereSource.h>
34#include <vtkArrowSource.h>
35#include <vtkGlyph3D.h>
36#include <vtkDoubleArray.h>
37#include <vtkPointData.h>
38#include <vtkLabeledDataMapper.h>
39#include <vtkFloatArray.h>
40#include <IDreader.h>
41//#include <PlanarPolygon.h>
43#include <MeshPlane.h>
44//#include <DDconfigVtkBase.h>
45
46namespace model
47{
48 template<int dim> class DislocationNetwork;
49
50 struct NetworkNodeActor : public QWidget
51//: public DDconfigVtkBase
52 {
53
54 Q_OBJECT
55 private slots:
56 void modify();
57
58 private:
59 vtkGenericOpenGLRenderWindow* const renderWindow;
60
61 QGridLayout* mainLayout;
62 QCheckBox* showNodes;
63 QSlider* sliderNodeRadius;
64 QCheckBox* showNodeLabels;
65 QCheckBox* showSpecificNodeLabel;
66 QLineEdit* showSpecificNodeLabelEdit;
67 QCheckBox* showVelocities;
68 QLineEdit* velocityScaleEdit;
69
70
71 public:
72
73 vtkSmartPointer<vtkPolyData> nodePolyData;
74 vtkSmartPointer<vtkGlyph3D> nodeGlyphs;
75 vtkSmartPointer<vtkPolyDataMapper> nodeMapper;
76 vtkSmartPointer<vtkActor> nodeActor;
77
78 vtkSmartPointer<vtkPolyData> labelPolyData;
79 vtkSmartPointer<vtkLabeledDataMapper> labelMapper;
80 vtkSmartPointer<vtkActor2D> labelActor;
81
82 vtkSmartPointer<vtkPolyData> velocityPolyData;
83 vtkSmartPointer<vtkGlyph3D> velocityGlyphs;
84 vtkSmartPointer<vtkPolyDataMapper> velocityMapper;
85 vtkSmartPointer<vtkActor> velocityActor;
86
87 vtkSmartPointer<vtkPolyData> specificNodeLabelPolyData;
88 vtkSmartPointer<vtkLabeledDataMapper> specificNodeLabelMapper;
89 vtkSmartPointer<vtkActor2D> specificNodeLabelActor;
90
91// size_t singleNodeID;
92 unsigned char nodeClr[4][3];
93
94 NetworkNodeActor(vtkGenericOpenGLRenderWindow* const,vtkRenderer* const);
95 void updateConfiguration(const DefectiveCrystalConfigIO<3>& configIO, const DislocationNetwork<3>* network=nullptr);
96
97
98 };
99
100} // namespace model
101#endif
vtkSmartPointer< vtkPolyData > labelPolyData
vtkSmartPointer< vtkPolyData > specificNodeLabelPolyData
vtkSmartPointer< vtkPolyData > nodePolyData
vtkSmartPointer< vtkPolyData > velocityPolyData
vtkSmartPointer< vtkActor2D > labelActor
vtkSmartPointer< vtkActor2D > specificNodeLabelActor
void updateConfiguration(const DefectiveCrystalConfigIO< 3 > &configIO, const DislocationNetwork< 3 > *network=nullptr)
vtkSmartPointer< vtkGlyph3D > velocityGlyphs
vtkSmartPointer< vtkPolyDataMapper > nodeMapper
vtkSmartPointer< vtkGlyph3D > nodeGlyphs
vtkSmartPointer< vtkActor > nodeActor
vtkSmartPointer< vtkLabeledDataMapper > labelMapper
unsigned char nodeClr[4][3]
NetworkNodeActor(vtkGenericOpenGLRenderWindow *const, vtkRenderer *const)
vtkSmartPointer< vtkPolyDataMapper > velocityMapper
vtkSmartPointer< vtkActor > velocityActor
vtkSmartPointer< vtkLabeledDataMapper > specificNodeLabelMapper