collisiondetectors/CD_rangesensor/logical.h File Reference

#include "Octree_Data_Fuser.h"
#include "octree.h"
#include "math.h"

Include dependency graph for logical.h:

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

Go to the source code of this file.

Classes

class  Square

Defines

#define logical_h__INCLUDED_

Functions

int white_node (OctreeNode *node)
int black_node (OctreeNode *node)
void delete_node (OctreeNode *node)
void reset_bitbuckets ()
void input_bitbucket (char invalue, bool flush, FILE *fp)
char output_bitbucket (bool &eof_found, FILE *fp)
OctreeNoderead_node (FILE *tree_structure)
void save_node (OctreeNode *node, FILE *tree_structure)
void octree_volume (OctreeNode *node, int level)
void negative (OctreeNode *node)
OctreeNodecreate_node (char color_node)
OctreeNodecopy (OctreeNode *node)
void clean (OctreeNode *node)
void detach (OctreeNode *node)
int check_node_containment (OctreeNode *node, struct cubic_d *worldsize, vector_d target)
OctreeNodecreate_block_node (int level, struct cubic *desired, struct cubic *worldsize, int maxlevel)
OctreeNodecreate_line_node (int level, vector_i *center, struct cubic *worldsize, int maxlevel)
OctreeNodecreate_view_node (int level, vector_i *center, int arraysize, struct cubic *worldsize, int maxlevel)
OctreeNodeunion_node (OctreeNode *node1, OctreeNode *node2)
OctreeNodeintersection_node (OctreeNode *node1, OctreeNode *node2)
OctreeNodeconstruct_octree_wrapper (struct free_space *pic, int maxlevel, Range_Sensor *jc)
OctreeNodecreate_block_wrapper (vector_i center, cubic dimensions, int maxlevel)
OctreeNodecreate_line_wrapper (vector_i start, vector_i end, int maxlevel)
OctreeNodecreate_view_wrapper (vector_d start, vector_d *end, vector_d *dir, int maxlevel)
void update_cubes_set (std::set< PointClass > &s1, Range_Sensor *camera, OctreeNode *node, struct cubic_d worldsize)
void extract_cubes_set (std::set< PointClass > &s1, double magnifyfactor, std::vector< Square > &squarevector, int maxlevel)
void extract_block_node (OctreeNode *node, struct cubic_d *worldsize, std::vector< Square > &squarevector, bool firstlevel, int colour)
void calc_cube_facets (std::vector< Square > &squarevector, GL_Mesh &mesh)


Define Documentation

#define logical_h__INCLUDED_
 

Definition at line 2 of file logical.h.


Function Documentation

int black_node OctreeNode node  )  [inline]
 

Definition at line 14 of file logical.cpp.

References BLACK.

Referenced by intersection_node(), and union_node().

void calc_cube_facets std::vector< Square > &  squarevector,
GL_Mesh mesh
 

Definition at line 1355 of file logical.cpp.

References Mesh::AddVertex(), Mesh::GetFacets(), and Mesh::GetVertexes().

Referenced by Octree_Data_Fuser::Convert().

Here is the call graph for this function:

int check_node_containment OctreeNode node,
struct cubic_d worldsize,
vector_d  target
 

Definition at line 390 of file logical.cpp.

References BLACK, check_node_containment(), OctreeNode::color, GRAY, child_pointer::pointer, OctreeNode::son, WHITE, vector_d::x, cubic_d::x0, cubic_d::x1, vector_d::y, cubic_d::y0, cubic_d::y1, vector_d::z, cubic_d::z0, and cubic_d::z1.

Referenced by check_node_containment(), and update_cubes_set().

Here is the call graph for this function:

void clean OctreeNode node  ) 
 

Definition at line 321 of file logical.cpp.

References BLACK, clean(), OctreeNode::color, delete_node(), GRAY, child_pointer::pointer, and OctreeNode::son.

Referenced by clean().

Here is the call graph for this function:

OctreeNode* construct_octree_wrapper struct free_space pic,
int  maxlevel,
Range_Sensor jc
 

Definition at line 1050 of file logical.cpp.

References calculate_scaled_distance(), construct_octree(), cubic::x0, cubic::x1, cubic::y0, cubic::y1, cubic::z0, and cubic::z1.

Here is the call graph for this function:

OctreeNode* copy OctreeNode node  ) 
 

Definition at line 302 of file logical.cpp.

References OctreeNode::color, copy(), create_node(), OctreeNode::father, GRAY, child_pointer::pointer, and OctreeNode::son.

Referenced by Server::ConfigureRobot(), copy(), Server::GoalConfig(), intersection_node(), Octree_Data_Fuser::Octree_Data_Fuser(), Server::SendString(), Server::StartConfig(), and union_node().

Here is the call graph for this function:

OctreeNode* create_block_node int  level,
struct cubic desired,
struct cubic worldsize,
int  maxlevel
 

Definition at line 519 of file logical.cpp.

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

Referenced by Octree_Data_Fuser::Add_Block(), create_block_node(), and create_block_wrapper().

Here is the call graph for this function:

OctreeNode* create_block_wrapper vector_i  center,
cubic  dimensions,
int  maxlevel
 

Definition at line 1068 of file logical.cpp.

References create_block_node(), LIMIT, vector_i::x, cubic::x0, cubic::x1, vector_i::y, cubic::y0, cubic::y1, vector_i::z, cubic::z0, and cubic::z1.

Here is the call graph for this function:

OctreeNode* create_line_node int  level,
vector_i center,
struct cubic worldsize,
int  maxlevel
 

Definition at line 646 of file logical.cpp.

References MAXLINELENGTH, vector_i::x, cubic::x0, cubic::x1, vector_i::y, cubic::y0, cubic::y1, vector_i::z, cubic::z0, and cubic::z1.

OctreeNode* create_line_wrapper vector_i  start,
vector_i  end,
int  maxlevel
 

OctreeNode* create_node char  color_node  ) 
 

Definition at line 280 of file logical.cpp.

References OctreeNode::father, GRAY, and OctreeNode::son.

Referenced by copy(), intersection_node(), Octree_Data_Fuser::Octree_Data_Fuser(), and union_node().

OctreeNode* create_view_node int  level,
vector_i center,
int  arraysize,
struct cubic worldsize,
int  maxlevel
 

Definition at line 791 of file logical.cpp.

References vector_i::x, cubic::x0, cubic::x1, vector_i::y, cubic::y0, cubic::y1, vector_i::z, cubic::z0, and cubic::z1.

OctreeNode* create_view_wrapper vector_d  start,
vector_d end,
vector_d dir,
int  maxlevel
 

void delete_node OctreeNode node  ) 
 

Definition at line 19 of file logical.cpp.

References OctreeNode::father, child_pointer::pointer, and OctreeNode::son.

Referenced by Octree_Data_Fuser::Add_Block(), clean(), Octree_Data_Fuser::Load_State(), and Octree_Data_Fuser::~Octree_Data_Fuser().

void detach OctreeNode node  ) 
 

Definition at line 359 of file logical.cpp.

References OctreeNode::father, child_pointer::pointer, and OctreeNode::son.

void extract_block_node OctreeNode node,
struct cubic_d worldsize,
std::vector< Square > &  squarevector,
bool  firstlevel,
int  colour
 

Definition at line 1209 of file logical.cpp.

References OctreeNode::color, extract_block_node(), GRAY, Square::p, child_pointer::pointer, OctreeNode::son, WHITE, cubic_d::x0, cubic_d::x1, cubic_d::y0, cubic_d::y1, cubic_d::z0, and cubic_d::z1.

Referenced by extract_block_node().

Here is the call graph for this function:

void extract_cubes_set std::set< PointClass > &  s1,
double  magnifyfactor,
std::vector< Square > &  squarevector,
int  maxlevel
 

Definition at line 1130 of file logical.cpp.

References Square::p, PointClass::p, vector_d::x, vector_d::y, and vector_d::z.

Referenced by Octree_Data_Fuser::Convert().

void input_bitbucket char  invalue,
bool  flush,
FILE *  fp
 

Definition at line 79 of file logical.cpp.

Referenced by save_node().

OctreeNode* intersection_node OctreeNode node1,
OctreeNode node2
 

Definition at line 995 of file logical.cpp.

References BLACK, black_node(), copy(), create_node(), intersection_node(), child_pointer::pointer, OctreeNode::son, and white_node().

Referenced by intersection_node().

Here is the call graph for this function:

void negative OctreeNode node  ) 
 

Definition at line 249 of file logical.cpp.

References BLACK, OctreeNode::color, negative(), child_pointer::pointer, OctreeNode::son, and WHITE.

Referenced by negative().

Here is the call graph for this function:

void octree_volume OctreeNode node,
int  level
 

Definition at line 228 of file logical.cpp.

References OctreeNode::color, OctreeNode::father, octree_volume(), child_pointer::pointer, OctreeNode::son, and WHITE.

Referenced by octree_volume().

Here is the call graph for this function:

char output_bitbucket bool &  eof_found,
FILE *  fp
 

Definition at line 112 of file logical.cpp.

Referenced by read_node().

OctreeNode* read_node FILE *  tree_structure  ) 
 

Definition at line 147 of file logical.cpp.

References OctreeNode::color, OctreeNode::father, GRAY, output_bitbucket(), child_pointer::pointer, read_node(), and OctreeNode::son.

Referenced by Octree_Data_Fuser::Load_State(), and read_node().

Here is the call graph for this function:

void reset_bitbuckets  ) 
 

Definition at line 70 of file logical.cpp.

Referenced by Octree_Data_Fuser::Load_State(), and Octree_Data_Fuser::Save_State().

void save_node OctreeNode node,
FILE *  tree_structure
 

Definition at line 193 of file logical.cpp.

References BLACK, OctreeNode::color, OctreeNode::father, GRAY, input_bitbucket(), child_pointer::pointer, save_node(), OctreeNode::son, and WHITE.

Referenced by save_node(), and Octree_Data_Fuser::Save_State().

Here is the call graph for this function:

OctreeNode* union_node OctreeNode node1,
OctreeNode node2
 

Definition at line 938 of file logical.cpp.

References black_node(), copy(), create_node(), child_pointer::pointer, OctreeNode::son, union_node(), WHITE, and white_node().

Referenced by Octree_Data_Fuser::Add_Block(), and union_node().

Here is the call graph for this function:

void update_cubes_set std::set< PointClass > &  s1,
Range_Sensor camera,
OctreeNode node,
struct cubic_d  worldsize
 

Definition at line 1098 of file logical.cpp.

References check_node_containment(), Range_Sensor::GetMaxRange(), PointClass::p, Range_Sensor::ray_coord_map, Range_Sensor::ray_depth_map, vector_d::x, vector_d::y, and vector_d::z.

Here is the call graph for this function:

int white_node OctreeNode node  )  [inline]
 

Definition at line 9 of file logical.cpp.

References WHITE.

Referenced by intersection_node(), and union_node().


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