ASCOT5
Toggle main menu visibility
Loading...
Searching...
No Matches
octree.h
Go to the documentation of this file.
1
5
#ifndef OCTREE_H
6
#define OCTREE_H
7
8
#include "
ascot5.h
"
9
#include "
list.h
"
10
17
typedef
struct
octree_node
{
18
struct
octree_node
*
n000
;
19
struct
octree_node
*
n100
;
20
struct
octree_node
*
n010
;
21
struct
octree_node
*
n110
;
22
struct
octree_node
*
n001
;
23
struct
octree_node
*
n101
;
24
struct
octree_node
*
n011
;
25
struct
octree_node
*
n111
;
26
real
bb1
[3];
27
real
bb2
[3];
28
list_int_node
*
list
;
29
}
octree_node
;
30
31
void
octree_create
(
octree_node
** node,
real
x_min,
real
x_max,
32
real
y_min,
real
y_max,
real
z_min,
real
z_max,
33
int
depth);
34
void
octree_free
(
octree_node
** node);
35
void
octree_add
(
octree_node
* node,
real
t1[3],
real
t2[3],
real
t3[3],
int
id
);
36
list_int_node
*
octree_get
(
octree_node
* node,
real
p[3]);
37
38
#endif
ascot5.h
Main header file for ASCOT5.
real
double real
Definition
ascot5.h:85
list.h
Header file for list.c.
octree_add
void octree_add(octree_node *node, real t1[3], real t2[3], real t3[3], int id)
Add triangle to the node(s) it belongs to.
Definition
octree.c:123
octree_free
void octree_free(octree_node **node)
Free octree node and all its child nodes.
Definition
octree.c:91
octree_create
void octree_create(octree_node **node, real x_min, real x_max, real y_min, real y_max, real z_min, real z_max, int depth)
Create octree of given depth.
Definition
octree.c:46
octree_get
list_int_node * octree_get(octree_node *node, real p[3])
Get that leaf node's linked list the given coordinate belongs to.
Definition
octree.c:164
list_int_node
Linked list node that stores int data.
Definition
list.h:12
octree_node
Struct representing single octree node.
Definition
octree.h:17
octree_node::n100
struct octree_node * n100
Definition
octree.h:19
octree_node::n111
struct octree_node * n111
Definition
octree.h:25
octree_node::n101
struct octree_node * n101
Definition
octree.h:23
octree_node::n110
struct octree_node * n110
Definition
octree.h:21
octree_node::n010
struct octree_node * n010
Definition
octree.h:20
octree_node::n000
struct octree_node * n000
Definition
octree.h:18
octree_node::n001
struct octree_node * n001
Definition
octree.h:22
octree_node::n011
struct octree_node * n011
Definition
octree.h:24
octree_node::list
list_int_node * list
Definition
octree.h:28
octree_node::bb2
real bb2[3]
Definition
octree.h:27
octree_node::bb1
real bb1[3]
Definition
octree.h:26
Generated on
for ASCOT5 by
1.18.0