Salome HOME
PR: merge from tag BR_CCRT2_mergeto_V2_1_0b1
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_GraphicAttribute.hxx
1 //  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
2 //
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
5 // 
6 //  This library is free software; you can redistribute it and/or 
7 //  modify it under the terms of the GNU Lesser General Public 
8 //  License as published by the Free Software Foundation; either 
9 //  version 2.1 of the License. 
10 // 
11 //  This library is distributed in the hope that it will be useful, 
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
14 //  Lesser General Public License for more details. 
15 // 
16 //  You should have received a copy of the GNU Lesser General Public 
17 //  License along with this library; if not, write to the Free Software 
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
19 // 
20 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
21 //
22 //
23 //
24 //  File   : SALOMEDS_GraphicAttribute.hxx
25 //  Author : Sergey LITONIN
26 //  Module : SALOME
27
28 #ifndef SALOMEDS_GraphicAttribute_HeaderFile
29 #define SALOMEDS_GraphicAttribute_HeaderFile
30
31 #include <Standard_DefineHandle.hxx>
32 #include <TDF_Attribute.hxx>
33 #include <TDF_Attribute.hxx>
34 #include <TColStd_DataMapOfIntegerInteger.hxx>
35
36 class Standard_GUID;
37 class TDF_Label;
38 class Handle(TDF_Attribute);
39 class Handle(TDF_RelocationTable);
40
41
42 /*
43   Class       : SALOMEDS_GraphicAttribute
44   Description : This class is intended for storing information about
45                 graphic representation of objects in dirrent views
46 */
47
48 DEFINE_STANDARD_HANDLE( SALOMEDS_GraphicAttribute, TDF_Attribute )
49
50 class Standard_EXPORT SALOMEDS_GraphicAttribute : public TDF_Attribute
51 {
52
53 public:
54                                   SALOMEDS_GraphicAttribute();
55                                   ~SALOMEDS_GraphicAttribute();
56
57   static const                    Standard_GUID& GetID() ;
58
59   void                            SetVisibility( const Standard_Integer,
60                                                  const Standard_Boolean );
61   Standard_Boolean                GetVisibility( const Standard_Integer ) const;
62   const Standard_GUID&            ID() const;
63   void                            Restore( const Handle(TDF_Attribute)& theWith );
64   Handle(TDF_Attribute)           NewEmpty() const;
65   void                            Paste( const Handle(TDF_Attribute)& theInto,
66                                          const Handle(TDF_RelocationTable)& ) const;
67   virtual Standard_OStream&       Dump( Standard_OStream& anOS ) const;
68
69   void                            SetVisibility( const TColStd_DataMapOfIntegerInteger& );
70
71   const TColStd_DataMapOfIntegerInteger& GetVisibility();
72   
73 private:
74   TColStd_DataMapOfIntegerInteger myVisibility;
75
76 public:
77   DEFINE_STANDARD_RTTI( SALOMEDS_GraphicAttribute )
78 };
79
80 #endif