#define _DEVDEBUG_
#include "HYDRO_trace.hxx"
-IMPLEMENT_STANDARD_HANDLE(HYDROData_Object,HYDROData_Entity)
IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Object,HYDROData_Entity)
HYDROData_Object::HYDROData_Object( Geometry theGeometry )
{
Handle(HYDROData_ShapesGroup) aGroup =
Handle(HYDROData_ShapesGroup)::DownCast( aGroups.Value( i ) );
- if ( IsEqual( theGroup, aGroup ) )
+ if ( theGroup->CompareLabels ( aGroup ) )
{
aRes = i - 1;
break;
Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( myLab );
ObjectKind anAltitudeObjectType = getAltitudeObjectType();
- DEBTRACE("HYDROData_Object::checkAndSetAltitudeObject anAltitudeObjectType="<< anAltitudeObjectType);
+ //DEBTRACE("HYDROData_Object::checkAndSetAltitudeObject anAltitudeObjectType="<< anAltitudeObjectType);
if ( anAltitudeObjectType == KIND_UNKNOWN )
return; // No need to create altitude object
- TDF_Label aLabel = myLab.FindChild( DataTag_ChildAltitudeObject, false );
- if ( !aLabel.IsNull() )
+ Handle(HYDROData_IAltitudeObject) altObject = GetAltitudeObject();
+ if( !altObject.IsNull() && altObject->GetKind()==anAltitudeObjectType )
return;
TDF_Label aChildLabel = myLab.FindChild( DataTag_ChildAltitudeObject ).FindChild( 0 );
HYDROData_Iterator::CreateObject( aChildLabel, anAltitudeObjectType ) );
QString anAltitudePref = GetName() + "_Altitude";
- DEBTRACE("anAltitudePref " << anAltitudePref.toStdString());
+ //DEBTRACE("anAltitudePref " << anAltitudePref.toStdString());
QString anAltitudeName = HYDROData_Tool::GenerateObjectName( aDocument, anAltitudePref );
anAltitudeObject->SetName( anAltitudeName );
void HYDROData_Object::SetIsSubmersible( bool isSubmersible ) const
{
- TDataStd_Integer::Set( myLab, isSubmersible ? 1 : 0 );
+ Handle(TDataStd_Integer) anAttr = TDataStd_Integer::Set( myLab, isSubmersible ? 1 : 0 );
+ anAttr->SetID(TDataStd_Integer::GetID());
}
void HYDROData_Object::GetBoundaries( QList<TopoDS_Shape>& theBoundShapes,