X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAPI%2FGeomAPI_AISObject.h;h=c649ba93862dbb829cb3b7c4ef67b5fed18dfca1;hb=b2fc3132f3010bb1ebc54fff534cda6bb53e89b3;hp=ad879d1dbc790d70d9735194bcb57bf6449f01ef;hpb=d11d4ba5e291b60c458d15e11081515990cc27fe;p=modules%2Fshaper.git diff --git a/src/GeomAPI/GeomAPI_AISObject.h b/src/GeomAPI/GeomAPI_AISObject.h index ad879d1db..c649ba938 100644 --- a/src/GeomAPI/GeomAPI_AISObject.h +++ b/src/GeomAPI/GeomAPI_AISObject.h @@ -22,15 +22,23 @@ class GeomAPI_Shape; * \brief Interface for AIS_InteractiveObject */ -class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface +class GeomAPI_AISObject : public GeomAPI_Interface { public: /// \brief Creation of empty AIS object + GEOMAPI_EXPORT GeomAPI_AISObject(); + GEOMAPI_EXPORT + ~GeomAPI_AISObject(); + /// \brief Creates AIS_Shape object using specified shape + GEOMAPI_EXPORT void createShape(std::shared_ptr theShape); + /// Reyirns shape used for the presentation creation (can be NULL) + GEOMAPI_EXPORT std::shared_ptr getShape() const; + /** \brief Creates AIS_LengthDimension object * \param[in] theStartPoint first point for dimension * \param[in] theEndPoint second point for dimension @@ -38,16 +46,26 @@ class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface * \param[in] thePlane the plane which contains all points above * \param[in] theDistance value of the distance to be shown */ + GEOMAPI_EXPORT void createDistance(std::shared_ptr theStartPoint, std::shared_ptr theEndPoint, std::shared_ptr theFlyoutPoint, std::shared_ptr thePlane, double theDistance); + /** + * Returns validity of the AIS distance. It is invalid if set measured geometry is not valid, + * e.g. the distance points are equal. + * \return a boolean result + */ + GEOMAPI_EXPORT + bool isEmptyDistanceGeometry(); + /** \brief Creates AIS_RadiusDimension object * \param[in] theCircle the radius is created for this circle * \param[in] theFlyoutPoint the flyout of dimension * \param[in] theRadius value of the radius to be shown */ + GEOMAPI_EXPORT void createRadius(std::shared_ptr theCircle, std::shared_ptr theFlyoutPoint, double theRadius); @@ -57,6 +75,7 @@ class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface * \param[in] theFlyoutPoint the flyout point for relation * \param[in] thePlane the plane which contains the lines */ + GEOMAPI_EXPORT void createParallel(std::shared_ptr theLine1, std::shared_ptr theLine2, std::shared_ptr theFlyoutPoint, @@ -67,6 +86,7 @@ class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface * \param[in] theLine2 second parallel line * \param[in] thePlane the plane which contains the lines */ + GEOMAPI_EXPORT void createPerpendicular(std::shared_ptr theLine1, std::shared_ptr theLine2, std::shared_ptr thePlane); @@ -75,12 +95,14 @@ class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface * \param[in] theShape the object * \param[in] thePlane the plane which contains the lines */ + GEOMAPI_EXPORT void createFixed(std::shared_ptr theShape, std::shared_ptr thePlane); /** \brief Assigns the color for the shape * \param[in] theColor index of the color */ + GEOMAPI_EXPORT void setColor(const int& theColor); /** \brief Assigns the color for the shape @@ -89,6 +111,7 @@ class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface * \param[in] theB value of the blue component * \returns true if the presentation color is changed */ + GEOMAPI_EXPORT bool setColor(int theR, int theG, int theB); /** \brief Returns the color for the shape @@ -96,29 +119,36 @@ class GEOMAPI_EXPORT GeomAPI_AISObject : public GeomAPI_Interface * \param[in] theG value of the green component * \param[in] theB value of the blue component */ + GEOMAPI_EXPORT void getColor(int& theR, int& theG, int& theB); /// \brief Assigns the width of the lines of shape + GEOMAPI_EXPORT bool setWidth(const double& theWidth); /// \brief Checks if the object is empty + GEOMAPI_EXPORT bool empty() const; /// Return shape type according to TopAbs_ShapeEnum if the AIS is AIS_Shape /// Otherwise returns -1 + GEOMAPI_EXPORT int getShapeType() const; /// Sets marker type for vertex. /// The type has to be defined according to Acpect_TypeOfMarker + GEOMAPI_EXPORT 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 + GEOMAPI_EXPORT bool setLineStyle(int theStyle); /// Set transparency of the presentation (theVal = 0 ... 1) /// \returns true if the object value differs from the current + GEOMAPI_EXPORT bool setTransparensy(double theVal); };