0031456: Visualization - move out Dimensions and Relations from package AIS to PrsDims
[occt.git] / src / PrsDim / PrsDim_Dimension.hxx
old mode 100755 (executable)
new mode 100644 (file)
similarity index 95%
rename from src/AIS/AIS_Dimension.hxx
rename to src/PrsDim/PrsDim_Dimension.hxx
index 6e923db..769d015
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#ifndef _AIS_Dimension_HeaderFile
-#define _AIS_Dimension_HeaderFile
+#ifndef _PrsDim_Dimension_HeaderFile
+#define _PrsDim_Dimension_HeaderFile
 
-#include <AIS_DimensionSelectionMode.hxx>
-#include <AIS_DimensionOwner.hxx>
-#include <AIS_DisplaySpecialSymbol.hxx>
+#include <PrsDim_DimensionSelectionMode.hxx>
+#include <PrsDim_DimensionOwner.hxx>
+#include <PrsDim_DisplaySpecialSymbol.hxx>
 #include <AIS_InteractiveObject.hxx>
 #include <AIS_KindOfInteractive.hxx>
-#include <AIS_KindOfDimension.hxx>
-#include <AIS_KindOfSurface.hxx>
+#include <PrsDim_KindOfDimension.hxx>
+#include <PrsDim_KindOfSurface.hxx>
 #include <Geom_Curve.hxx>
 #include <gp_Pln.hxx>
 #include <Prs3d_ArrowAspect.hxx>
 #include <NCollection_Sequence.hxx>
 #include <NCollection_Handle.hxx>
 
-class AIS_Dimension;
-DEFINE_STANDARD_HANDLE(AIS_Dimension, AIS_InteractiveObject)
+DEFINE_STANDARD_HANDLE(PrsDim_Dimension, AIS_InteractiveObject)
 
-//! AIS_Dimension is a base class for 2D presentations of linear (length, diameter, radius)
+//! PrsDim_Dimension is a base class for 2D presentations of linear (length, diameter, radius)
 //! and angular dimensions.
 //!
 //! The dimensions provide measurement of quantities, such as lengths or plane angles.
@@ -131,7 +130,7 @@ DEFINE_STANDARD_HANDLE(AIS_Dimension, AIS_InteractiveObject)
 //! 
 //! The dimension support two local selection modes: main dimension line selection and text label
 //! selection. These modes can be used to develop interactive modification of dimension presentations.
-//! The component highlighting in these selection modes is provided by AIS_DimensionOwner class.
+//! The component highlighting in these selection modes is provided by PrsDim_DimensionOwner class.
 //! Please note that selection is unavailable until the presentation is computed.
 //! 
 //! The specific drawing attributes are controlled through Prs3d_DimensionAspect. The one can change
@@ -164,9 +163,9 @@ DEFINE_STANDARD_HANDLE(AIS_Dimension, AIS_InteractiveObject)
 //! it can be converted to the text position by calling the method GetTextPosition(). In this case
 //! the text position is NOT fixed, and SetMeasureGeometry() without user-defined plane adjusts
 //! the automatic plane according input geometry (if it is possible).
-//!
-class AIS_Dimension : public AIS_InteractiveObject
+class PrsDim_Dimension : public AIS_InteractiveObject
 {
+  DEFINE_STANDARD_RTTIEXT(PrsDim_Dimension, AIS_InteractiveObject)
 protected:
 
   //! Geometry type defines type of shapes on which the dimension is to be built.
@@ -225,7 +224,7 @@ public:
 
   //! Constructor with default parameters values.
   //! @param theType [in] the type of dimension.
-  Standard_EXPORT AIS_Dimension (const AIS_KindOfDimension theType);
+  Standard_EXPORT PrsDim_Dimension (const PrsDim_KindOfDimension theType);
 
   //! Gets dimension measurement value. If the value to display is not
   //! specified by user, then the dimension object is responsible to
@@ -256,7 +255,7 @@ public:
 
   //! Gets user-defined dimension value.
   //! @return dimension value string.
-  Standard_EXPORT const TCollection_ExtendedString& GetCustomValue () const;
+  const TCollection_ExtendedString& GetCustomValue() const { return myCustomStringValue; }
 
   //! Get the dimension plane in which the 2D dimension presentation is computed.
   //! By default, if plane is not defined by user, it is computed automatically
@@ -267,7 +266,7 @@ public:
   //! If user-defined plane allow geometry placement on it, it will be used for
   //! computing of the dimension presentation.
   //! @return dimension plane used for presentation computing.
-  Standard_EXPORT const gp_Pln& GetPlane() const;
+  const gp_Pln& GetPlane() const { return myPlane; }
 
   //! Geometry type defines type of shapes on which the dimension is to be built. 
   //! @return type of geometry on which the dimension will be built.
@@ -297,7 +296,7 @@ public:
 
   //! Computes absolute text position from dimension parameters
   //! (flyout, plane and text alignment).
-  virtual const gp_Pnt GetTextPosition () const { return gp_Pnt(); }
+  virtual gp_Pnt GetTextPosition () const { return gp_Pnt(); }
 
 public:
 
@@ -314,16 +313,10 @@ public:
   Standard_EXPORT void SetDimensionAspect (const Handle(Prs3d_DimensionAspect)& theDimensionAspect);
 
   //! @return the kind of dimension.
-  AIS_KindOfDimension KindOfDimension() const
-  {
-    return myKindOfDimension;
-  }
+  PrsDim_KindOfDimension KindOfDimension() const { return myKindOfDimension; }
 
   //! @return the kind of interactive.
-  virtual AIS_KindOfInteractive Type() const Standard_OVERRIDE
-  {
-    return AIS_KOI_Dimension;
-  }
+  virtual AIS_KindOfInteractive Type() const Standard_OVERRIDE { return AIS_KOI_Dimension; }
 
   //! Returns true if the class of objects accepts the display mode theMode.
   //! The interactive context can have a default mode of representation for
@@ -336,13 +329,10 @@ public:
 public:
 
   //! @return dimension special symbol display options.
-  AIS_DisplaySpecialSymbol DisplaySpecialSymbol() const
-  {
-    return myDisplaySpecialSymbol;
-  }
+  PrsDim_DisplaySpecialSymbol DisplaySpecialSymbol() const { return myDisplaySpecialSymbol; }
 
   //! Specifies whether to display special symbol or not.
-  Standard_EXPORT void SetDisplaySpecialSymbol (const AIS_DisplaySpecialSymbol theDisplaySpecSymbol);
+  Standard_EXPORT void SetDisplaySpecialSymbol (const PrsDim_DisplaySpecialSymbol theDisplaySpecSymbol);
 
   //! @return special symbol.
   Standard_ExtCharacter SpecialSymbol() const
@@ -398,10 +388,6 @@ public:
     return myIsGeometryValid && CheckPlane (GetPlane());
   }
 
-public:
-
-  DEFINE_STANDARD_RTTIEXT(AIS_Dimension,AIS_InteractiveObject)
-
 protected:
 
   Standard_EXPORT Standard_Real ValueToDisplayUnits() const;
@@ -691,8 +677,8 @@ protected: //! @name Fixed text position properties
 
 protected: //! @name Units properties
 
-  Standard_ExtCharacter    mySpecialSymbol;        //!< Special symbol.
-  AIS_DisplaySpecialSymbol myDisplaySpecialSymbol; //!< Special symbol display options.
+  Standard_ExtCharacter       mySpecialSymbol;        //!< Special symbol.
+  PrsDim_DisplaySpecialSymbol myDisplaySpecialSymbol; //!< Special symbol display options.
 
 protected: //! @name Geometrical properties
 
@@ -705,7 +691,7 @@ protected: //! @name Geometrical properties
 
 private:
 
-  AIS_KindOfDimension myKindOfDimension;
+  PrsDim_KindOfDimension myKindOfDimension;
 };
 
-#endif // _AIS_Dimension_HeaderFile
+#endif // _PrsDim_Dimension_HeaderFile