0028621: Visualization - AIS_ColoredShape::UnsetTransparency() is not implemented
[occt.git] / src / AIS / AIS_ColoredShape.cxx
index d271691..223864d 100644 (file)
@@ -287,6 +287,33 @@ void AIS_ColoredShape::SetTransparency (const Standard_Real theValue)
 }
 
 //=======================================================================
+//function : UnsetTransparency
+//purpose  :
+//=======================================================================
+void AIS_ColoredShape::UnsetTransparency()
+{
+  myDrawer->SetTransparency (0.0f);
+  if (myDrawer->HasOwnShadingAspect())
+  {
+    myDrawer->ShadingAspect()->SetTransparency (0.0, myCurrentFacingModel);
+  }
+  if (!HasColor() && !HasMaterial())
+  {
+    myDrawer->SetShadingAspect (Handle(Prs3d_ShadingAspect)());
+  }
+
+  for (AIS_DataMapOfShapeDrawer::Iterator anIter (myShapeColors); anIter.More(); anIter.Next())
+  {
+    const Handle(Prs3d_Drawer)& aDrawer = anIter.Value();
+    if (aDrawer->HasOwnShadingAspect())
+    {
+      aDrawer->ShadingAspect()->SetTransparency (0.0, myCurrentFacingModel);
+    }
+  }
+  SynchronizeAspects();
+}
+
+//=======================================================================
 //function : SetMaterial
 //purpose  :
 //=======================================================================