From 671519d2d9b7e9ca506aa6d23af9cc587e3e239b Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 1 Nov 2019 11:03:30 +0000 Subject: [PATCH] ENH: Function objects - runTimePostProcessing - updated and exposed culling options --- .../graphics/runTimePostProcessing/surface.C | 11 ++++++++++- .../graphics/runTimePostProcessing/surface.H | 8 ++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/functionObjects/graphics/runTimePostProcessing/surface.C b/src/functionObjects/graphics/runTimePostProcessing/surface.C index 5b8a99030f..34995e71a3 100644 --- a/src/functionObjects/graphics/runTimePostProcessing/surface.C +++ b/src/functionObjects/graphics/runTimePostProcessing/surface.C @@ -115,11 +115,15 @@ void Foam::functionObjects::runTimePostPro::surface::setRepresentation case rtGlyph: case rtSurface: { + actor->GetProperty()->SetBackfaceCulling(backFaceCulling_); + actor->GetProperty()->SetFrontfaceCulling(frontFaceCulling_); actor->GetProperty()->SetRepresentationToSurface(); break; } case rtSurfaceWithEdges: { + actor->GetProperty()->SetBackfaceCulling(backFaceCulling_); + actor->GetProperty()->SetFrontfaceCulling(frontFaceCulling_); actor->GetProperty()->SetRepresentationToSurface(); actor->GetProperty()->EdgeVisibilityOn(); break; @@ -211,7 +215,9 @@ Foam::functionObjects::runTimePostPro::surface::surface edgeColour_(nullptr), surfaceActor_(), edgeActor_(), - maxGlyphLength_(0) + maxGlyphLength_(0), + backFaceCulling_(false), + frontFaceCulling_(true) { surfaceActor_ = vtkSmartPointer::New(); edgeActor_ = vtkSmartPointer::New(); @@ -238,6 +244,9 @@ Foam::functionObjects::runTimePostPro::surface::surface { dict.readEntry("maxGlyphLength", maxGlyphLength_); } + + dict.readIfPresent("backFaceCulling", backFaceCulling_); + dict.readIfPresent("frontFaceCulling", frontFaceCulling_); } diff --git a/src/functionObjects/graphics/runTimePostProcessing/surface.H b/src/functionObjects/graphics/runTimePostProcessing/surface.H index ae21df9a8e..c450bc289f 100644 --- a/src/functionObjects/graphics/runTimePostProcessing/surface.H +++ b/src/functionObjects/graphics/runTimePostProcessing/surface.H @@ -38,6 +38,8 @@ Description edgeColour | Override edge colour | no | featureEdges | Display surface feature edges | no | false maxGlyphLength | Limit for glyph representation | yes | 0 + backFaceCulling | Cull back face | no | false + frontFaceCulling | Cull front face | no | true \endtable SourceFiles @@ -183,6 +185,12 @@ protected: //- Max glyph length for representation type rtGlyph scalar maxGlyphLength_; + //- Back face culling option; default = off + bool backFaceCulling_; + + //- Front face culling option; default = on + bool frontFaceCulling_; + // Protected Member Functions