# Katabatic Documentation

# 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:
79 AutoHorizontal ( Horizontal* );
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
Katabatic::AutoHorizontal::getConstraints
virtual bool getConstraints(DbU::Unit &min, DbU::Unit &max) const
Definition: AutoHorizontal.cpp:174
Katabatic::AutoHorizontal::setDuTarget
virtual void setDuTarget(DbU::Unit)
Definition: AutoHorizontal.cpp:54
Katabatic::AutoHorizontal
Concrete Horizontal AutoSegment.
Definition: AutoHorizontal.h:31
Katabatic::AutoHorizontal::getTargetU
virtual DbU::Unit getTargetU() const
Definition: AutoHorizontal.cpp:49
Katabatic::AutoHorizontal::updateOrient
virtual void updateOrient()
Definition: AutoHorizontal.cpp:417
Katabatic::AutoHorizontal::checkConstraints
virtual bool checkConstraints() const
Definition: AutoHorizontal.cpp:480
Hurricane::DbU::Unit
std::int64_t Unit
Hurricane::Horizontal
Katabatic::AutoHorizontal::getDuTarget
virtual DbU::Unit getDuTarget() const
Definition: AutoHorizontal.cpp:51
Hurricane::Interval
Katabatic::AutoHorizontal::getGCells
virtual size_t getGCells(vector< GCell *> &) const
Definition: AutoHorizontal.cpp:215
Katabatic::AutoHorizontal::getSourceU
virtual DbU::Unit getSourceU() const
Definition: AutoHorizontal.cpp:48
Katabatic::GCell
Routing Global Cell.
Definition: GCell.h:74
Katabatic::AutoSegment
Abstract base class for AutoSegment.
Definition: AutoSegment.h:104
Katabatic::AutoHorizontal::moveURight
virtual bool moveURight()
Definition: AutoHorizontal.cpp:644
Katabatic::AutoHorizontal::canMoveULeft
virtual bool canMoveULeft(float reserve=0.0) const
Definition: AutoHorizontal.cpp:503
Katabatic
The namespace dedicated to Katabatic.
Definition: Katabatic.dox:13
Katabatic::AutoHorizontal::canMoveURight
virtual bool canMoveURight(float reserve=0.0) const
Definition: AutoHorizontal.cpp:543
Katabatic::AutoHorizontal::_makeDogleg
virtual unsigned int _makeDogleg(GCell *, unsigned int flags)
Definition: AutoHorizontal.cpp:715
Hurricane::Segment
Katabatic::AutoHorizontal::_preDestroy
virtual void _preDestroy()
Definition: AutoHorizontal.cpp:108
Katabatic::AutoHorizontal::moveULeft
virtual bool moveULeft()
Definition: AutoHorizontal.cpp:584
Katabatic::AutoHorizontal::getSourceConstraints
virtual Interval getSourceConstraints(unsigned int flags=0) const
Definition: AutoHorizontal.cpp:154
Katabatic::AutoHorizontal::checkPositions
virtual bool checkPositions() const
Definition: AutoHorizontal.cpp:450
Katabatic::AutoHorizontal::getDuSource
virtual DbU::Unit getDuSource() const
Definition: AutoHorizontal.cpp:50
Katabatic::AutoHorizontal::updatePositions
virtual void updatePositions()
Definition: AutoHorizontal.cpp:443
Katabatic::AutoHorizontal::base
virtual Segment * base()
Definition: AutoHorizontal.cpp:45
Katabatic::AutoHorizontal::getHorizontal
virtual Horizontal * getHorizontal()
Definition: AutoHorizontal.cpp:47
Katabatic::AutoHorizontal::getTargetConstraints
virtual Interval getTargetConstraints(unsigned int flags=0) const
Definition: AutoHorizontal.cpp:164
Katabatic::AutoContact
Abstract base class for AutoContact.
Definition: AutoContact.h:70
Katabatic::AutoHorizontal::setDuSource
virtual void setDuSource(DbU::Unit)
Definition: AutoHorizontal.cpp:53
Katabatic::AutoHorizontal::getSpanU
virtual Interval getSpanU() const
Definition: AutoHorizontal.cpp:52
Katabatic::AutoHorizontal::getDirection
virtual unsigned int getDirection() const
Definition: AutoHorizontal.cpp:211
Katabatic::AutoHorizontal::_canSlacken
virtual bool _canSlacken() const
Definition: AutoHorizontal.cpp:234
Katabatic::AutoHorizontal::_postCreate
virtual void _postCreate()
Definition: AutoHorizontal.cpp:67