2 #ifndef HYDROData_Obstacle_HeaderFile
3 #define HYDROData_Obstacle_HeaderFile
5 #include "HYDROData_ArtificialObject.h"
7 DEFINE_STANDARD_HANDLE(HYDROData_Obstacle, HYDROData_ArtificialObject)
9 /**\class HYDROData_Obstacle
13 class HYDROData_Obstacle : public HYDROData_ArtificialObject
17 * Enumeration of tags corresponding to the persistent object parameters.
21 DataTag_First = HYDROData_ArtificialObject::DataTag_First + 100, ///< first tag, to reserve
22 DataTag_GeomObjectEntry, ///< study entry of the imported GEOM object
23 DataTag_FilePath ///< imported file path
27 DEFINE_STANDARD_RTTI(HYDROData_Obstacle);
30 * Returns the kind of this object. Must be redefined in all objects of known type.
32 HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_OBSTACLE;}
35 * Dump object to Python script representation.
37 HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
40 * Returns the top shape of the object.
42 HYDRODATA_EXPORT virtual TopoDS_Shape GetTopShape() const;
45 * Returns the 3d shape of the object.
47 HYDRODATA_EXPORT virtual TopoDS_Shape GetShape3D() const;
50 * Returns default filling color for new obstacle.
52 HYDRODATA_EXPORT static QColor DefaultFillingColor();
55 * Returns default border color for new obstacle.
57 HYDRODATA_EXPORT static QColor DefaultBorderColor();
61 * Sets the 3d shape of the object.
63 HYDRODATA_EXPORT virtual void SetShape3D( const TopoDS_Shape& theShape );
68 * Imports shape from file containing geometrical object and sets this
69 * shape as the obstacle shape.
70 * The supported file types:
75 * \param theFilePath the path to file
76 * \return \c true if file has been successfully read
78 HYDRODATA_EXPORT virtual bool ImportFromFile( const QString& theFilePath );
81 * Stores the file path of the imported file.
82 * \param theFilePath file path
84 HYDRODATA_EXPORT void SetFilePath(const QString& theFilePath);
87 * Returns the imported file path.
89 HYDRODATA_EXPORT QString GetFilePath() const;
92 * Stores the study entry of the imported GEOM object.
93 * \param theEntry GEOM object entry
95 HYDRODATA_EXPORT void SetGeomObjectEntry(const QString& theEntry);
98 * Returns the imported GEOM object entry.
100 HYDRODATA_EXPORT QString GetGeomObjectEntry() const;
105 * Returns default filling color for new object.
107 HYDRODATA_EXPORT virtual QColor getDefaultFillingColor() const;
110 * Returns default border color for new object.
112 HYDRODATA_EXPORT virtual QColor getDefaultBorderColor() const;
116 friend class HYDROData_Iterator;
119 * Creates new object in the internal data structure. Use higher level objects
120 * to create objects with real content.
122 HYDRODATA_EXPORT HYDROData_Obstacle();
125 * Destructs properties of the object and object itself, removes it from the document.
127 virtual HYDRODATA_EXPORT ~HYDROData_Obstacle();
131 * Imports shape from the BREP file.
132 * \param theFilePath the path to file
133 * \return shape as TopoDS_Shape (null shape if import was failed)
135 TopoDS_Shape ImportBREP( const QString& theFilePath ) const;
138 * Imports shape from the IGES file.
139 * \param theFilePath the path to file
140 * \return shape as TopoDS_Shape (null shape if import was failed)
142 TopoDS_Shape ImportIGES( const QString& theFilePath ) const;
145 * Imports shape from the STEP file.
146 * \param theFilePath the path to file
147 * \return shape as TopoDS_Shape (null shape if import was failed)
149 TopoDS_Shape ImportSTEP( const QString& theFilePath ) const;