Katabatic - Routing Toolbox


AutoContactHTee.h
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 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/AutoContactHTee.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef KATABATIC_AUTOCONTACT_HTEE_H
18 #define KATABATIC_AUTOCONTACT_HTEE_H
19 
20 #include "katabatic/AutoContact.h"
21 
22 
23 namespace Katabatic {
24 
25  class AutoHorizontal;
26  class AutoVertical;
27 
28 
29 // -------------------------------------------------------------------
30 // Class : "Katabatic::AutoContactHTee".
31 
32 
33  class AutoContactHTee : public AutoContact {
34  friend class AutoContact;
35  public:
36  static AutoContactHTee* create ( GCell*, Net*, const Layer* );
37  protected:
38  // Constructors & Destructors.
40  virtual ~AutoContactHTee ();
41  virtual void _invalidate ( unsigned int flags );
42  public:
43  inline AutoHorizontal* getHorizontal1 () const;
44  inline AutoHorizontal* getHorizontal2 () const;
45  inline AutoVertical* getVertical1 () const;
46  virtual AutoSegment* getOpposite ( const AutoSegment* ) const;
47  virtual AutoSegment* getPerpandicular ( const AutoSegment* ) const;
48  virtual AutoSegment* getSegment ( unsigned int ) const;
49  virtual void updateGeometry ();
50  virtual void updateTopology ();
51  virtual void cacheDetach ( AutoSegment* );
52  virtual void cacheAttach ( AutoSegment* );
53  virtual void updateCache ();
54  virtual string _getTypeName () const;
55  private:
57  AutoContactHTee& operator= ( const AutoContactHTee& );
58  private:
59  AutoHorizontal* _horizontal1;
60  AutoHorizontal* _horizontal2;
61  AutoVertical* _vertical1;
62  };
63 
64 
65  inline AutoHorizontal* AutoContactHTee::getHorizontal1 () const { return _horizontal1; };
66  inline AutoHorizontal* AutoContactHTee::getHorizontal2 () const { return _horizontal2; };
67  inline AutoVertical* AutoContactHTee::getVertical1 () const { return _vertical1; };
68 
69 
70 } // Katabatic namespace.
71 
72 
73 INSPECTOR_P_SUPPORT(Katabatic::AutoContactHTee);
74 
75 
76 #endif // KATABATIC_AUTOCONTACT_HTEE_H
virtual void updateTopology()
Definition: AutoContactHTee.cpp:266
Concrete Horizontal AutoSegment.
Definition: AutoHorizontal.h:31
static AutoContactHTee * create(GCell *, Net *, const Layer *)
Definition: AutoContactHTee.cpp:50
Routing Global Cell.
Definition: GCell.h:74
Abstract base class for AutoSegment.
Definition: AutoSegment.h:104
virtual AutoSegment * getPerpandicular(const AutoSegment *) const
Definition: AutoContactHTee.cpp:92
virtual void updateGeometry()
Definition: AutoContactHTee.cpp:239
Concrete Vertical AutoSegment.
Definition: AutoVertical.h:32
Abstract base class for AutoContact.
Definition: AutoContact.h:70
virtual AutoSegment * getSegment(unsigned int) const
Definition: AutoContactHTee.cpp:96
virtual AutoSegment * getOpposite(const AutoSegment *) const
Definition: AutoContactHTee.cpp:84
AutoContact H-Tee (two H, one V)
Definition: AutoContactHTee.h:33


Generated by doxygen 1.8.5 on Mon Oct 1 2018 Return to top of page
Katabatic - Routing Toolbox Copyright © 2008-2016 UPMC. All rights reserved