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
42#include "CsrMatrix.h"
43
60class VtkRayCasting
61{
62 private:
63 int m_rows{};
64 int m_cols{};
66 int m_starting_facet{0};
67 int m_num_local_facets{0};
68 std::vector<double> m_solar_irradiation;
74
75 static void vectorSub(const double vector_1[3], const double vector_2[3], double res[3]);
76 static void vectorAdd(const double vector_1[3], const double vector_2[3], double res[3]);
77 static void vectorMult(const double vector_1[3], double mult, double res[3]);
78 static double dotProduct(const double vector_1[3], const double vector_2[3]);
79 static double dotProductInv(const double vector_1[3], const double vector_2[3]);
80 static double l2Norm(double vector_1[3], double vector_2[3]);
81 static void vectorDirection(double vector_1[3], double vector_2[3], double direction[3]);
90 double sol_vec[3], double Q_0, std::vector<double>& Q_sol);
91
93
94 public:
98
100 const std::vector<double>& getSolarIrradiation(double sol_vec[3], double Q_0);
101 int getFacetNumber() const { return m_rows; };
103 std::vector<std::vector<double>> getVertices();
104 std::vector<std::vector<int>> getFaces();
105 std::vector<std::vector<double>> getNormals();
106 std::vector<double> getAreas();
107};
108#endif
109
110#endif
Concrete implementation of a matrix class representing a Compressed Sparse Rows (CSR) matrix....
Definition CsrMatrix.h:35
int getNonZeroElementNumber() const
Definition CsrMatrix.h:78
CsrSparseMatrix()
Constructor for an empty CsrSparseMatrix object. Leaves all storage arrays empty but sets the flag to...
Definition CsrMatrix.h:92
int m_rows
Definition GenericMatrix.h:21
int m_cols
Definition GenericMatrix.h:22