uint depth
Depth of the cluster tree.
Definition: dcluster.h:95
Directional cluster tree.
Definition: dcluster.h:40
uint getalldirections_dcluster(pcdcluster t)
Compute the number of all directions for all clusters in a directional cluster tree.
const leveldir * pcleveldir
Pointer to constant leveldir object.
Definition: dcluster.h:33
real diam_dcluster(pcdcluster t)
Compute the diameter of the bounding box of a directional cluster.
preal ** dir
Directions, type real dir[depth][directions][dim]
Definition: dcluster.h:111
uint dim
Spatial dimension.
Definition: dcluster.h:98
size_t getsize_dcluster(pcdcluster t)
Compute the storage size of a directional cluster tree.
uint * splits
Splitting parameters.
Definition: dcluster.h:104
leveldir * pleveldir
Pointer to leveldir object.
Definition: dcluster.h:30
uint * idx
Index array, type uint idx[size]
Definition: dcluster.h:47
preal dirmem
Auxiliary storage.
Definition: dcluster.h:114
const dcluster * pcdcluster
Pointer to constant dcluster object.
Definition: dcluster.h:24
unsigned uint
Unsigned integer type.
Definition: settings.h:70
uint getactives_dcluster()
Get the number of active dcluster objects.
pdcluster * son
Pointers to sons, type pdcluster son[sons]
Definition: dcluster.h:54
uint finddirection_leveldir(pcleveldir ld, uint l, real alpha, pcreal d)
Find an index best matching on a given level of a directional cluster tree.
preal maxdiam
Diameter of largest cluster on this level.
Definition: dcluster.h:101
uint sons
Number of sons.
Definition: dcluster.h:50
void update_dcluster(pdcluster t)
Update a directional cluster.
uint size
Number of indices.
Definition: dcluster.h:43
real dist_dcluster(pcdcluster t, pcdcluster s)
Compute the distance of the bounding boxes of two directional clusters.
uint desc
Number of descendants in tree.
Definition: dcluster.h:82
pdcluster buildfromcluster_dcluster(pccluster t)
Construct a directional cluster tree.
pleveldir builddirections_box_dcluster(pdcluster t, real eta1)
Construct set of directions for a directional cluster tree by using a subdivision of an axis-parallel...
pleveldir new_leveldir(uint depth, uint dim)
Create directions for a cluster tree.
void del_dcluster(pdcluster t)
Delete a directional cluster tree.
#define HEADER_PREFIX
Prefix for function declarations.
Definition: settings.h:43
double real
real floating point type.
Definition: settings.h:97
real * bmax
Maximal coordinates of bounding boxes, type real bmax[dim]
Definition: dcluster.h:65
real * preal
Pointer to real array.
Definition: settings.h:145
uint getdepth_dcluster(pcdcluster t)
Compute the depth of a directional cluster tree.
uint finddirection_dcluster(pcdcluster t, real alpha, pcreal d)
Among the directions associated with a directional cluster, find the one that best matches ...
dcluster * pdcluster
Pointer to dcluster object.
Definition: dcluster.h:21
Families of directions for all levels of the cluster tree.
Definition: dcluster.h:92
real * bmin
Minimal coordinates of bounding boxes, type real bmin[dim]
Definition: dcluster.h:61
real middist_dcluster(pcdcluster t, pcdcluster s)
Compute the distance of the midpoints of the bounding boxes of two directional clusters.
pcreal * dir
Directions, type real dir[directions][dim]
Definition: dcluster.h:75
Representation of cluster trees.
Definition: cluster.h:40
uint ** dirson
Corresponding directions in sons, type uint dirson[sons][directions]
Definition: dcluster.h:79
pdcluster new_dcluster(uint size, uint *idx, uint sons, uint dim)
Create a new directional cluster.
void del_leveldir(pleveldir ld)
Delete directions.
uint dim
Dimension of bounding box.
Definition: dcluster.h:57
uint directions
Number of directions.
Definition: dcluster.h:68
const real * pcreal
Pointer to constant real array.
Definition: settings.h:148
uint * directions
Number of directions.
Definition: dcluster.h:107