Added face culling in fault part color mode

This commit is contained in:
Magne Sjaastad
2013-12-18 09:13:13 +01:00
parent b2f31b8045
commit d826c79a73
3 changed files with 14 additions and 3 deletions

View File

@@ -53,8 +53,9 @@
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RivFaultPartMgr::RivFaultPartMgr(const RigGridBase* grid, const RimFault* rimFault)
RivFaultPartMgr::RivFaultPartMgr(const RigGridBase* grid, const RimFaultCollection* rimFaultCollection, const RimFault* rimFault)
: m_grid(grid),
m_rimFaultCollection(rimFaultCollection),
m_rimFault(rimFault),
m_opacityLevel(1.0f),
m_defaultColor(cvf::Color3::WHITE)
@@ -391,6 +392,15 @@ void RivFaultPartMgr::updatePartEffect()
// Set default effect
caf::SurfaceEffectGenerator geometryEffgen(partColor, caf::PO_1);
if (m_rimFaultCollection->faultFaceCulling() == RimFaultCollection::FAULT_BACK_FACE_CULLING)
{
geometryEffgen.setCullBackfaces(caf::FC_BACK);
}
else if (m_rimFaultCollection->faultFaceCulling() == RimFaultCollection::FAULT_FRONT_FACE_CULLING)
{
geometryEffgen.setCullBackfaces(caf::FC_FRONT);
}
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateEffect();
if (m_nativeFaultFaces.notNull())

View File

@@ -46,7 +46,7 @@ class RimFaultCollection;
class RivFaultPartMgr : public cvf::Object
{
public:
RivFaultPartMgr(const RigGridBase* grid, const RimFault* rimFault);
RivFaultPartMgr(const RigGridBase* grid, const RimFaultCollection* rimFaultCollection, const RimFault* rimFault);
void setCellVisibility(cvf::UByteArray* cellVisibilities);
@@ -71,6 +71,7 @@ private:
private:
cvf::cref<RigGridBase> m_grid;
const RimFault* m_rimFault;
const RimFaultCollection* m_rimFaultCollection;
float m_opacityLevel;
cvf::Color3f m_defaultColor;

View File

@@ -41,7 +41,7 @@ RivReservoirFaultsPartMgr::RivReservoirFaultsPartMgr(const RigMainGrid* grid, c
{
for (size_t i = 0; i < faultCollection->faults.size(); i++)
{
m_faultParts.push_back(new RivFaultPartMgr(grid, faultCollection->faults[i]));
m_faultParts.push_back(new RivFaultPartMgr(grid, faultCollection, faultCollection->faults[i]));
}
}
}