Salome HOME
Base implementation of Zone data object (Feature #31).
[modules/hydro.git] / src / HYDROData / HYDROData_Calculation.cxx
1
2 #include "HYDROData_Calculation.h"
3
4 #include "HYDROData_Document.h"
5 #include "HYDROData_Iterator.h"
6 #include "HYDROData_Polyline.h"
7
8 #include <TDataStd_ReferenceList.hxx>
9
10 #include <QStringList>
11
12 #define PYTHON_BATHYMETRY_ID "KIND_CALCULATION"
13
14 IMPLEMENT_STANDARD_HANDLE(HYDROData_Calculation, HYDROData_Object)
15 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Calculation, HYDROData_Object)
16
17 HYDROData_Calculation::HYDROData_Calculation()
18 {
19 }
20
21 HYDROData_Calculation::~HYDROData_Calculation()
22 {
23 }
24
25 QStringList HYDROData_Calculation::DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const
26 {
27   QStringList aResList;
28
29   Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( this );
30   if ( aDocument.IsNull() )
31     return aResList;
32                              
33   QString aDocName = aDocument->GetDocPyName();
34   QString aCalculName = GetName();
35
36   aResList << QString( "%1 = %2.CreateObject( %3 );" )
37               .arg( aCalculName ).arg( aDocName ).arg( PYTHON_BATHYMETRY_ID );
38   aResList << QString( "%1.SetName( \"%2\" );" )
39               .arg( aCalculName ).arg( aCalculName );
40
41   // TO_IMPLEMENT
42
43   return aResList;
44 }
45
46 void HYDROData_Calculation::SetBoundaryPolyline( const Handle(HYDROData_Polyline)& thePolyline )
47 {
48   SetReferenceObject( thePolyline, DataTag_BoundaryPolyline );
49 }
50
51 Handle(HYDROData_Polyline) HYDROData_Calculation::GetBoundaryPolyline() const
52 {
53   return Handle(HYDROData_Polyline)::DownCast( 
54            GetReferenceObject( DataTag_BoundaryPolyline ) );
55 }