0031456: Visualization - move out Dimensions and Relations from package AIS to PrsDims
[occt.git] / src / PrsDim / PrsDim_AngleDimension.cxx
similarity index 81%
rename from src/AIS/AIS_AngleDimension.cxx
rename to src/PrsDim/PrsDim_AngleDimension.cxx
index f55900b..41702f5 100644 (file)
@@ -14,9 +14,9 @@
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#include <AIS_AngleDimension.hxx>
+#include <PrsDim_AngleDimension.hxx>
 
-#include <AIS.hxx>
+#include <PrsDim.hxx>
 #include <BRepBuilderAPI_MakeFace.hxx>
 #include <BRepAdaptor_Curve.hxx>
 #include <BRepAdaptor_Surface.hxx>
@@ -52,8 +52,7 @@
 #include <Geom_Line.hxx>
 #include <Geom_Plane.hxx>
 
-
-IMPLEMENT_STANDARD_RTTIEXT(AIS_AngleDimension,AIS_Dimension)
+IMPLEMENT_STANDARD_RTTIEXT(PrsDim_AngleDimension, PrsDim_Dimension)
 
 namespace
 {
@@ -78,9 +77,9 @@ namespace
 //function : Constructor
 //purpose  : 
 //=======================================================================
-AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Edge& theFirstEdge,
-                                        const TopoDS_Edge& theSecondEdge)
-: AIS_Dimension (AIS_KOD_PLANEANGLE)
+PrsDim_AngleDimension::PrsDim_AngleDimension (const TopoDS_Edge& theFirstEdge,
+                                              const TopoDS_Edge& theSecondEdge)
+: PrsDim_Dimension (PrsDim_KOD_PLANEANGLE)
 {
   Init();
   SetMeasuredGeometry (theFirstEdge, theSecondEdge);
@@ -90,10 +89,10 @@ AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Edge& theFirstEdge,
 //function : Constructor
 //purpose  : 
 //=======================================================================
-AIS_AngleDimension::AIS_AngleDimension (const gp_Pnt& theFirstPoint,
-                                        const gp_Pnt& theSecondPoint,
-                                        const gp_Pnt& theThirdPoint)
-: AIS_Dimension (AIS_KOD_PLANEANGLE)
+PrsDim_AngleDimension::PrsDim_AngleDimension (const gp_Pnt& theFirstPoint,
+                                              const gp_Pnt& theSecondPoint,
+                                              const gp_Pnt& theThirdPoint)
+: PrsDim_Dimension (PrsDim_KOD_PLANEANGLE)
 {
   Init();
   SetMeasuredGeometry (theFirstPoint, theSecondPoint, theThirdPoint);
@@ -103,10 +102,10 @@ AIS_AngleDimension::AIS_AngleDimension (const gp_Pnt& theFirstPoint,
 //function : Constructor
 //purpose  : 
 //=======================================================================
-AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Vertex& theFirstVertex,
-                                        const TopoDS_Vertex& theSecondVertex,
-                                        const TopoDS_Vertex& theThirdVertex)
-: AIS_Dimension (AIS_KOD_PLANEANGLE)
+PrsDim_AngleDimension::PrsDim_AngleDimension (const TopoDS_Vertex& theFirstVertex,
+                                              const TopoDS_Vertex& theSecondVertex,
+                                              const TopoDS_Vertex& theThirdVertex)
+: PrsDim_Dimension (PrsDim_KOD_PLANEANGLE)
 {
   Init();
   SetMeasuredGeometry (theFirstVertex, theSecondVertex, theThirdVertex);
@@ -116,8 +115,8 @@ AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Vertex& theFirstVertex,
 //function : Constructor
 //purpose  : 
 //=======================================================================
-AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Face& theCone)
-: AIS_Dimension (AIS_KOD_PLANEANGLE)
+PrsDim_AngleDimension::PrsDim_AngleDimension (const TopoDS_Face& theCone)
+: PrsDim_Dimension (PrsDim_KOD_PLANEANGLE)
 {
   Init();
   SetMeasuredGeometry (theCone);
@@ -127,9 +126,9 @@ AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Face& theCone)
 //function : Constructor
 //purpose  : 
 //=======================================================================
-AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Face& theFirstFace,
-                                        const TopoDS_Face& theSecondFace)
-: AIS_Dimension (AIS_KOD_PLANEANGLE)
+PrsDim_AngleDimension::PrsDim_AngleDimension (const TopoDS_Face& theFirstFace,
+                                              const TopoDS_Face& theSecondFace)
+: PrsDim_Dimension (PrsDim_KOD_PLANEANGLE)
 {
   Init();
   SetMeasuredGeometry (theFirstFace, theSecondFace);
@@ -139,10 +138,10 @@ AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Face& theFirstFace,
 //function : Constructor
 //purpose  : 
 //=======================================================================
-AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Face& theFirstFace,
-                                        const TopoDS_Face& theSecondFace,
-                                        const gp_Pnt& thePoint)
-: AIS_Dimension (AIS_KOD_PLANEANGLE)
+PrsDim_AngleDimension::PrsDim_AngleDimension (const TopoDS_Face& theFirstFace,
+                                              const TopoDS_Face& theSecondFace,
+                                              const gp_Pnt& thePoint)
+: PrsDim_Dimension (PrsDim_KOD_PLANEANGLE)
 {
   Init();
   SetMeasuredGeometry (theFirstFace, theSecondFace, thePoint);
@@ -152,8 +151,8 @@ AIS_AngleDimension::AIS_AngleDimension (const TopoDS_Face& theFirstFace,
 //function : SetMeasuredGeometry
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Edge& theFirstEdge,
-                                              const TopoDS_Edge& theSecondEdge)
+void PrsDim_AngleDimension::SetMeasuredGeometry (const TopoDS_Edge& theFirstEdge,
+                                                 const TopoDS_Edge& theSecondEdge)
 {
   gp_Pln aComputedPlane;
 
@@ -175,9 +174,9 @@ void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Edge& theFirstEdge,
 //function : SetMeasuredGeometry
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::SetMeasuredGeometry (const gp_Pnt& theFirstPoint,
-                                              const gp_Pnt& theSecondPoint,
-                                              const gp_Pnt& theThirdPoint)
+void PrsDim_AngleDimension::SetMeasuredGeometry (const gp_Pnt& theFirstPoint,
+                                                 const gp_Pnt& theSecondPoint,
+                                                 const gp_Pnt& theThirdPoint)
 {
   myFirstPoint    = theFirstPoint;
   myCenterPoint   = theSecondPoint;
@@ -201,9 +200,9 @@ void AIS_AngleDimension::SetMeasuredGeometry (const gp_Pnt& theFirstPoint,
 //function : SetMeasuredGeometry
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Vertex& theFirstVertex,
-                                              const TopoDS_Vertex& theSecondVertex,
-                                              const TopoDS_Vertex& theThirdVertex)
+void PrsDim_AngleDimension::SetMeasuredGeometry (const TopoDS_Vertex& theFirstVertex,
+                                                 const TopoDS_Vertex& theSecondVertex,
+                                                 const TopoDS_Vertex& theThirdVertex)
 {
   myFirstShape      = theFirstVertex;
   mySecondShape     = theSecondVertex;
@@ -227,7 +226,7 @@ void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Vertex& theFirstVerte
 //function : SetMeasuredGeometry
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theCone)
+void PrsDim_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theCone)
 {
   myFirstShape      = theCone;
   mySecondShape     = TopoDS_Shape();
@@ -247,8 +246,8 @@ void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theCone)
 //function : SetMeasuredGeometry
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theFirstFace,
-                                              const TopoDS_Face& theSecondFace)
+void PrsDim_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theFirstFace,
+                                                 const TopoDS_Face& theSecondFace)
 {
   myFirstShape      = theFirstFace;
   mySecondShape     = theSecondFace;
@@ -268,9 +267,9 @@ void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theFirstFace,
 //function : SetMeasuredGeometry
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theFirstFace,
-                                              const TopoDS_Face& theSecondFace,
-                                              const gp_Pnt& thePoint)
+void PrsDim_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theFirstFace,
+                                                 const TopoDS_Face& theSecondFace,
+                                                 const gp_Pnt& thePoint)
 {
   myFirstShape      = theFirstFace;
   mySecondShape     = theSecondFace;
@@ -290,12 +289,12 @@ void AIS_AngleDimension::SetMeasuredGeometry (const TopoDS_Face& theFirstFace,
 //function : Init
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::Init()
+void PrsDim_AngleDimension::Init()
 {
-  SetType (AIS_TOA_Interior);
-  SetArrowsVisibility (AIS_TOAV_Both);
+  SetType (PrsDim_TypeOfAngle_Interior);
+  SetArrowsVisibility (PrsDim_TypeOfAngleArrowVisibility_Both);
   SetSpecialSymbol (THE_DEGREE_SYMBOL);
-  SetDisplaySpecialSymbol (AIS_DSS_After);
+  SetDisplaySpecialSymbol (PrsDim_DisplaySpecialSymbol_After);
   SetFlyout (15.0);
 }
 
@@ -303,9 +302,9 @@ void AIS_AngleDimension::Init()
 //function: GetCenterOnArc
 //purpose :
 //=======================================================================
-gp_Pnt AIS_AngleDimension::GetCenterOnArc (const gp_Pnt& theFirstAttach,
-                                           const gp_Pnt& theSecondAttach,
-                                           const gp_Pnt& theCenter) const
+gp_Pnt PrsDim_AngleDimension::GetCenterOnArc (const gp_Pnt& theFirstAttach,
+                                              const gp_Pnt& theSecondAttach,
+                                              const gp_Pnt& theCenter) const
 {
   // construct plane where the circle and the arc are located
   gce_MakePln aConstructPlane (theFirstAttach, theSecondAttach, theCenter);
@@ -316,7 +315,7 @@ gp_Pnt AIS_AngleDimension::GetCenterOnArc (const gp_Pnt& theFirstAttach,
   
   gp_Pln aPlane = aConstructPlane.Value();
   // to have an exterior angle presentation, a plane for further constructed circle should be reversed
-  if (myType == AIS_TOA_Exterior)
+  if (myType == PrsDim_TypeOfAngle_Exterior)
   {
     gp_Ax1 anAxis = aPlane.Axis();
     gp_Dir aDir = anAxis.Direction();
@@ -347,7 +346,7 @@ gp_Pnt AIS_AngleDimension::GetCenterOnArc (const gp_Pnt& theFirstAttach,
 //function : GetNormalForMinAngle
 //purpose  :
 //=======================================================================
-gp_Dir AIS_AngleDimension::GetNormalForMinAngle() const
+gp_Dir PrsDim_AngleDimension::GetNormalForMinAngle() const
 {
   const gp_Dir& aNormal = myPlane.Axis().Direction();
   gp_Dir aFirst (gp_Vec (myCenterPoint, myFirstPoint) );
@@ -362,17 +361,17 @@ gp_Dir AIS_AngleDimension::GetNormalForMinAngle() const
 //function : DrawArc
 //purpose  : draws the arc between two attach points
 //=======================================================================
-void AIS_AngleDimension::DrawArc (const Handle(Prs3d_Presentation)& thePresentation,
-                                  const gp_Pnt& theFirstAttach,
-                                  const gp_Pnt& theSecondAttach,
-                                  const gp_Pnt& theCenter,
-                                  const Standard_Real theRadius,
-                                  const Standard_Integer theMode)
+void PrsDim_AngleDimension::DrawArc (const Handle(Prs3d_Presentation)& thePresentation,
+                                     const gp_Pnt& theFirstAttach,
+                                     const gp_Pnt& theSecondAttach,
+                                     const gp_Pnt& theCenter,
+                                     const Standard_Real theRadius,
+                                     const Standard_Integer theMode)
 {
   gp_Pln aPlane (myCenterPoint, GetNormalForMinAngle());
 
   // to have an exterior angle presentation, a plane for further constructed circle should be reversed
-  if (myType == AIS_TOA_Exterior)
+  if (myType == PrsDim_TypeOfAngle_Exterior)
   {
     gp_Ax1 anAxis = aPlane.Axis();
     gp_Dir aDir = anAxis.Direction();
@@ -405,7 +404,7 @@ void AIS_AngleDimension::DrawArc (const Handle(Prs3d_Presentation)& thePresentat
   gp_Vec aCenterToFirstVec  (theCenter, theFirstAttach);
   gp_Vec aCenterToSecondVec (theCenter, theSecondAttach);
   Standard_Real anAngle = aCenterToFirstVec.Angle (aCenterToSecondVec);
-  if (myType == AIS_TOA_Exterior)
+  if (myType == PrsDim_TypeOfAngle_Exterior)
     anAngle = 2.0 * M_PI - anAngle;
   // it sets 50 points on PI, and a part of points if angle is less
   const Standard_Integer aNbPoints = Max (4, Standard_Integer (50.0 * anAngle / M_PI));
@@ -449,14 +448,14 @@ void AIS_AngleDimension::DrawArc (const Handle(Prs3d_Presentation)& thePresentat
 //function: DrawArcWithText
 //purpose :
 //=======================================================================
-void AIS_AngleDimension::DrawArcWithText (const Handle(Prs3d_Presentation)& thePresentation,
-                                          const gp_Pnt& theFirstAttach,
-                                          const gp_Pnt& theSecondAttach,
-                                          const gp_Pnt& theCenter,
-                                          const TCollection_ExtendedString& theText,
-                                          const Standard_Real theTextWidth,
-                                          const Standard_Integer theMode,
-                                          const Standard_Integer theLabelPosition)
+void PrsDim_AngleDimension::DrawArcWithText (const Handle(Prs3d_Presentation)& thePresentation,
+                                             const gp_Pnt& theFirstAttach,
+                                             const gp_Pnt& theSecondAttach,
+                                             const gp_Pnt& theCenter,
+                                             const TCollection_ExtendedString& theText,
+                                             const Standard_Real theTextWidth,
+                                             const Standard_Integer theMode,
+                                             const Standard_Integer theLabelPosition)
 {
   gp_Pln aPlane (myCenterPoint, GetNormalForMinAngle());
   
@@ -532,7 +531,7 @@ void AIS_AngleDimension::DrawArcWithText (const Handle(Prs3d_Presentation)& theP
 //function : CheckPlane
 //purpose  : 
 //=======================================================================
-Standard_Boolean AIS_AngleDimension::CheckPlane (const gp_Pln& thePlane)const
+Standard_Boolean PrsDim_AngleDimension::CheckPlane (const gp_Pln& thePlane)const
 {
   if (!thePlane.Contains (myFirstPoint, Precision::Confusion()) &&
       !thePlane.Contains (mySecondPoint, Precision::Confusion()) &&
@@ -548,7 +547,7 @@ Standard_Boolean AIS_AngleDimension::CheckPlane (const gp_Pln& thePlane)const
 //function : ComputePlane
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::ComputePlane()
+void PrsDim_AngleDimension::ComputePlane()
 {
   if (!myIsGeometryValid)
   {
@@ -570,7 +569,7 @@ void AIS_AngleDimension::ComputePlane()
 //function : GetModelUnits
 //purpose  :
 //=======================================================================
-const TCollection_AsciiString& AIS_AngleDimension::GetModelUnits() const
+const TCollection_AsciiString& PrsDim_AngleDimension::GetModelUnits() const
 {
   return myDrawer->DimAngleModelUnits();
 }
@@ -579,7 +578,7 @@ const TCollection_AsciiString& AIS_AngleDimension::GetModelUnits() const
 //function : GetDisplayUnits
 //purpose  :
 //=======================================================================
-const TCollection_AsciiString& AIS_AngleDimension::GetDisplayUnits() const
+const TCollection_AsciiString& PrsDim_AngleDimension::GetDisplayUnits() const
 {
   return myDrawer->DimAngleDisplayUnits();
 }
@@ -588,7 +587,7 @@ const TCollection_AsciiString& AIS_AngleDimension::GetDisplayUnits() const
 //function : SetModelUnits
 //purpose  :
 //=======================================================================
-void AIS_AngleDimension::SetModelUnits (const TCollection_AsciiString& theUnits)
+void PrsDim_AngleDimension::SetModelUnits (const TCollection_AsciiString& theUnits)
 {
   myDrawer->SetDimAngleModelUnits (theUnits);
 }
@@ -597,7 +596,7 @@ void AIS_AngleDimension::SetModelUnits (const TCollection_AsciiString& theUnits)
 //function : SetDisplayUnits
 //purpose  :
 //=======================================================================
-void AIS_AngleDimension::SetDisplayUnits (const TCollection_AsciiString& theUnits)
+void PrsDim_AngleDimension::SetDisplayUnits (const TCollection_AsciiString& theUnits)
 {
   myDrawer->SetDimAngleDisplayUnits (theUnits);
 }
@@ -606,7 +605,7 @@ void AIS_AngleDimension::SetDisplayUnits (const TCollection_AsciiString& theUnit
 //function : ComputeValue
 //purpose  : 
 //=======================================================================
-Standard_Real AIS_AngleDimension::ComputeValue() const
+Standard_Real PrsDim_AngleDimension::ComputeValue() const
 {
   if (!IsValid())
   {
@@ -625,9 +624,9 @@ Standard_Real AIS_AngleDimension::ComputeValue() const
 //function : Compute
 //purpose  : Having three gp_Pnt points compute presentation
 //=======================================================================
-void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*thePM*/,
-                                  const Handle(Prs3d_Presentation)& thePresentation,
-                                  const Standard_Integer theMode)
+void PrsDim_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*thePM*/,
+                                     const Handle(Prs3d_Presentation)& thePresentation,
+                                     const Standard_Integer theMode)
 {
   mySelectionGeom.Clear (theMode);
 
@@ -740,8 +739,8 @@ void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*
       if (theMode == ComputeMode_All || theMode == ComputeMode_Line)
       {
         DrawArc (thePresentation,
-                 (isArrowsExternal || !isArrowVisible(AIS_TOAV_First)) ? aFirstAttach : aFirstArrowEnd,
-                 (isArrowsExternal || !isArrowVisible(AIS_TOAV_Second)) ? aSecondAttach : aSecondArrowEnd,
+                 (isArrowsExternal || !isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_First))  ? aFirstAttach  : aFirstArrowEnd,
+                 (isArrowsExternal || !isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_Second)) ? aSecondAttach : aSecondArrowEnd,
                  myCenterPoint,
                  Abs (GetFlyout()),
                  theMode);
@@ -753,7 +752,7 @@ void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*
     {
       DrawExtension (thePresentation,
                      anExtensionSize,
-                     (isArrowsExternal && isArrowVisible(AIS_TOAV_First)) ? aFirstArrowEnd : aFirstAttach,
+                     (isArrowsExternal && isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_First)) ? aFirstArrowEnd : aFirstAttach,
                      aFirstExtensionDir,
                      aLabelString,
                      aLabelWidth,
@@ -766,7 +765,7 @@ void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*
     {
       DrawExtension (thePresentation,
                      anExtensionSize,
-                     (isArrowsExternal && isArrowVisible(AIS_TOAV_Second)) ? aSecondArrowEnd : aSecondAttach,
+                     (isArrowsExternal && isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_Second)) ? aSecondArrowEnd : aSecondAttach,
                      aSecondExtensionDir,
                      aLabelString,
                      aLabelWidth,
@@ -782,8 +781,8 @@ void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*
     Prs3d_Root::NewGroup (thePresentation);
 
     DrawArc (thePresentation,
-             (isArrowsExternal || !isArrowVisible(AIS_TOAV_First)) ? aFirstAttach  : aFirstArrowEnd,
-             (isArrowsExternal || !isArrowVisible(AIS_TOAV_Second)) ? aSecondAttach : aSecondArrowEnd,
+             (isArrowsExternal || !isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_First)) ? aFirstAttach  : aFirstArrowEnd,
+             (isArrowsExternal || !isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_Second)) ? aSecondAttach : aSecondArrowEnd,
              myCenterPoint,
              Abs(GetFlyout ()),
              theMode);
@@ -794,9 +793,9 @@ void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*
   {
     Prs3d_Root::NewGroup (thePresentation);
 
-    if (isArrowVisible(AIS_TOAV_First))
+    if (isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_First))
       DrawArrow (thePresentation, aFirstArrowBegin,  gp_Dir (aFirstArrowVec));
-    if (isArrowVisible(AIS_TOAV_Second))
+    if (isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_Second))
       DrawArrow (thePresentation, aSecondArrowBegin, gp_Dir (aSecondArrowVec));
   }
 
@@ -804,7 +803,7 @@ void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*
   {
     Prs3d_Root::NewGroup (thePresentation);
 
-    if (aHPosition != LabelPosition_Left && isArrowVisible(AIS_TOAV_First))
+    if (aHPosition != LabelPosition_Left && isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_First))
     {
       DrawExtension (thePresentation,
                      aDimensionAspect->ArrowTailSize(),
@@ -816,7 +815,7 @@ void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*
                      LabelPosition_None);
     }
 
-    if (aHPosition != LabelPosition_Right && isArrowVisible(AIS_TOAV_Second))
+    if (aHPosition != LabelPosition_Right && isArrowVisible(PrsDim_TypeOfAngleArrowVisibility_Second))
     {
       DrawExtension (thePresentation,
                      aDimensionAspect->ArrowTailSize(),
@@ -852,8 +851,8 @@ void AIS_AngleDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*
 //function : ComputeFlyoutSelection
 //purpose  : computes selection for flyouts
 //=======================================================================
-void AIS_AngleDimension::ComputeFlyoutSelection (const Handle(SelectMgr_Selection)& theSelection,
-                                                 const Handle(SelectMgr_EntityOwner)& theOwner)
+void PrsDim_AngleDimension::ComputeFlyoutSelection (const Handle(SelectMgr_Selection)& theSelection,
+                                                    const Handle(SelectMgr_EntityOwner)& theOwner)
 {
   gp_Pnt aFirstAttach  = myCenterPoint.Translated (gp_Vec (myCenterPoint, myFirstPoint).Normalized()  * GetFlyout());
   gp_Pnt aSecondAttach = myCenterPoint.Translated (gp_Vec (myCenterPoint, mySecondPoint).Normalized() * GetFlyout());
@@ -869,7 +868,7 @@ void AIS_AngleDimension::ComputeFlyoutSelection (const Handle(SelectMgr_Selectio
 //function : InitTwoEdgesAngle
 //purpose  : 
 //=======================================================================
-Standard_Boolean AIS_AngleDimension::InitTwoEdgesAngle (gp_Pln& theComputedPlane)
+Standard_Boolean PrsDim_AngleDimension::InitTwoEdgesAngle (gp_Pln& theComputedPlane)
 {
   TopoDS_Edge aFirstEdge  = TopoDS::Edge (myFirstShape);
   TopoDS_Edge aSecondEdge = TopoDS::Edge (mySecondShape);
@@ -897,11 +896,11 @@ Standard_Boolean AIS_AngleDimension::InitTwoEdgesAngle (gp_Pln& theComputedPlane
   Standard_Boolean isInfinite1,isInfinite2;
   gp_Pnt aFirstPoint1, aLastPoint1, aFirstPoint2, aLastPoint2;
   Handle(Geom_Curve) aFirstCurve = aFirstLine, aSecondCurve = aSecondLine;
-  if (!AIS::ComputeGeometry (aFirstEdge, aSecondEdge,
-                             aFirstCurve, aSecondCurve,
-                             aFirstPoint1, aLastPoint1,
-                             aFirstPoint2, aLastPoint2,
-                             isInfinite1, isInfinite2))
+  if (!PrsDim::ComputeGeometry (aFirstEdge, aSecondEdge,
+                                aFirstCurve, aSecondCurve,
+                                aFirstPoint1, aLastPoint1,
+                                aFirstPoint2, aLastPoint2,
+                                isInfinite1, isInfinite2))
   {
     return Standard_False;
   }
@@ -976,7 +975,7 @@ Standard_Boolean AIS_AngleDimension::InitTwoEdgesAngle (gp_Pln& theComputedPlane
 //function : InitTwoFacesAngle
 //purpose  : initialization of angle dimension between two faces
 //=======================================================================
-Standard_Boolean AIS_AngleDimension::InitTwoFacesAngle()
+Standard_Boolean PrsDim_AngleDimension::InitTwoFacesAngle()
 {
   TopoDS_Face aFirstFace = TopoDS::Face (myFirstShape);
   TopoDS_Face aSecondFace = TopoDS::Face (mySecondShape);
@@ -984,42 +983,31 @@ Standard_Boolean AIS_AngleDimension::InitTwoFacesAngle()
   gp_Dir aFirstDir, aSecondDir;
   gp_Pln aFirstPln, aSecondPln;
   Handle(Geom_Surface) aFirstBasisSurf, aSecondBasisSurf;
-  AIS_KindOfSurface aFirstSurfType, aSecondSurfType;
+  PrsDim_KindOfSurface aFirstSurfType, aSecondSurfType;
   Standard_Real aFirstOffset, aSecondOffset;
 
-  AIS::GetPlaneFromFace (aFirstFace, aFirstPln,
-                         aFirstBasisSurf,aFirstSurfType,aFirstOffset);
+  PrsDim::GetPlaneFromFace (aFirstFace, aFirstPln,
+                            aFirstBasisSurf,aFirstSurfType,aFirstOffset);
 
-  AIS::GetPlaneFromFace (aSecondFace, aSecondPln,
-                         aSecondBasisSurf, aSecondSurfType, aSecondOffset);
+  PrsDim::GetPlaneFromFace (aSecondFace, aSecondPln,
+                            aSecondBasisSurf, aSecondSurfType, aSecondOffset);
 
-  if (aFirstSurfType == AIS_KOS_Plane && aSecondSurfType == AIS_KOS_Plane)
+  if (aFirstSurfType == PrsDim_KOS_Plane && aSecondSurfType == PrsDim_KOS_Plane)
   {
     //Planar faces angle
     Handle(Geom_Plane) aFirstPlane = Handle(Geom_Plane)::DownCast (aFirstBasisSurf);
     Handle(Geom_Plane) aSecondPlane = Handle(Geom_Plane)::DownCast (aSecondBasisSurf);
-    return AIS::InitAngleBetweenPlanarFaces (aFirstFace,
-                                             aSecondFace,
-                                             myCenterPoint,
-                                             myFirstPoint,
-                                             mySecondPoint)
-           && IsValidPoints (myFirstPoint,
-                             myCenterPoint,
-                             mySecondPoint);
+    return PrsDim::InitAngleBetweenPlanarFaces (aFirstFace, aSecondFace,
+                                                myCenterPoint, myFirstPoint, mySecondPoint)
+        && IsValidPoints (myFirstPoint, myCenterPoint, mySecondPoint);
   }
   else
   {
     // Curvilinear faces angle
-    return AIS::InitAngleBetweenCurvilinearFaces (aFirstFace,
-                                                  aSecondFace,
-                                                  aFirstSurfType,
-                                                  aSecondSurfType,
-                                                  myCenterPoint,
-                                                  myFirstPoint,
-                                                  mySecondPoint)
-           && IsValidPoints (myFirstPoint,
-                             myCenterPoint,
-                             mySecondPoint);
+    return PrsDim::InitAngleBetweenCurvilinearFaces (aFirstFace, aSecondFace,
+                                                     aFirstSurfType, aSecondSurfType,
+                                                     myCenterPoint, myFirstPoint, mySecondPoint)
+       && IsValidPoints (myFirstPoint, myCenterPoint, mySecondPoint);
   }
 }
 
@@ -1027,7 +1015,7 @@ Standard_Boolean AIS_AngleDimension::InitTwoFacesAngle()
 //function : InitTwoFacesAngle
 //purpose  : initialization of angle dimension between two faces
 //=======================================================================
-Standard_Boolean AIS_AngleDimension::InitTwoFacesAngle (const gp_Pnt thePointOnFirstFace)
+Standard_Boolean PrsDim_AngleDimension::InitTwoFacesAngle (const gp_Pnt& thePointOnFirstFace)
 {
   TopoDS_Face aFirstFace = TopoDS::Face (myFirstShape);
   TopoDS_Face aSecondFace = TopoDS::Face (mySecondShape);
@@ -1035,45 +1023,34 @@ Standard_Boolean AIS_AngleDimension::InitTwoFacesAngle (const gp_Pnt thePointOnF
   gp_Dir aFirstDir, aSecondDir;
   gp_Pln aFirstPln, aSecondPln;
   Handle(Geom_Surface) aFirstBasisSurf, aSecondBasisSurf;
-  AIS_KindOfSurface aFirstSurfType, aSecondSurfType;
+  PrsDim_KindOfSurface aFirstSurfType, aSecondSurfType;
   Standard_Real aFirstOffset, aSecondOffset;
 
-  AIS::GetPlaneFromFace (aFirstFace, aFirstPln,
-                         aFirstBasisSurf,aFirstSurfType,aFirstOffset);
+  PrsDim::GetPlaneFromFace (aFirstFace, aFirstPln,
+                            aFirstBasisSurf,aFirstSurfType,aFirstOffset);
 
-  AIS::GetPlaneFromFace (aSecondFace, aSecondPln,
-                         aSecondBasisSurf, aSecondSurfType, aSecondOffset);
+  PrsDim::GetPlaneFromFace (aSecondFace, aSecondPln,
+                            aSecondBasisSurf, aSecondSurfType, aSecondOffset);
 
   myFirstPoint = thePointOnFirstFace;
-  if (aFirstSurfType == AIS_KOS_Plane && aSecondSurfType == AIS_KOS_Plane)
+  if (aFirstSurfType == PrsDim_KOS_Plane && aSecondSurfType == PrsDim_KOS_Plane)
   {
     //Planar faces angle
     Handle(Geom_Plane) aFirstPlane = Handle(Geom_Plane)::DownCast (aFirstBasisSurf);
     Handle(Geom_Plane) aSecondPlane = Handle(Geom_Plane)::DownCast (aSecondBasisSurf);
-    return AIS::InitAngleBetweenPlanarFaces (aFirstFace,
-                                             aSecondFace,
-                                             myCenterPoint,
-                                             myFirstPoint,
-                                             mySecondPoint,
-                                             Standard_True)
-           && IsValidPoints (myFirstPoint,
-                             myCenterPoint,
-                             mySecondPoint);
+    return PrsDim::InitAngleBetweenPlanarFaces (aFirstFace, aSecondFace,
+                                                myCenterPoint, myFirstPoint, mySecondPoint,
+                                                Standard_True)
+        && IsValidPoints (myFirstPoint, myCenterPoint, mySecondPoint);
   }
   else
   {
     // Curvilinear faces angle
-    return AIS::InitAngleBetweenCurvilinearFaces (aFirstFace,
-                                                  aSecondFace,
-                                                  aFirstSurfType,
-                                                  aSecondSurfType,
-                                                  myCenterPoint,
-                                                  myFirstPoint,
-                                                  mySecondPoint,
-                                                  Standard_True)
-           && IsValidPoints (myFirstPoint,
-                             myCenterPoint,
-                             mySecondPoint);
+    return PrsDim::InitAngleBetweenCurvilinearFaces (aFirstFace, aSecondFace,
+                                                     aFirstSurfType, aSecondSurfType,
+                                                     myCenterPoint, myFirstPoint, mySecondPoint,
+                                                     Standard_True)
+        && IsValidPoints (myFirstPoint, myCenterPoint, mySecondPoint);
   }
 }
 
@@ -1081,7 +1058,7 @@ Standard_Boolean AIS_AngleDimension::InitTwoFacesAngle (const gp_Pnt thePointOnF
 //function : InitConeAngle
 //purpose  : initialization of the cone angle
 //=======================================================================
-Standard_Boolean AIS_AngleDimension::InitConeAngle()
+Standard_Boolean PrsDim_AngleDimension::InitConeAngle()
 {
   if (myFirstShape.IsNull())
   {
@@ -1100,16 +1077,14 @@ Standard_Boolean AIS_AngleDimension::InitConeAngle()
   Handle(Geom_Line) aLine;
   BRepAdaptor_Surface aConeAdaptor (aConeShape);
   TopoDS_Face aFace;
-  AIS_KindOfSurface aSurfType;
+  PrsDim_KindOfSurface aSurfType;
   Standard_Real anOffset = 0.;
   Handle(Standard_Type) aType;
 
-  Standard_Real aMaxV = aConeAdaptor.FirstVParameter();
-  Standard_Real aMinV = aConeAdaptor.LastVParameter();
-
-  AIS::GetPlaneFromFace (aConeShape, aPln, aSurf, aSurfType, anOffset);
-
-  if (aSurfType == AIS_KOS_Revolution)
+  const Standard_Real aMaxV = aConeAdaptor.FirstVParameter();
+  const Standard_Real aMinV = aConeAdaptor.LastVParameter();
+  PrsDim::GetPlaneFromFace (aConeShape, aPln, aSurf, aSurfType, anOffset);
+  if (aSurfType == PrsDim_KOS_Revolution)
   {
     // Surface of revolution
     aRevSurf = Handle(Geom_SurfaceOfRevolution)::DownCast(aSurf);
@@ -1185,9 +1160,9 @@ Standard_Boolean AIS_AngleDimension::InitConeAngle()
 //function : IsValidPoints
 //purpose  : 
 //=======================================================================
-Standard_Boolean AIS_AngleDimension::IsValidPoints (const gp_Pnt& theFirstPoint,
-                                                    const gp_Pnt& theCenterPoint,
-                                                    const gp_Pnt& theSecondPoint) const
+Standard_Boolean PrsDim_AngleDimension::IsValidPoints (const gp_Pnt& theFirstPoint,
+                                                       const gp_Pnt& theCenterPoint,
+                                                       const gp_Pnt& theSecondPoint) const
 {
   return theFirstPoint.Distance (theCenterPoint) > Precision::Confusion()
       && theSecondPoint.Distance (theCenterPoint) > Precision::Confusion()
@@ -1199,17 +1174,17 @@ Standard_Boolean AIS_AngleDimension::IsValidPoints (const gp_Pnt& theFirstPoint,
 //function : isArrowVisible
 //purpose  : compares given and internal arrows types, returns true if the the type should be shown
 //=======================================================================
-Standard_Boolean AIS_AngleDimension::isArrowVisible(const AIS_TypeOfAngleArrowVisibility& theArrowType) const
+Standard_Boolean PrsDim_AngleDimension::isArrowVisible(const PrsDim_TypeOfAngleArrowVisibility theArrowType) const
 {
   switch (theArrowType)
   {
-    case AIS_TOAV_Both:
-      return myArrowsVisibility == AIS_TOAV_Both;
-    case AIS_TOAV_First:
-      return myArrowsVisibility == AIS_TOAV_Both || myArrowsVisibility == AIS_TOAV_First;
-    case AIS_TOAV_Second:
-      return myArrowsVisibility == AIS_TOAV_Both || myArrowsVisibility == AIS_TOAV_Second;
-    case AIS_TOAV_None:
+    case PrsDim_TypeOfAngleArrowVisibility_Both:
+      return myArrowsVisibility == PrsDim_TypeOfAngleArrowVisibility_Both;
+    case PrsDim_TypeOfAngleArrowVisibility_First:
+      return myArrowsVisibility == PrsDim_TypeOfAngleArrowVisibility_Both || myArrowsVisibility == PrsDim_TypeOfAngleArrowVisibility_First;
+    case PrsDim_TypeOfAngleArrowVisibility_Second:
+      return myArrowsVisibility == PrsDim_TypeOfAngleArrowVisibility_Both || myArrowsVisibility == PrsDim_TypeOfAngleArrowVisibility_Second;
+    case PrsDim_TypeOfAngleArrowVisibility_None:
       return false;
   }
   return false;
@@ -1219,7 +1194,7 @@ Standard_Boolean AIS_AngleDimension::isArrowVisible(const AIS_TypeOfAngleArrowVi
 //function : GetTextPosition
 //purpose  : 
 //=======================================================================
-const gp_Pnt AIS_AngleDimension::GetTextPosition() const
+gp_Pnt PrsDim_AngleDimension::GetTextPosition() const
 {
   if (!IsValid())
   {
@@ -1290,7 +1265,7 @@ const gp_Pnt AIS_AngleDimension::GetTextPosition() const
 //function : SetTextPosition
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::SetTextPosition (const gp_Pnt& theTextPos)
+void PrsDim_AngleDimension::SetTextPosition (const gp_Pnt& theTextPos)
 {
   if (!IsValid())
   {
@@ -1311,10 +1286,10 @@ void AIS_AngleDimension::SetTextPosition (const gp_Pnt& theTextPos)
 //function : AdjustParameters
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::AdjustParameters (const gp_Pnt& theTextPos,
-                                           Standard_Real& theExtensionSize,
-                                           Prs3d_DimensionTextHorizontalPosition& theAlignment,
-                                           Standard_Real& theFlyout) const
+void PrsDim_AngleDimension::AdjustParameters (const gp_Pnt& theTextPos,
+                                              Standard_Real& theExtensionSize,
+                                              Prs3d_DimensionTextHorizontalPosition& theAlignment,
+                                              Standard_Real& theFlyout) const
 {
   Handle(Prs3d_DimensionAspect) aDimensionAspect = myDrawer->DimensionAspect();
   Standard_Real anArrowLength = aDimensionAspect->ArrowAspect()->Length();
@@ -1369,8 +1344,8 @@ void AIS_AngleDimension::AdjustParameters (const gp_Pnt& theTextPos,
   // Text on the extensions
   gp_Lin aFirstLine = gce_MakeLin (myCenterPoint, myFirstPoint);
   gp_Lin aSecondLine = gce_MakeLin (myCenterPoint, mySecondPoint);
-  gp_Pnt aFirstTextProj = AIS::Nearest (aFirstLine, theTextPos);
-  gp_Pnt aSecondTextProj = AIS::Nearest (aSecondLine, theTextPos);
+  gp_Pnt aFirstTextProj  = PrsDim::Nearest (aFirstLine,  theTextPos);
+  gp_Pnt aSecondTextProj = PrsDim::Nearest (aSecondLine, theTextPos);
   Standard_Real aFirstDist = aFirstTextProj.Distance (theTextPos);
   Standard_Real aSecondDist = aSecondTextProj.Distance (theTextPos);
 
@@ -1408,9 +1383,9 @@ void AIS_AngleDimension::AdjustParameters (const gp_Pnt& theTextPos,
 //function : FitTextAlignment
 //purpose  : 
 //=======================================================================
-void AIS_AngleDimension::FitTextAlignment (const Prs3d_DimensionTextHorizontalPosition& theHorizontalTextPos,
-                                           Standard_Integer& theLabelPosition,
-                                           Standard_Boolean& theIsArrowsExternal) const
+void PrsDim_AngleDimension::FitTextAlignment (const Prs3d_DimensionTextHorizontalPosition& theHorizontalTextPos,
+                                              Standard_Integer& theLabelPosition,
+                                              Standard_Boolean& theIsArrowsExternal) const
 {
   Handle(Prs3d_DimensionAspect) aDimensionAspect = myDrawer->DimensionAspect();