Formatted contour map code and renamed some methods.

This commit is contained in:
Gaute Lindkvist 2018-11-21 09:32:04 +01:00
parent e98b1728f1
commit 094ae45dcd
4 changed files with 798 additions and 819 deletions

View File

@ -97,7 +97,7 @@ void RivContourMapProjectionPartMgr::appendPickPointVisToModel(cvf::ModelBasicLi
//--------------------------------------------------------------------------------------------------
cvf::ref<cvf::Vec2fArray> RivContourMapProjectionPartMgr::createTextureCoords() const
{
cvf::Vec2ui patchSize = m_contourMapProjection->vertexGridSize();
cvf::Vec2ui patchSize = m_contourMapProjection->numberOfVerticesIJ();
cvf::ref<cvf::Vec2fArray> textureCoords = new cvf::Vec2fArray(m_contourMapProjection->numberOfVertices());
@ -155,7 +155,7 @@ cvf::ref<cvf::DrawableGeo> RivContourMapProjectionPartMgr::createProjectionMapDr
{
cvf::ref<cvf::Vec3fArray> vertexArray = new cvf::Vec3fArray;
m_contourMapProjection->generateVertices(vertexArray.p(), displayCoordTransform);
cvf::Vec2ui patchSize = m_contourMapProjection->vertexGridSize();
cvf::Vec2ui patchSize = m_contourMapProjection->numberOfVerticesIJ();
// Surface
cvf::ref<cvf::UIntArray> faceList = new cvf::UIntArray;

View File

@ -502,8 +502,8 @@ QString Rim3dOverlayInfoConfig::caseInfoText(RimEclipseView* eclipseView)
QString totCellCount = QString::number(contourMap->contourMapProjection()->numberOfCells());
cvf::uint validCellCount = contourMap->contourMapProjection()->numberOfValidCells();
QString activeCellCountText = QString::number(validCellCount);
QString iSize = QString::number(contourMap->contourMapProjection()->mapSize().x());
QString jSize = QString::number(contourMap->contourMapProjection()->mapSize().y());
QString iSize = QString::number(contourMap->contourMapProjection()->numberOfElementsIJ().x());
QString jSize = QString::number(contourMap->contourMapProjection()->numberOfElementsIJ().y());
QString aggregationType = contourMap->contourMapProjection()->resultAggregationText();
QString weightingParameterString;
if (contourMap->contourMapProjection()->weightingParameter() != "None")

File diff suppressed because it is too large Load Diff

View File

@ -65,105 +65,116 @@ public:
RimContourMapProjection();
~RimContourMapProjection() override;
void generateVertices(cvf::Vec3fArray* vertices, const caf::DisplayCoordTransform* displayCoordTransform);
void generateVertices(cvf::Vec3fArray* vertices, const caf::DisplayCoordTransform* displayCoordTransform);
ContourPolygons generateContourPolygons(const caf::DisplayCoordTransform* displayCoordTransform);
cvf::ref<cvf::Vec3fArray> generatePickPointPolygon(const caf::DisplayCoordTransform* displayCoordTransform);
void generateResults();
ResultAggregation resultAggregation() const;
double sampleSpacing() const;
double sampleSpacingFactor() const;
bool showContourLines() const;
QString resultAggregationText() const;
QString resultDescriptionText() const;
QString weightingParameter() const;
double maxValue() const;
double minValue() const;
double meanValue() const;
double sumAllValues() const;
double sampleSpacing() const;
double sampleSpacingFactor() const;
cvf::Vec2ui mapSize() const;
cvf::Vec2ui vertexGridSize() const;
bool showContourLines() const;
cvf::Vec2ui numberOfElementsIJ() const;
cvf::Vec2ui numberOfVerticesIJ() const;
const std::vector<double>& aggregatedResults() const;
QString weightingParameter() const;
bool isMeanResult() const;
bool isSummationResult() const;
bool isStraightSummationResult() const;
static bool isStraightSummationResult(ResultAggregationEnum aggregationType);
bool isColumnResult() const;
double valueAtVertex(uint i, uint j) const;
bool hasResultAtVertex(uint i, uint j) const;
RimRegularLegendConfig* legendConfig() const;
size_t cellIndex(uint i, uint j) const;
size_t vertexIndex(uint i, uint j) const;
cvf::Vec2ui ijFromVertexIndex(size_t gridIndex) const;
cvf::Vec2ui ijFromCellIndex(size_t mapIndex) const;
void updateLegend();
size_t numberOfVertices() const;
uint numberOfCells() const;
uint numberOfValidCells() const;
size_t numberOfVertices() const;
ResultAggregation resultAggregation() const;
QString resultAggregationText() const;
QString resultDescriptionText() const;
void updatedWeightingResult();
bool checkForMapIntersection(const cvf::Vec3d& localPoint3d, cvf::Vec2d* contourMapPoint, cvf::Vec2ui* contourMapCell, double* valueAtPoint) const;
void setPickPoint(cvf::Vec2d pickedPoint);
bool checkForMapIntersection(const cvf::Vec3d& localPoint3d, cvf::Vec2d* contourMapPoint, cvf::Vec2ui* contourMapCell, double* valueAtPoint) const;
void setPickPoint(cvf::Vec2d pickedPoint);
protected:
double valueInCell(uint i, uint j) const;
bool hasResultInCell(uint i, uint j) const;
double calculateValueInCell(uint i, uint j) const;
double calculateValueAtVertex(uint i, uint j) const;
void generateGridMapping();
void calculateTotalCellVisibility();
cvf::Vec2d globalCellCenterPosition(uint i, uint j) const;
cvf::Vec2ui ijFromLocalPos(const cvf::Vec2d& localPos2d) const;
std::vector<std::pair<size_t, double>> cellsAtIJ(uint i, uint j) const;
std::vector<double> xVertexPositions() const;
std::vector<double> yVertexPositions() const;
std::vector<std::pair<size_t, double>> visibleCellsAndOverlapVolumeFrom2dPoint(const cvf::Vec2d& globalPos2d, const std::vector<double>* weightingResultValues = nullptr) const;
std::vector<std::pair<size_t, double>> visibleCellsAndLengthInCellFrom2dPoint(const cvf::Vec2d& globalPos2d, const std::vector<double>* weightingResultValues = nullptr) const;
double findColumnResult(ResultAggregation resultAggregation, size_t cellGlobalIdx) const;
const RimEclipseResultCase* eclipseCase() const;
RimEclipseResultCase* eclipseCase();
RimContourMapView* view() const;
RigMainGrid* mainGrid() const;
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override;
void defineEditorAttribute(const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute) override;
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override;
void initAfterRead() override;
bool getLegendRangeFrom3dGrid() const;
void updateGridInformation();
cvf::Vec2ui calculateMapSize() const;
void initAfterRead() override;
private:
typedef std::pair<size_t, double> CellIndexAndResult;
private:
void generateGridMapping();
double valueInCell(uint i, uint j) const;
bool hasResultInCell(uint i, uint j) const;
double calculateValueInCell(uint i, uint j) const;
double calculateValueAtVertex(uint i, uint j) const;
std::vector<CellIndexAndResult> cellsAtIJ(uint i, uint j) const;
std::vector<CellIndexAndResult> visibleCellsAndOverlapVolumeFrom2dPoint(const cvf::Vec2d& globalPos2d, const std::vector<double>* weightingResultValues = nullptr) const;
std::vector<CellIndexAndResult> visibleCellsAndLengthInCellFrom2dPoint(const cvf::Vec2d& globalPos2d, const std::vector<double>* weightingResultValues = nullptr) const;
double findColumnResult(ResultAggregation resultAggregation, size_t cellGlobalIdx) const;
bool isMeanResult() const;
bool isSummationResult() const;
bool isStraightSummationResult() const;
static bool isStraightSummationResult(ResultAggregationEnum aggregationType);
size_t cellIndexFromIJ(uint i, uint j) const;
size_t vertexIndexFromIJ(uint i, uint j) const;
cvf::Vec2ui ijFromVertexIndex(size_t gridIndex) const;
cvf::Vec2ui ijFromCellIndex(size_t mapIndex) const;
cvf::Vec2ui ijFromLocalPos(const cvf::Vec2d& localPos2d) const;
cvf::Vec2d globalCellCenterPosition(uint i, uint j) const;
std::vector<double> xVertexPositions() const;
std::vector<double> yVertexPositions() const;
bool getLegendRangeFrom3dGrid() const;
void updateGridInformation();
cvf::Vec2ui calculateMapSize() const;
RimEclipseResultCase* eclipseCase() const;
RimContourMapView* view() const;
protected:
caf::PdmField<double> m_relativeSampleSpacing;
caf::PdmField<ResultAggregation> m_resultAggregation;
caf::PdmField<bool> m_showContourLines;
caf::PdmField<bool> m_weightByParameter;
caf::PdmChildField<RimEclipseResultDefinition*> m_weightingResult;
cvf::ref<cvf::UByteArray> m_cellGridIdxVisibility;
caf::PdmField<double> m_relativeSampleSpacing;
caf::PdmField<ResultAggregation> m_resultAggregation;
caf::PdmField<bool> m_showContourLines;
caf::PdmField<bool> m_weightByParameter;
caf::PdmChildField<RimEclipseResultDefinition*> m_weightingResult;
cvf::ref<cvf::UByteArray> m_cellGridIdxVisibility;
std::vector<double> m_aggregatedResults;
std::vector<double> m_aggregatedVertexResults;
std::vector<double> m_aggregatedResults;
std::vector<double> m_aggregatedVertexResults;
std::vector<std::vector<std::pair<size_t, double>>> m_projected3dGridIndices;
cvf::ref<RigResultAccessor> m_resultAccessor;
cvf::ref<RigResultAccessor> m_resultAccessor;
cvf::Vec2d m_pickPoint;
cvf::Vec2d m_pickPoint;
cvf::Vec2ui m_mapSize;
cvf::BoundingBox m_fullBoundingBox;
double m_sampleSpacing;
caf::PdmPointer<RimEclipseResultCase> m_eclipseCase;
cvf::ref<RigMainGrid> m_mainGrid;
cvf::Vec2ui m_mapSize;
cvf::BoundingBox m_fullBoundingBox;
double m_sampleSpacing;
};