# Hurricane Documentation

# Hurricane VLSI Database

Go.h
1 // ****************************************************************************************************
2 // File: ./hurricane/Go.h
3 // Authors: R. Escassut
4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
5 //
6 // This file is part of Hurricane.
7 //
8 // Hurricane is free software: you can redistribute it and/or modify it under the terms of the GNU
9 // Lesser General Public License as published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
11 //
12 // Hurricane is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
13 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
14 // General Public License for more details.
15 //
16 // You should have received a copy of the Lesser GNU General Public License along with Hurricane. If
17 // not, see <http://www.gnu.org/licenses/>.
18 // ****************************************************************************************************
19
20 #ifndef HURRICANE_GO
21 #define HURRICANE_GO
22
23 #include "hurricane/Entity.h"
24 #include "hurricane/Gos.h"
25 #include "hurricane/Transformation.h"
26
27 namespace Hurricane {
28
29 class BasicLayer;
30 class QuadTree;
31
32 // ****************************************************************************************************
33 // Go declaration
34 // ****************************************************************************************************
35
36 class Go : public Entity {
37 // *********************
38
39 // Friends
40 // *******
41
42 friend class QuadTree;
43
44 // Types
45 // *****
46
47 public: typedef Entity Inherit;
48
49 // Attributes
50 // **********
51
52 private: QuadTree* _quadTree;
53 private: Go* _nextOfQuadTreeGoSet;
54
55 // Constructors
56 // ************
57
58 protected: Go();
59 protected: virtual ~Go() throw(Error);
60
61 // Predicates
62 // **********
63
64 public: static bool autoMaterializationIsDisabled();
65
66 public: bool isMaterialized() const {return (_quadTree != NULL);};
67
68 // Updators
69 // ********
70
71 public: static void enableAutoMaterialization();
72 public: static void disableAutoMaterialization();
73
74 public: virtual void materialize() = 0;
75 public: virtual void unmaterialize() = 0;
76
77 public: virtual void invalidate(bool propagateFlag = true);
78 // implementation located on file UpdateSession.cpp to access local variables
79
80 public: virtual void translate(const DbU::Unit& dx, const DbU::Unit& dy) = 0;
81
82 // Others
83 // ******
84
85 protected: virtual void _postCreate();
86
87 protected: virtual void _preDestroy();
88
89 public: virtual string _getString() const;
90 public: virtual Record* _getRecord() const;
91 public: Go* _getNextOfQuadTreeGoSet() const {return _nextOfQuadTreeGoSet;};
92
93 public: void _setNextOfQuadTreeGoSet(Go* go) {_nextOfQuadTreeGoSet = go;};
94
95 };
96
97
98 } // End of Hurricane namespace.
99
100
101 INSPECTOR_P_SUPPORT(Hurricane::Go);
102
103
104 #endif // HURRICANE_GO
105
106
107 // ****************************************************************************************************
108 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
109 // ****************************************************************************************************
Hurricane::Go
Go description (API)
Definition: Go.h:36
Hurricane::Go::autoMaterializationIsDisabled
static bool autoMaterializationIsDisabled()
Hurricane::Go::translate
virtual void translate(const DbU::Unit &dx, const DbU::Unit &dy)=0
Hurricane::Error
Error description (API)
Definition: Error.h:43
Hurricane::Go::invalidate
virtual void invalidate(bool propagateFlag=true)
Hurricane::DbU::Unit
std::int64_t Unit
Definition: DbU.h:70
Hurricane::DBo
DataBase object root class (API).
Definition: DBo.h:47
Hurricane::Go::disableAutoMaterialization
static void disableAutoMaterialization()
Hurricane::Go::unmaterialize
virtual void unmaterialize()=0
Entity
Hurricane
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5
Hurricane::Go::isMaterialized
bool isMaterialized() const
Definition: Go.h:66
Hurricane::QuadTree
QuadTree description (API)
Definition: QuadTree.h:33
Hurricane::Go::enableAutoMaterialization
static void enableAutoMaterialization()
Hurricane::Go::materialize
virtual void materialize()=0