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; }
150class 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
Hook * getSourceHook()
Definition Segment.h:107
Component * getTarget() const
virtual DbU::Unit getLength() const =0
const DbU::Unit & getWidth() const
Definition Segment.h:114
virtual DbU::Unit getTargetY() const =0
DbU::Unit getHalfWidth() const
Definition Segment.h:115
virtual Point getSourcePosition() const
virtual Point getTargetPosition() const
virtual DbU::Unit getSourceY() const =0
Component * getOppositeAnchor(Component *anchor) const
virtual DbU::Unit getTargetX() const =0
Component * getSource() const
virtual DbU::Unit getSourceX() const =0
Hook * getTargetHook()
Definition Segment.h:108
Components getAnchors() const
void setLayer(const Layer *layer)
Component Inherit
Definition Segment.h:44
void setWidth(const DbU::Unit &width)
Hook * getOppositeHook(const Hook *hook) const
Contains Almost Everything.
Definition BasicLayer.h:39