From 15bd6cbed07626a658d3d8e9e861f833c6401649 Mon Sep 17 00:00:00 2001 From: Christopher Lackner Date: Thu, 13 Mar 2025 18:49:28 +0100 Subject: [PATCH] take autoscale value on drawn regions only --- libsrc/visualization/vssolution.cpp | 8 ++++++-- libsrc/visualization/vssolution.hpp | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/libsrc/visualization/vssolution.cpp b/libsrc/visualization/vssolution.cpp index 7560aea6..73a2145a 100644 --- a/libsrc/visualization/vssolution.cpp +++ b/libsrc/visualization/vssolution.cpp @@ -2667,6 +2667,8 @@ namespace netgen for (int i=first; iSurfaceElements().Range()) { + if(!SurfaceElementActive(sol, *mesh, (*mesh)[i])) + continue; ELEMENT_TYPE type = (*mesh)[i].GetType(); double val; bool considerElem = (type == QUAD) @@ -4723,7 +4727,7 @@ namespace netgen bool VisualSceneSolution :: - SurfaceElementActive(const SolData *data, const Mesh & mesh, const Element2d & el) + SurfaceElementActive(const SolData *data, const Mesh & mesh, const Element2d & el) const { if(data == nullptr) return true; bool is_active = true; @@ -4749,7 +4753,7 @@ namespace netgen } bool VisualSceneSolution :: - VolumeElementActive(const SolData *data, const Mesh & mesh, const Element & el) + VolumeElementActive(const SolData *data, const Mesh & mesh, const Element & el) const { bool is_active = true; if(data->draw_volumes) diff --git a/libsrc/visualization/vssolution.hpp b/libsrc/visualization/vssolution.hpp index 479455b6..97fbbc66 100644 --- a/libsrc/visualization/vssolution.hpp +++ b/libsrc/visualization/vssolution.hpp @@ -253,8 +253,8 @@ private: void DrawCone (const Point<3> & p1, const Point<3> & p2, double r); void DrawCylinder (const Point<3> & p1, const Point<3> & p2, double r); - bool SurfaceElementActive(const SolData *data, const Mesh & mesh, const Element2d & sei); - bool VolumeElementActive(const SolData *data, const Mesh & mesh, const Element & ei); + bool SurfaceElementActive(const SolData *data, const Mesh & mesh, const Element2d & sei) const; + bool VolumeElementActive(const SolData *data, const Mesh & mesh, const Element & ei) const; // Get Function Value, local coordinates lam1, lam2, lam3, bool GetValue (const SolData * data, ElementIndex elnr,