# Katabatic Documentation

# Katabatic - Routing Toolbox

AutoContactVTee.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/AutoContactVTee.h" |
14 // +-----------------------------------------------------------------+
15
16
17 #ifndef KATABATIC_AUTOCONTACT_VTEE_H
18 #define KATABATIC_AUTOCONTACT_VTEE_H
19
20 #include "katabatic/AutoContact.h"
21
22
23 namespace Katabatic {
24
25
26 // -------------------------------------------------------------------
27 // Class : "Katabatic::AutoContactVTee".
28
29
30 class AutoContactVTee : public AutoContact {
31 friend class AutoContact;
32 public:
33 static AutoContactVTee* create ( GCell*, Net*, const Layer* );
34 protected:
35 // Constructors & Destructors.
36 AutoContactVTee ( GCell*, Contact* );
37 virtual ~AutoContactVTee ();
38 virtual void _invalidate ( unsigned int flags );
39 public:
40 inline AutoHorizontal* getHorizontal1 () const;
41 inline AutoVertical* getVertical1 () const;
42 inline AutoVertical* getVertical2 () const;
43 virtual AutoSegment* getOpposite ( const AutoSegment* ) const;
44 virtual AutoSegment* getPerpandicular ( const AutoSegment* ) const;
45 virtual AutoSegment* getSegment ( unsigned int ) const;
46 virtual void updateGeometry ();
47 virtual void updateTopology ();
48 virtual void cacheDetach ( AutoSegment* );
49 virtual void cacheAttach ( AutoSegment* );
50 virtual void updateCache ();
51 virtual string _getTypeName () const;
52 private:
53 AutoContactVTee ( const AutoContactVTee& );
54 AutoContactVTee& operator= ( const AutoContactVTee& );
55 private:
56 AutoHorizontal* _horizontal1;
57 AutoVertical* _vertical1;
58 AutoVertical* _vertical2;
59 };
60
61
62 inline AutoHorizontal* AutoContactVTee::getHorizontal1 () const { return _horizontal1; };
63 inline AutoVertical* AutoContactVTee::getVertical1 () const { return _vertical1; };
64 inline AutoVertical* AutoContactVTee::getVertical2 () const { return _vertical2; };
65
66
67 } // Katabatic namespace.
68
69
70 INSPECTOR_P_SUPPORT(Katabatic::AutoContactVTee);
71
72
73 #endif // KATABATIC_AUTOCONTACT_VTEE_H
Katabatic::AutoContactVTee::updateGeometry
virtual void updateGeometry()
Definition: AutoContactVTee.cpp:206
Katabatic::AutoContactVTee::getSegment
virtual AutoSegment * getSegment(unsigned int) const
Definition: AutoContactVTee.cpp:96
Katabatic::AutoHorizontal
Concrete Horizontal AutoSegment.
Definition: AutoHorizontal.h:31
Hurricane::Contact
Katabatic::AutoContactVTee::getPerpandicular
virtual AutoSegment * getPerpandicular(const AutoSegment *) const
Definition: AutoContactVTee.cpp:92
Katabatic::AutoContactVTee::updateTopology
virtual void updateTopology()
Definition: AutoContactVTee.cpp:233
Katabatic::GCell
Routing Global Cell.
Definition: GCell.h:74
Katabatic::AutoSegment
Abstract base class for AutoSegment.
Definition: AutoSegment.h:104
Katabatic
The namespace dedicated to Katabatic.
Definition: Katabatic.dox:13
Katabatic::AutoContactVTee::getOpposite
virtual AutoSegment * getOpposite(const AutoSegment *) const
Definition: AutoContactVTee.cpp:84
Hurricane::Layer
Katabatic::AutoContactVTee::create
static AutoContactVTee * create(GCell *, Net *, const Layer *)
Definition: AutoContactVTee.cpp:50
Katabatic::AutoContactVTee
AutoContact V-Tee (one H, two V)
Definition: AutoContactVTee.h:30
Katabatic::AutoVertical
Concrete Vertical AutoSegment.
Definition: AutoVertical.h:32
Katabatic::AutoContact
Abstract base class for AutoContact.
Definition: AutoContact.h:70
Hurricane::Net