+/*!
+ Creates clipping plane based on the incoming plane
+*/
+Handle(Graphic3d_ClipPlane) OCCViewer_Viewer::createClipPlane(const gp_Pln& thePlane, const Standard_Boolean theIsOn)
+{
+ Handle(Graphic3d_ClipPlane) aGraphic3dPlane = new Graphic3d_ClipPlane( thePlane );
+ aGraphic3dPlane->SetOn( theIsOn );
+ aGraphic3dPlane->SetCapping( Standard_True );
+
+ // load capping texture
+ QPixmap px( ":images/hatch.png" );
+ if( !px.isNull() ) {
+ const Handle(Image_PixMap) aPixmap = OCCViewer_Utilities::imageToPixmap( px.toImage() );
+ Handle(Graphic3d_Texture2Dmanual) aTexture = new Graphic3d_Texture2Dmanual( aPixmap );
+ if( aTexture->IsDone() ) {
+ aTexture->EnableModulate();
+ aTexture->EnableRepeat();
+ aTexture->GetParams()->SetScale( Graphic3d_Vec2( 0.01, 0.01 ) );
+ aGraphic3dPlane->SetCappingTexture( aTexture );
+ }
+ }
+ return aGraphic3dPlane;
+}