pub trait RegionSearch: LayoutBase {
    // Required methods
    fn each_shape_in_region_per_layer(
        &self,
        cell: &Self::CellId,
        layer_id: &Self::LayerId,
        search_region: &Rect<Self::Coord>
    ) -> Box<dyn Iterator<Item = Self::ShapeId>, Global>;
    fn each_cell_instance_in_region(
        &self,
        cell: &Self::CellId,
        search_region: &Rect<Self::Coord>
    ) -> Box<dyn Iterator<Item = Self::CellInstId>, Global>;

    // Provided method
    fn each_shape_in_region(
        &self,
        cell: &Self::CellId,
        search_region: &Rect<Self::Coord>
    ) -> Box<dyn Iterator<Item = Self::ShapeId>, Global> { ... }
}
Expand description

Access shapes and instances in a layout based on their locations.

Required Methods§

source

fn each_shape_in_region_per_layer( &self, cell: &Self::CellId, layer_id: &Self::LayerId, search_region: &Rect<Self::Coord> ) -> Box<dyn Iterator<Item = Self::ShapeId>, Global>

Iterate over the IDs of all shapes (on a specific layer) whose bounding-box overlaps with the search_region.

source

fn each_cell_instance_in_region( &self, cell: &Self::CellId, search_region: &Rect<Self::Coord> ) -> Box<dyn Iterator<Item = Self::CellInstId>, Global>

Iterate over the IDs of all instances within the cell whose bounding-box overlaps with the search_region.

Provided Methods§

source

fn each_shape_in_region( &self, cell: &Self::CellId, search_region: &Rect<Self::Coord> ) -> Box<dyn Iterator<Item = Self::ShapeId>, Global>

Iterate over the IDs of all shapes (on all layers) whose bounding-box overlaps with the search_region.

Implementors§

source§

impl<'a, L> RegionSearch for RegionSearchAdapter<'a, L>where L: LayoutBase + 'static, <L as LayoutIds>::Coord: PrimInt + Signed + Debug,