feat(probe): vector overload for glVisView
glVisView can now also be called with a vector and finite element space as opposed to just a grid function and mesh
This commit is contained in:
@@ -13,7 +13,7 @@ libprobe = static_library('probe',
|
|||||||
include_directories: include_directories('public'),
|
include_directories: include_directories('public'),
|
||||||
cpp_args: ['-fvisibility=default'],
|
cpp_args: ['-fvisibility=default'],
|
||||||
install : true,
|
install : true,
|
||||||
dependencies: [config_dep, mfem_dep, quill_dep]
|
dependencies: [config_dep, mfem_dep, quill_dep, warning_control_dep]
|
||||||
)
|
)
|
||||||
|
|
||||||
probe_dep = declare_dependency(
|
probe_dep = declare_dependency(
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "probe.h"
|
#include "probe.h"
|
||||||
|
|
||||||
|
#include "warning_control.h"
|
||||||
|
|
||||||
|
|
||||||
namespace Probe {
|
namespace Probe {
|
||||||
|
|
||||||
@@ -43,6 +45,15 @@ void glVisView(mfem::GridFunction& u, mfem::Mesh& mesh,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void glVisView(mfem::Vector &vec, mfem::FiniteElementSpace &fes, const std::string &windowTitle) {
|
||||||
|
mfem::GridFunction gf(&fes);
|
||||||
|
|
||||||
|
DEPRECATION_WARNING_OFF
|
||||||
|
gf.SetData(vec);
|
||||||
|
DEPRECATION_WARNING_ON
|
||||||
|
glVisView(gf, *fes.GetMesh(), windowTitle);
|
||||||
|
}
|
||||||
|
|
||||||
double getMeshRadius(mfem::Mesh& mesh) {
|
double getMeshRadius(mfem::Mesh& mesh) {
|
||||||
int numVertices = mesh.GetNV(); // Number of vertices
|
int numVertices = mesh.GetNV(); // Number of vertices
|
||||||
double maxRadius = 0.0;
|
double maxRadius = 0.0;
|
||||||
|
|||||||
@@ -32,13 +32,21 @@ namespace Probe {
|
|||||||
* @param windowTitle The title of the visualization window.
|
* @param windowTitle The title of the visualization window.
|
||||||
*/
|
*/
|
||||||
void glVisView(mfem::GridFunction& u, mfem::Mesh& mesh,
|
void glVisView(mfem::GridFunction& u, mfem::Mesh& mesh,
|
||||||
const std::string& windowTitle = "solution");
|
const std::string& windowTitle = "grid function");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Visualize a vector using GLVis.
|
||||||
|
* @param vec The vector to visualize.
|
||||||
|
* @param mesh The mesh associated with the vector.
|
||||||
|
* @param windowTitle The title of the visualization window.
|
||||||
|
*/
|
||||||
|
void glVisView(mfem::Vector &vec, mfem::FiniteElementSpace &fes,
|
||||||
|
const std::string &windowTitle = "vector");
|
||||||
|
|
||||||
double getMeshRadius(mfem::Mesh& mesh);
|
double getMeshRadius(mfem::Mesh& mesh);
|
||||||
|
|
||||||
std::vector<double> getRaySolution(mfem::GridFunction& u, mfem::Mesh& mesh,
|
std::vector<double> getRaySolution(mfem::GridFunction& u, mfem::Mesh& mesh,
|
||||||
const std::vector<double>& rayDirection,
|
const std::vector<double>& rayDirection, int numSamples);
|
||||||
int numSamples);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Class to manage logging operations.
|
* @brief Class to manage logging operations.
|
||||||
|
|||||||
Reference in New Issue
Block a user