mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5618 Well Disk : Remove black disk to indicate producer
This commit is contained in:
@@ -314,65 +314,9 @@ void RivWellDiskPartMgr::buildWellDiskParts( size_t frameIndex, const caf::Displ
|
|||||||
m_wellDiskPart = part;
|
m_wellDiskPart = part;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add visual indicator for well type: producer or injector
|
// Add visual indicator for well type injector
|
||||||
if ( productionType == RigWellResultFrame::PRODUCER )
|
if ( productionType == RigWellResultFrame::OIL_INJECTOR || productionType == RigWellResultFrame::GAS_INJECTOR ||
|
||||||
{
|
productionType == RigWellResultFrame::WATER_INJECTOR )
|
||||||
const uint numPolysZDir = 1;
|
|
||||||
float bottomRadius = 0.5f;
|
|
||||||
float topRadius = 0.5f;
|
|
||||||
float height = 0.1f;
|
|
||||||
float topOffsetX = 0.0f;
|
|
||||||
float topOffsetY = 0.0f;
|
|
||||||
|
|
||||||
cvf::GeometryBuilderFaceList builder;
|
|
||||||
cvf::GeometryUtils::createObliqueCylinder( bottomRadius,
|
|
||||||
topRadius,
|
|
||||||
height,
|
|
||||||
topOffsetX,
|
|
||||||
topOffsetY,
|
|
||||||
20,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
numPolysZDir,
|
|
||||||
&builder );
|
|
||||||
|
|
||||||
cvf::ref<cvf::Vec3fArray> vertices = builder.vertices();
|
|
||||||
cvf::ref<cvf::UIntArray> faceList = builder.faceList();
|
|
||||||
|
|
||||||
cvf::Mat4f matr;
|
|
||||||
matr( 0, 0 ) *= ijScaleFactor;
|
|
||||||
matr( 1, 1 ) *= ijScaleFactor;
|
|
||||||
matr( 2, 2 ) *= ijScaleFactor;
|
|
||||||
matr.setTranslation( cvf::Vec3f( diskPosition ) );
|
|
||||||
|
|
||||||
for ( size_t i = 0; i < vertices->size(); i++ )
|
|
||||||
{
|
|
||||||
cvf::Vec3f v = vertices->get( i );
|
|
||||||
v.transformPoint( matr );
|
|
||||||
vertices->set( i, v );
|
|
||||||
}
|
|
||||||
|
|
||||||
caf::SurfaceEffectGenerator surfaceGen( cvf::Color4f( cvf::Color3::BLACK ), caf::PO_1 );
|
|
||||||
surfaceGen.enableLighting( false );
|
|
||||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateCachedEffect();
|
|
||||||
|
|
||||||
cvf::ref<cvf::DrawableGeo> injectorGeo = new cvf::DrawableGeo;
|
|
||||||
injectorGeo->setVertexArray( vertices.p() );
|
|
||||||
injectorGeo->setFromFaceList( *faceList );
|
|
||||||
injectorGeo->computeNormals();
|
|
||||||
|
|
||||||
cvf::ref<cvf::Part> part = new cvf::Part;
|
|
||||||
part->setName( "RivWellDiskPartMgr: producer " + cvfqt::Utils::toString( well->name() ) );
|
|
||||||
part->setDrawable( injectorGeo.p() );
|
|
||||||
|
|
||||||
part->setEffect( eff.p() );
|
|
||||||
part->setSourceInfo( sourceInfo.p() );
|
|
||||||
|
|
||||||
m_wellDiskInjectorPart = part;
|
|
||||||
}
|
|
||||||
else if ( productionType == RigWellResultFrame::OIL_INJECTOR || productionType == RigWellResultFrame::GAS_INJECTOR ||
|
|
||||||
productionType == RigWellResultFrame::WATER_INJECTOR )
|
|
||||||
{
|
{
|
||||||
cvf::GeometryBuilderFaceList builder;
|
cvf::GeometryBuilderFaceList builder;
|
||||||
cvf::Vec3f pos( 0.0, 0.0, 0.0 );
|
cvf::Vec3f pos( 0.0, 0.0, 0.0 );
|
||||||
|
|||||||
Reference in New Issue
Block a user