33#include "hurricane/Component.h"
44 class Diagonal :
public Component {
48 static FastRTTI _fastRTTI;
50 static inline const FastRTTI& fastRTTI ();
51 virtual const FastRTTI& vfastRTTI ()
const;
56 virtual bool isNonRectangle ()
const;
63 virtual Point getSourcePosition ()
const;
64 virtual Point getTargetPosition ()
const;
67 virtual size_t getPointsSize ()
const;
68 virtual Point getPoint (
size_t i )
const;
72 void setLayer (
const Layer* );
75 void setSource (
Point );
76 void setTarget (
Point );
78 virtual void _toJson ( JsonWriter* )
const;
79 static JsonObject* getJsonObject (
unsigned long flags );
80 virtual string _getTypeName ()
const;
81 virtual string _getString ()
const;
82 virtual Record* _getRecord ()
const;
95 inline const FastRTTI& Diagonal::fastRTTI () {
return _fastRTTI; }
101 class JsonDiagonal :
public JsonComponent {
103 static void initialize ();
104 JsonDiagonal (
unsigned long flags );
106 virtual JsonDiagonal* clone (
unsigned long )
const;
107 virtual void toData ( JsonStack& );
BasicLayer description (API).
Definition BasicLayer.h:42
Box description (API).
Definition Box.h:30
virtual DbU::Unit getX() const =0
virtual DbU::Unit getY() const =0
virtual const Layer * getLayer() const =0
std::int64_t Unit
Definition DbU.h:67
Diagonal description (API).
Definition Diagonal.h:44
Component Super
Definition Diagonal.h:46
static Diagonal * create(Net *, const Layer *, const Point &source, const Point &target, DbU::Unit width)
virtual Box getBoundingBox() const =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
Contains Almost Everything.
Definition BasicLayer.h:39