rsvs3D  0.0.0
Codes for the c++ implementation of the 3D RSVS
RSVSclass.hpp
Go to the documentation of this file.
1 
7 #ifndef RSVSCLASS_H_INCLUDED
8 #define RSVSCLASS_H_INCLUDED
9 
10 //=================================
11 // forward declared dependencies
12 // class foo; //when you only need a pointer not the actual object
13 // and to avoid circular dependencies
14 
15 //=================================
16 // included dependencies
17 #include <fstream>
18 #include <iostream>
19 #include <memory>
20 
22 #include "mesh.hpp"
23 #include "parameters.hpp"
24 #include "polyscopersvs.hpp"
25 #include "postprocessing.hpp"
26 #include "snake.hpp"
27 #include "triangulate.hpp"
28 
29 //==================================
30 // Code
31 // This file defines a god class for conveniently doing the integration
32 // of the various components into a cohesive framework
33 //
34 namespace integrate
35 {
36 typedef std::shared_ptr<rsvs3d::SnakeVelocityCalculator> RSVSCalculator;
38 {
39  public:
40  tecplotfile outSnake;
41  tecplotfile outgradientsnake;
42  tecplotfile outvectorsnake;
43 };
44 class RSVSclass
45 {
46  public:
47  param::parameters paramconf;
48  tecplotfile outSnake;
49  tecplotfile outgradientsnake;
50  tecplotfile outvectorsnake;
52  snake rsvsSnake;
53  mesh snakeMesh;
54  mesh voluMesh;
55  triangulation rsvsTri;
56  RSVSCalculator calcObj;
57  std::ofstream logFile;
58  std::ofstream coutFile;
59  std::ofstream cerrFile;
60 
61  RSVSclass(bool isHeadless = false) : viewer(isHeadless)
62  {
63  }
64  void setVelocityEngine(const std::string &engine);
65 };
66 } // namespace integrate
67 
68 #endif
Interface for the Snaking algorithm.
Class for mesh handling.
Definition: mesh.hpp:592
Root class for all the parameters.
Definition: parameters.hpp:288
A structure containing the information about the polyscope display and the RSVS elements to display.
Definition: snake.hpp:83
Provides all the mesh tools used for the generation of 3D grids and geometries.
Parameters for the integrated 3DRSVS.
Provide an interface between the RSVS process and polyscope.
Provide tecplot file formating for mesh and snake outputs.
Provides the core restricted surface snake container.
Provides a triangulation for snake and meshes.