#7892 Basic support for display of surface lines and bands on intersections

Guard divide by zero issues
2D Intersection View: Do not add parts with wrong coordinates
Add bounding box search tree
Add support display of intersection lines for selected surfaces
Show band between two first intersection lines
This commit is contained in:
Magne Sjaastad
2021-08-26 08:13:03 +02:00
committed by GitHub
parent 61ea190920
commit 2fc65a3b62
32 changed files with 826 additions and 358 deletions

View File

@@ -25,6 +25,12 @@
#include <map>
#include <vector>
namespace cvf
{
class BoundingBox;
class BoundingBoxTree;
} // namespace cvf
class RigSurface : public cvf::Object
{
public:
@@ -40,8 +46,16 @@ public:
std::vector<float> propertyValues( const QString& propertyName ) const;
std::vector<QString> propertyNames() const;
void ensureIntersectionSearchTreeIsBuilt();
void findIntersectingTriangles( const cvf::BoundingBox& inputBB, std::vector<size_t>* triangleStartIndices ) const;
private:
size_t triangleCount() const;
private:
std::vector<unsigned> m_triangleIndices;
std::vector<cvf::Vec3d> m_vertices;
std::map<QString, std::vector<float>> m_verticeResults;
cvf::ref<cvf::BoundingBoxTree> m_surfaceBoundingBoxTree;
};