X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Entity.h;h=0c612ba279daf2ac967c76498700636c7f91a7d4;hb=545854182f0363f61284d5abe34c3627d4f3b088;hp=7a1391a432b24b723c3a1ecac3a2d62756a2cc74;hpb=2b03abaf3d543206a0dd3eca896c05e22490c74e;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Entity.h b/src/HYDROData/HYDROData_Entity.h index 7a1391a4..0c612ba2 100644 --- a/src/HYDROData/HYDROData_Entity.h +++ b/src/HYDROData/HYDROData_Entity.h @@ -20,11 +20,8 @@ #define HYDROData_Entity_HeaderFile #include "HYDROData.h" - #include - #include - #include class QColor; @@ -33,6 +30,7 @@ class QVariant; class QStringList; class Handle(TDataStd_ReferenceList); class Handle_HYDROData_Entity; +class TopoDS_Shape; ///! Kind of an object in a document typedef int ObjectKind; @@ -94,9 +92,7 @@ HYDRODATA_EXPORT bool IsEqual(const Handle_HYDROData_Entity& theObj1, const Hand */ class HYDROData_Entity : public MMgt_TShared { - protected: - /** * Enumeration of tags corresponding to the persistent object parameters. */ @@ -104,6 +100,20 @@ protected: { DataTag_First = 0, ///< first tag, to reserve DataTag_ZLevel, ///< z-level of object presentation + DataTag_GeomChange, + }; + +public: + enum Geometry + { + Geom_No = 1, + Geom_2d = 2, + Geom_Z = 4, + Geom_Groups = 8, + + Geom_3d = Geom_2d | Geom_Z, + Geom_2d_and_groups = Geom_2d | Geom_Groups, + Geom_All = Geom_3d | Geom_Groups | Geom_No, }; public: @@ -122,7 +132,7 @@ public: /** * Updates the name of this object. */ - HYDRODATA_EXPORT virtual void SetName( const QString& theName ); + HYDRODATA_EXPORT void SetName( const QString& theName ); /** * Returns the name of this object valid for Python script. @@ -162,17 +172,11 @@ public: HYDRODATA_EXPORT virtual QVariant GetDataVariant(); - /** - * Sets the "MustBeUpdated" flag: if object is depended on updated features. - * \param theFlag is true for objects that must be updated, false for up-to-date - */ - HYDRODATA_EXPORT virtual void SetToUpdate( bool theFlag ); - /** - * Returns the "MustBeUpdated" flag: is object data must be updated or not - * \returns false if object is up to date - */ - HYDRODATA_EXPORT virtual bool IsMustBeUpdated() const; + HYDRODATA_EXPORT virtual void ClearChanged(); + HYDRODATA_EXPORT virtual void Changed( Geometry ); + + HYDRODATA_EXPORT bool IsMustBeUpdated( Geometry ) const; /** * Returns flag indicating that object is updateble or not. @@ -272,7 +276,7 @@ protected: * Creates new object in the internal data structure. Use higher level objects * to create objects with real content. */ - HYDRODATA_EXPORT HYDROData_Entity(); + HYDRODATA_EXPORT HYDROData_Entity( Geometry ); /** * Destructs properties of the object and object itself, removes it from the document. @@ -419,16 +423,20 @@ protected: const QColor& theColor, const QColor& theDefaultColor, const QString& theMethod ) const; - protected: Handle(TDataStd_ReferenceList) getReferenceList( const int theTag, const bool theIsCreate ) const; + + void SetShape( int theTag, const TopoDS_Shape& theShape ); + TopoDS_Shape GetShape( int theTag ) const; + int GetGeomChangeFlag() const; protected: /// Array of pointers to the properties of this object; index in this array is returned by \a AddProperty. TDF_Label myLab; ///< label of this object + Geometry myGeom; }; #endif