collisiondetectors/CD_rangesensor/octree.h File Reference

#include "geometry\geo_rangesensor\Range_Sensor.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <set>
#include <algorithm>
#include <iterator>
#include <functional>

Include dependency graph for octree.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PointClass
struct  vector_d
struct  vector_i
struct  free_space
struct  child_pointer
struct  OctreeNode
struct  cubic
struct  cubic_d

Defines

#define octree_h__INCLUDED_
#define TRUE   1
#define FALSE   0
#define WHITE   0
#define BLACK   3
#define GRAY   1
#define LIMIT   128
#define LIMITP   127
#define TEMP_EPSILON   0.00000001
#define DBL_LIMIT   (128+TEMP_EPSILON)
#define DBL_LIMITP   (127+TEMP_EPSILON)
#define INSIDE   0
#define OUTSIDE   1
#define MAXLINELENGTH   444
#define MAXBUFFSIZE   (64*64)
#define NUMELEMENTS   (256*256)
#define PointsList   std::set<PointClass>;

Functions

void mapping (struct free_space *a, vector_d *point, int proj_point[3])
OctreeNodeconstruct_octree (struct free_space *a, struct cubic *scope, int level, int maxlevel)
OctreeNodeassign_white_node ()
OctreeNodeassign_black_node ()
OctreeNodeassign_gray_node (struct free_space *a, struct cubic *c, int level, int maxlevel)
void scale_distance_assign (int[3], int, int, struct free_space *, Range_Sensor *jc)
void calculate_scaled_distance (struct free_space *a, Range_Sensor *jc)


Define Documentation

#define BLACK   3
 

Definition at line 21 of file octree.h.

Referenced by assign_black_node(), black_node(), check_node_containment(), clean(), intersection_node(), negative(), Octree_Data_Fuser::Octree_Data_Fuser(), and save_node().

#define DBL_LIMIT   (128+TEMP_EPSILON)
 

Definition at line 29 of file octree.h.

Referenced by mapping().

#define DBL_LIMITP   (127+TEMP_EPSILON)
 

Definition at line 30 of file octree.h.

Referenced by mapping().

#define FALSE   0
 

Definition at line 19 of file octree.h.

Referenced by PL_PRM::AddNode(), IGS_Controller::BeginFrame(), PL_Astar::ClearGraph(), PL_PRM::ConnectEdgesLazy(), O_Bitmap::Display(), IGS_Controller::EndFrame(), PL_PRM::EnhanceRoadMap(), PL_Sequential::find_backward_extension(), PL_Sequential::find_forward_extension(), PL_Sequential::find_path_by_heuristic(), PL_RGD_PRM::GetUseGoalPose(), PL_PRM_ClosedChain::GetUseGoalPose(), PL_RGD_PRM::GetUseJacobian(), PL_PRM_ClosedChain::GetUseJacobian(), PL_PRM_ClosedChain::GetUseOrientConstraint(), PL_PRM_ClosedChain::GetUsePlanarConstraint(), PL_Juan::MyLocalPlanner(), PL_PRM::PL_PRM(), PL_PRM::Plan(), PL_RGD_PRM::Plan_As_Usual(), PL_PRM_ClosedChain::Plan_As_Usual(), PL_Sequential::plan_path_for_first_link(), PL_GraphBase::PrioritizeEdge(), Server::Redraw(), IGS_Controller::ScreenCapture(), PL_Astar::SetGoalConfig(), PL_Astar::SetStartConfig(), and PL_Juan::SimplifyIdsTrajectory().

#define GRAY   1
 

Definition at line 22 of file octree.h.

Referenced by assign_gray_node(), check_node_containment(), clean(), copy(), create_block_node(), create_node(), extract_block_node(), read_node(), and save_node().

#define INSIDE   0
 

Definition at line 33 of file octree.h.

Referenced by construct_octree().

#define LIMIT   128
 

Definition at line 26 of file octree.h.

Referenced by construct_octree(), create_block_wrapper(), and mapping().

#define LIMITP   127
 

Definition at line 27 of file octree.h.

Referenced by mapping().

#define MAXBUFFSIZE   (64*64)
 

Definition at line 37 of file octree.h.

#define MAXLINELENGTH   444
 

Definition at line 36 of file octree.h.

Referenced by create_line_node().

#define NUMELEMENTS   (256*256)
 

Definition at line 38 of file octree.h.

#define octree_h__INCLUDED_
 

Definition at line 2 of file octree.h.

#define OUTSIDE   1
 

Definition at line 34 of file octree.h.

Referenced by construct_octree().

#define PointsList   std::set<PointClass>;
 

Definition at line 47 of file octree.h.

#define TEMP_EPSILON   0.00000001
 

Definition at line 28 of file octree.h.

Referenced by mapping().

#define TRUE   1
 

Definition at line 18 of file octree.h.

Referenced by PL_PRM::AddNode(), PL_PRM::ConnectEdgesFull(), PL_PRM_ClosedBase::ConnectEdgesFull(), PL_RGD_PRM::ConnectEdgesFull(), PL_PRM_ClosedChain::ConnectEdgesFull(), PL_PRM::ConnectEdgesLazy(), TimerCPU::ElapsedTime(), IGS_Controller::EndFrame(), PL_OutputWindow::EndOutput(), PL_PRM::EnhanceRoadMap(), PL_Sequential::find_backward_extension(), PL_Sequential::find_forward_extension(), PL_Sequential::find_path_by_heuristic(), PL_RGD_PRM::GetUseGoalPose(), PL_PRM_ClosedChain::GetUseGoalPose(), PL_RGD_PRM::GetUseJacobian(), PL_PRM_ClosedChain::GetUseJacobian(), PL_PRM_ClosedChain::GetUseOrientConstraint(), PL_PRM_ClosedChain::GetUsePlanarConstraint(), PL_Juan::MyGoalFunc(), PL_PRM::PL_PRM(), PL_Sequential::plan_path_for_first_link(), PL_GraphBase::PrioritizeEdge(), IGS_Controller::RegisterInitialWindow(), PL_Astar::SetGoalConfig(), PL_PRM::SetPRMMode(), PL_Astar::SetStartConfig(), PL_RGD_PRM::SetUseGoalPose(), PL_PRM_ClosedChain::SetUseGoalPose(), PL_RGD_PRM::SetUseJacobian(), PL_PRM_ClosedChain::SetUseJacobian(), PL_PRM_ClosedChain::SetUseOrientConstraint(), PL_PRM_ClosedChain::SetUsePlanarConstraint(), PL_Juan::SimplifyIdsTrajectory(), TimerCPU::Start(), PL_OutputWindow::StartOutput(), and TimerCPU::Stop().

#define WHITE   0
 

Definition at line 20 of file octree.h.

Referenced by assign_white_node(), check_node_containment(), extract_block_node(), negative(), octree_volume(), save_node(), union_node(), and white_node().


Function Documentation

OctreeNode* assign_black_node  ) 
 

Definition at line 62 of file octree.cpp.

References BLACK, OctreeNode::color, and OctreeNode::son.

Referenced by construct_octree(), and create_block_node().

OctreeNode* assign_gray_node struct free_space a,
struct cubic c,
int  level,
int  maxlevel
 

Definition at line 82 of file octree.cpp.

References OctreeNode::color, construct_octree(), OctreeNode::father, GRAY, child_pointer::pointer, OctreeNode::son, cubic::x0, cubic::x1, cubic::y0, cubic::y1, cubic::z0, and cubic::z1.

Referenced by construct_octree().

Here is the call graph for this function:

OctreeNode* assign_white_node  ) 
 

Definition at line 43 of file octree.cpp.

References OctreeNode::color, OctreeNode::son, and WHITE.

Referenced by construct_octree(), and create_block_node().

void calculate_scaled_distance struct free_space a,
Range_Sensor jc
 

Definition at line 651 of file octree.cpp.

References free_space::apex, mapping(), Range_Sensor::ray_coord_map, scale_distance_assign(), free_space::scaled_distance, vector_d::x, vector_d::y, and vector_d::z.

Referenced by construct_octree_wrapper().

Here is the call graph for this function:

OctreeNode* construct_octree struct free_space a,
struct cubic scope,
int  level,
int  maxlevel
 

Definition at line 415 of file octree.cpp.

References free_space::apex, assign_black_node(), assign_gray_node(), assign_white_node(), free_space::bound_end, GET_REP, INSIDE, LIMIT, mapping(), OUTSIDE, free_space::scaled_distance, vector_d::x, cubic::x0, cubic::x1, vector_d::y, cubic::y0, cubic::y1, vector_d::z, cubic::z0, and cubic::z1.

Referenced by assign_gray_node(), and construct_octree_wrapper().

Here is the call graph for this function:

void mapping struct free_space a,
vector_d point,
int  proj_point[3]
 

Definition at line 170 of file octree.cpp.

References free_space::apex, DBL_LIMIT, DBL_LIMITP, last_face, LIMIT, LIMITP, TEMP_EPSILON, vector_d::x, vector_d::y, and vector_d::z.

Referenced by calculate_scaled_distance(), and construct_octree().

void scale_distance_assign int  [3],
int  ,
int  ,
struct free_space ,
Range_Sensor jc
[inline]
 

Definition at line 616 of file octree.cpp.

References free_space::apex, Range_Sensor::ray_coord_map, free_space::scaled_distance, vector_d::x, vector_d::y, and vector_d::z.

Referenced by calculate_scaled_distance().


Generated on Sat Apr 1 21:40:06 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO