X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Entity.h;h=d639c4a7c976cf18704e605e112e34fb6a4a69b0;hb=81c9f5cdf82909d0aebd2c491c50fa7516cc80b7;hp=00a91985f50da3d01f97825725337a909f007390;hpb=4564a2513ac7a519741895560f26d7eef1d1400d;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Entity.h b/src/HYDROData/HYDROData_Entity.h index 00a91985..d639c4a7 100644 --- a/src/HYDROData/HYDROData_Entity.h +++ b/src/HYDROData/HYDROData_Entity.h @@ -42,8 +42,11 @@ const ObjectKind KIND_VISUAL_STATE = 18; const ObjectKind KIND_ARTIFICIAL_OBJECT = 19; const ObjectKind KIND_NATURAL_OBJECT = 20; const ObjectKind KIND_DUMMY_3D = 21; -const ObjectKind KIND_EDGES_GROUP = 22; -const ObjectKind KIND_LAST = KIND_EDGES_GROUP; +const ObjectKind KIND_SHAPES_GROUP = 22; +const ObjectKind KIND_SPLITTED_GROUP = 23; +const ObjectKind KIND_STREAM_ALTITUDE = 24; +const ObjectKind KIND_OBSTACLE_ALTITUDE = 25; +const ObjectKind KIND_LAST = KIND_OBSTACLE_ALTITUDE; DEFINE_STANDARD_HANDLE(HYDROData_Entity, MMgt_TShared) @@ -51,6 +54,8 @@ typedef QMap MapOfTreatedObjects; typedef NCollection_Sequence HYDROData_SequenceOfObjects; +///! Is Equal for HYDROData_Entity mapping +HYDRODATA_EXPORT bool IsEqual(const Handle_HYDROData_Entity& theObj1, const Handle_HYDROData_Entity& theObj2); /**\class HYDROData_Entity * \brief Generic class of any object in the data model. @@ -69,8 +74,8 @@ protected: */ enum DataTag { - DataTag_First = 0 ///< first tag, to reserve - // ... + DataTag_First = 0, ///< first tag, to reserve + DataTag_ZLevel, ///< z-level of object presentation }; public: @@ -91,6 +96,11 @@ public: */ HYDRODATA_EXPORT virtual void SetName( const QString& theName ); + /** + * Returns the name of this object valid for Python script. + */ + HYDRODATA_EXPORT virtual QString GetObjPyName() const; + /** * Dump object to Python script representation. * Base implementation returns empty list, @@ -104,6 +114,19 @@ public: */ HYDRODATA_EXPORT virtual void Update(); + HYDRODATA_EXPORT virtual void UpdateLocalCS( double theDx, double theDy ); + + /** + * Checks that object has 2D presentation. Base implementation returns false. + */ + HYDRODATA_EXPORT virtual bool IsHas2dPrs() const; + + /** + * Show object at the top of other model objects. + */ + HYDRODATA_EXPORT virtual void Show(); + + /** * Returns data of object wrapped to QVariant. * Base implementation returns null value. @@ -148,17 +171,12 @@ public: */ HYDRODATA_EXPORT virtual bool CanRemove(); - /** - * Returns unique integer identifier of the object (may be used for ordering of objects) - */ - HYDRODATA_EXPORT inline int ID() const { return myLab.Tag(); } - /** * Copies all properties of this to the destinated object. * Objects must be the same type. * \param theDestination initialized object (from any document) - target of copying */ - HYDRODATA_EXPORT void CopyTo( Handle_HYDROData_Entity theDestination ) const; + HYDRODATA_EXPORT void CopyTo( const Handle(HYDROData_Entity)& theDestination ) const; /** * Returns the label of this object. @@ -180,6 +198,22 @@ public: HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetAllReferenceObjects() const; + /** + * Returns the z-level for object presentation, -1 if no z-level. + */ + HYDRODATA_EXPORT virtual Standard_Boolean GetZLevel( Standard_Integer& theLevel ) const; + + /** + * Set the z-level for object presentation. + */ + HYDRODATA_EXPORT virtual void SetZLevel( const Standard_Integer& theLevel ); + + /** + * Remove the z-level of object presentation. + */ + HYDRODATA_EXPORT virtual void RemoveZLevel(); + + protected: friend class HYDROData_Iterator; @@ -199,7 +233,7 @@ protected: * Put the object to the label of the document. * \param theLabel new label of the object */ - HYDRODATA_EXPORT virtual void SetLabel(TDF_Label theLabel); + HYDRODATA_EXPORT virtual void SetLabel( const TDF_Label& theLabel ); /** * Internal method that used to store the byte array attribute @@ -325,10 +359,32 @@ protected: protected: + /** + * Dump the initial object creation to a Python script. + * You should call it from DumpToPython implementation before + * dumping fields of the object. + */ + HYDRODATA_EXPORT virtual QStringList dumpObjectCreation( MapOfTreatedObjects& theTreatedObjects ) const; + + /** + * Returns an object type name as a string for dumping to Python. + */ + QString getPyTypeID() const; + void setPythonReferenceObject( MapOfTreatedObjects& theTreatedObjects, QStringList& theScript, const Handle(HYDROData_Entity)& theRefObject, const QString& theMethod ) const; + + bool checkObjectPythonDefinition( MapOfTreatedObjects& theTreatedObjects, + QStringList& theScript, + const Handle(HYDROData_Entity)& theRefObject ) const; + + void setPythonObjectColor( QStringList& theScript, + const QColor& theColor, + const QColor& theDefaultColor, + const QString& theMethod ) const; + protected: Handle(TDataStd_ReferenceList) getReferenceList( const int theTag, @@ -340,7 +396,4 @@ protected: TDF_Label myLab; ///< label of this object }; -///! Is Equal for HYDROData_Entity mapping -HYDRODATA_EXPORT bool IsEqual(const Handle_HYDROData_Entity& theObj1, const Handle_HYDROData_Entity& theObj2); - #endif