# Katabatic Documentation

# 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:
80 AutoVertical ( Vertical* );
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
Katabatic::AutoVertical::checkConstraints
virtual bool checkConstraints() const
Definition: AutoVertical.cpp:394
Katabatic::AutoVertical::getConstraints
virtual bool getConstraints(DbU::Unit &min, DbU::Unit &max) const
Definition: AutoVertical.cpp:160
Katabatic::AutoVertical::_canSlacken
virtual bool _canSlacken() const
Definition: AutoVertical.cpp:215
Katabatic::AutoVertical::getSourceConstraints
virtual Interval getSourceConstraints(unsigned int flags=0) const
Definition: AutoVertical.cpp:140
Hurricane::DbU::Unit
std::int64_t Unit
Katabatic::AutoVertical::_makeDogleg
virtual unsigned int _makeDogleg(GCell *, unsigned int flags)
Definition: AutoVertical.cpp:609
Katabatic::AutoVertical::getDuTarget
virtual DbU::Unit getDuTarget() const
Definition: AutoVertical.cpp:46
Katabatic::AutoVertical::getTargetU
virtual DbU::Unit getTargetU() const
Definition: AutoVertical.cpp:44
Hurricane::Vertical
Hurricane::Interval
Katabatic::AutoVertical::getDuSource
virtual DbU::Unit getDuSource() const
Definition: AutoVertical.cpp:45
Katabatic::GCell
Routing Global Cell.
Definition: GCell.h:74
Katabatic::AutoSegment
Abstract base class for AutoSegment.
Definition: AutoSegment.h:104
Katabatic::AutoVertical::getDirection
virtual unsigned int getDirection() const
Definition: AutoVertical.cpp:192
Katabatic::AutoVertical::getVertical
virtual Vertical * getVertical()
Definition: AutoVertical.cpp:42
Katabatic::AutoVertical::moveULeft
virtual bool moveULeft()
Definition: AutoVertical.cpp:486
Katabatic::AutoVertical::getTargetConstraints
virtual Interval getTargetConstraints(unsigned int flags=0) const
Definition: AutoVertical.cpp:150
Katabatic
The namespace dedicated to Katabatic.
Definition: Katabatic.dox:13
Katabatic::AutoVertical::getSourceU
virtual DbU::Unit getSourceU() const
Definition: AutoVertical.cpp:43
Katabatic::AutoVertical::base
virtual Segment * base()
Definition: AutoVertical.cpp:40
Katabatic::AutoVertical::updatePositions
virtual void updatePositions()
Definition: AutoVertical.cpp:357
Katabatic::AutoVertical::updateOrient
virtual void updateOrient()
Definition: AutoVertical.cpp:341
Hurricane::Segment
Katabatic::AutoVertical::_postCreate
virtual void _postCreate()
Definition: AutoVertical.cpp:62
Katabatic::AutoVertical::moveURight
virtual bool moveURight()
Definition: AutoVertical.cpp:546
Katabatic::AutoVertical::checkPositions
virtual bool checkPositions() const
Definition: AutoVertical.cpp:364
Katabatic::AutoVertical
Concrete Vertical AutoSegment.
Definition: AutoVertical.h:32
Katabatic::AutoContact
Abstract base class for AutoContact.
Definition: AutoContact.h:70
Katabatic::AutoVertical::getGCells
virtual size_t getGCells(vector< GCell *> &) const
Definition: AutoVertical.cpp:196
Katabatic::AutoVertical::setDuTarget
virtual void setDuTarget(DbU::Unit)
Definition: AutoVertical.cpp:49
Katabatic::AutoVertical::getSpanU
virtual Interval getSpanU() const
Definition: AutoVertical.cpp:47
Katabatic::AutoVertical::setDuSource
virtual void setDuSource(DbU::Unit)
Definition: AutoVertical.cpp:48
Katabatic::AutoVertical::canMoveULeft
virtual bool canMoveULeft(float reserve=0.0) const
Definition: AutoVertical.cpp:416
Katabatic::AutoVertical::canMoveURight
virtual bool canMoveURight(float reserve=0.0) const
Definition: AutoVertical.cpp:451
Katabatic::AutoVertical::_preDestroy
virtual void _preDestroy()
Definition: AutoVertical.cpp:96