Katabatic - Routing Toolbox


AutoHorizontal.h
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2013, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | K a t a b a t i c - Routing Toolbox |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./katabatic/AutoHorizontal.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef KATABATIC_AUTOHORIZONTAL_H
18 #define KATABATIC_AUTOHORIZONTAL_H
19 
20 #include "hurricane/Horizontal.h"
21 #include "katabatic/AutoSegment.h"
22 
23 
24 namespace Katabatic {
25 
26 
27 // -------------------------------------------------------------------
28 // Class : "AutoHorizontal".
29 
30 
31  class AutoHorizontal : public AutoSegment {
32  friend class AutoSegment;
33 
34  public:
35  // Predicates.
36  virtual bool _canSlacken () const;
37  virtual bool canMoveULeft ( float reserve=0.0 ) const;
38  virtual bool canMoveURight ( float reserve=0.0 ) const;
39  // Accessors.
40  virtual Segment* base ();
41  virtual Segment* base () const;
42  virtual Horizontal* getHorizontal ();
43  virtual DbU::Unit getSourceU () const;
44  virtual DbU::Unit getTargetU () const;
45  virtual DbU::Unit getDuSource () const;
46  virtual DbU::Unit getDuTarget () const;
47  virtual Interval getSpanU () const;
48  virtual bool getConstraints ( DbU::Unit& min , DbU::Unit& max ) const;
49  virtual Interval getSourceConstraints ( unsigned int flags=0 ) const;
50  virtual Interval getTargetConstraints ( unsigned int flags=0 ) const;
51  virtual unsigned int getDirection () const;
52  virtual size_t getGCells ( vector<GCell*>& ) const;
53  // Modifiers.
54  virtual void setDuSource ( DbU::Unit );
55  virtual void setDuTarget ( DbU::Unit );
56  virtual void _setAxis ( DbU::Unit );
57  virtual void updateOrient ();
58  virtual void updatePositions ();
59  virtual bool checkPositions () const;
60  virtual bool checkConstraints () const;
61  virtual unsigned int _makeDogleg ( GCell*, unsigned int flags );
62  virtual bool moveULeft ();
63  virtual bool moveURight ();
64  virtual bool _slacken ( unsigned int flags );
65 #if THIS_IS_DISABLED
66  virtual void desalignate ( AutoContact* );
67 #endif
68  // Inspector Management.
69  virtual Record* _getRecord () const;
70  virtual string _getString () const;
71  virtual string _getTypeName () const;
72 
73  // Internal: Attributes.
74  protected:
75  Horizontal* _horizontal;
76 
77  // Internal: Constructors.
78  protected:
80  virtual ~AutoHorizontal ();
81  virtual void _postCreate ();
82  virtual void _preDestroy ();
83  private:
84  AutoHorizontal ( const AutoHorizontal& );
85  AutoHorizontal& operator= ( const AutoHorizontal& );
86  };
87 
88 
89 } // End of Katabatic namespace.
90 
91 
92 INSPECTOR_P_SUPPORT(Katabatic::AutoHorizontal);
93 
94 
95 #endif // KATABATIC_AUTOHORIZONTAL_H
virtual bool getConstraints(DbU::Unit &min, DbU::Unit &max) const
Definition: AutoHorizontal.cpp:174
virtual void setDuTarget(DbU::Unit)
Definition: AutoHorizontal.cpp:54
Concrete Horizontal AutoSegment.
Definition: AutoHorizontal.h:31
virtual DbU::Unit getTargetU() const
Definition: AutoHorizontal.cpp:49
virtual void updateOrient()
Definition: AutoHorizontal.cpp:417
virtual bool checkConstraints() const
Definition: AutoHorizontal.cpp:480
std::int64_t Unit
virtual DbU::Unit getDuTarget() const
Definition: AutoHorizontal.cpp:51
virtual size_t getGCells(vector< GCell *> &) const
Definition: AutoHorizontal.cpp:215
virtual DbU::Unit getSourceU() const
Definition: AutoHorizontal.cpp:48
Routing Global Cell.
Definition: GCell.h:74
Abstract base class for AutoSegment.
Definition: AutoSegment.h:104
virtual bool moveURight()
Definition: AutoHorizontal.cpp:644
virtual bool canMoveULeft(float reserve=0.0) const
Definition: AutoHorizontal.cpp:503
The namespace dedicated to Katabatic.
Definition: Katabatic.dox:13
virtual bool canMoveURight(float reserve=0.0) const
Definition: AutoHorizontal.cpp:543
virtual unsigned int _makeDogleg(GCell *, unsigned int flags)
Definition: AutoHorizontal.cpp:715
virtual void _preDestroy()
Definition: AutoHorizontal.cpp:108
virtual bool moveULeft()
Definition: AutoHorizontal.cpp:584
virtual Interval getSourceConstraints(unsigned int flags=0) const
Definition: AutoHorizontal.cpp:154
virtual bool checkPositions() const
Definition: AutoHorizontal.cpp:450
virtual DbU::Unit getDuSource() const
Definition: AutoHorizontal.cpp:50
virtual void updatePositions()
Definition: AutoHorizontal.cpp:443
virtual Segment * base()
Definition: AutoHorizontal.cpp:45
virtual Horizontal * getHorizontal()
Definition: AutoHorizontal.cpp:47
virtual Interval getTargetConstraints(unsigned int flags=0) const
Definition: AutoHorizontal.cpp:164
Abstract base class for AutoContact.
Definition: AutoContact.h:70
virtual void setDuSource(DbU::Unit)
Definition: AutoHorizontal.cpp:53
virtual Interval getSpanU() const
Definition: AutoHorizontal.cpp:52
virtual unsigned int getDirection() const
Definition: AutoHorizontal.cpp:211
virtual bool _canSlacken() const
Definition: AutoHorizontal.cpp:234
virtual void _postCreate()
Definition: AutoHorizontal.cpp:67


Generated by doxygen 1.8.14 on Sun Nov 21 2021 Return to top of page
Katabatic - Routing Toolbox Copyright © 2008-2020 Sorbonne Universite. All rights reserved