Octree_Double_32_64#
#include <Octree_Double.h>
: 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
List of Public Methods#
List of Public Static Methods#
List of Protected Methods#
Complete Member Function Documentation#
build_elements#
void Octree_Double_32_64<_SIZE_>::build_elements(const _TAB_TYPE_ &coords, const IntTab_t &elements, const double epsilon, const bool include_virtual)
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_>::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#
void Octree_Double_32_64<_SIZE_>::build_nodes(const DoubleTab_t &coords, const bool include_virtual, const double epsilon=0.)
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#
int Octree_Double_32_64<_SIZE_>::dimension() const
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#
const ArrOfInt_t & Octree_Double_32_64<_SIZE_>::floor_elements() const
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#
void Octree_Double_32_64<_SIZE_>::reset()
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#
Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements(double x, double y, double z, int_t &index) const
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#
Octree_Double_32_64<_SIZE_>::int_t Octree_Double_32_64<_SIZE_>::search_elements_box(const ArrOfDouble ¢er, const double radius, ArrOfInt_t &elements) const
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 ¢er, 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 ¢er, 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#
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
cherche tous les elements ou points ayant potentiellement une intersection non vide avec la boite donnee.
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:`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#
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)
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#
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)
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#
void Octree_Double_32_64<_SIZE_>::compute_origin_factors(const _TAB_TYPE_ &coords, const double epsilon, const int include_virtual)
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#
bool Octree_Double_32_64<_SIZE_>::integer_position(double x, int direction, int &ix) const
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#
bool Octree_Double_32_64<_SIZE_>::integer_position_clip(double xmin, double xmax, int &x0, int &x1, int direction) const
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#
int Octree_Double_32_64<_SIZE_>::dim_ = 0
ArrOfDouble Octree_Double_32_64<_SIZE_>::factor_
Octree_Int_32_64<_SIZE_> Octree_Double_32_64<_SIZE_>::octree_int_
ArrOfDouble Octree_Double_32_64<_SIZE_>::origin_