+bool HYDROData_Object::IsSubmersible() const
+{
+ Handle(TDataStd_Integer) aSubMersibleAttr;
+
+ bool isSubmersible = true; //default
+ if( myLab.FindAttribute(TDataStd_Integer::GetID(), aSubMersibleAttr ) )
+ {
+ int aValue = aSubMersibleAttr->Get();
+ isSubmersible = ( aValue != 0 );
+ }
+ return isSubmersible;
+}
+
+void HYDROData_Object::SetIsSubmersible( bool isSubmersible ) const
+{
+ TDataStd_Integer::Set( myLab, isSubmersible ? 1 : 0 );
+}
+
+void HYDROData_Object::GetBoundaries( QList<TopoDS_Shape>& theBoundShapes,
+ QStringList& theBoundNames ) const
+{
+ HYDROData_SequenceOfObjects aGroups = GetGroups();
+ HYDROData_SequenceOfObjects::Iterator anIter( aGroups );
+ for ( ; anIter.More(); anIter.Next() )
+ {
+ Handle(HYDROData_ShapesGroup) aGroup =
+ Handle(HYDROData_ShapesGroup)::DownCast( anIter.Value() );
+ if( aGroup.IsNull() )
+ continue;
+
+ QString aName = aGroup->GetName();
+ TopTools_SequenceOfShape aShapes;
+ aGroup->GetShapes( aShapes );
+ for( int i=1, n=aShapes.Length(); i<=n; i++ )
+ {
+ theBoundShapes.append( aShapes( i ) );
+ theBoundNames.append( aName );
+ }
+ }