0029109: Visualization, AIS_Trihedron - add option hiding arrows tips
[occt.git] / src / AIS / AIS_Trihedron.cxx
index a2d2e1f..0626d10 100644 (file)
@@ -103,6 +103,8 @@ void AIS_Trihedron::setOwnDatumAspect()
   if (myDrawer->Link().IsNull())
     return;
 
+  myDrawer->DatumAspect()->SetDrawArrows (myDrawer->Link()->DatumAspect()->ToDrawArrows());
+  myDrawer->DatumAspect()->SetDrawLabels (myDrawer->Link()->DatumAspect()->ToDrawLabels());
   *myDrawer->DatumAspect()->TextAspect()->Aspect() =
                                      *myDrawer->Link()->DatumAspect()->TextAspect()->Aspect();
   *myDrawer->DatumAspect()->PointAspect()->Aspect() =
@@ -493,14 +495,14 @@ void AIS_Trihedron::computePresentation (const Handle(PrsMgr_PresentationManager
       anAxisGroup->AddPrimitiveArray (arrayOfPrimitives (aPart));
 
       // draw arrow
-      Handle(Graphic3d_Group) anArrowGroup = Prs3d_Root::NewGroup (thePrs);
-      anArrowGroup->SetPrimitivesAspect (anAspect->ArrowAspect()->Aspect());
-
       Prs3d_DatumParts anArrowPart = anAspect->ArrowPartForAxis (aPart);
       if (!anAspect->DrawDatumPart (anArrowPart))
       {
         continue;
       }
+
+      Handle(Graphic3d_Group) anArrowGroup = Prs3d_Root::NewGroup (thePrs);
+      anArrowGroup->SetGroupPrimitivesAspect (anAspect->ArrowAspect()->Aspect());
       anArrowGroup->AddPrimitiveArray (arrayOfPrimitives (anArrowPart));
     }
   }
@@ -714,6 +716,25 @@ void AIS_Trihedron::UnsetColor()
   }
 }
 
+//=======================================================================
+//function : ToDrawArrows
+//purpose  :
+//=======================================================================
+Standard_Boolean AIS_Trihedron::ToDrawArrows() const
+{
+  return myDrawer->DatumAspect()->ToDrawArrows();
+}
+
+//=======================================================================
+//function : SetDrawArrows
+//purpose  :
+//=======================================================================
+void AIS_Trihedron::SetDrawArrows (const Standard_Boolean theToDraw)
+{
+  setOwnDatumAspect();
+  myDrawer->DatumAspect()->SetDrawArrows (theToDraw);
+}
+
 //=======================================================================
 //function : createSensitiveEntity
 //purpose  :