Salome HOME
Fix problems with the OpenGL clipping planes.
authorrnv <rnv@opencascade.com>
Wed, 19 Feb 2014 12:43:32 +0000 (16:43 +0400)
committerrnv <rnv@opencascade.com>
Wed, 19 Feb 2014 12:43:32 +0000 (16:43 +0400)
src/OBJECT/SMESH_Actor.cxx
src/OBJECT/SMESH_DeviceActor.cxx
src/OBJECT/SMESH_DeviceActor.h

index 4ef6a5c..e8340e7 100644 (file)
@@ -1313,7 +1313,7 @@ void SMESH_ActorDef::SetShrinkFactor(double theValue){
   Modified();
 }
 
-void SMESH_ActorDef::SetShrink(){
+void SMESH_ActorDef::SetShrink() {
   if(!myIsShrinkable) return;
 
   myBaseActor->SetShrink();
@@ -2207,7 +2207,10 @@ SMESH_ActorDef::SetOpenGLClippingPlane()
   my3DExtActor->SetPlaneCollection( myPlaneCollection );
   my3DExtActor->SetUnstructuredGrid(myVisualObj->GetUnstructuredGrid());
 
-  Modified();
+  if(IsShrunk())
+    SetShrink();
+  else  
+    Modified();
 }
 
 void
index 02eefc5..e286870 100644 (file)
@@ -142,7 +142,6 @@ SMESH_DeviceActor
   if(MYDEBUG) MESSAGE("~SMESH_DeviceActor - "<<this);
 
   myMapper->Delete();
-  myPlaneCollection->Delete();
 
   myProperty->Delete();
 
index e2931d8..a7c4dcb 100644 (file)
@@ -161,7 +161,8 @@ class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{
   VTKViewer_PolyDataMapper *myMapper;
   TVisualObjPtr myVisualObj;
 
-  vtkPlaneCollection* myPlaneCollection;
+  vtkSmartPointer<vtkPlaneCollection> myPlaneCollection;
+  
   vtkProperty *myProperty;
   EReperesent myRepresentation;