Salome HOME
Image positioning by two points.
[modules/hydro.git] / src / HYDROData / HYDROData_Object.cxx
1
2 #include "HYDROData_Object.h"
3
4 #include "HYDROData_Bathymetry.h"
5
6 #include <TNaming_Builder.hxx>
7 #include <TNaming_NamedShape.hxx>
8
9 #include <TopoDS_Shape.hxx>
10
11 IMPLEMENT_STANDARD_HANDLE(HYDROData_Object,HYDROData_Entity)
12 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Object,HYDROData_Entity)
13
14 HYDROData_Object::HYDROData_Object()
15 : HYDROData_Entity()
16 {
17 }
18
19 HYDROData_Object::~HYDROData_Object()
20 {
21 }
22
23 void HYDROData_Object::SetTopShape( const TopoDS_Shape& theShape )
24 {
25   TNaming_Builder aBuilder( myLab.FindChild( DataTag_TopShape ) );
26   aBuilder.Generated( theShape );
27 }
28
29 void HYDROData_Object::SetShape3D( const TopoDS_Shape& theShape )
30 {
31   TNaming_Builder aBuilder( myLab.FindChild( DataTag_Shape3D ) );
32   aBuilder.Generated( theShape );
33 }
34
35 void HYDROData_Object::SetBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry )
36 {
37   SetReferenceObject( theBathymetry, DataTag_Bathymetry );
38 }
39
40 Handle(HYDROData_Bathymetry) HYDROData_Object::GetBathymetry() const
41 {
42   return Handle(HYDROData_Bathymetry)::DownCast( 
43            GetReferenceObject( DataTag_Bathymetry ) );
44 }
45
46 void HYDROData_Object::RemoveBathymetry()
47 {
48   ClearReferenceObjects( DataTag_Bathymetry );
49 }
50
51 TopoDS_Shape HYDROData_Object::getTopShape() const
52 {
53   Handle(TNaming_NamedShape) aNamedShape;
54   if( myLab.FindChild( DataTag_TopShape ).FindAttribute( TNaming_NamedShape::GetID(), aNamedShape ) )
55     return aNamedShape->Get();
56   return TopoDS_Shape();
57 }
58
59 TopoDS_Shape HYDROData_Object::getShape3D() const
60 {
61   Handle(TNaming_NamedShape) aNamedShape;
62   if( myLab.FindChild( DataTag_Shape3D ).FindAttribute( TNaming_NamedShape::GetID(), aNamedShape ) )
63     return aNamedShape->Get();
64   return TopoDS_Shape();
65 }
66