Octree_Int_32_64#

#include <Octree_Int.h>
Brief description

: Un octree permettant de retrouver des objets ponctuels ou parallelipipediques dans un espace 1D, 2D ou 3D et des coordonnees entieres

How to reference this class#

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree\_Int\_32\_64 <class-template-octree-int-32-64>`
[Octree\_Int\_32\_64](#class-template-octree-int-32-64)

Detailed description#

Inheritance graph#

If the image is too small, right-click and open in new tab

../../../../../_images/classOctree__Int__32__64__inherit__graph.png

List of Public Methods#

List of Protected Methods#

List of Protected Static Methods#

Complete Member Function Documentation#

build#

Definition
void Octree_Int_32_64<_SIZE_>::build(const int dimension, const IntTab_t &elements_boxes)
Brief description

construction de l’octree.

Detailed description

On donne la dimension (1, 2 ou 3) et un tableau d’elements a stocker dans l’octree. Deux possibilites: 1) les elements sont ponctuels si elements_boxes.dimension(1) = = dimension. Dans ce cas, chaque element se trouve dans un et un seul octree_floor 2) les elements sont des parallelipipedes, si elements_boxes.dimension(1) = = dimension*2 Les “dimension” premieres colonnes sont les coordonnees inferieures, les “dimension” suivantes sont les coordonnees superieures. Un parallelipipede peut etre affecte a plusieurs octree_floor. Les coordonnees stockees dans elements_boxes peuvent aller de 0 a coord_max_ inclus. Il vaut mieux utiliser toute la plage des entiers en multipliant par un facteur adequat.

References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`void Octree_Int_32_64<_SIZE_>::build(const int dimension, const IntTab_t &elements_boxes) <octree-int-32-64-public-void-octree-int-32-64-size-build-const-int-dimension-const-inttab-t-ref-elements-boxes>`
[void Octree_Int_32_64<_SIZE_>::build(const int dimension, const IntTab_t &elements_boxes)](#octree-int-32-64-public-void-octree-int-32-64-size-build-const-int-dimension-const-inttab-t-ref-elements-boxes)

floor_elements#

Definition
const ArrOfInt_t & Octree_Int_32_64<_SIZE_>::floor_elements() const
Brief description
Detailed description
References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`const ArrOfInt_t & Octree_Int_32_64<_SIZE_>::floor_elements() const <octree-int-32-64-public-const-arrofint-t-ref-octree-int-32-64-size-floor-elements-const>`
[const ArrOfInt_t & Octree_Int_32_64<_SIZE_>::floor_elements() const](#octree-int-32-64-public-const-arrofint-t-ref-octree-int-32-64-size-floor-elements-const)

reset#

Definition
void Octree_Int_32_64<_SIZE_>::reset()
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`void Octree_Int_32_64<_SIZE_>::reset() <octree-int-32-64-public-void-octree-int-32-64-size-reset>`
[void Octree_Int_32_64<_SIZE_>::reset()](#octree-int-32-64-public-void-octree-int-32-64-size-reset)

search_elements#

Definition
Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_elements(int x, int y, int z, int_t &floor_elements_index) const
Brief description

renvoie la liste des elements contenant potentiellement le point (x,y,z) On renvoie n = nombre d’elements de la liste et les elements sont dans

Detailed description

floor_elements() [index + i] pour 0 < = i <n. En realite on renvoie tous les elements qui ont une intersection non vide avec l’octree_floor contenant le point (x,y,z)

How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_elements(int x, int y, int z, int_t &floor_elements_index) const <octree-int-32-64-public-octree-int-32-64-size-int-t-octree-int-32-64-size-search-elements-int-x-int-y-int-z-int-t-ref-floor-elements-index-const>`
[Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_elements(int x, int y, int z, int_t &floor_elements_index) const](#octree-int-32-64-public-octree-int-32-64-size-int-t-octree-int-32-64-size-search-elements-int-x-int-y-int-z-int-t-ref-floor-elements-index-const)

search_elements_box#

Definition
Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_elements_box(int xmin, int ymin, int zmin, int xmax, int ymax, int zmax, ArrOfInt_t &elements) const
Brief description

cherche les elements ayant potentiellement une intersection non vide avec la boite xmin..zmax. Les elements peuvent apparaitre plusieurs fois dans le tableau “elements”

Detailed description
References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_elements_box(int xmin, int ymin, int zmin, int xmax, int ymax, int zmax, ArrOfInt_t &elements) const <octree-int-32-64-public-octree-int-32-64-size-int-t-octree-int-32-64-size-search-elements-box-int-xmin-int-ymin-int-zmin-int-xmax-int-ymax-int-zmax-arrofint-t-ref-elements-const>`
[Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_elements_box(int xmin, int ymin, int zmin, int xmax, int ymax, int zmax, ArrOfInt_t &elements) const](#octree-int-32-64-public-octree-int-32-64-size-int-t-octree-int-32-64-size-search-elements-box-int-xmin-int-ymin-int-zmin-int-xmax-int-ymax-int-zmax-arrofint-t-ref-elements-const)

build_octree_floor#

Definition
Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::build_octree_floor(const ArrOfInt_t &elements_list)
Brief description

construit un octree_floor avec la liste d’elements donnee et renvoie l’octree_id de cet octree_floor

Detailed description
References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::build_octree_floor(const ArrOfInt_t &elements_list) <octree-int-32-64-protected-octree-int-32-64-size-int-t-octree-int-32-64-size-build-octree-floor-const-arrofint-t-ref-elements-list>`
[Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::build_octree_floor(const ArrOfInt_t &elements_list)](#octree-int-32-64-protected-octree-int-32-64-size-int-t-octree-int-32-64-size-build-octree-floor-const-arrofint-t-ref-elements-list)

build_octree_recursively#

Definition
Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::build_octree_recursively(const int octree_center_x, const int octree_center_y, const int octree_center_z, const int octree_half_width, const IntTab_t &elements_boxes, ArrsOfInt_t &vect_elements_list, const int level, AOFlagS_ &tmp_elem_flags)
Brief description

octree_center_i est le premier int de la moitie superieure de l’octree dans la direction i.

Detailed description

octree_half_width est une puissance de 2 egale a octree_center_i - octree_min_i (octree_min_i est le premier int inclu dans cet octree dans la direction i) Valeur de retour: octree_id de l’octree construit (void octree_structure_)

References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::build_octree_recursively(const int octree_center_x, const int octree_center_y, const int octree_center_z, const int octree_half_width, const IntTab_t &elements_boxes, ArrsOfInt_t &vect_elements_list, const int level, AOFlagS_ &tmp_elem_flags) <octree-int-32-64-protected-octree-int-32-64-size-int-t-octree-int-32-64-size-build-octree-recursively-const-int-octree-center-x-const-int-octree-center-y-const-int-octree-center-z-const-int-octree-half-width-const-inttab-t-ref-elements-boxes-arrsofint-t-ref-vect-elements-list-const-int-level-aoflags-ref-tmp-elem-flags>`
[Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::build_octree_recursively(const int octree_center_x, const int octree_center_y, const int octree_center_z, const int octree_half_width, const IntTab_t &elements_boxes, ArrsOfInt_t &vect_elements_list, const int level, AOFlagS_ &tmp_elem_flags)](#octree-int-32-64-protected-octree-int-32-64-size-int-t-octree-int-32-64-size-build-octree-recursively-const-int-octree-center-x-const-int-octree-center-y-const-int-octree-center-z-const-int-octree-half-width-const-inttab-t-ref-elements-boxes-arrsofint-t-ref-vect-elements-list-const-int-level-aoflags-ref-tmp-elem-flags)

search_elements_box_floor#

Definition
void Octree_Int_32_64<_SIZE_>::search_elements_box_floor(IntBoxData< _SIZE_ > &boxdata, int_t octree_floor_id) const
Brief description

ajoute des elements de l’octree_floor a boxdata.

Detailed description

elements_

How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`void Octree_Int_32_64<_SIZE_>::search_elements_box_floor(IntBoxData< _SIZE_ > &boxdata, int_t octree_floor_id) const <octree-int-32-64-protected-void-octree-int-32-64-size-search-elements-box-floor-intboxdata-size-ref-boxdata-int-t-octree-floor-id-const>`
[void Octree_Int_32_64<_SIZE_>::search_elements_box_floor(IntBoxData< _SIZE_ > &boxdata, int_t octree_floor_id) const](#octree-int-32-64-protected-void-octree-int-32-64-size-search-elements-box-floor-intboxdata-size-ref-boxdata-int-t-octree-floor-id-const)

search_elements_box_recursively#

Definition
void Octree_Int_32_64<_SIZE_>::search_elements_box_recursively(IntBoxData< _SIZE_ > &boxdata, int_t octree_id, int cx, int cy, int cz, int half_width) const
Brief description

cherche recursivement les elements inclus dans la boite boxdata pour l’octree_id donne, de centre cx, cy, cz.

Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`void Octree_Int_32_64<_SIZE_>::search_elements_box_recursively(IntBoxData< _SIZE_ > &boxdata, int_t octree_id, int cx, int cy, int cz, int half_width) const <octree-int-32-64-protected-void-octree-int-32-64-size-search-elements-box-recursively-intboxdata-size-ref-boxdata-int-t-octree-id-int-cx-int-cy-int-cz-int-half-width-const>`
[void Octree_Int_32_64<_SIZE_>::search_elements_box_recursively(IntBoxData< _SIZE_ > &boxdata, int_t octree_id, int cx, int cy, int cz, int half_width) const](#octree-int-32-64-protected-void-octree-int-32-64-size-search-elements-box-recursively-intboxdata-size-ref-boxdata-int-t-octree-id-int-cx-int-cy-int-cz-int-half-width-const)

search_octree_floor#

Definition
Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_octree_floor(int x_pos, int y_pos, int z_pos) const
Brief description

renvoie l’octree_id de l’octree_floor contenant le sommet (x,y,z) (peut renvoyer l’octree EMPTY)

Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_octree_floor(int x_pos, int y_pos, int z_pos) const <octree-int-32-64-protected-octree-int-32-64-size-int-t-octree-int-32-64-size-search-octree-floor-int-x-pos-int-y-pos-int-z-pos-const>`
[Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::search_octree_floor(int x_pos, int y_pos, int z_pos) const](#octree-int-32-64-protected-octree-int-32-64-size-int-t-octree-int-32-64-size-search-octree-floor-int-x-pos-int-y-pos-int-z-pos-const)

octree_id#

Definition
Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::octree_id(int_t index, Octree_Type type)
Brief description

construction d’un octree_id (voir octree_structure_)

Detailed description

Si type = = EMPTY, l’octree_id est 0 Si type = = OCTREE, on suppose que index est un indice dans octree_structure_ Si type = = FLOOR, on suppose que index est un indice dans floor_elements_

How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::octree_id(int_t index, Octree_Type type) <octree-int-32-64-protected-static-octree-int-32-64-size-int-t-octree-int-32-64-size-octree-id-int-t-index-octree-type-type>`
[Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::octree_id(int_t index, Octree_Type type)](#octree-int-32-64-protected-static-octree-int-32-64-size-int-t-octree-int-32-64-size-octree-id-int-t-index-octree-type-type)

octree_index#

Definition
Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::octree_index(int_t octree_id, Octree_Type type)
Brief description

calcul de l’index de l’octree dans octree_structure ou floor_elements en fonction du type de l’octree et de son octree_id.

Detailed description

En general on a deja determine le type avant, on le passe en parametre pour optimiser.

How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::octree_index(int_t octree_id, Octree_Type type) <octree-int-32-64-protected-static-octree-int-32-64-size-int-t-octree-int-32-64-size-octree-index-int-t-octree-id-octree-type-type>`
[Octree_Int_32_64<_SIZE_>::int_t Octree_Int_32_64<_SIZE_>::octree_index(int_t octree_id, Octree_Type type)](#octree-int-32-64-protected-static-octree-int-32-64-size-int-t-octree-int-32-64-size-octree-index-int-t-octree-id-octree-type-type)

octree_type#

Definition
Octree_Int_32_64<_SIZE_>::Octree_Type Octree_Int_32_64<_SIZE_>::octree_type(int_t octree_id)
Brief description

Renvoie le type d’un octree en fonction de son octree_id.

Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree_Int_32_64<_SIZE_>::Octree_Type Octree_Int_32_64<_SIZE_>::octree_type(int_t octree_id) <octree-int-32-64-protected-static-octree-int-32-64-size-octree-type-octree-int-32-64-size-octree-type-int-t-octree-id>`
[Octree_Int_32_64<_SIZE_>::Octree_Type Octree_Int_32_64<_SIZE_>::octree_type(int_t octree_id)](#octree-int-32-64-protected-static-octree-int-32-64-size-octree-type-octree-int-32-64-size-octree-type-int-t-octree-id)

Attributes Documentation#

coord_max_ (public)
const int Octree_Int_32_64<_SIZE_>::coord_max_
root_octree_half_width_ (public)
const int Octree_Int_32_64<_SIZE_>::root_octree_half_width_
floor_elements_ (protected)
ArrOfInt_t Octree_Int_32_64<_SIZE_>::floor_elements_
nb_elements_ (protected)
int_t Octree_Int_32_64<_SIZE_>::nb_elements_
octree_structure_ (protected)
IntTab_t Octree_Int_32_64<_SIZE_>::octree_structure_
root_octree_id_ (protected)
int_t Octree_Int_32_64<_SIZE_>::root_octree_id_

Enums#

Octree_Int_32_64::Octree_Type#

Location: trust-code/src/Kernel/Geometrie/Octree_Int.h:66

How to cite in this doc: Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Octree\_Int\_32\_64::Octree\_Type <enum-none-octree-int-32-64-octree-type>`
[Octree\_Int\_32\_64::Octree\_Type](#enum-none-octree-int-32-64-octree-type)
  • EMPTY

  • OCTREE

  • FLOOR