Katabatic - Routing Toolbox


AutoContactTerminal.h
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC/LIP6 2012-2018, 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/AutoContactTerminal.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef KATABATIC_AUTOCONTACT_TERMINAL_H
18 #define KATABATIC_AUTOCONTACT_TERMINAL_H
19 
20 #include "katabatic/AutoContact.h"
21 
22 
23 namespace Katabatic {
24 
25 
26 // -------------------------------------------------------------------
27 // Class : "Katabatic::AutoContactTerminal".
28 
29 
31  friend class AutoContact;
32  public:
33  static AutoContactTerminal* create ( GCell* gcell
34  , Component* anchor
35  , const Layer* layer
36  , Point point
37  , DbU::Unit width
38  , DbU::Unit height
39  );
40  static AutoContactTerminal* create ( GCell* gcell
41  , Component* anchor
42  , const Layer* layer
43  , const DbU::Unit dx
44  , const DbU::Unit dy
45  , const DbU::Unit width
46  , const DbU::Unit height
47  );
48  protected:
49  // Constructors & Destructors.
51  virtual ~AutoContactTerminal ();
52  virtual void _invalidate ( unsigned int flags );
53  public:
54  virtual Box getNativeConstraintBox () const;
55  inline AutoSegment* getSegment () const;
56  virtual AutoSegment* getSegment ( unsigned int ) const;
57  virtual AutoSegment* getOpposite ( const AutoSegment* ) const;
58  virtual AutoSegment* getPerpandicular ( const AutoSegment* ) const;
59  virtual void updateGeometry ();
60  virtual void updateTopology ();
61  virtual void cacheDetach ( AutoSegment* );
62  virtual void cacheAttach ( AutoSegment* );
63  virtual void updateCache ();
64  virtual string _getTypeName () const;
65  private:
67  AutoContactTerminal& operator= ( const AutoContactTerminal& );
68  protected:
69  AutoSegment* _segment;
70  };
71 
72 
73  inline AutoSegment* AutoContactTerminal::getSegment () const { return _segment; }
74 
75 
76 } // Katabatic namespace.
77 
78 
79 INSPECTOR_P_SUPPORT(Katabatic::AutoContactTerminal);
80 
81 
82 #endif // KATABATIC_AUTOCONTACT_TERMINAL_H
virtual void updateGeometry()
Definition: AutoContactTerminal.cpp:313
std::int64_t Unit
static AutoContactTerminal * create(GCell *gcell, Component *anchor, const Layer *layer, Point point, DbU::Unit width, DbU::Unit height)
Definition: AutoContactTerminal.cpp:55
Routing Global Cell.
Definition: GCell.h:74
Abstract base class for AutoSegment.
Definition: AutoSegment.h:104
The namespace dedicated to Katabatic.
Definition: Katabatic.dox:13
virtual AutoSegment * getOpposite(const AutoSegment *) const
Definition: AutoContactTerminal.cpp:122
AutoContact Terminal (S/T is a Terminal)
Definition: AutoContactTerminal.h:30
virtual void updateTopology()
Definition: AutoContactTerminal.cpp:362
Abstract base class for AutoContact.
Definition: AutoContact.h:70
virtual AutoSegment * getPerpandicular(const AutoSegment *) const
Definition: AutoContactTerminal.cpp:126
virtual Box getNativeConstraintBox() const
Definition: AutoContactTerminal.cpp:142


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