20#ifndef HURRICANE_VERTICAL
21#define HURRICANE_VERTICAL
23#include "hurricane/Segment.h"
24#include "hurricane/Verticals.h"
36class Vertical :
public Segment {
39 static FastRTTI _fastRTTI;
41 static inline const FastRTTI& fastRTTI ();
42 virtual const FastRTTI& vfastRTTI ()
const;
59 protected: Vertical (
Net* net
88 public:
virtual DbU::Unit getX()
const {
return _x;};
89 public:
virtual Point getCenter()
const;
90 public:
virtual Box getBoundingBox()
const;
91 public:
virtual Box getBoundingBox(
const BasicLayer* basicLayer)
const;
92 public:
virtual DbU::Unit getSourceX()
const {
return getX();};
93 public:
virtual DbU::Unit getSourceY()
const;
94 public:
virtual DbU::Unit getTargetX()
const {
return getX();};
95 public:
virtual DbU::Unit getTargetY()
const;
96 public:
virtual DbU::Unit getLength()
const;
106 public:
void setDySource(
const DbU::Unit& dySource);
107 public:
void setDyTarget(
const DbU::Unit& dyTarget);
113 public:
virtual void _toJson(JsonWriter*)
const;
114 public:
static JsonObject* getJsonObject(
unsigned long flags);
115 public:
virtual string _getTypeName()
const {
return _TName(
"Vertical");};
116 public:
virtual string _getString()
const;
117 public:
virtual Record* _getRecord()
const;
122inline const FastRTTI& Vertical::fastRTTI () {
return _fastRTTI; }
125class JsonVertical :
public JsonSegment {
128 public:
static void initialize();
129 public: JsonVertical(
unsigned long flags);
130 public:
virtual string getTypeName()
const;
131 public:
virtual JsonVertical* clone(
unsigned long)
const;
132 public:
virtual void toData(JsonStack&);
BasicLayer description (API)
Definition BasicLayer.h:42
Box description (API)
Definition Box.h:30
Component description (API)
Definition Component.h:43
std::int64_t Unit
Definition DbU.h:67
Support for JSON export.
Definition JsonObject.h:83
Layer description (API)
Definition Layer.h:120
Net description (API)
Definition Net.h:46
Point description (API)
Definition Point.h:30
Vertical description (API)
Definition Vertical.h:36
static Vertical * create(Component *source, Component *target, const Layer *layer, const DbU::Unit &x, const DbU::Unit &width=0, const DbU::Unit &dySource=0, const DbU::Unit &dyTarget=0)
void translate(const DbU::Unit &dx)
Segment Inherit
Definition Vertical.h:47
static Vertical * create(Net *net, const Layer *layer, const DbU::Unit &x, const DbU::Unit &width=0, const DbU::Unit &dySource=0, const DbU::Unit &dyTarget=0)
const DbU::Unit & getDySource() const
Definition Vertical.h:97
void setX(const DbU::Unit &x)
const DbU::Unit & getDyTarget() const
Definition Vertical.h:98
Contains Almost Everything.
Definition BasicLayer.h:39