23#include "hurricane/Component.h"
24#include "hurricane/Pads.h"
36class Pad :
public Component {
39 static FastRTTI _fastRTTI;
41 static inline const FastRTTI& fastRTTI ();
42 virtual const FastRTTI& vfastRTTI ()
const;
52 private:
const Layer* _layer;
53 private:
Box _boundingBox;
58 protected: Pad(
Net* net,
const Layer* layer,
const Box& boundingBox);
69 public:
virtual const Layer*
getLayer()
const {
return _layer;};
74 public:
void setLayer(
const Layer* layer);
76 public:
void setBoundingBox(
const Box& boundingBox);
81 public:
virtual void _toJson(JsonWriter*)
const;
82 public:
static JsonObject* getJsonObject(
unsigned long flags);
83 public:
virtual string _getTypeName()
const {
return _TName(
"Pad");};
84 public:
virtual string _getString()
const;
85 public:
virtual Record* _getRecord()
const;
90 inline const FastRTTI& Pad::fastRTTI () {
return _fastRTTI; }
93class JsonPad :
public JsonComponent {
96 public:
static void initialize();
97 public: JsonPad(
unsigned long flags);
99 public:
virtual JsonPad* clone(
unsigned long)
const;
100 public:
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
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
Pad description (API).
Definition Pad.h:36
Component Inherit
Definition Pad.h:47
static Pad * create(Net *net, const Layer *layer, const Box &boundingBox)
Contains Almost Everything.
Definition BasicLayer.h:39