Skip to content
Snippets Groups Projects
Commit 3c3272be authored by Dmitri Naumov's avatar Dmitri Naumov Committed by Karsten Rink
Browse files

getSurfaceAreaForNodes() returns its result.

Also correct a description.
parent 51f7ff52
No related branches found
No related tags found
No related merge requests found
......@@ -72,8 +72,8 @@ const std::vector< std::pair<size_t,double> >& DirectConditionGenerator::directW
const MathLib::Vector3 dir(0,0,-1);
MeshLib::Mesh* sfc_mesh (MeshLib::MeshSurfaceExtraction::getMeshSurface(mesh, dir, true));
std::vector<double> node_area_vec;
MeshLib::MeshSurfaceExtraction::getSurfaceAreaForNodes(*sfc_mesh, node_area_vec);
std::vector<double> node_area_vec =
MeshLib::MeshSurfaceExtraction::getSurfaceAreaForNodes(*sfc_mesh);
const std::vector<MeshLib::Node*> &surface_nodes (sfc_mesh->getNodes());
const size_t nNodes(sfc_mesh->getNNodes());
const double no_data (raster->getNoDataValue());
......
......@@ -28,12 +28,13 @@
namespace MeshLib {
void MeshSurfaceExtraction::getSurfaceAreaForNodes(const MeshLib::Mesh &mesh, std::vector<double> &node_area_vec)
std::vector<double> MeshSurfaceExtraction::getSurfaceAreaForNodes(const MeshLib::Mesh &mesh)
{
std::vector<double> node_area_vec;
if (mesh.getDimension() != 2)
{
ERR ("Error in MeshSurfaceExtraction::getSurfaceAreaForNodes() - Given mesh is no surface mesh (dimension != 2).");
return;
return node_area_vec;
}
double total_area (0);
......@@ -41,7 +42,6 @@ void MeshSurfaceExtraction::getSurfaceAreaForNodes(const MeshLib::Mesh &mesh, st
// for each node, a vector containing all the element idget every element
const std::vector<MeshLib::Node*> &nodes = mesh.getNodes();
const std::size_t nNodes ( mesh.getNNodes() );
node_area_vec.reserve(nNodes);
for (std::size_t n=0; n<nNodes; ++n)
{
double node_area (0);
......@@ -62,6 +62,8 @@ void MeshSurfaceExtraction::getSurfaceAreaForNodes(const MeshLib::Mesh &mesh, st
}
INFO ("Total surface Area: %f", total_area);
return node_area_vec;
}
MeshLib::Mesh* MeshSurfaceExtraction::getMeshSurface(const MeshLib::Mesh &mesh, const MathLib::Vector3 &dir, double angle, bool keepOriginalNodeIds)
......
......@@ -36,8 +36,8 @@ class Node;
class MeshSurfaceExtraction
{
public:
/// Returns the area assigned to each node on a surface mesh.
static void getSurfaceAreaForNodes(const MeshLib::Mesh &mesh, std::vector<double> &node_area_vec);
/// Returns a vector of the areas assigned to each node on a surface mesh.
static std::vector<double> getSurfaceAreaForNodes(const MeshLib::Mesh &mesh);
/// Returns the surface nodes of a layered mesh.
static std::vector<GeoLib::PointWithID*> getSurfaceNodes(const MeshLib::Mesh &mesh, const MathLib::Vector3 &dir, double angle);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment