#3402 HoloLens : Add visibleParts to RiuViewer

This commit is contained in:
Magne Sjaastad
2018-09-21 12:57:49 +02:00
parent b6e43de923
commit c9f77bae98
3 changed files with 147 additions and 116 deletions

View File

@@ -53,6 +53,7 @@
#include "cvfFont.h"
#include "cvfOpenGLResourceManager.h"
#include "cvfOverlayAxisCross.h"
#include "cvfPartRenderHintCollection.h"
#include "cvfRenderQueueSorter.h"
#include "cvfRenderSequence.h"
#include "cvfRendering.h"
@@ -921,6 +922,40 @@ void RiuViewer::setCursorPosition(const cvf::Vec3d& domainCoord)
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<cvf::ref<cvf::Part>> RiuViewer::visibleParts()
{
std::vector<cvf::ref<cvf::Part>> partsMatchingEnableMask;
if (m_mainRendering.notNull())
{
auto enableMask = m_mainRendering->enableMask();
cvf::Scene* scene = currentScene();
for (cvf::uint i = 0; i < scene->modelCount(); i++)
{
cvf::Model* model = scene->model(i);
if (enableMask & model->partEnableMask())
{
cvf::Collection<cvf::Part> partCollection;
model->allParts(&partCollection);
for (const auto& p : partCollection)
{
if (enableMask & p->enableMask())
{
partsMatchingEnableMask.push_back(p);
}
}
}
}
}
return partsMatchingEnableMask;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -116,6 +116,8 @@ public:
void setCursorPosition(const cvf::Vec3d& domainCoord);
std::vector<cvf::ref<cvf::Part>> visibleParts();
public slots:
void slotSetCurrentFrame(int frameIndex) override;
void slotEndAnimation() override;