Katabatic - Routing Toolbox


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


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