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
88 public:
virtual Point getCenter()
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);
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
virtual DbU::Unit getY() const =0
std::int64_t Unit
Definition DbU.h:67
virtual Box getBoundingBox() const =0
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
virtual std::string getTypeName() const =0
Layer description (API).
Definition Layer.h:120
Net description (API).
Definition Net.h:46
Point description (API).
Definition Point.h:30
virtual DbU::Unit getLength() const =0
virtual DbU::Unit getTargetY() const =0
virtual DbU::Unit getSourceY() const =0
virtual DbU::Unit getTargetX() const =0
virtual DbU::Unit getSourceX() const =0
Contains Almost Everything.
Definition BasicLayer.h:39