#include <lasquadtree.hpp>
Public Member Functions | |
BOOL | coarsen (const I32 cell_index, I32 *coarser_cell_index, U32 *num_cell_indices, I32 **cell_indices) const |
BOOL | get_all_cells () |
void | get_cell_bounding_box (const F64 x, const F64 y, F32 *min, F32 *max) const |
void | get_cell_bounding_box (const F64 x, const F64 y, U32 level, F32 *min, F32 *max) const |
void | get_cell_bounding_box (const I32 cell_index, F32 *min, F32 *max) const |
void | get_cell_bounding_box (U32 level_index, F32 *min, F32 *max) const |
void | get_cell_bounding_box (U32 level_index, U32 level, F32 *min, F32 *max) const |
U32 | get_cell_index (const F64 x, const F64 y) const |
U32 | get_cell_index (const F64 x, const F64 y, U32 level) const |
U32 | get_cell_index (U32 level_index) const |
U32 | get_cell_index (U32 level_index, U32 level) const |
BOOL | get_intersected_cells () |
U32 | get_level (U32 cell_index) const |
U32 | get_level_index (const F64 x, const F64 y) const |
U32 | get_level_index (const F64 x, const F64 y, F32 *min, F32 *max) const |
U32 | get_level_index (const F64 x, const F64 y, U32 level) const |
U32 | get_level_index (const F64 x, const F64 y, U32 level, F32 *min, F32 *max) const |
U32 | get_level_index (U32 cell_index) const |
U32 | get_level_index (U32 cell_index, U32 level) const |
U32 | get_max_cell_index () const |
U32 | get_max_cell_index (U32 level) const |
U32 | get_max_level_index () const |
U32 | get_max_level_index (U32 level) const |
F64 | get_max_x () const |
F64 | get_max_y () const |
F64 | get_min_x () const |
F64 | get_min_y () const |
BOOL | has_more_cells () |
BOOL | inside (const F64 x, const F64 y) const |
U32 | intersect_circle (const F64 center_x, const F64 center_y, const F64 radius) |
U32 | intersect_circle (const F64 center_x, const F64 center_y, const F64 radius, U32 level) |
U32 | intersect_rectangle (const F64 r_min_x, const F64 r_min_y, const F64 r_max_x, const F64 r_max_y) |
U32 | intersect_rectangle (const F64 r_min_x, const F64 r_min_y, const F64 r_max_x, const F64 r_max_y, U32 level) |
U32 | intersect_tile (const F32 ll_x, const F32 ll_y, const F32 size) |
U32 | intersect_tile (const F32 ll_x, const F32 ll_y, const F32 size, U32 level) |
LASquadtree () | |
BOOL | manage_cell (const U32 cell_index, const BOOL finalize=FALSE) |
U32 * | raster_occupancy (BOOL(*does_cell_exist)(I32)) const |
U32 * | raster_occupancy (BOOL(*does_cell_exist)(I32), U32 level) const |
BOOL | read (ByteStreamIn *stream) |
BOOL | setup (F64 bb_min_x, F64 bb_max_x, F64 bb_min_y, F64 bb_max_y, F32 cell_size=1000.0f) |
BOOL | subtiling_setup (F32 min_x, F32 max_x, F32 min_y, F32 max_y, U32 sub_level, U32 sub_level_index, U32 levels) |
BOOL | write (ByteStreamOut *stream) const |
~LASquadtree () | |
Public Member Functions inherited from LASspatial | |
virtual | ~LASspatial () |
Public Attributes | |
F32 | cell_size |
U32 | cells_x |
U32 | cells_y |
U32 | levels |
F32 | max_x |
F32 | max_y |
F32 | min_x |
F32 | min_y |
Public Attributes inherited from LASspatial | |
I32 | current_cell |
Private Member Functions | |
void | intersect_circle_with_cells (const F64 center_x, const F64 center_y, const F64 radius, const F64 r_min_x, const F64 r_min_y, const F64 r_max_x, const F64 r_max_y, const F32 cell_min_x, const F32 cell_max_x, const F32 cell_min_y, const F32 cell_max_y, U32 level, U32 level_index) |
void | intersect_circle_with_cells_adaptive (const F64 center_x, const F64 center_y, const F64 radius, const F64 r_min_x, const F64 r_min_y, const F64 r_max_x, const F64 r_max_y, const F32 cell_min_x, const F32 cell_max_x, const F32 cell_min_y, const F32 cell_max_y, U32 level, U32 level_index) |
BOOL | intersect_circle_with_rectangle (const F64 center_x, const F64 center_y, const F64 radius, const F32 r_min_x, const F32 r_max_x, const F32 r_min_y, const F32 r_max_y) |
void | intersect_rectangle_with_cells (const F64 r_min_x, const F64 r_min_y, const F64 r_max_x, const F64 r_max_y, const F32 cell_min_x, const F32 cell_max_x, const F32 cell_min_y, const F32 cell_max_y, U32 level, U32 level_index) |
void | intersect_rectangle_with_cells_adaptive (const F64 r_min_x, const F64 r_min_y, const F64 r_max_x, const F64 r_max_y, const F32 cell_min_x, const F32 cell_max_x, const F32 cell_min_y, const F32 cell_max_y, U32 level, U32 level_index) |
void | intersect_tile_with_cells (const F32 ll_x, const F32 ll_y, const F32 ur_x, const F32 ur_y, const F32 cell_min_x, const F32 cell_max_x, const F32 cell_min_y, const F32 cell_max_y, U32 level, U32 level_index) |
void | intersect_tile_with_cells_adaptive (const F32 ll_x, const F32 ll_y, const F32 ur_x, const F32 ur_y, const F32 cell_min_x, const F32 cell_max_x, const F32 cell_min_y, const F32 cell_max_y, U32 level, U32 level_index) |
void | raster_occupancy (BOOL(*does_cell_exist)(I32), U32 *data, U32 min_x, U32 min_y, U32 level_index, U32 level, U32 stop_level) const |
Private Attributes | |
U32 * | adaptive |
U32 | adaptive_alloc |
U32 | coarser_indices [4] |
void * | current_cells |
U32 | level_offset [24] |
U32 | next_cell_index |
U32 | sub_level |
U32 | sub_level_index |
Definition at line 39 of file lasquadtree.hpp.
LASquadtree::LASquadtree | ( | ) |
Definition at line 1499 of file lasquadtree.cpp.
LASquadtree::~LASquadtree | ( | ) |
Definition at line 1521 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 349 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 1387 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 148 of file lasquadtree.cpp.
void LASquadtree::get_cell_bounding_box | ( | const F64 | x, |
const F64 | y, | ||
U32 | level, | ||
F32 * | min, | ||
F32 * | max | ||
) | const |
Definition at line 101 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 209 of file lasquadtree.cpp.
Definition at line 203 of file lasquadtree.cpp.
Definition at line 154 of file lasquadtree.cpp.
Implements LASspatial.
Definition at line 343 of file lasquadtree.cpp.
Definition at line 330 of file lasquadtree.cpp.
Definition at line 411 of file lasquadtree.cpp.
Definition at line 398 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 1393 of file lasquadtree.cpp.
Definition at line 390 of file lasquadtree.cpp.
Definition at line 263 of file lasquadtree.cpp.
Definition at line 324 of file lasquadtree.cpp.
Definition at line 217 of file lasquadtree.cpp.
U32 LASquadtree::get_level_index | ( | const F64 | x, |
const F64 | y, | ||
U32 | level, | ||
F32 * | min, | ||
F32 * | max | ||
) | const |
Definition at line 269 of file lasquadtree.cpp.
Definition at line 384 of file lasquadtree.cpp.
Definition at line 371 of file lasquadtree.cpp.
U32 LASquadtree::get_max_cell_index | ( | ) | const |
Definition at line 435 of file lasquadtree.cpp.
Definition at line 429 of file lasquadtree.cpp.
U32 LASquadtree::get_max_level_index | ( | ) | const |
Definition at line 423 of file lasquadtree.cpp.
Definition at line 417 of file lasquadtree.cpp.
|
inlinevirtual |
Implements LASspatial.
Definition at line 66 of file lasquadtree.hpp.
|
inlinevirtual |
Implements LASspatial.
Definition at line 67 of file lasquadtree.hpp.
|
inlinevirtual |
Implements LASspatial.
Definition at line 64 of file lasquadtree.hpp.
|
inlinevirtual |
Implements LASspatial.
Definition at line 65 of file lasquadtree.hpp.
|
virtual |
Implements LASspatial.
Definition at line 1407 of file lasquadtree.cpp.
Implements LASspatial.
Definition at line 696 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 810 of file lasquadtree.cpp.
U32 LASquadtree::intersect_circle | ( | const F64 | center_x, |
const F64 | center_y, | ||
const F64 | radius, | ||
U32 | level | ||
) |
Definition at line 777 of file lasquadtree.cpp.
|
private |
Definition at line 1153 of file lasquadtree.cpp.
|
private |
Definition at line 1239 of file lasquadtree.cpp.
|
private |
Definition at line 1328 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 736 of file lasquadtree.cpp.
U32 LASquadtree::intersect_rectangle | ( | const F64 | r_min_x, |
const F64 | r_min_y, | ||
const F64 | r_max_x, | ||
const F64 | r_max_y, | ||
U32 | level | ||
) |
Definition at line 708 of file lasquadtree.cpp.
|
private |
Definition at line 815 of file lasquadtree.cpp.
|
private |
Definition at line 898 of file lasquadtree.cpp.
Implements LASspatial.
Definition at line 772 of file lasquadtree.cpp.
Definition at line 741 of file lasquadtree.cpp.
|
private |
Definition at line 984 of file lasquadtree.cpp.
|
private |
Definition at line 1067 of file lasquadtree.cpp.
Implements LASspatial.
Definition at line 659 of file lasquadtree.cpp.
Definition at line 512 of file lasquadtree.cpp.
|
private |
Definition at line 441 of file lasquadtree.cpp.
Definition at line 498 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 518 of file lasquadtree.cpp.
BOOL LASquadtree::setup | ( | F64 | bb_min_x, |
F64 | bb_max_x, | ||
F64 | bb_min_y, | ||
F64 | bb_max_y, | ||
F32 | cell_size = 1000.0f |
||
) |
Definition at line 1429 of file lasquadtree.cpp.
BOOL LASquadtree::subtiling_setup | ( | F32 | min_x, |
F32 | max_x, | ||
F32 | min_y, | ||
F32 | max_y, | ||
U32 | sub_level, | ||
U32 | sub_level_index, | ||
U32 | levels | ||
) |
Definition at line 1480 of file lasquadtree.cpp.
|
virtual |
Implements LASspatial.
Definition at line 591 of file lasquadtree.cpp.
|
private |
Definition at line 134 of file lasquadtree.hpp.
|
private |
Definition at line 133 of file lasquadtree.hpp.
F32 LASquadtree::cell_size |
Definition at line 115 of file lasquadtree.hpp.
U32 LASquadtree::cells_x |
Definition at line 120 of file lasquadtree.hpp.
U32 LASquadtree::cells_y |
Definition at line 121 of file lasquadtree.hpp.
|
private |
Definition at line 132 of file lasquadtree.hpp.
|
private |
Definition at line 144 of file lasquadtree.hpp.
|
private |
Definition at line 131 of file lasquadtree.hpp.
U32 LASquadtree::levels |
Definition at line 114 of file lasquadtree.hpp.
F32 LASquadtree::max_x |
Definition at line 117 of file lasquadtree.hpp.
F32 LASquadtree::max_y |
Definition at line 119 of file lasquadtree.hpp.
F32 LASquadtree::min_x |
Definition at line 116 of file lasquadtree.hpp.
F32 LASquadtree::min_y |
Definition at line 118 of file lasquadtree.hpp.
|
private |
Definition at line 145 of file lasquadtree.hpp.
|
private |
Definition at line 129 of file lasquadtree.hpp.
|
private |
Definition at line 130 of file lasquadtree.hpp.