Salome HOME
projects
/
modules
/
hydro.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/BR_LAND_COVER' into BR_v14_rc
[modules/hydro.git]
/
src
/
HYDROGUI
/
HYDROGUI_Zone.cxx
diff --git
a/src/HYDROGUI/HYDROGUI_Zone.cxx
b/src/HYDROGUI/HYDROGUI_Zone.cxx
index 8a5bc0d3b21e59a901452aa62108a0f7bcb214c6..c1139e1e4e66153e03a82a6dddabb20245e7f8d7 100644
(file)
--- a/
src/HYDROGUI/HYDROGUI_Zone.cxx
+++ b/
src/HYDROGUI/HYDROGUI_Zone.cxx
@@
-1,12
+1,8
@@
-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015 EDF-R&D
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License
, or (at your option) any later version
.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-25,6
+21,7
@@
#include <HYDROData_Zone.h>
#include <HYDROData_Object.h>
#include <HYDROData_IAltitudeObject.h>
#include <HYDROData_Zone.h>
#include <HYDROData_Object.h>
#include <HYDROData_IAltitudeObject.h>
+#include <HYDROData_LandCover.h>
#include <SUIT_DataObject.h>
#include <QSet>
#include <SUIT_DataObject.h>
#include <QSet>
@@
-49,8
+46,8
@@
QString HYDROGUI_Zone::text( const int theColumnId ) const
aRes = getRefObjectNames();
break;
case AltitudeObjId:
aRes = getRefObjectNames();
break;
case AltitudeObjId:
- // Get altitude object name
- aRes = get
Altitude
Name();
+ // Get altitude
/land cover
object name
+ aRes = get
Object
Name();
break;
default:
aRes = LightApp_DataObject::text( theColumnId );
break;
default:
aRes = LightApp_DataObject::text( theColumnId );
@@
-65,12
+62,12
@@
QString HYDROGUI_Zone::getRefObjectNames() const
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
- HYDROData_SequenceOfObjects aSeq = aZone->Get
Geometry
Objects();
+ HYDROData_SequenceOfObjects aSeq = aZone->GetObjects();
HYDROData_SequenceOfObjects::Iterator anIter( aSeq );
for ( ; anIter.More(); anIter.Next() )
{
HYDROData_SequenceOfObjects::Iterator anIter( aSeq );
for ( ; anIter.More(); anIter.Next() )
{
- Handle(HYDROData_
Object
) aRefGeomObj =
- Handle(HYDROData_
Object
)::DownCast( anIter.Value() );
+ Handle(HYDROData_
Entity
) aRefGeomObj =
+ Handle(HYDROData_
Entity
)::DownCast( anIter.Value() );
if ( !aRefGeomObj.IsNull() )
{
// Get Ref.Object name
if ( !aRefGeomObj.IsNull() )
{
// Get Ref.Object name
@@
-85,13
+82,13
@@
QString HYDROGUI_Zone::getRefObjectNames() const
return aRes;
}
return aRes;
}
-QString HYDROGUI_Zone::get
Altitude
Name() const
+QString HYDROGUI_Zone::get
Object
Name() const
{
QString aRes;
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
{
QString aRes;
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
- HYDROData_SequenceOfObjects aSeq = aZone->Get
Geometry
Objects();
+ HYDROData_SequenceOfObjects aSeq = aZone->GetObjects();
bool isMergingNeed = aZone->IsMergingNeed();
if ( ( isMergingNeed && aZone->GetMergeType() == HYDROData_Zone::Merge_UNKNOWN )
|| ( aSeq.Length() == 1 ) || ( !isMergingNeed ) )
bool isMergingNeed = aZone->IsMergingNeed();
if ( ( isMergingNeed && aZone->GetMergeType() == HYDROData_Zone::Merge_UNKNOWN )
|| ( aSeq.Length() == 1 ) || ( !isMergingNeed ) )
@@
-104,6
+101,7
@@
QString HYDROGUI_Zone::getAltitudeName() const
QString aName;
for ( ; anIter.More(); anIter.Next() )
{
QString aName;
for ( ; anIter.More(); anIter.Next() )
{
+ aName.clear();
Handle(HYDROData_Object) aRefGeomObj =
Handle(HYDROData_Object)::DownCast( anIter.Value() );
if ( !aRefGeomObj.IsNull() )
Handle(HYDROData_Object) aRefGeomObj =
Handle(HYDROData_Object)::DownCast( anIter.Value() );
if ( !aRefGeomObj.IsNull() )
@@
-119,13
+117,29
@@
QString HYDROGUI_Zone::getAltitudeName() const
aRes = aName;
break;
}
aRes = aName;
break;
}
-
- if ( !aNamesSet.contains( aName ) )
+ }
+ }
+ else
+ {
+ Handle(HYDROData_LandCover) aRefLandCoverObj =
+ Handle(HYDROData_LandCover)::DownCast( anIter.Value() );
+ if ( !aRefLandCoverObj.IsNull() )
+ {
+ // Get name of land cover object
+ aName = aRefLandCoverObj->GetName();
+ if ( !isMergingNeed )
{
{
- aRes += aName + ", ";
- aNamesSet.insert( aName );
+ // Get the first land cover object's altitude name and go out
+ aRes = aName;
+ break;
}
}
- }
+ }
+ }
+
+ if ( !aName.isEmpty() && !aNamesSet.contains( aName ) )
+ {
+ aRes += aName + ", ";
+ aNamesSet.insert( aName );
}
}
// Remove the last comma if necessary
}
}
// Remove the last comma if necessary
@@
-144,11
+158,11
@@
QString HYDROGUI_Zone::getAltitudeName() const
case HYDROData_Zone::Merge_ZMAX: // The maximum values
aRes = QObject::tr( "MERGE_ZMAX" );
break;
case HYDROData_Zone::Merge_ZMAX: // The maximum values
aRes = QObject::tr( "MERGE_ZMAX" );
break;
- case HYDROData_Zone::Merge_Object: // Only one altitude will be taken into account
+ case HYDROData_Zone::Merge_Object: // Only one altitude
/land cover
will be taken into account
{
{
- Handle(HYDROData_
IAltitudeObject) anAltitude = aZone->GetMergeAltitude
();
- if ( !a
nAltitude
.IsNull() )
- aRes = a
nAltitude
->GetName();
+ Handle(HYDROData_
Entity) aMergeObj = aZone->GetMergeObject
();
+ if ( !a
MergeObj
.IsNull() )
+ aRes = a
MergeObj
->GetName();
break;
}
default:
break;
}
default:
@@
-206,15
+220,15
@@
QColor HYDROGUI_Zone::color( const ColorRole theColorRole, const int theColumnId
return aRes;
}
return aRes;
}
-QStringList HYDROGUI_Zone::get
Altitude
s() const
+QStringList HYDROGUI_Zone::get
Object
s() const
{
QStringList aRes;
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
{
QStringList aRes;
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
- HYDROData_SequenceOfObjects aSeq = aZone->Get
Geometry
Objects();
- // Collect all used altitudes names when merging is necessary
- // or just get the name of altitude
of a single geometry
object
+ HYDROData_SequenceOfObjects aSeq = aZone->GetObjects();
+ // Collect all used altitudes
/land cover
names when merging is necessary
+ // or just get the name of altitude
/land cover of a single
object
HYDROData_SequenceOfObjects::Iterator anIter( aSeq );
for ( ; anIter.More(); anIter.Next() )
{
HYDROData_SequenceOfObjects::Iterator anIter( aSeq );
for ( ; anIter.More(); anIter.Next() )
{
@@
-225,15
+239,17
@@
QStringList HYDROGUI_Zone::getAltitudes() const
Handle(HYDROData_IAltitudeObject) anAltitudeObj = aRefGeomObj->GetAltitudeObject();
if ( !anAltitudeObj.IsNull() && !aRes.contains( anAltitudeObj->GetName() ) )
aRes.append( anAltitudeObj->GetName() );
Handle(HYDROData_IAltitudeObject) anAltitudeObj = aRefGeomObj->GetAltitudeObject();
if ( !anAltitudeObj.IsNull() && !aRes.contains( anAltitudeObj->GetName() ) )
aRes.append( anAltitudeObj->GetName() );
+ } else {
+ aRes.append( anIter.Value()->GetName() );
}
}
}
return aRes;
}
}
}
}
return aRes;
}
-HYDROData_Zone::Merge
Altitudes
Type HYDROGUI_Zone::getMergeType() const
+HYDROData_Zone::MergeType HYDROGUI_Zone::getMergeType() const
{
{
- HYDROData_Zone::Merge
Altitudes
Type aRes = HYDROData_Zone::Merge_UNKNOWN;
+ HYDROData_Zone::MergeType aRes = HYDROData_Zone::Merge_UNKNOWN;
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
@@
-242,32
+258,37
@@
HYDROData_Zone::MergeAltitudesType HYDROGUI_Zone::getMergeType() const
return aRes;
}
return aRes;
}
-void HYDROGUI_Zone::setMergeType( int theMergeType, QString the
Altitude
Name )
+void HYDROGUI_Zone::setMergeType( int theMergeType, QString the
MergeObject
Name )
{
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
{
Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( modelObject() );
if ( !aZone.IsNull() )
{
- HYDROData_Zone::Merge
Altitudes
Type aMergeType =
- ( HYDROData_Zone::Merge
Altitudes
Type )theMergeType;
+ HYDROData_Zone::MergeType aMergeType =
+ ( HYDROData_Zone::MergeType )theMergeType;
aZone->SetMergeType( aMergeType );
if ( aMergeType == HYDROData_Zone::Merge_Object )
{
aZone->SetMergeType( aMergeType );
if ( aMergeType == HYDROData_Zone::Merge_Object )
{
- // Find an altitude
object by the given name and set it as the zone's merge altitude
- HYDROData_SequenceOfObjects aSeq = aZone->Get
Geometry
Objects();
+ // Find an altitude
/land cover object by the given name and set it as the zone's merge altitude/land cover
+ HYDROData_SequenceOfObjects aSeq = aZone->GetObjects();
HYDROData_SequenceOfObjects::Iterator anIter( aSeq );
for ( ; anIter.More(); anIter.Next() )
{
HYDROData_SequenceOfObjects::Iterator anIter( aSeq );
for ( ; anIter.More(); anIter.Next() )
{
+ Handle(HYDROData_Entity) aMergeObject;
+
Handle(HYDROData_Object) aRefGeomObj =
Handle(HYDROData_Object)::DownCast( anIter.Value() );
if ( !aRefGeomObj.IsNull() )
{
Handle(HYDROData_Object) aRefGeomObj =
Handle(HYDROData_Object)::DownCast( anIter.Value() );
if ( !aRefGeomObj.IsNull() )
{
- // Get altitude object name
- Handle(HYDROData_IAltitudeObject) anAltitudeObj = aRefGeomObj->GetAltitudeObject();
- if ( !anAltitudeObj.IsNull() && theAltitudeName == anAltitudeObj->GetName() )
- {
- aZone->SetMergeAltitude( anAltitudeObj );
- break;
- }
+ // Get altitude object
+ aMergeObject = aRefGeomObj->GetAltitudeObject();
+ } else {
+ aMergeObject = Handle(HYDROData_LandCover)::DownCast( anIter.Value() );
+ }
+
+ if ( !aMergeObject.IsNull() && theMergeObjectName == aMergeObject->GetName() )
+ {
+ aZone->SetMergeObject( aMergeObject );
+ break;
}
}
}
}
}
}