Neko
0.9.0
A portable framework for high-order spectral element flow simulations
|
Axis Aligned Bounding Box (aabb) data structure. More...
Public Member Functions | |
procedure, pass, public | init => aabb_init |
procedure, pass, public | get_min => aabb_get_min |
procedure, pass, public | get_max => aabb_get_max |
procedure, pass, public | get_width => aabb_get_width |
procedure, pass, public | get_height => aabb_get_height |
procedure, pass, public | get_depth => aabb_get_depth |
procedure, pass, public | get_diameter => aabb_get_diameter |
procedure, pass, public | get_surface_area => aabb_get_surface_area |
procedure, pass, public | get_center => aabb_get_center |
procedure, pass, public | get_diagonal => aabb_get_diagonal |
procedure, pass, public | add_padding |
procedure, pass, public | overlaps => aabb_overlaps |
Check if two aabbs are overlapping. More... | |
procedure, pass, public | contains => aabb_contains_other |
Check if this aabb fully contains another aabb. More... | |
procedure, pass, public | contains_point => aabb_contains_point |
Check if this aabb contains a point. More... | |
Private Member Functions | |
generic | operator => less |
generic | operator => greater |
procedure, pass(this) | less => aabb_less |
procedure, pass(this) | greater => aabb_greater |
procedure, pass, private | calculate_surface_area |
Private Attributes | |
logical | initialized = .false. |
real(kind=dp), dimension(3) | box_min = huge(0.0_dp) |
real(kind=dp), dimension(3) | box_max = -huge(0.0_dp) |
real(kind=dp), dimension(3) | center = 0.0_dp |
real(kind=dp) | diameter = huge(0.0_dp) |
real(kind=dp) | surface_area = 0.0_dp |
The aabb is a box that is aligned to the x, y and z axes. It is defined by two points, the lower left front corner and the upper right back corner. The purpose of this is to accelerate a Signed Distance Function, through an aabb_Tree.
|
private |
|
private |
|
private |
|
private |
|
private |