Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / GeomAPI / GeomAPI_AISObject.h
index d3f23859186552521fabc6af4cd2e5cb3af3e5f1..574d39f137c26ed6688c73c77f830cc077eea80e 100644 (file)
@@ -2,8 +2,8 @@
 // Created:     25 Jun 2014
 // Author:      Artem ZHIDKOV
 
-#ifndef GeomAPI_AISObject_HeaderFile
-#define GeomAPI_AISObject_HeaderFile
+#ifndef GeomAPI_AISObject_H_
+#define GeomAPI_AISObject_H_
 
 #include <GeomAPI_Interface.h>
 
@@ -18,6 +18,9 @@ class GeomAPI_Shape;
 struct GEOMAPI_EXPORT Colors
 {
   static int COLOR_BROWN;
+  static int COLOR_RED;
+  static int COLOR_GREEN;
+  static int COLOR_BLUE;
 };
 
 /** \class GeomAPI_AISObject
@@ -27,7 +30,7 @@ struct GEOMAPI_EXPORT Colors
 
 class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface
 {
-public:
+ public:
   /// \brief Creation of empty AIS object
   GeomAPI_AISObject();
 
@@ -44,8 +47,7 @@ public:
   void createDistance(boost::shared_ptr<GeomAPI_Pnt> theStartPoint,
                       boost::shared_ptr<GeomAPI_Pnt> theEndPoint,
                       boost::shared_ptr<GeomAPI_Pnt> theFlyoutPoint,
-                      boost::shared_ptr<GeomAPI_Pln> thePlane,
-                      double                         theDistance);
+                      boost::shared_ptr<GeomAPI_Pln> thePlane, double theDistance);
 
   /** \brief Creates AIS_RadiusDimension object
    *  \param[in] theCircle      the radius is created for this circle
@@ -53,8 +55,7 @@ public:
    *  \param[in] theRadius      value of the radius to be shown
    */
   void createRadius(boost::shared_ptr<GeomAPI_Circ> theCircle,
-                    boost::shared_ptr<GeomAPI_Pnt>  theFlyoutPoint,
-                    double                          theRadius);
+                    boost::shared_ptr<GeomAPI_Pnt> theFlyoutPoint, double theRadius);
 
   /** \brief Creates AIS_ParallelRelation object for two lines
    *  \param[in] theLine1       first parallel line
@@ -64,8 +65,8 @@ public:
    */
   void createParallel(boost::shared_ptr<GeomAPI_Shape> theLine1,
                       boost::shared_ptr<GeomAPI_Shape> theLine2,
-                      boost::shared_ptr<GeomAPI_Pnt>   theFlyoutPoint,
-                      boost::shared_ptr<GeomAPI_Pln>   thePlane);
+                      boost::shared_ptr<GeomAPI_Pnt> theFlyoutPoint,
+                      boost::shared_ptr<GeomAPI_Pln> thePlane);
 
   /** \brief Creates AIS_PerpendicularRelation object for two lines
    *  \param[in] theLine1       first parallel line
@@ -74,13 +75,20 @@ public:
    */
   void createPerpendicular(boost::shared_ptr<GeomAPI_Shape> theLine1,
                            boost::shared_ptr<GeomAPI_Shape> theLine2,
-                           boost::shared_ptr<GeomAPI_Pln>   thePlane);
+                           boost::shared_ptr<GeomAPI_Pln> thePlane);
 
   /** \brief Assigns the color for the shape
    *  \param[in] theColor index of the color
    */
   void setColor(const int& theColor);
 
+  /** \brief Assigns the color for the shape
+   *  \param[in] theR value of the red component
+   *  \param[in] theG value of the green component
+   *  \param[in] theB value of the blue component
+   */
+  void setColor(int theR, int theG, int theB);
+
   /// \brief Assigns the width of the lines of shape
   void setWidth(const double& theWidth);
 
@@ -88,5 +96,8 @@ public:
   bool empty() const;
 };
 
+//! Pointer on attribute object
+typedef boost::shared_ptr<GeomAPI_AISObject> AISObjectPtr;
+
 #endif