Range_Sensor Class Reference

#include <basic/geometry/geo_rangesensor/Range_Sensor.h>

Inherits ObjectBase.

Inherited by GL_Range_Sensor.

Inheritance diagram for Range_Sensor:

Inheritance graph
[legend]
Collaboration diagram for Range_Sensor:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Range_Sensor (FrameManager *frameManager)
 Range_Sensor (const Range_Sensor &right)
virtual ~Range_Sensor ()
virtual bool IsInterfering (const Entity *entity) const
virtual bool CanCheckInterference (const Entity *entity) const
virtual void Serialize (ostream &os) const
virtual void Deserialize (istream &is)
void SetAngle (double angle)
void SetMaxRange (double maxrange)
void SetMaxError (double maxerror)
double GetAngle () const
double GetMaxRange () const
double GetMaxError () const
void Take_Picture (const std::vector< Entity * > allEntities, bool display2DMap)
EntityClone () const
virtual bool Verify () const

Public Attributes

double ray_source [3]
double ray_coord_map [RAY_ARRAY_LIMIT][RAY_ARRAY_LIMIT][3]
double ray_depth_map [RAY_ARRAY_LIMIT][RAY_ARRAY_LIMIT]

Protected Member Functions

void AddEntityToDepthMap (const Entity *entity)
void AddMeshToDepthMap (const Mesh &mesh)
void AddCylinderToDepthMap (const MPK_Cylinder &mpk_cylinder)
void AddSphereToDepthMap (const MPK_Sphere &mpk_sphere)
void AddBoxToDepthMap (const MPK_Box &mpk_box)
void Generate_Ray_Array ()
void Generate_Coord_Map ()

Protected Attributes

bool DisplayingBitmapEnabled
bool amDisplayingBitmap
O_Bitmapbp
double angle
double maxrange
double maxerror
double angleratio
MgcFrustum theFrustum
Matrix4x4 absFrame
ray_array_spaceray_array
int ray_half_limit
int user_ray_range_y
int lower_ray_lim_y
int upper_ray_lim_y
int user_ray_range_z
int lower_ray_lim_z
int upper_ray_lim_z

Detailed Description

Definition at line 34 of file Range_Sensor.h.


Constructor & Destructor Documentation

Range_Sensor::Range_Sensor FrameManager frameManager  ) 
 

Definition at line 25 of file Range_Sensor.cpp.

References absFrame, amDisplayingBitmap, angle, bp, DisplayingBitmapEnabled, Entity::GetTransform(), lower_ray_lim_y, lower_ray_lim_z, maxerror, maxrange, RAY_ARRAY_LIMIT, ray_half_limit, ObjectBase::theFrame, upper_ray_lim_y, upper_ray_lim_z, user_ray_range_y, and user_ray_range_z.

Referenced by Clone().

Here is the call graph for this function:

Range_Sensor::Range_Sensor const Range_Sensor right  ) 
 

Definition at line 55 of file Range_Sensor.cpp.

References absFrame, amDisplayingBitmap, angle, DisplayingBitmapEnabled, Entity::GetTransform(), lower_ray_lim_y, lower_ray_lim_z, maxerror, maxrange, RAY_ARRAY_LIMIT, ray_half_limit, ObjectBase::theFrame, upper_ray_lim_y, upper_ray_lim_z, user_ray_range_y, and user_ray_range_z.

Here is the call graph for this function:

Range_Sensor::~Range_Sensor  )  [virtual]
 

Definition at line 86 of file Range_Sensor.cpp.

References amDisplayingBitmap, and bp.


Member Function Documentation

void Range_Sensor::AddBoxToDepthMap const MPK_Box mpk_box  )  [protected]
 

Definition at line 593 of file Range_Sensor.cpp.

References MgcBox3::Axis(), MgcBox3::Center(), MgcRay3::Direction(), MgcBox3::Extent(), Entity::GetTransform(), MPK_Box::Height(), MPK_Box::Length(), lower_ray_lim_y, lower_ray_lim_z, MgcFindIntersection(), MgcTestIntersection(), MgcRay3::Origin(), ray_array, ray_depth_map, ray_source, ObjectBase::theFrame, theFrustum, ray_array_space::values, Matrix4x4::values, MPK_Box::Width(), MgcVector3::x, MgcVector3::y, and MgcVector3::z.

Referenced by AddEntityToDepthMap().

Here is the call graph for this function:

void Range_Sensor::AddCylinderToDepthMap const MPK_Cylinder mpk_cylinder  )  [protected]
 

Definition at line 419 of file Range_Sensor.cpp.

References MgcBox3::Axis(), MgcCylinder::Center(), MgcBox3::Center(), MgcRay3::Direction(), MgcCylinder::Direction(), MgcBox3::Extent(), Entity::GetTransform(), MgcCylinder::Height(), MPK_Cylinder::Height(), lower_ray_lim_y, lower_ray_lim_z, MgcFindIntersection(), MgcTestIntersection(), normalize(), MgcRay3::Origin(), MgcCylinder::Radius(), MPK_Cylinder::Radius(), ray_array, ray_depth_map, ray_source, ObjectBase::theFrame, theFrustum, ray_array_space::values, Matrix4x4::values, MgcVector3::x, MgcVector3::y, and MgcVector3::z.

Referenced by AddEntityToDepthMap().

Here is the call graph for this function:

void Range_Sensor::AddEntityToDepthMap const Entity entity  )  [protected]
 

Definition at line 272 of file Range_Sensor.cpp.

References AddBoxToDepthMap(), AddCylinderToDepthMap(), AddMeshToDepthMap(), AddSphereToDepthMap(), and ObjectGroup::Size().

Referenced by Take_Picture().

Here is the call graph for this function:

void Range_Sensor::AddMeshToDepthMap const Mesh mesh  )  [protected]
 

Definition at line 313 of file Range_Sensor.cpp.

References Entity::GetTransform(), and Mesh::GetVertexes().

Referenced by AddEntityToDepthMap().

Here is the call graph for this function:

void Range_Sensor::AddSphereToDepthMap const MPK_Sphere mpk_sphere  )  [protected]
 

Definition at line 522 of file Range_Sensor.cpp.

References MgcBox3::Axis(), MgcBox3::Center(), MgcBox3::Extent(), Entity::GetTransform(), intersect_sphere(), lower_ray_lim_y, lower_ray_lim_z, maxrange, MgcTestIntersection(), MPK_Sphere::Position(), MPK_Sphere::Radius(), ray_array, ray_depth_map, ray_source, theFrustum, ray_array_space::values, MgcVector3::x, MgcVector3::y, and MgcVector3::z.

Referenced by AddEntityToDepthMap().

Here is the call graph for this function:

bool Range_Sensor::CanCheckInterference const Entity entity  )  const [virtual]
 

Implements Entity.

Definition at line 111 of file Range_Sensor.cpp.

Entity * Range_Sensor::Clone  )  const [virtual]
 

Implements ObjectBase.

Reimplemented in GL_Range_Sensor.

Definition at line 97 of file Range_Sensor.cpp.

References Range_Sensor().

Here is the call graph for this function:

void Range_Sensor::Deserialize istream &  is  )  [virtual]
 

Definition at line 146 of file Range_Sensor.cpp.

References angle, DisplayingBitmapEnabled, eatwhite(), maxerror, maxrange, RAY_ARRAY_LIMIT, Entity::SetBaseFrame(), Entity::SetName(), user_ray_range_y, and user_ray_range_z.

Here is the call graph for this function:

void Range_Sensor::Generate_Coord_Map  )  [protected]
 

Definition at line 763 of file Range_Sensor.cpp.

References maxerror, and ray_depth_map.

void Range_Sensor::Generate_Ray_Array  )  [protected]
 

Definition at line 673 of file Range_Sensor.cpp.

References absFrame, angleratio, Entity::GetTransform(), ray_half_limit, ray_source, ObjectBase::theFrame, and Matrix4x4::values.

Referenced by Take_Picture().

Here is the call graph for this function:

double Range_Sensor::GetAngle  )  const
 

Definition at line 254 of file Range_Sensor.cpp.

References angle.

double Range_Sensor::GetMaxError  )  const
 

Definition at line 266 of file Range_Sensor.cpp.

References maxerror.

double Range_Sensor::GetMaxRange  )  const
 

Definition at line 260 of file Range_Sensor.cpp.

References maxrange.

Referenced by update_cubes_set().

bool Range_Sensor::IsInterfering const Entity entity  )  const [virtual]
 

Implements ObjectBase.

Definition at line 104 of file Range_Sensor.cpp.

void Range_Sensor::Serialize ostream &  os  )  const [virtual]
 

Definition at line 118 of file Range_Sensor.cpp.

References angle, Entity::BaseFrame(), DisplayingBitmapEnabled, Entity::GetName(), maxerror, maxrange, user_ray_range_y, and user_ray_range_z.

Here is the call graph for this function:

void Range_Sensor::SetAngle double  angle  ) 
 

Definition at line 236 of file Range_Sensor.cpp.

void Range_Sensor::SetMaxError double  maxerror  ) 
 

Definition at line 248 of file Range_Sensor.cpp.

void Range_Sensor::SetMaxRange double  maxrange  ) 
 

Definition at line 242 of file Range_Sensor.cpp.

void Range_Sensor::Take_Picture const std::vector< Entity * >  allEntities,
bool  display2DMap
 

Definition at line 790 of file Range_Sensor.cpp.

References AddEntityToDepthMap(), Generate_Ray_Array(), ray_array, ray_coord_map, ray_depth_map, and ray_source.

Here is the call graph for this function:

bool Range_Sensor::Verify  )  const [virtual]
 

Implements ObjectBase.

Definition at line 848 of file Range_Sensor.cpp.


Member Data Documentation

Matrix4x4 Range_Sensor::absFrame [protected]
 

Definition at line 98 of file Range_Sensor.h.

Referenced by GL_Range_Sensor::DrawExplicit(), Generate_Ray_Array(), and Range_Sensor().

bool Range_Sensor::amDisplayingBitmap [protected]
 

Definition at line 78 of file Range_Sensor.h.

Referenced by Range_Sensor(), and ~Range_Sensor().

double Range_Sensor::angle [protected]
 

Definition at line 90 of file Range_Sensor.h.

Referenced by Deserialize(), GetAngle(), Range_Sensor(), and Serialize().

double Range_Sensor::angleratio [protected]
 

Definition at line 94 of file Range_Sensor.h.

Referenced by GL_Range_Sensor::DrawExplicit(), and Generate_Ray_Array().

O_Bitmap* Range_Sensor::bp [protected]
 

Definition at line 80 of file Range_Sensor.h.

Referenced by Range_Sensor(), and ~Range_Sensor().

bool Range_Sensor::DisplayingBitmapEnabled [protected]
 

Definition at line 77 of file Range_Sensor.h.

Referenced by Deserialize(), Range_Sensor(), and Serialize().

int Range_Sensor::lower_ray_lim_y [protected]
 

Definition at line 105 of file Range_Sensor.h.

Referenced by AddBoxToDepthMap(), AddCylinderToDepthMap(), AddSphereToDepthMap(), and Range_Sensor().

int Range_Sensor::lower_ray_lim_z [protected]
 

Definition at line 109 of file Range_Sensor.h.

Referenced by AddBoxToDepthMap(), AddCylinderToDepthMap(), AddSphereToDepthMap(), and Range_Sensor().

double Range_Sensor::maxerror [protected]
 

Definition at line 92 of file Range_Sensor.h.

Referenced by Deserialize(), Generate_Coord_Map(), GetMaxError(), Range_Sensor(), and Serialize().

double Range_Sensor::maxrange [protected]
 

Definition at line 91 of file Range_Sensor.h.

Referenced by AddSphereToDepthMap(), Deserialize(), GetMaxRange(), Range_Sensor(), and Serialize().

ray_array_space* Range_Sensor::ray_array [protected]
 

Definition at line 100 of file Range_Sensor.h.

Referenced by AddBoxToDepthMap(), AddCylinderToDepthMap(), AddSphereToDepthMap(), and Take_Picture().

double Range_Sensor::ray_coord_map[RAY_ARRAY_LIMIT][RAY_ARRAY_LIMIT][3]
 

Definition at line 71 of file Range_Sensor.h.

Referenced by calculate_scaled_distance(), scale_distance_assign(), Take_Picture(), Octree_Data_Fuser::Update(), and update_cubes_set().

double Range_Sensor::ray_depth_map[RAY_ARRAY_LIMIT][RAY_ARRAY_LIMIT]
 

Definition at line 72 of file Range_Sensor.h.

Referenced by AddBoxToDepthMap(), AddCylinderToDepthMap(), AddSphereToDepthMap(), Generate_Coord_Map(), Take_Picture(), and update_cubes_set().

int Range_Sensor::ray_half_limit [protected]
 

Definition at line 102 of file Range_Sensor.h.

Referenced by GL_Range_Sensor::DrawExplicit(), Generate_Ray_Array(), and Range_Sensor().

double Range_Sensor::ray_source[3]
 

Definition at line 70 of file Range_Sensor.h.

Referenced by AddBoxToDepthMap(), AddCylinderToDepthMap(), AddSphereToDepthMap(), Generate_Ray_Array(), and Take_Picture().

MgcFrustum Range_Sensor::theFrustum [protected]
 

Definition at line 96 of file Range_Sensor.h.

Referenced by AddBoxToDepthMap(), AddCylinderToDepthMap(), and AddSphereToDepthMap().

int Range_Sensor::upper_ray_lim_y [protected]
 

Definition at line 106 of file Range_Sensor.h.

Referenced by Range_Sensor().

int Range_Sensor::upper_ray_lim_z [protected]
 

Definition at line 110 of file Range_Sensor.h.

Referenced by Range_Sensor().

int Range_Sensor::user_ray_range_y [protected]
 

Definition at line 104 of file Range_Sensor.h.

Referenced by Deserialize(), Range_Sensor(), and Serialize().

int Range_Sensor::user_ray_range_z [protected]
 

Definition at line 108 of file Range_Sensor.h.

Referenced by Deserialize(), Range_Sensor(), and Serialize().


The documentation for this class was generated from the following files:
Generated on Sat Apr 1 22:03:35 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO