20 #ifndef HURRICANE_SEGMENT
21 #define HURRICANE_SEGMENT
23 #include "hurricane/Component.h"
24 #include "hurricane/Segments.h"
36 static FastRTTI _fastRTTI;
38 static inline const FastRTTI& fastRTTI ();
39 virtual const FastRTTI& vfastRTTI ()
const;
55 public:
virtual Component* getComponent()
const;
57 public:
virtual bool isMaster()
const {
return false;};
59 public:
virtual string _getTypeName()
const {
return "Segment::SourceHook"; };
60 public:
virtual string _getString()
const;
73 public:
virtual Component* getComponent()
const;
75 public:
virtual bool isMaster()
const {
return false;};
77 public:
virtual string _getTypeName()
const {
return "Segment::TargetHook"; };
78 public:
virtual string _getString()
const;
87 private:
const Layer* _layer;
103 public:
virtual Hooks getHooks()
const;
104 public:
virtual DbU::Unit getX()
const {
return 0;};
105 public:
virtual DbU::Unit getY()
const {
return 0;};
106 public:
virtual const Layer* getLayer()
const {
return _layer;};
134 protected:
virtual void _preDestroy();
136 public:
virtual void _toJson(JsonWriter*)
const;
137 public:
virtual string _getString()
const;
138 public:
virtual Record* _getRecord()
const;
143 inline const FastRTTI& Segment::fastRTTI () {
return _fastRTTI; }
150 class JsonSegment :
public JsonComponent {
153 public: JsonSegment(
unsigned long flags);
Component description (API)
Definition: Component.h:43
std::int64_t Unit
Definition: DbU.h:67
Generic Collection auto-pointer.
Definition: Collection.h:235
Hook description (API)
Definition: Hook.h:34
Layer description (API)
Definition: Layer.h:120
Net description (API)
Definition: Net.h:46
Point description (API)
Definition: Point.h:30
Segment description (API)
Definition: Segment.h:33
virtual DbU::Unit getSourceX() const =0
Hook * getTargetHook()
Definition: Segment.h:108
Component * getTarget() const
virtual DbU::Unit getTargetY() const =0
Component Inherit
Definition: Segment.h:44
const DbU::Unit & getWidth() const
Definition: Segment.h:114
virtual Point getSourcePosition() const
DbU::Unit getHalfWidth() const
Definition: Segment.h:115
virtual DbU::Unit getLength() const =0
Component * getOppositeAnchor(Component *anchor) const
Hook * getSourceHook()
Definition: Segment.h:107
Component * getSource() const
virtual DbU::Unit getTargetX() const =0
virtual DbU::Unit getSourceY() const =0
Components getAnchors() const
void setLayer(const Layer *layer)
void setWidth(const DbU::Unit &width)
virtual Point getTargetPosition() const
Hook * getOppositeHook(const Hook *hook) const
Contains Almost Everything.
Definition: BasicLayer.h:39