20#ifndef HURRICANE_HORIZONTAL
21#define HURRICANE_HORIZONTAL
23#include "hurricane/Segment.h"
24#include "hurricane/Horizontals.h"
36class Horizontal :
public Segment {
39 static FastRTTI _fastRTTI;
41 static inline const FastRTTI& fastRTTI ();
42 virtual const FastRTTI& vfastRTTI ()
const;
59 protected: Horizontal (
Net* net
87 public:
virtual DbU::Unit getY()
const {
return _y;};
88 public:
virtual Point getCenter()
const;
89 public:
virtual Box getBoundingBox()
const;
90 public:
virtual Box getBoundingBox(
const BasicLayer* basicLayer)
const;
91 public:
virtual DbU::Unit getSourceX()
const;
92 public:
virtual DbU::Unit getSourceY()
const {
return getY();};
93 public:
virtual DbU::Unit getTargetX()
const;
94 public:
virtual DbU::Unit getTargetY()
const {
return getY();};
95 public:
virtual DbU::Unit getLength()
const;
105 public:
void setDxSource(
const DbU::Unit& dxSource);
106 public:
void setDxTarget(
const DbU::Unit& dxSource);
112 public:
virtual void _toJson(JsonWriter*)
const;
113 public:
static JsonObject* getJsonObject(
unsigned long flags);
114 public:
virtual string _getTypeName()
const {
return _TName(
"Horizontal");};
115 public:
virtual string _getString()
const;
116 public:
virtual Record* _getRecord()
const;
121inline const FastRTTI& Horizontal::fastRTTI () {
return _fastRTTI; }
124class JsonHorizontal :
public JsonSegment {
127 public:
static void initialize();
128 public: JsonHorizontal(
unsigned long flags);
129 public:
virtual string getTypeName()
const;
130 public:
virtual JsonHorizontal* clone(
unsigned long)
const;
131 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
Horizontal description (API)
Definition Horizontal.h:36
void translate(const DbU::Unit &dy)
Segment Inherit
Definition Horizontal.h:47
void setY(const DbU::Unit &y)
const DbU::Unit & getDxSource() const
Definition Horizontal.h:96
const DbU::Unit & getDxTarget() const
Definition Horizontal.h:97
static Horizontal * create(Net *net, const Layer *layer, const DbU::Unit &y, const DbU::Unit &width=0, const DbU::Unit &dxSource=0, const DbU::Unit &dxTarget=0)
static Horizontal * create(Component *source, Component *target, const Layer *layer, const DbU::Unit &y, const DbU::Unit &width=0, const DbU::Unit &dxSource=0, const DbU::Unit &dxTarget=0)
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
Contains Almost Everything.
Definition BasicLayer.h:39