Salome HOME
Merge branch 'Dev_1.2.0' of newgeom:newgeom into Dev_1.2.0
[modules/shaper.git] / src / GeomAPI / GeomAPI_AISObject.h
index 03785b4ec08ce7aea5d1b1cacb75144f0f9f5731..06bc2e9050705e5158656a341c5d1cbdf55627c2 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 // File:        GeomAPI_AISObject.hxx
 // Created:     25 Jun 2014
 // Author:      Artem ZHIDKOV
@@ -26,6 +28,8 @@ class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface
   /// \brief Creation of empty AIS object
   GeomAPI_AISObject();
 
+  ~GeomAPI_AISObject();
+
   /// \brief Creates AIS_Shape object using specified shape
   void createShape(std::shared_ptr<GeomAPI_Shape> theShape);
 
@@ -85,14 +89,39 @@ class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface
    *  \param[in] theR value of the red component
    *  \param[in] theG value of the green component
    *  \param[in] theB value of the blue component
+   *  \returns true if the presentation color is changed
    */
-  void setColor(int theR, int theG, int theB);
+  bool setColor(int theR, int theG, int theB);
+
+  /** \brief Returns 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 getColor(int& theR, int& theG, int& theB);
 
   /// \brief Assigns the width of the lines of shape
-  void setWidth(const double& theWidth);
+  bool setWidth(const double& theWidth);
 
   /// \brief Checks if the object is empty
   bool empty() const;
+
+  /// Return shape type according to TopAbs_ShapeEnum if the AIS is AIS_Shape
+  /// Otherwise returns -1
+  int getShapeType() const;
+
+  /// Sets marker type for vertex.
+  /// The type has to be defined according to Acpect_TypeOfMarker
+  void setPointMarker(int theType, double theScale);
+
+  /// Set line type of edges
+  /// Has to be defined according to Aspect_TypeOfLine
+  /// \returns true if the object value differs from the current
+  bool setLineStyle(int theStyle);
+
+  /// Set transparency of the presentation (theVal = 0 ... 1)
+  /// \returns true if the object value differs from the current
+  bool setTransparensy(double theVal);
 };
 
 //! Pointer on attribute object