ZLayout EDA Library v1.0.0
Advanced Electronic Design Automation Layout Library with Bilingual Documentation
Loading...
Searching...
No Matches
zlayout::spatial::HierarchicalSpatialIndex< T > Class Template Reference

Hierarchical spatial index for ultra-large datasets. More...

#include <advanced_spatial.hpp>

Classes

struct  Statistics

Public Member Functions

 HierarchicalSpatialIndex (const geometry::Rectangle &world_bounds, size_t max_objects_per_block=1000000, size_t max_hierarchy_levels=8)
void bulk_insert (const std::vector< std::pair< T, geometry::Rectangle > > &objects)
void parallel_bulk_insert (const std::vector< std::pair< T, geometry::Rectangle > > &objects)
std::vector< T > parallel_query_range (const geometry::Rectangle &range) const
std::vector< std::pair< T, T > > parallel_find_intersections () const
void create_ip_block (const std::string &name, const geometry::Rectangle &boundary, const std::string &parent_name="root")
void optimize_hierarchy ()
Statistics get_statistics () const
void optimize_for_query_pattern (const std::vector< geometry::Rectangle > &query_patterns)

Detailed Description

template<typename T>
class zlayout::spatial::HierarchicalSpatialIndex< T >

Hierarchical spatial index for ultra-large datasets.

Definition at line 272 of file advanced_spatial.hpp.

Constructor & Destructor Documentation

◆ HierarchicalSpatialIndex()

template<typename T>
zlayout::spatial::HierarchicalSpatialIndex< T >::HierarchicalSpatialIndex ( const geometry::Rectangle & world_bounds,
size_t max_objects_per_block = 1000000,
size_t max_hierarchy_levels = 8 )
inline

Definition at line 287 of file advanced_spatial.hpp.

Member Function Documentation

◆ bulk_insert()

template<typename T>
void zlayout::spatial::HierarchicalSpatialIndex< T >::bulk_insert ( const std::vector< std::pair< T, geometry::Rectangle > > & objects)

Definition at line 372 of file advanced_spatial.hpp.

Here is the caller graph for this function:

◆ create_ip_block()

template<typename T>
void zlayout::spatial::HierarchicalSpatialIndex< T >::create_ip_block ( const std::string & name,
const geometry::Rectangle & boundary,
const std::string & parent_name = "root" )

Definition at line 213 of file advanced_spatial.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_statistics()

template<typename T>
HierarchicalSpatialIndex< T >::Statistics zlayout::spatial::HierarchicalSpatialIndex< T >::get_statistics ( ) const

Definition at line 367 of file advanced_spatial.cpp.

Here is the caller graph for this function:

◆ optimize_for_query_pattern()

template<typename T>
void zlayout::spatial::HierarchicalSpatialIndex< T >::optimize_for_query_pattern ( const std::vector< geometry::Rectangle > & query_patterns)

Definition at line 404 of file advanced_spatial.cpp.

Here is the call graph for this function:

◆ optimize_hierarchy()

template<typename T>
void zlayout::spatial::HierarchicalSpatialIndex< T >::optimize_hierarchy ( )

Definition at line 325 of file advanced_spatial.cpp.

Here is the call graph for this function:

◆ parallel_bulk_insert()

template<typename T>
void zlayout::spatial::HierarchicalSpatialIndex< T >::parallel_bulk_insert ( const std::vector< std::pair< T, geometry::Rectangle > > & objects)

Definition at line 394 of file advanced_spatial.hpp.

Here is the call graph for this function:

◆ parallel_find_intersections()

template<typename T>
std::vector< std::pair< T, T > > zlayout::spatial::HierarchicalSpatialIndex< T >::parallel_find_intersections ( ) const

Definition at line 280 of file advanced_spatial.cpp.

◆ parallel_query_range()

template<typename T>
std::vector< T > zlayout::spatial::HierarchicalSpatialIndex< T >::parallel_query_range ( const geometry::Rectangle & range) const

Definition at line 424 of file advanced_spatial.hpp.


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