Octree_Double_32_64#

#include <Octree_Double.h>
Brief description

: Un octree permettant de chercher dans l’espace des elements ou des points decrits par des coordonnees reeles.

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\_Double\_32\_64 <class-template-octree-double-32-64>`
[Octree\_Double\_32\_64](#class-template-octree-double-32-64)

Detailed description#

Cet objet est base sur Octree_Int. Astuces: Pour chercher des points a epsilon pres on peut faire: 1) build_nodes(coord, include_virt, 0.) suivi de search_elements_box(center, epsilon, elements); 2) build_nodes(coord, include_virt, epsilon) suivi de search_elements(x,y,z,…) La premiere solution prend plus de temps pour construire l’octree mais la recherche est plus rapide La deuxieme, c’est inverse… et on peut choisir epsilon pour chaque point.

Inheritance graph#

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

../../../../../_images/classOctree__Double__32__64__inherit__graph.png

List of Public Methods#

List of Public Static Methods#

List of Protected Methods#

Complete Member Function Documentation#

build_elements#

Definition
void Octree_Double_32_64<_SIZE_>::build_elements(const _TAB_TYPE_ &coords, const IntTab_t &elements, const double epsilon, const bool include_virtual)
Brief description
Detailed description
Referenced By
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_Double_32_64<_SIZE_>::build_elements(const _TAB_TYPE_ &coords, const IntTab_t &elements, const double epsilon, const bool include_virtual) <octree-double-32-64-public-void-octree-double-32-64-size-build-elements-const-tab-type-ref-coords-const-inttab-t-ref-elements-const-double-epsilon-const-bool-include-virtual>`
[void Octree_Double_32_64<_SIZE_>::build_elements(const _TAB_TYPE_ &coords, const IntTab_t &elements, const double epsilon, const bool include_virtual)](#octree-double-32-64-public-void-octree-double-32-64-size-build-elements-const-tab-type-ref-coords-const-inttab-t-ref-elements-const-double-epsilon-const-bool-include-virtual)

build_nodes#

Definition
void Octree_Double_32_64<_SIZE_>::build_nodes(const DoubleTab_t &coords, const bool include_virtual, const double epsilon=0.)
Brief description

construit un octree contenant les points de coordonnees coords.

Detailed description

Si include_virtual = 1, on stocke coords.dimension_tot(0) elements, sinon on en stocke coords.dimension(0) Si epsilon = 0, on construit un octree de points de taille nulle (chaque point se trouve dans un seul octree_floor) Sinon, on construit un octree d’elements cubiques centres sur les coords, de demie-largeur epsilon. Un point peut alors se trouver dans plusieurs octree_floor.

Referenced By
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_Double_32_64<_SIZE_>::build_nodes(const DoubleTab_t &coords, const bool include_virtual, const double epsilon=0.) <octree-double-32-64-public-void-octree-double-32-64-size-build-nodes-const-doubletab-t-ref-coords-const-bool-include-virtual-const-double-epsilon-equal-0.>`
[void Octree_Double_32_64<_SIZE_>::build_nodes(const DoubleTab_t &coords, const bool include_virtual, const double epsilon=0.)](#octree-double-32-64-public-void-octree-double-32-64-size-build-nodes-const-doubletab-t-ref-coords-const-bool-include-virtual-const-double-epsilon-equal-0.)

dimension#

Definition
int Octree_Double_32_64<_SIZE_>::dimension() 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:`int Octree_Double_32_64<_SIZE_>::dimension() const <octree-double-32-64-public-int-octree-double-32-64-size-dimension-const>`
[int Octree_Double_32_64<_SIZE_>::dimension() const](#octree-double-32-64-public-int-octree-double-32-64-size-dimension-const)

floor_elements#

Definition
const ArrOfInt_t & Octree_Double_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_Double_32_64<_SIZE_>::floor_elements() const <octree-double-32-64-public-const-arrofint-t-ref-octree-double-32-64-size-floor-elements-const>`
[const ArrOfInt_t & Octree_Double_32_64<_SIZE_>::floor_elements() const](#octree-double-32-64-public-const-arrofint-t-ref-octree-double-32-64-size-floor-elements-const)

reset#

Definition
void Octree_Double_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_Double_32_64<_SIZE_>::reset() <octree-double-32-64-public-void-octree-double-32-64-size-reset>`
[void Octree_Double_32_64<_SIZE_>::reset()](#octree-double-32-64-public-void-octree-double-32-64-size-reset)

search_elements#

Definition
Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements(double x, double y, double z, int_t &index) const
Brief description

cherche les elements ou les points contenus dans l’octree_floor qui contient le point (x,y,z).

Detailed description

Renvoie le nombre n de ces elements. Les indices des elements sont dans floor_elements() [index + i] pour 0 < = i <n

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_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements(double x, double y, double z, int_t &index) const <octree-double-32-64-public-octree-double-32-64-size-int-t-octree-double-32-64-size-search-elements-double-x-double-y-double-z-int-t-ref-index-const>`
[Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements(double x, double y, double z, int_t &index) const](#octree-double-32-64-public-octree-double-32-64-size-int-t-octree-double-32-64-size-search-elements-double-x-double-y-double-z-int-t-ref-index-const)

search_elements_box#

Definition
Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements_box(const ArrOfDouble &center, const double radius, ArrOfInt_t &elements) const
Brief description

cherche tous les elements ou points ayant potentiellement une intersection non vide avec la boite donnee (centre + ou - radius dans chaque direction)

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_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements_box(const ArrOfDouble &center, const double radius, ArrOfInt_t &elements) const <octree-double-32-64-public-octree-double-32-64-size-int-t-octree-double-32-64-size-search-elements-box-const-arrofdouble-ref-center-const-double-radius-arrofint-t-ref-elements-const>`
[Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements_box(const ArrOfDouble &center, const double radius, ArrOfInt_t &elements) const](#octree-double-32-64-public-octree-double-32-64-size-int-t-octree-double-32-64-size-search-elements-box-const-arrofdouble-ref-center-const-double-radius-arrofint-t-ref-elements-const)

search_elements_box#

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

cherche tous les elements ou points ayant potentiellement une intersection non vide avec la boite donnee.

Detailed description
References
Referenced By
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_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements_box(double xmin, double ymin, double zmin, double xmax, double ymax, double zmax, ArrOfInt_t &elements) const <octree-double-32-64-public-octree-double-32-64-size-int-t-octree-double-32-64-size-search-elements-box-double-xmin-double-ymin-double-zmin-double-xmax-double-ymax-double-zmax-arrofint-t-ref-elements-const>`
[Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements_box(double xmin, double ymin, double zmin, double xmax, double ymax, double zmax, ArrOfInt_t &elements) const](#octree-double-32-64-public-octree-double-32-64-size-int-t-octree-double-32-64-size-search-elements-box-double-xmin-double-ymin-double-zmin-double-xmax-double-ymax-double-zmax-arrofint-t-ref-elements-const)

search_nodes_close_to#

Definition
Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_nodes_close_to(const ArrOfDouble &point, const DoubleTab_t &coords, ArrOfInt_t &node_list, double epsilon)
Brief description

Idem que search_nodes_close_to(double x, double y, double z, .

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_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_nodes_close_to(const ArrOfDouble &point, const DoubleTab_t &coords, ArrOfInt_t &node_list, double epsilon) <octree-double-32-64-public-static-octree-double-32-64-size-int-t-octree-double-32-64-size-search-nodes-close-to-const-arrofdouble-ref-point-const-doubletab-t-ref-coords-arrofint-t-ref-node-list-double-epsilon>`
[Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_nodes_close_to(const ArrOfDouble &point, const DoubleTab_t &coords, ArrOfInt_t &node_list, double epsilon)](#octree-double-32-64-public-static-octree-double-32-64-size-int-t-octree-double-32-64-size-search-nodes-close-to-const-arrofdouble-ref-point-const-doubletab-t-ref-coords-arrofint-t-ref-node-list-double-epsilon)

search_nodes_close_to#

Definition
Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_nodes_close_to(double x, double y, double z, const DoubleTab_t &coords, ArrOfInt_t &node_list, double epsilon)
Brief description

Methode hors classe Cherche parmi les sommets de la liste node_list ceux qui sont a une.

Detailed description

distance inferieure a epsilon du point (x,y,z). node_list contient des indices de sommets dans le tableau coords. La liste des noeuds verifiant le critere est mise dans node_list. On renvoie l’indice dans le tableau coords du sommet le plus proche.

References
Referenced By
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_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_nodes_close_to(double x, double y, double z, const DoubleTab_t &coords, ArrOfInt_t &node_list, double epsilon) <octree-double-32-64-public-static-octree-double-32-64-size-int-t-octree-double-32-64-size-search-nodes-close-to-double-x-double-y-double-z-const-doubletab-t-ref-coords-arrofint-t-ref-node-list-double-epsilon>`
[Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_nodes_close_to(double x, double y, double z, const DoubleTab_t &coords, ArrOfInt_t &node_list, double epsilon)](#octree-double-32-64-public-static-octree-double-32-64-size-int-t-octree-double-32-64-size-search-nodes-close-to-double-x-double-y-double-z-const-doubletab-t-ref-coords-arrofint-t-ref-node-list-double-epsilon)

compute_origin_factors#

Definition
void Octree_Double_32_64<_SIZE_>::compute_origin_factors(const _TAB_TYPE_ &coords, const double epsilon, const int include_virtual)
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_Double_32_64<_SIZE_>::compute_origin_factors(const _TAB_TYPE_ &coords, const double epsilon, const int include_virtual) <octree-double-32-64-protected-void-octree-double-32-64-size-compute-origin-factors-const-tab-type-ref-coords-const-double-epsilon-const-int-include-virtual>`
[void Octree_Double_32_64<_SIZE_>::compute_origin_factors(const _TAB_TYPE_ &coords, const double epsilon, const int include_virtual)](#octree-double-32-64-protected-void-octree-double-32-64-size-compute-origin-factors-const-tab-type-ref-coords-const-double-epsilon-const-int-include-virtual)

integer_position#

Definition
bool Octree_Double_32_64<_SIZE_>::integer_position(double x, int direction, int &ix) const
Brief description

Convertit une coordonnee reelle en coordonnee entiere pour l’octree_int.

Detailed description

Valeur de retour: 1 si ok, 0 si coordonnee hors de l’octree

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:`bool Octree_Double_32_64<_SIZE_>::integer_position(double x, int direction, int &ix) const <octree-double-32-64-protected-bool-octree-double-32-64-size-integer-position-double-x-int-direction-int-ref-ix-const>`
[bool Octree_Double_32_64<_SIZE_>::integer_position(double x, int direction, int &ix) const](#octree-double-32-64-protected-bool-octree-double-32-64-size-integer-position-double-x-int-direction-int-ref-ix-const)

integer_position_clip#

Definition
bool Octree_Double_32_64<_SIZE_>::integer_position_clip(double xmin, double xmax, int &x0, int &x1, int direction) const
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:`bool Octree_Double_32_64<_SIZE_>::integer_position_clip(double xmin, double xmax, int &x0, int &x1, int direction) const <octree-double-32-64-protected-bool-octree-double-32-64-size-integer-position-clip-double-xmin-double-xmax-int-ref-x0-int-ref-x1-int-direction-const>`
[bool Octree_Double_32_64<_SIZE_>::integer_position_clip(double xmin, double xmax, int &x0, int &x1, int direction) const](#octree-double-32-64-protected-bool-octree-double-32-64-size-integer-position-clip-double-xmin-double-xmax-int-ref-x0-int-ref-x1-int-direction-const)

Attributes Documentation#

dim_ (protected)
int Octree_Double_32_64<_SIZE_>::dim_ = 0
factor_ (protected)
ArrOfDouble Octree_Double_32_64<_SIZE_>::factor_
octree_int_ (protected)
Octree_Int_32_64<_SIZE_> Octree_Double_32_64<_SIZE_>::octree_int_
origin_ (protected)
ArrOfDouble Octree_Double_32_64<_SIZE_>::origin_