#3948 HoloLens : Add labels

This commit is contained in:
Magne Sjaastad 2019-01-15 13:32:57 +01:00
parent 469437f320
commit a32ebe4dff
5 changed files with 33 additions and 7 deletions

View File

@ -38,15 +38,16 @@
#include "RivMeshLinesSourceInfo.h"
#include "RivSimWellPipeSourceInfo.h"
#include "RivSourceInfo.h"
#include "RivTextLabelSourceInfo.h"
#include "RivWellPathSourceInfo.h"
#include "cafEffectGenerator.h"
#include "cvfPart.h"
#include "cvfRenderState.h"
#include "cvfRenderState_FF.h"
#include "cvfRenderStateCullFace.h"
#include "cvfRenderStateTextureBindings.h"
#include "cvfRenderState_FF.h"
#include "cvfTexture.h"
#include "cvfTexture2D_FF.h"
@ -213,6 +214,27 @@ std::vector<VdeExportPart> RicHoloLensExportImpl::partsForExport(const RimGridVi
return exportParts;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<std::pair<cvf::Vec3f, cvf::String>> RicHoloLensExportImpl::labelsForExport(const RimGridView& view)
{
std::vector<std::pair<cvf::Vec3f, cvf::String>> labelAndPositions;
auto visibleParts = view.viewer()->visibleParts();
for (auto& visiblePart : visibleParts)
{
const RivTextLabelSourceInfo* textLabel = dynamic_cast<const RivTextLabelSourceInfo*>(visiblePart->sourceInfo());
if (textLabel)
{
labelAndPositions.push_back(std::make_pair(textLabel->textPositionDisplayCoord(), textLabel->text()));
}
}
return labelAndPositions;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -40,6 +40,7 @@ class RicHoloLensExportImpl
{
public:
static std::vector<VdeExportPart> partsForExport(const RimGridView& view);
static std::vector<std::pair<cvf::Vec3f, cvf::String>> labelsForExport(const RimGridView& view);
private:
static void appendTextureImage(VdeExportPart& exportPart, cvf::Part* part);

View File

@ -63,6 +63,9 @@ void VdeVizDataExtractor::extractViewContents(QString* modelMetaJsonStr, std::ve
// First extract the parts (cvfPart + info) to be exported from from the ResInsight view
const std::vector<VdeExportPart> exportPartsArr = RicHoloLensExportImpl::partsForExport(m_view);
// TODO: Convert this into JSON data
const std::vector<std::pair<cvf::Vec3f, cvf::String>> labelAndPositions = RicHoloLensExportImpl::labelsForExport(m_view);
// Convert this to an array of export ready meshes
const std::vector<std::unique_ptr<VdeMesh> > meshArr = buildMeshArray(exportPartsArr);
const int buildMeshes_ms = static_cast<int>(tim.lapTime()*1000);

View File

@ -24,7 +24,7 @@
RivTextLabelSourceInfo::RivTextLabelSourceInfo(caf::PdmObject* pdmObject, const cvf::String& text, const cvf::Vec3f& position)
: RivObjectSourceInfo(pdmObject)
, m_text(text)
, m_position(position)
, m_positionDisplayCoord(position)
{
}
@ -40,7 +40,7 @@ cvf::String RivTextLabelSourceInfo::text() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::Vec3f RivTextLabelSourceInfo::textPosition() const
cvf::Vec3f RivTextLabelSourceInfo::textPositionDisplayCoord() const
{
return m_position;
return m_positionDisplayCoord;
}

View File

@ -33,12 +33,12 @@
class RivTextLabelSourceInfo : public RivObjectSourceInfo
{
public:
explicit RivTextLabelSourceInfo(caf::PdmObject* pdmObject, const cvf::String& text, const cvf::Vec3f& position);
explicit RivTextLabelSourceInfo(caf::PdmObject* pdmObject, const cvf::String& text, const cvf::Vec3f& positionDisplayCoord);
cvf::String text() const;
cvf::Vec3f textPosition() const;
cvf::Vec3f textPositionDisplayCoord() const;
private:
cvf::String m_text;
cvf::Vec3f m_position;
cvf::Vec3f m_positionDisplayCoord;
};