MoCSI API Reference
Loading...
Searching...
No Matches
VtkRayCasting.h
Go to the documentation of this file.
1#ifndef VTK_RAY_CASTING_H
2#define VTK_RAY_CASTING_H
3
4#ifdef VTK_PRESENT
5#include <vtkActor.h>
6#include <vtkBYUReader.h>
7#include <vtkCamera.h>
8#include <vtkCellCenters.h>
9#include <vtkCellData.h>
10#include <vtkDoubleArray.h>
11#include <vtkIdList.h>
12#include <vtkMeshQuality.h>
13#include <vtkNamedColors.h>
14#include <vtkOBBTree.h>
15#include <vtkOBJReader.h>
16#include <vtkPLYReader.h>
17#include <vtkPoints.h>
18#include <vtkPolyDataMapper.h>
19#include <vtkPolyDataNormals.h>
20#include <vtkPolyDataReader.h>
21#include <vtkProperty.h>
22#include <vtkRenderWindow.h>
23#include <vtkRenderWindowInteractor.h>
24#include <vtkRenderer.h>
25#include <vtkSTLReader.h>
26#include <vtkSmartPointer.h>
27#include <vtkSphereSource.h>
28#include <vtkXMLPolyDataReader.h>
29
30#include <algorithm>
31#include <array>
32#include <cmath>
33#include <fstream>
34#include <iomanip>
35#include <numbers>
36#include <ostream>
37#include <random>
38#include <string>
39#include <vector>
40#include <vtksys/SystemTools.hxx>
41
58class VtkRayCasting
59{
60 private:
61 int m_rows{};
62 int m_cols{};
63 std::vector<std::vector<double>> m_viewfactor_matrix;
64 std::vector<double> m_solar_irradiation;
70
71 static void vectorSub(const double vector_1[3], const double vector_2[3], double res[3]);
72 static void vectorAdd(const double vector_1[3], const double vector_2[3], double res[3]);
73 static void vectorMult(const double vector_1[3], double mult, double res[3]);
74 static double dotProduct(const double vector_1[3], const double vector_2[3]);
75 static double dotProductInv(const double vector_1[3], const double vector_2[3]);
76 static double l2Norm(double vector_1[3], double vector_2[3]);
77 static void vectorDirection(double vector_1[3], double vector_2[3], double direction[3]);
82 std::vector<std::vector<double>>& viewfactor_matrix);
86 double sol_vec[3], double Q_0,
87 std::vector<double>& Q_sol);
88
90
91 public:
92 VtkRayCasting(const char* fileName);
93 VtkRayCasting(const char* fileName, bool);
94
95 const std::vector<std::vector<double>>& getViewfactorMatrix() const
96 {
98 }
99 const std::vector<double>& getSolarIrradiation(double sol_vec[3], double Q_0);
100 int getFacetNumber() const { return m_rows; };
101 std::vector<std::vector<double>> getVertices();
102 std::vector<std::vector<int>> getFaces();
103 std::vector<std::vector<double>> getNormals();
104 std::vector<double> getAreas();
105};
106#endif
107
108#endif
Error class to throw when a module chain has circular or missing dependencies. Inherits from std::exc...
Definition ChainManager.h:28