#include <Octree.h>
Definition at line 12 of file Octree.h.
 
◆ Octree() [1/2]
      
        
          | geo::Octree::Octree | ( | double | size, | 
        
          |  |  | double | resolution = 0.1 | 
        
          |  | ) |  |  | 
      
 
 
◆ Octree() [2/2]
      
        
          | geo::Octree::Octree | ( | const Octree & | orig | ) |  | 
      
 
 
◆ ~Octree()
◆ add()
      
        
          | void geo::Octree::add | ( | const Vector3 & | p | ) |  | 
      
 
 
◆ clear()
      
        
          | void geo::Octree::clear | ( |  | ) |  | 
      
 
 
◆ clone()
  
  | 
        
          | Octree * geo::Octree::clone | ( |  | ) | const |  | virtual | 
 
 
◆ contains()
  
  | 
        
          | bool geo::Octree::contains | ( | const Vector3 & | p | ) | const |  | virtual | 
 
Determines whether a point p lies within the shape. 
- Parameters
- 
  
  
- Returns
- True means point p lies inside the shape
Let the line segment P connect points p and an arbitrary point p_out outside of the shape We count the number of intersections between P and the shape. A positive number means point p is inside the shape. We use plucker coordinates to determine whether or not a triangle intersects line segment P. more details https://members.loria.fr/SLazard/ARC-Visi3D/Pant-project/files/Line_Segment_Triangle.html 
Reimplemented from geo::Shape.
Definition at line 85 of file Octree.cpp.
 
 
◆ getCubes()
◆ getMaxRadius()
  
  | 
        
          | double geo::Octree::getMaxRadius | ( |  | ) | const |  | virtual | 
 
Calculate the maximum distance from the origin of the shape to any point of the shape. 
- Returns
- Maximum radius found. 
Reimplemented from geo::Shape.
Definition at line 64 of file Octree.cpp.
 
 
◆ getMesh()
  
  | 
        
          | const Mesh & geo::Octree::getMesh | ( |  | ) | const |  | virtual | 
 
return the mesh defining the shape 
- Returns
- a constant reference to the mesh of the shape 
Reimplemented from geo::Shape.
Definition at line 110 of file Octree.cpp.
 
 
◆ getResolution()
      
        
          | double geo::Octree::getResolution | ( |  | ) | const | 
      
 
 
◆ intersect() [1/2]
      
        
          | bool geo::Octree::intersect | ( | const Box & | b | ) | const | 
      
 
 
◆ intersect() [2/2]
  
  | 
        
          | bool geo::Octree::intersect | ( | const Ray & | r, |  
          |  |  | float | t0, |  
          |  |  | float | t1, |  
          |  |  | double & | distance |  
          |  | ) |  | const |  | virtual | 
 
intersect: currently always throws a logic error 
- Parameters
- 
  
  
- Returns
- true when the ray intersects the shape 
Reimplemented from geo::Shape.
Definition at line 50 of file Octree.cpp.
 
 
◆ raytrace()
      
        
          | void geo::Octree::raytrace | ( | const Ray & | r, | 
        
          |  |  | float | t0, | 
        
          |  |  | float | t1 | 
        
          |  | ) |  |  | 
      
 
 
◆ setResolution()
      
        
          | double geo::Octree::setResolution | ( | double | resolution | ) |  | 
      
 
 
◆ OctreeNode
◆ max_
◆ mesh_
◆ offset_
◆ resolution_
  
  | 
        
          | double geo::Octree::resolution_ |  | protected | 
 
 
◆ root_
◆ size_
  
  | 
        
          | double geo::Octree::size_ |  | protected | 
 
 
The documentation for this class was generated from the following files: