class_docstr: !
  @brief Represents balanced static KD-tree that does not provide services to add and remove nodes after
          initialization.
  @details In the term KD tree, k denotes the dimensionality of the space being represented. Each data point is
            represented as a node in the k-d tree in the form of a record of type node.
  
  There is an example how to create KD-tree:
  @code
      from pyclustering.container.kdtree import kdtree_balanced, kdtree_visualizer
      from pyclustering.utils import read_sample
      from pyclustering.samples.definitions import FCPS_SAMPLES
  
      sample = read_sample(FCPS_SAMPLES.SAMPLE_LSUN)
      tree_instance = kdtree_balanced(sample)
  
      kdtree_visualizer(tree_instance).visualize()
  @endcode
  
  Output result of the example above - figure 1.
  @image html kd_tree_balanced_lsun.png "Fig. 1. Balanced KD-tree for sample 'Lsun'."
  
  @see kdtree
class_docstr_tok: ["!","@","brief","Represents","balanced","static","KD-tree","that","does","not","provide","services","to","add","and","remove","nodes","after","initialization",".","@","details","In","the","term","KD","tree",",","k","denotes","the","dimensionality","of","the","space","being","represented",".","Each","data","point","is","represented","as","a","node","in","the","k-d","tree","in","the","form","of","a","record","of","type","node",".","There","is","an","example","how","to","create","KD-tree",":","@","code","from","pyclustering.container.kdtree","import","kdtree_balanced",",","kdtree_visualizer","from","pyclustering.utils","import","read_sample","from","pyclustering.samples.definitions","import","FCPS_SAMPLES","sample","=","read_sample","(","FCPS_SAMPLES.SAMPLE_LSUN",")","tree_instance","=","kdtree_balanced","(","sample",")","kdtree_visualizer","(","tree_instance",")",".visualize","(",")","@","endcode","Output","result","of","the","example","above","-","figure","1",".","@","image","html","kd_tree_balanced_lsun.png","``","Fig",".","1",".","Balanced","KD-tree","for","sample","'Lsun","'",".","''","@","see","kdtree"]
docstr: !
  @brief Find neighbors that are located in area that is covered by specified distance.
  
  @param[in] point (list): Coordinates that is considered as centroid for searching.
  @param[in] distance (double): Distance from the center where searching is performed.
  
  @return (list) Neighbors in area that is specified by point (center) and distance (radius).
docstr_tok: ["!","@","brief","Find","neighbors","that","are","located","in","area","that","is","covered","by","specified","distance",".","@","param","[","in","]","point","(","list",")",":","Coordinates","that","is","considered","as","centroid","for","searching",".","@","param","[","in","]","distance","(","double",")",":","Distance","from","the","center","where","searching","is","performed",".","@","return","(","list",")","Neighbors","in","area","that","is","specified","by","point","(","center",")","and","distance","(","radius",")","."]
code: def find_nearest_dist_nodes(self, point, distance):
      """!
      @brief Find neighbors that are located in area that is covered by specified distance.
  
      @param[in] point (list): Coordinates that is considered as centroid for searching.
      @param[in] distance (double): Distance from the center where searching is performed.
  
      @return (list) Neighbors in area that is specified by point (center) and distance (radius).
  
      """
  
      best_nodes = []
      if self._root is not None:
          self.__recursive_nearest_nodes(
              point,
              distance,
              distance * distance,
              self._root,
              best_nodes,
          )
  
      return best_nodes
  
imports: import numpy
  import matplotlib.pyplot
  from pyclustering.utils import euclidean_distance_square, find_left_element
label_desc: Use image node_id 10 for calling the kdtree_balanced obj's underlying member method code with example usage: obj.find_nearest_dist_nodes(point, distance) and returns: best_nodes