21 #ifndef OPHIDIAN_ABACUS_CELLS_H
22 #define OPHIDIAN_ABACUS_CELLS_H
24 #include <vector_property.h>
25 #include "entity_system.h"
26 #include "../../../geometry/geometry.h"
30 namespace legalization {
33 using point = geometry::point<double>;
46 entity_system::entity netlist_cell(entity_system::entity cell)
const {
47 return m_netlist_cells[m_system.
lookup(cell)];
49 void netlist_cell(entity_system::entity cell, entity_system::entity netlist_cell);
51 unsigned order_id(entity_system::entity cell)
const {
52 return m_order_ids[m_system.
lookup(cell)];
54 void order_id(entity_system::entity cell,
unsigned order_id);
56 point position(entity_system::entity cell)
const {
57 return m_positions[m_system.
lookup(cell)];
59 void position(entity_system::entity cell, point position);
61 double width(entity_system::entity cell)
const {
62 return m_widths[m_system.
lookup(cell)];
64 void width(entity_system::entity cell,
double width);
66 double weight(entity_system::entity cell)
const {
67 return m_weights[m_system.
lookup(cell)];
69 void weight(entity_system::entity cell,
double weight);
77 #endif //OPHIDIAN_CELLS_H
entity_system class.
Definition: entity_system.h:40
entity_index lookup(entity e) const
Gets the index of an entity.
Definition: entity_system.h:149