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 HYDROData_SequenceOfObjects HYDROData_Object::GetAllReferenceObjects() const
27 HYDROData_SequenceOfObjects aResSeq = HYDROData_Entity::GetAllReferenceObjects();
29 Handle(HYDROData_Bathymetry) aRefBathymetry = GetBathymetry();
30 if ( !aRefBathymetry.IsNull() )
31 aResSeq.Append( aRefBathymetry );
36 void HYDROData_Object::SetTopShape( const TopoDS_Shape& theShape )
38 TNaming_Builder aBuilder( myLab.FindChild( DataTag_TopShape ) );
39 aBuilder.Generated( theShape );
42 void HYDROData_Object::SetShape3D( const TopoDS_Shape& theShape )
44 TNaming_Builder aBuilder( myLab.FindChild( DataTag_Shape3D ) );
45 aBuilder.Generated( theShape );
48 void HYDROData_Object::Update()
55 void HYDROData_Object::SetBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry )
57 SetReferenceObject( theBathymetry, DataTag_Bathymetry );
60 Handle(HYDROData_Bathymetry) HYDROData_Object::GetBathymetry() const
62 return Handle(HYDROData_Bathymetry)::DownCast(
63 GetReferenceObject( DataTag_Bathymetry ) );
66 void HYDROData_Object::RemoveBathymetry()
68 ClearReferenceObjects( DataTag_Bathymetry );
71 TopoDS_Shape HYDROData_Object::getTopShape() const
73 TDF_Label aLabel = myLab.FindChild( DataTag_TopShape, false );
74 if ( !aLabel.IsNull() )
76 Handle(TNaming_NamedShape) aNamedShape;
77 if( aLabel.FindAttribute( TNaming_NamedShape::GetID(), aNamedShape ) )
78 return aNamedShape->Get();
81 return TopoDS_Shape();
84 void HYDROData_Object::removeTopShape()
86 TDF_Label aLabel = myLab.FindChild( DataTag_TopShape, false );
87 if ( !aLabel.IsNull() )
88 aLabel.ForgetAllAttributes();
91 TopoDS_Shape HYDROData_Object::getShape3D() const
93 TDF_Label aLabel = myLab.FindChild( DataTag_Shape3D, false );
94 if ( !aLabel.IsNull() )
96 Handle(TNaming_NamedShape) aNamedShape;
97 if( aLabel.FindAttribute( TNaming_NamedShape::GetID(), aNamedShape ) )
98 return aNamedShape->Get();
101 return TopoDS_Shape();
104 void HYDROData_Object::removeShape3D()
106 TDF_Label aLabel = myLab.FindChild( DataTag_Shape3D, false );
107 if ( !aLabel.IsNull() )
108 aLabel.ForgetAllAttributes();
111 void HYDROData_Object::SetFillingColor( const QColor& theColor )
113 return SetColor( theColor, DataTag_FillingColor );
116 QColor HYDROData_Object::GetFillingColor() const
118 return GetColor( DefaultFillingColor(), DataTag_FillingColor );
121 void HYDROData_Object::SetBorderColor( const QColor& theColor )
123 return SetColor( theColor, DataTag_BorderColor );
126 QColor HYDROData_Object::GetBorderColor() const
128 return GetColor( DefaultBorderColor(), DataTag_BorderColor );
131 QColor HYDROData_Object::DefaultFillingColor()
133 return QColor( Qt::yellow );
136 QColor HYDROData_Object::DefaultBorderColor()
138 return QColor( Qt::transparent );