#include <NCollection_Sequence.hxx>
#include <TDF_Label.hxx>
#include <QMap>
+#include <QString>
+#include <Standard_Type.hxx>
class QColor;
-class QString;
class QVariant;
class QStringList;
-class Handle(TDataStd_ReferenceList);
-class Handle_HYDROData_Entity;
+class TDataStd_ReferenceList;
+class HYDROData_Entity;
class TopoDS_Shape;
///! Kind of an object in a document
const ObjectKind KIND_LAND_COVER_OBSOLETE = 27;
const ObjectKind KIND_CHANNEL_ALTITUDE = 28;
const ObjectKind KIND_LAND_COVER_MAP = 29;
-const ObjectKind KIND_LAST = KIND_LAND_COVER_MAP;
-
-DEFINE_STANDARD_HANDLE(HYDROData_Entity, MMgt_TShared)
+const ObjectKind KIND_DTM = 30;
+const ObjectKind KIND_LAST = KIND_DTM;
class MapOfTreatedObjects : public QMap<QString,Handle(Standard_Transient)>
{
};
-class HYDRODATA_EXPORT HYDROData_SequenceOfObjects : public NCollection_Sequence<Handle_HYDROData_Entity>
+class HYDRODATA_EXPORT HYDROData_SequenceOfObjects : public NCollection_Sequence<Handle(HYDROData_Entity)>
{
public:
HYDROData_SequenceOfObjects();
HYDROData_SequenceOfObjects( const HYDROData_SequenceOfObjects& );
- HYDROData_SequenceOfObjects( const NCollection_Sequence<Handle_HYDROData_Entity>& );
+ HYDROData_SequenceOfObjects( const NCollection_Sequence<Handle(HYDROData_Entity)>& );
};
///! Is Equal for HYDROData_Entity mapping
-HYDRODATA_EXPORT bool IsEqual(const Handle_HYDROData_Entity& theObj1, const Handle_HYDROData_Entity& theObj2);
+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.
DataTag_First = 0, ///< first tag, to reserve
DataTag_ZLevel, ///< z-level of object presentation
DataTag_GeomChange,
+ DataTag_DefaultName, ///< to keep the automatic name, useful in Python dump
};
public:
};
public:
- DEFINE_STANDARD_RTTI(HYDROData_Entity);
+ DEFINE_STANDARD_RTTIEXT(HYDROData_Entity, MMgt_TShared);
/**
* Returns the kind of this object. Must be redefined in all objects of known type.
*/
HYDRODATA_EXPORT virtual QString GetName() const;
+ /**
+ * Returns the default name of this object.
+ */
+ HYDRODATA_EXPORT virtual QString GetDefaultName() const;
+
/**
* Updates the name of this object.
*/
- HYDRODATA_EXPORT void SetName( const QString& theName );
+ HYDRODATA_EXPORT void SetName( const QString& theName, bool isDefault = false );
/**
* Returns the name of this object valid for Python script.
/**
* Returns the z-level for object presentation, -1 if no z-level.
*/
- HYDRODATA_EXPORT virtual Standard_Boolean GetZLevel( Standard_Integer& theLevel ) const;
+ HYDRODATA_EXPORT virtual bool GetZLevel( Standard_Integer& theLevel ) const;
/**
* Set the z-level for object presentation.
HYDRODATA_EXPORT virtual void RemoveZLevel();
/**
- Find the Python object in the document by the object name.
- @param theTreatedObjects the map of treated objects
+ Add in Python script the find instruction, to retrieve the Python object in the document by the object name.
@param theScript the script
+ @param defName the name to use, if not default name.
*/
- void findPythonReferenceObject( MapOfTreatedObjects& theTreatedObjects,
- QStringList& theScript ) const;
+ void findPythonReferenceObject( QStringList& theScript,
+ QString defName = QString()) const;
/**
+ Add in Python script the set name instruction.
+ @param theScript the script
+ @param defName the name to use, if not default name.
+ */
+ void SetNameInDumpPython(QStringList& theScript,
+ QString theName = QString()) const;
+
+ /**
* Internal method that used to store the color attribute
* \param theTag tag of a label that keeps the attribute (for 0 this is myLab)
* \param theColor color to save
* \param theObj pointer to reference object
* \param theTag tag of a label to store attribute (for 0 this is myLab)
*/
- bool HasReference( const Handle_HYDROData_Entity& theObj,
+ bool HasReference( const Handle(HYDROData_Entity)& theObj,
const int theTag = 0 ) const;
/**
* \param theObj pointer to reference object
* \param theTag tag of a label to store attribute (for 0 this is myLab)
*/
- void AddReferenceObject( const Handle_HYDROData_Entity& theObj,
+ void AddReferenceObject( const Handle(HYDROData_Entity)& theObj,
const int theTag = 0 );
/**
- if less than zero then prepend to the list
- indexing starts from 0
*/
- void SetReferenceObject( const Handle_HYDROData_Entity& theObj,
+ void SetReferenceObject( const Handle(HYDROData_Entity)& theObj,
const int theTag = 0,
const int theIndex = 0 );
- if less than zero then prepend to the list
- indexing starts from 0
*/
- void InsertReferenceObject( const Handle_HYDROData_Entity& theObj,
+ void InsertReferenceObject( const Handle(HYDROData_Entity)& theObj,
const int theTag = 0,
const int theBeforeIndex = 0 );
* - indexing starts from 0
* \returns pointer to reference object or NULL if label is not set
*/
- Handle_HYDROData_Entity GetReferenceObject( const int theTag = 0,
+ Handle(HYDROData_Entity) GetReferenceObject( const int theTag = 0,
const int theIndex = 0 ) const;
HYDROData_SequenceOfObjects GetReferenceObjects( const int theTag = 0 ) const;
* \param theTag tag of a label that keeps the attribute (for 0 this is myLab)
*/
void ClearReferenceObjects( const int theTag = 0 );
+
+public:
+
+ HYDRODATA_EXPORT virtual bool CompareLabels(const Handle(HYDROData_Entity)& theOtherObj);
protected:
void SetShape( int theTag, const TopoDS_Shape& theShape );
TopoDS_Shape GetShape( int theTag ) const;
- int GetGeomChangeFlag() const;
+ void SetDouble( int theTag, double theValue );
+ double GetDouble( int theTag, double theDefValue = 0.0 ) const;
+
+ void SetInteger( int theTag, int theValue );
+ int GetInteger( int theTag, int theDefValue = 0 ) const;
+
int GetGeomChangeFlag() const;