diff --git a/src/runTimePostProcessing/surface.C b/src/runTimePostProcessing/surface.C index 5b8a99030fe1e695abf6dc8bd965f6ad44a0fc7d..80c1077db4e56f1dc39f642593457c6ed87a5b90 100644 --- a/src/runTimePostProcessing/surface.C +++ b/src/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; @@ -207,6 +211,8 @@ Foam::functionObjects::runTimePostPro::surface::surface representationTypeNames.get("representation", dict) ), featureEdges_(dict.getOrDefault("featureEdges", false)), + backFaceCulling_(dict.getOrDefault("backFaceCulling", false)), + frontFaceCulling_(dict.getOrDefault("frontFaceCulling", true)), surfaceColour_(nullptr), edgeColour_(nullptr), surfaceActor_(), diff --git a/src/runTimePostProcessing/surface.H b/src/runTimePostProcessing/surface.H index ae21df9a8e8f92f90366aea0c3ac3d572a39046c..2648b4bb621079b3e1a0c553aa875d7617228172 100644 --- a/src/runTimePostProcessing/surface.H +++ b/src/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 @@ -168,6 +170,12 @@ protected: //- Activate feature edges bool featureEdges_; + //- Back face culling option; default = off + bool backFaceCulling_; + + //- Front face culling option; default = on + bool frontFaceCulling_; + //- Surface colour autoPtr<Function1<vector>> surfaceColour_;