32 #ifndef HURRICANE_DIAGONAL_H
33 #define HURRICANE_DIAGONAL_H
35 #include "hurricane/Component.h"
53 virtual bool isNonRectangle ()
const;
60 virtual Point getSourcePosition ()
const;
61 virtual Point getTargetPosition ()
const;
62 virtual Box getBoundingBox ()
const;
64 virtual size_t getPointsSize ()
const;
65 virtual Point getPoint (
size_t i )
const;
67 virtual const Layer* getLayer ()
const;
69 void setLayer (
const Layer* );
72 void setSource (
Point );
73 void setTarget (
Point );
75 virtual void _toJson ( JsonWriter* )
const;
76 static JsonObject* getJsonObject (
unsigned long flags );
77 virtual string _getTypeName ()
const;
78 virtual string _getString ()
const;
79 virtual Record* _getRecord ()
const;
95 class JsonDiagonal :
public JsonComponent {
97 static void initialize ();
98 JsonDiagonal (
unsigned long flags );
99 virtual std::string getTypeName ()
const;
100 virtual JsonDiagonal* clone (
unsigned long )
const;
BasicLayer description (API)
Definition: BasicLayer.h:44
Box description (API)
Definition: Box.h:31
Component description (API)
Definition: Component.h:42
std::int64_t Unit
Definition: DbU.h:67
Diagonal description (API)
Definition: Diagonal.h:46
static Diagonal * create(Net *, const Layer *, const Point &source, const Point &target, DbU::Unit width)
Component Super
Definition: Diagonal.h:48
Support for JSON export.
Definition: JsonObject.h:83
JSON Parser Stack.
Definition: JsonObject.h:249
Layer description (API)
Definition: Layer.h:52
Net description (API)
Definition: Net.h:48
Point description (API)
Definition: Point.h:32
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5