TVolume - Data type describing a volume of space being searched for data.TData - BSP tree dataTBoundary - BSP tree boundarypublic abstract class BspDataSelector<TVolume,TData,TBoundary> extends Object
Selects data by volume - traverses nodes from root and uses boundaries to skip children not intersecting the volume.
| Modifier and Type | Field and Description |
|---|---|
protected IConstBspTree<TData,TBoundary> |
tree |
| Constructor and Description |
|---|
BspDataSelector(IConstBspTree<TData,TBoundary> tree)
Create a selector linked to a BSP tree
|
| Modifier and Type | Method and Description |
|---|---|
abstract BspOccupation |
determineVolumeOccupation(TBoundary boundary,
TVolume volume)
Determine what partitions a volume occupies
|
protected abstract TData |
filterDataByVolume(TVolume volume,
TData data)
Filter data by volume
|
TData |
select(TVolume volume)
Select data potentially within the volume
|
protected TData |
selectAdditionalData(IConstBspNode<TData,TBoundary> node,
TData dataFoundSoFar,
TVolume volume)
Select additional data
|
protected IConstBspTree<TData,TBoundary> tree
public BspDataSelector(IConstBspTree<TData,TBoundary> tree)
protected TData selectAdditionalData(IConstBspNode<TData,TBoundary> node, TData dataFoundSoFar, TVolume volume)
node - node to search for datadataFoundSoFar - data found so far, will be added to the resultvolume - limiting volumepublic abstract BspOccupation determineVolumeOccupation(TBoundary boundary, TVolume volume)
Copyright © 2019 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All rights reserved.