oILAB
Loading...
Searching...
No Matches
oiViewerVTKwidget.cpp
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_oiViewerVTKwidget_cpp_
10#define model_oiViewerVTKwidget_cpp_
11
12#include <QFileDialog>
13
14#include <oiViewerVTKwidget.h>
15
16
17namespace gbLAB
18{
19
20
21
22
24 /* init */ mainLayout(new QGridLayout(this))
25 /* init */,loadBicrystalButton(new QPushButton("Load",this))
26 /* init */,tabWidget(new QTabWidget(this))
27 /* init */,openglWidget(new QVTKOpenGLStereoWidget(this))
28 /* init */,renderWindow(vtkSmartPointer<vtkGenericOpenGLRenderWindow>::New())
29 /* init */,renderer(vtkSmartPointer<vtkRenderer>::New())
30// /* init */,traitsIO(getWorkingDir())
31// /* init */,workingDirLabel(new QLabel(QString::fromStdString(traitsIO.simulationFolder)))
32 /* init */,bcActor(new BicrystalActor(renderWindow,renderer))
33// /* init */,mesh(traitsIO.meshFile,
34// TextFileParser(traitsIO.polyFile).readMatrix<double>("A",3,3,true),
35// TextFileParser(traitsIO.polyFile).readMatrix<double>("x0",1,3,true).transpose(),
36// TextFileParser(traitsIO.polyFile).template readSet<int>("periodicFaceIDs",true))
37// /* init */,meshActor(new SimplicialMeshActor(renderWindow,renderer,mesh))
38// /* init */,ddConfigVtk(new DDconfigVtk(traitsIO.evlFolder,traitsIO.auxFolder,renderWindow,renderer,mesh))
39 {
40 renderer->SetBackground(1,1,1);
41 renderWindow->AddRenderer(renderer);
42 openglWidget->setRenderWindow(renderWindow);
43
44 tabWidget->addTab(bcActor, tr(std::string("Bicrystal").c_str()));
45// tabWidget->addTab(meshActor, tr(std::string("Mesh").c_str()));
46
47 mainLayout->addWidget(loadBicrystalButton,0,0,1,2);
48 mainLayout->addWidget(tabWidget,1,0,1,1);
49 mainLayout->addWidget(openglWidget,1,1,1,1);
50 mainLayout->setColumnStretch(0, 3);
51 mainLayout->setColumnStretch(1, 7);
52 this->setLayout(mainLayout);
53
54 connect(loadBicrystalButton,SIGNAL(released()), this, SLOT(getBicrystalFromFile()));
55
56 }
57
58
60 {
61 const std::string fileName=QFileDialog::getOpenFileName(this, tr("Open File"),
62 "/Users/giacomo/Documents/oILAB/",
63 tr("Images (*.txt)") ).toStdString();
64
65 TextFileParser parser(fileName);
66 const auto A(parser.readMatrix<double,3,3>("A",true));
67// if(A.rows()==3 && A.cols()==3)
68// {
69 const auto R1(parser.readMatrix<double,3,3>("R1",true));
70 const auto R2(parser.readMatrix<double,3,3>("R2",true));
71
72 latA.reset(new Lattice<3>(A,R1));
73 latB.reset(new Lattice<3>(A,R2));
74 bc.reset(new BiCrystal<3>(*latA,*latB));
76// }
77
78
79 }
80
81
82} // namespace model
83
84#endif
85
86
87
88
89
90
91
Lattice class.
Definition Lattice.h:34
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > readMatrix(const std::string &key, const size_t &rows, const size_t &cols, const bool &verbose=false)
void updateConfiguration(const std::shared_ptr< BiCrystal< 3 > > &bc)
vtkSmartPointer< vtkGenericOpenGLRenderWindow > renderWindow
std::shared_ptr< Lattice< 3 > > latB
std::shared_ptr< BiCrystal< 3 > > bc
QVTKOpenGLStereoWidget * openglWidget
vtkSmartPointer< vtkRenderer > renderer
oiViewerVTKwidget(QWidget *parent)
std::shared_ptr< Lattice< 3 > > latA