21 #ifndef SRC_PLACEMENT_LIBRARY_H_
22 #define SRC_PLACEMENT_LIBRARY_H_
24 #include "../entity_system/property.h"
25 #include "../entity_system/vector_property.h"
26 #include "../standard_cell/standard_cells.h"
27 #include "../geometry/geometry.h"
28 #include <boost/bimap.hpp>
44 using point = geometry::point<double>;
45 using polygon = geometry::polygon<point>;
46 using multipolygon = geometry::multi_polygon<polygon>;
52 int32_t m_dist2microns;
69 multipolygon
geometry(entity_system::entity cell)
const {
81 entity_system::entity cell_create(std::string name);
89 return m_dist2microns;
99 void pin_offset(entity_system::entity pin, point offset);
110 entity_system::entity pin_create(entity_system::entity cell, std::string name);
const entity_system::entity_system & pin_system() const
Pin system getter.
Definition: standard_cells.h:179
multipolygon geometry(entity_system::entity cell) const
Cell geometry getter.
Definition: library.h:69
void pin_offset(entity_system::entity pin, point offset)
Pin offset setter.
Definition: library.cpp:47
library(ophidian::standard_cell::standard_cells *std_cells)
Constructor.
Definition: library.cpp:26
Placement library class.
Definition: library.h:42
int32_t dist2microns() const
Distance unit to microns ratio getter.
Definition: library.h:88
Standard cell class.
Definition: standard_cells.h:37
point pin_offset(entity_system::entity pin) const
Pin offset getter.
Definition: library.h:106
const entity_system::entity_system & cell_system() const
Cell system getter.
Definition: standard_cells.h:114
entity_index lookup(entity e) const
Gets the index of an entity.
Definition: entity_system.h:149