# Hurricane Documentation

# Hurricane VLSI Database

List of all members | Public Member Functions
Hurricane::Slice Class Reference

Slice description (API) More...

## Public Member Functions

Cell * | getCell () const
const Layer * | getLayer () const
const Box & | getBoundingBox () const
Gos | getGos () const
Components | getComponents () const
Components | getComponentsUnder (const Box &area, DbU::Unit threshold=0) const

## Detailed Description

Slice description (API)

# Introduction

The slices are objects which split the layout description of a cell into horizontal slices grouping all objects located on a given layer and storing them into a fast geometrical access structure implemented by a quadtree.

# Construction and destruction

The slices are fully managed by the cells : they are neither created nor destroyed by the application programmer.

Components are inserted in a slice (at their creation) and removed from their slice (at their deletion).

Empty slices being automatically deleted, you must never store pointers to them.

# Example

The following example shows how to visit all cell components lying on a given basic layer and whose bounding box intersects some rectangular area.

Cell* cell = ...; // we get the cell
BasicLayer* basicLayer = ...; // we get the basic layer
Box area = ...; // we define the rectangular area
forEach(Slice*, islice, cell->getSlices()) {
if (islice->getLayer()->contains(basicLayer)) {
forEach(Component*, icomponent, slice->getComponentsUnder(area)) {
// ...
// here we visit all requested components
// ...
}
}
}

## Member Function Documentation

## ◆ getCell()

Cell * Hurricane::Slice::getCell | ( |  | ) | const

inline

Returns: the cell owning the slice.

## ◆ getLayer()

Layer * Hurricane::Slice::getLayer | ( |  | ) | const

inline

Returns: the layer associated to the slice : all components lying in a cell are perforce located on that layer.

## ◆ getBoundingBox()

Box Hurricane::Slice::getBoundingBox | ( |  | ) | const

inline

Returns: the bounding box of the slice, that is the smallest enclosing rectangle of all its components.

References Hurricane::QuadTree::getBoundingBox().

## ◆ getGos()

const Gos Hurricane::Slice::getGos | ( |  | ) | const

inline

Returns: the collection of graphic objects lying on the slice.

References Hurricane::QuadTree::getGos().

## ◆ getComponents()

const Components Hurricane::Slice::getComponents | ( |  | ) | const

Returns: the collection of components lying on the slice.

## ◆ getComponentsUnder()

const Components Hurricane::Slice::getComponentsUnder | ( | const Box & | area,
|  | DbU::Unit | threshold = `0`
| ) |  | const

Returns: the collection of components of the slice whose bounding box intersects the rectangular region defined by `<area>`.

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

- Slice.h
- Slice.dox