cajun::grid_slope_t Class Reference

#include <grid_slope.H>

List of all members.

Classes

struct  beam_chain_t
struct  data_cell_t
struct  dist_list_t
struct  dist_sort_t

Public Member Functions

 grid_slope_t (data_queue_writer_t< scan_analysis_data_t > *scan_analysis_dq_b_writer, int triangle_count, double min_len, double max_len, unsigned ver_per_cell, unsigned max_vec_len, unsigned num_search_scans, double REFRESH_TIME)
scan_gp_data_t & get_free_db_entry ()
bool is_db_full ()
void delete_old_data (double curr_time)
void process_new_db_entry ()
void sanity_check (char *s, unsigned index)
void delete_scan (scan_gp_data_t const &points)
void fill_grid (scan_gp_data_t const &points, unsigned head)
void detect_slope (unsigned const &head)
void compute_slope (double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, scan_analysis_data_t &assign_slope)
void find_eligible_vertices (double x1, double y1, double z1)
void make_triangles (double const &x1, double const &y1, double const &z1, scan_analysis_data_t &assign_slope)
bool test_sec_ver (double x1, double y1, double x2, double y2, double z1, double z2, double &dist_sqr)

Private Types

typedef grid_t< data_cell_tdata_grid_t

Private Attributes

scan_analysis_data_t assign_slope
data_queue_writer_t
< scan_analysis_data_t > * 
m_dq_writer
data_queue_writer_t
< scan_analysis_data_t > * 
m_dq_b_writer
scan_gp_data_t * scan_gp_db
beam_chain_tbeam_list
std::vector< dist_list_tver_vec
data_grid_t grid
double data_cell_size
double R2D
int triangles_per_beam
unsigned head_of_db
unsigned tail_of_db
double MIN_LEN_SQR
double MAX_LEN_SQR
unsigned VER_PER_CELL
unsigned MAX_VEC_LEN
unsigned MAX_SEARCH_SCANS
double refresh_time
unsigned scans_in_repository

Static Private Attributes

static unsigned const NULL_ENTRY = INT_MAX

Member Typedef Documentation

typedef grid_t<data_cell_t> cajun::grid_slope_t::data_grid_t [private]

Constructor & Destructor Documentation

cajun::grid_slope_t::grid_slope_t ( data_queue_writer_t< scan_analysis_data_t > *  scan_analysis_dq_b_writer,
int  triangle_count,
double  min_len,
double  max_len,
unsigned  ver_per_cell,
unsigned  max_vec_len,
unsigned  num_search_scans,
double  REFRESH_TIME 
) [inline]

Member Function Documentation

void grid_slope_t::compute_slope ( double  x1,
double  y1,
double  z1,
double  x2,
double  y2,
double  z2,
double  x3,
double  y3,
double  z3,
scan_analysis_data_t &  assign_slope 
)

References assign_slope, m_dq_b_writer, and R2D.

Referenced by make_triangles().

void cajun::grid_slope_t::delete_old_data ( double  curr_time  )  [inline]
void grid_slope_t::delete_scan ( scan_gp_data_t const &  points  ) 
void grid_slope_t::detect_slope ( unsigned const &  head  ) 
void grid_slope_t::fill_grid ( scan_gp_data_t const &  points,
unsigned  head 
)
void grid_slope_t::find_eligible_vertices ( double  x1,
double  y1,
double  z1 
)
scan_gp_data_t& cajun::grid_slope_t::get_free_db_entry (  )  [inline]

References head_of_db, and scan_gp_db.

Referenced by main().

bool cajun::grid_slope_t::is_db_full (  )  [inline]
void grid_slope_t::make_triangles ( double const &  x1,
double const &  y1,
double const &  z1,
scan_analysis_data_t &  assign_slope 
)
void cajun::grid_slope_t::process_new_db_entry (  )  [inline]
void grid_slope_t::sanity_check ( char *  s,
unsigned  index 
)
bool grid_slope_t::test_sec_ver ( double  x1,
double  y1,
double  x2,
double  y2,
double  z1,
double  z2,
double &  dist_sqr 
) [inline]

References MAX_LEN_SQR, and MIN_LEN_SQR.

Referenced by find_eligible_vertices().


Member Data Documentation

scan_analysis_data_t cajun::grid_slope_t::assign_slope [private]

Referenced by compute_slope(), and detect_slope().

unsigned cajun::grid_slope_t::head_of_db [private]
data_queue_writer_t<scan_analysis_data_t>* cajun::grid_slope_t::m_dq_b_writer [private]
data_queue_writer_t<scan_analysis_data_t>* cajun::grid_slope_t::m_dq_writer [private]

Referenced by grid_slope_t(), and test_sec_ver().

Referenced by grid_slope_t(), and test_sec_ver().

unsigned const cajun::grid_slope_t::NULL_ENTRY = INT_MAX [static, private]
double cajun::grid_slope_t::R2D [private]

Referenced by compute_slope(), and grid_slope_t().

Referenced by delete_old_data(), and grid_slope_t().

scan_gp_data_t* cajun::grid_slope_t::scan_gp_db [private]
unsigned cajun::grid_slope_t::tail_of_db [private]

Referenced by delete_old_data(), and grid_slope_t().

Referenced by grid_slope_t(), and make_triangles().

std::vector<dist_list_t> cajun::grid_slope_t::ver_vec [private]

The documentation for this class was generated from the following files:

Generated on Fri Apr 9 10:45:13 2010 for Scananalysis by  doxygen 1.6.1