Ophidian
 All Classes Namespaces Functions
Public Member Functions | List of all members
ophidian::placement::placement Class Reference

Placement class. More...

#include <placement.h>

Public Member Functions

 placement (netlist::netlist *netlist, library *lib)
 Constructor. More...
 
geometry::multi_polygon
< geometry::polygon
< geometry::point< double > > > 
cell_geometry (entity_system::entity cell) const
 Cell geometry getter. More...
 
void cell_position (entity_system::entity cell, geometry::point< double > position)
 Places a cell. More...
 
geometry::point< double > cell_position (entity_system::entity cell) const
 Cell position getter. More...
 
void cell_fixed (entity_system::entity cell, bool fixed)
 
bool cell_fixed (entity_system::entity cell) const
 
geometry::point< double > cell_dimensions (entity_system::entity cell) const
 
entity_system::entity cell_create (std::string name, std::string type)
 
const cellscell_properties ()
 
geometry::point< double > pin_position (entity_system::entity pin) const
 Pin position getter. More...
 
void pad_position (entity_system::entity pad, geometry::point< double > position)
 Places a pad. More...
 
const netlist::netlistnetlist () const
 Netlist getter. More...
 
const librarylib () const
 Placement library getter. More...
 

Detailed Description

This class provides the basic placement interface, such as cells and pads position manipulation.

Constructor & Destructor Documentation

ophidian::placement::placement::placement ( netlist::netlist netlist,
library lib 
)

Placement constructor. Initializes the placement cell properties, such as positions and geometries.

Parameters
netlistCircuit netlist.
libPlacement library.

Member Function Documentation

geometry::multi_polygon<geometry::polygon<geometry::point<double> > > ophidian::placement::placement::cell_geometry ( entity_system::entity  cell) const
inline

Returns the geometry of a cell as a multi polygon. Each polygon in the multi polygon represents a rectangle of the cell.

Parameters
cellCell to get the geometry.
Returns
Multi polygon with the cell geometry.
void ophidian::placement::placement::cell_position ( entity_system::entity  cell,
geometry::point< double >  position 
)

Changes the position of a cell.

Parameters
cellCell to move.
positionTarget position of the cell.
geometry::point<double> ophidian::placement::placement::cell_position ( entity_system::entity  cell) const
inline

Returns the position of a cell.

Parameters
cellCell to get the position.
Returns
Point describing the cell position.
const library& ophidian::placement::placement::lib ( ) const
inline

Returns the placement library used in the placement construction.

Returns
Constant reference to the library object.
const netlist::netlist& ophidian::placement::placement::netlist ( ) const
inline

Returns the netlist used in the placement construction.

Returns
Constant reference to the netlist object.
void ophidian::placement::placement::pad_position ( entity_system::entity  pad,
geometry::point< double >  position 
)

Changes the position of a pad.

Parameters
padPad to move.
positionTarget position of the pad.
geometry::point<double> ophidian::placement::placement::pin_position ( entity_system::entity  pin) const
inline

Returns the position of a pin, calculated from the cell position and the pin offset.

Parameters
pinPin to get the position.
Returns
Point describing the pin position.

The documentation for this class was generated from the following files: