cajun::grid_slope_no_z_t Class Reference

#include <grid_slope_no_z.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_no_z_t (data_queue_writer_t< scan_analysis_data_t > *scan_analysis_dq_b_writer, data_queue_writer_t< triangle_data_t > *tri_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 refresh_repository ()
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, triangle_data_t &triangle_vertices)
void push_triangle_details (triangle_data_t &triangle_vertices, double x1_, double y1_, double z1_, double x2_, double y2_, double z2_, double x3_, double y3_, double z3_, float abs_max_slope_)
void find_eligible_vertices (double x1, double y1)
void make_triangles (double const &x1, double const &y1, double const &z1, scan_analysis_data_t &assign_slope, triangle_data_t &triangle_vertices)
bool test_sec_ver (double x1, double x2, double y1, double y2, 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
data_queue_writer_t
< triangle_data_t > * 
triangle_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


Constructor & Destructor Documentation

cajun::grid_slope_no_z_t::grid_slope_no_z_t ( data_queue_writer_t< scan_analysis_data_t > *  scan_analysis_dq_b_writer,
data_queue_writer_t< triangle_data_t > *  tri_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_no_z_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,
triangle_data_t &  triangle_vertices 
)
void cajun::grid_slope_no_z_t::delete_old_data ( double  curr_time  )  [inline]
void grid_slope_no_z_t::delete_scan ( scan_gp_data_t const &  points  ) 
void grid_slope_no_z_t::detect_slope ( unsigned const &  head  ) 
void grid_slope_no_z_t::fill_grid ( scan_gp_data_t const &  points,
unsigned  head 
)
void grid_slope_no_z_t::find_eligible_vertices ( double  x1,
double  y1 
)
scan_gp_data_t& cajun::grid_slope_no_z_t::get_free_db_entry (  )  [inline]

References head_of_db, and scan_gp_db.

bool cajun::grid_slope_no_z_t::is_db_full (  )  [inline]
void grid_slope_no_z_t::make_triangles ( double const &  x1,
double const &  y1,
double const &  z1,
scan_analysis_data_t &  assign_slope,
triangle_data_t &  triangle_vertices 
)
void cajun::grid_slope_no_z_t::process_new_db_entry (  )  [inline]
void grid_slope_no_z_t::push_triangle_details ( triangle_data_t &  triangle_vertices,
double  x1_,
double  y1_,
double  z1_,
double  x2_,
double  y2_,
double  z2_,
double  x3_,
double  y3_,
double  z3_,
float  abs_max_slope_ 
)

References triangle_vertices, and triangle_writer.

Referenced by compute_slope().

void cajun::grid_slope_no_z_t::refresh_repository (  )  [inline]
void grid_slope_no_z_t::sanity_check ( char *  s,
unsigned  index 
)
bool grid_slope_no_z_t::test_sec_ver ( double  x1,
double  x2,
double  y1,
double  y2,
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_no_z_t::assign_slope [private]

Referenced by compute_slope(), and detect_slope().

data_queue_writer_t<scan_analysis_data_t>* cajun::grid_slope_no_z_t::m_dq_b_writer [private]
data_queue_writer_t<scan_analysis_data_t>* cajun::grid_slope_no_z_t::m_dq_writer [private]

Referenced by grid_slope_no_z_t(), and test_sec_ver().

Referenced by grid_slope_no_z_t(), and test_sec_ver().

unsigned const cajun::grid_slope_no_z_t::NULL_ENTRY = INT_MAX [static, private]

Referenced by compute_slope(), and grid_slope_no_z_t().

scan_gp_data_t* cajun::grid_slope_no_z_t::scan_gp_db [private]
data_queue_writer_t<triangle_data_t>* cajun::grid_slope_no_z_t::triangle_writer [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