Pick info and result info: Added face type

This commit is contained in:
Magne Sjaastad
2014-01-03 14:59:52 +01:00
parent be81dbf711
commit 49a43a036e
10 changed files with 68 additions and 10 deletions

View File

@@ -245,6 +245,22 @@ cvf::ref<cvf::Array<size_t> > RivFaultGeometryGenerator::triangleToSourceGridCel
return triangles;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::ref<cvf::Array<cvf::StructGridInterface::FaceType> > RivFaultGeometryGenerator::triangleToFaceType() const
{
cvf::ref<cvf::Array<cvf::StructGridInterface::FaceType> > triangles = new cvf::Array<cvf::StructGridInterface::FaceType>(2*m_quadsToFace.size());
#pragma omp parallel for
for (int i = 0; i < static_cast<int>(m_quadsToFace.size()); i++)
{
triangles->set(i*2, m_quadsToFace[i]);
triangles->set(i*2+1, m_quadsToFace[i]);
}
return triangles;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -52,10 +52,11 @@ public:
const cvf::ScalarMapper* mapper) const;
// Mapping between cells and geometry
cvf::ref<cvf::Array<size_t> > triangleToSourceGridCellMap() const;
cvf::ref<cvf::Array<size_t> > triangleToSourceGridCellMap() const;
cvf::ref<cvf::Array<cvf::StructGridInterface::FaceType> > triangleToFaceType() const;
const std::vector<size_t>& quadToGridCellIndices() const;
const std::vector<cvf::StructGridInterface::FaceType>& quadToFace() const;
const std::vector<size_t>& quadToGridCellIndices() const;
const std::vector<cvf::StructGridInterface::FaceType>& quadToFace() const;
// Generated geometry
cvf::ref<cvf::DrawableGeo> generateSurface();
@@ -82,4 +83,5 @@ private:
std::vector<size_t> m_triangleIndexToGridCellIndex;
std::vector<size_t> m_quadsToGridCells;
std::vector<cvf::StructGridInterface::FaceType> m_quadsToFace;
std::vector<cvf::StructGridInterface::FaceType> m_triangleToFace;
};

View File

@@ -252,6 +252,7 @@ void RivFaultPartMgr::generatePartGeometry()
// Set mapping from triangle face index to cell index
cvf::ref<RivSourceInfo> si = new RivSourceInfo;
si->m_cellIndices = m_nativeFaultGenerator->triangleToSourceGridCellMap().p();
si->m_faceTypes = m_nativeFaultGenerator->triangleToFaceType().p();
part->setSourceInfo(si.p());
part->updateBoundingBox();
@@ -305,6 +306,7 @@ void RivFaultPartMgr::generatePartGeometry()
// Set mapping from triangle face index to cell index
cvf::ref<RivSourceInfo> si = new RivSourceInfo;
si->m_cellIndices = m_oppositeFaultGenerator->triangleToSourceGridCellMap().p();
si->m_faceTypes = m_oppositeFaultGenerator->triangleToFaceType().p();
part->setSourceInfo(si.p());
part->updateBoundingBox();

View File

@@ -117,6 +117,7 @@ void RivGridPartMgr::generatePartGeometry(cvf::StructGridGeometryGenerator& geoB
// Set mapping from triangle face index to cell index
cvf::ref<RivSourceInfo> si = new RivSourceInfo;
si->m_cellIndices = geoBuilder.triangleToSourceGridCellMap().p();
si->m_faceTypes = geoBuilder.triangleToFaceTypes().p();
part->setSourceInfo(si.p());
part->updateBoundingBox();

View File

@@ -21,6 +21,7 @@
#include "cvfBase.h"
#include "cvfObject.h"
#include "cvfArray.h"
#include "cvfStructGrid.h"
class RivSourceInfo : public cvf::Object
{
@@ -29,6 +30,8 @@ public:
bool hasNNCIndices() const;
public:
cvf::ref<cvf::Array<size_t> > m_cellIndices;
cvf::ref<cvf::Array<size_t> > m_NNCIndices;
cvf::ref<cvf::Array<size_t> > m_cellIndices;
cvf::ref<cvf::Array<cvf::StructGridInterface::FaceType> > m_faceTypes;
cvf::ref<cvf::Array<size_t> > m_NNCIndices;
};