2 #include "HYDROData_Object.h"
4 #include "HYDROData_Bathymetry.h"
6 #include <TNaming_Builder.hxx>
7 #include <TNaming_NamedShape.hxx>
9 #include <TopoDS_Shape.hxx>
13 IMPLEMENT_STANDARD_HANDLE(HYDROData_Object,HYDROData_Entity)
14 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Object,HYDROData_Entity)
16 HYDROData_Object::HYDROData_Object()
21 HYDROData_Object::~HYDROData_Object()
25 void HYDROData_Object::SetTopShape( const TopoDS_Shape& theShape )
27 TNaming_Builder aBuilder( myLab.FindChild( DataTag_TopShape ) );
28 aBuilder.Generated( theShape );
31 void HYDROData_Object::SetShape3D( const TopoDS_Shape& theShape )
33 TNaming_Builder aBuilder( myLab.FindChild( DataTag_Shape3D ) );
34 aBuilder.Generated( theShape );
37 void HYDROData_Object::Update()
44 void HYDROData_Object::SetBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry )
46 SetReferenceObject( theBathymetry, DataTag_Bathymetry );
49 Handle(HYDROData_Bathymetry) HYDROData_Object::GetBathymetry() const
51 return Handle(HYDROData_Bathymetry)::DownCast(
52 GetReferenceObject( DataTag_Bathymetry ) );
55 void HYDROData_Object::RemoveBathymetry()
57 ClearReferenceObjects( DataTag_Bathymetry );
60 TopoDS_Shape HYDROData_Object::getTopShape() const
62 TDF_Label aLabel = myLab.FindChild( DataTag_TopShape, false );
63 if ( !aLabel.IsNull() )
65 Handle(TNaming_NamedShape) aNamedShape;
66 if( aLabel.FindAttribute( TNaming_NamedShape::GetID(), aNamedShape ) )
67 return aNamedShape->Get();
70 return TopoDS_Shape();
73 void HYDROData_Object::removeTopShape()
75 TDF_Label aLabel = myLab.FindChild( DataTag_TopShape, false );
76 if ( !aLabel.IsNull() )
77 aLabel.ForgetAllAttributes();
80 TopoDS_Shape HYDROData_Object::getShape3D() const
82 TDF_Label aLabel = myLab.FindChild( DataTag_Shape3D, false );
83 if ( !aLabel.IsNull() )
85 Handle(TNaming_NamedShape) aNamedShape;
86 if( aLabel.FindAttribute( TNaming_NamedShape::GetID(), aNamedShape ) )
87 return aNamedShape->Get();
90 return TopoDS_Shape();
93 void HYDROData_Object::removeShape3D()
95 TDF_Label aLabel = myLab.FindChild( DataTag_Shape3D, false );
96 if ( !aLabel.IsNull() )
97 aLabel.ForgetAllAttributes();
100 void HYDROData_Object::SetFillingColor( const QColor& theColor )
102 return SetColor( theColor, DataTag_FillingColor );
105 QColor HYDROData_Object::GetFillingColor() const
107 return GetColor( DefaultFillingColor(), DataTag_FillingColor );
110 void HYDROData_Object::SetBorderColor( const QColor& theColor )
112 return SetColor( theColor, DataTag_BorderColor );
115 QColor HYDROData_Object::GetBorderColor() const
117 return GetColor( DefaultBorderColor(), DataTag_BorderColor );
120 QColor HYDROData_Object::DefaultFillingColor()
122 return QColor( Qt::yellow );
125 QColor HYDROData_Object::DefaultBorderColor()
127 return QColor( Qt::transparent );