#include <Karto.h>
Public Member Functions | |
OccupancyGrid * | Clone () const |
virtual kt_bool | IsFree (const Vector2< kt_int32s > &rPose) const |
OccupancyGrid (kt_int32s width, kt_int32s height, const Vector2< kt_double > &rOffset, kt_double resolution) | |
virtual kt_double | RayCast (const Pose2 &rPose2, kt_double maxRange) const |
void | SetMinPassThrough (kt_int32u count) |
void | SetOccupancyThreshold (kt_double thresh) |
virtual | ~OccupancyGrid () |
Static Public Member Functions | |
static OccupancyGrid * | CreateFromScans (const LocalizedRangeScanVector &rScans, kt_double resolution) |
Protected Member Functions | |
virtual kt_bool | AddScan (LocalizedRangeScan *pScan, kt_bool doUpdate=false) |
virtual void | CreateFromScans (const LocalizedRangeScanVector &rScans) |
virtual Grid< kt_int32u > * | GetCellHitsCounts () |
virtual Grid< kt_int32u > * | GetCellPassCounts () |
virtual kt_bool | RayTrace (const Vector2< kt_double > &rWorldFrom, const Vector2< kt_double > &rWorldTo, kt_bool isEndPointValid, kt_bool doUpdate=false) |
virtual void | Resize (kt_int32s width, kt_int32s height) |
virtual void | Update () |
virtual void | UpdateCell (kt_int8u *pCell, kt_int32u cellPassCnt, kt_int32u cellHitCnt) |
Static Protected Member Functions | |
static void | ComputeDimensions (const LocalizedRangeScanVector &rScans, kt_double resolution, kt_int32s &rWidth, kt_int32s &rHeight, Vector2< kt_double > &rOffset) |
Protected Attributes | |
Grid< kt_int32u > * | m_pCellHitsCnt |
Grid< kt_int32u > * | m_pCellPassCnt |
Private Member Functions | |
OccupancyGrid (const OccupancyGrid &) | |
const OccupancyGrid & | operator= (const OccupancyGrid &) |
Private Attributes | |
CellUpdater * | m_pCellUpdater |
Parameter< kt_int32u > * | m_pMinPassThrough |
Parameter< kt_double > * | m_pOccupancyThreshold |
Friends | |
class | CellUpdater |
class | IncrementalOccupancyGrid |
Occupancy grid definition. See GridStates for possible grid values.
virtual karto::OccupancyGrid::~OccupancyGrid | ( | ) | [inline, virtual] |
karto::OccupancyGrid::OccupancyGrid | ( | const OccupancyGrid & | ) | [private] |
Restrict the copy constructor
virtual kt_bool karto::OccupancyGrid::AddScan | ( | LocalizedRangeScan * | pScan, |
kt_bool | doUpdate = false |
||
) | [inline, protected, virtual] |
OccupancyGrid* karto::OccupancyGrid::Clone | ( | ) | const [inline] |
static void karto::OccupancyGrid::ComputeDimensions | ( | const LocalizedRangeScanVector & | rScans, |
kt_double | resolution, | ||
kt_int32s & | rWidth, | ||
kt_int32s & | rHeight, | ||
Vector2< kt_double > & | rOffset | ||
) | [inline, static, protected] |
static OccupancyGrid* karto::OccupancyGrid::CreateFromScans | ( | const LocalizedRangeScanVector & | rScans, |
kt_double | resolution | ||
) | [inline, static] |
virtual void karto::OccupancyGrid::CreateFromScans | ( | const LocalizedRangeScanVector & | rScans | ) | [inline, protected, virtual] |
virtual Grid<kt_int32u>* karto::OccupancyGrid::GetCellHitsCounts | ( | ) | [inline, protected, virtual] |
virtual Grid<kt_int32u>* karto::OccupancyGrid::GetCellPassCounts | ( | ) | [inline, protected, virtual] |
virtual kt_bool karto::OccupancyGrid::IsFree | ( | const Vector2< kt_int32s > & | rPose | ) | const [inline, virtual] |
const OccupancyGrid& karto::OccupancyGrid::operator= | ( | const OccupancyGrid & | ) | [private] |
Restrict the assignment operator
virtual kt_double karto::OccupancyGrid::RayCast | ( | const Pose2 & | rPose2, |
kt_double | maxRange | ||
) | const [inline, virtual] |
virtual kt_bool karto::OccupancyGrid::RayTrace | ( | const Vector2< kt_double > & | rWorldFrom, |
const Vector2< kt_double > & | rWorldTo, | ||
kt_bool | isEndPointValid, | ||
kt_bool | doUpdate = false |
||
) | [inline, protected, virtual] |
Traces a beam from the start position to the end position marking the bookkeeping arrays accordingly.
rWorldFrom | start position of beam |
rWorldTo | end position of beam |
isEndPointValid | is the reading within the range threshold? |
doUpdate | whether to update the cells' occupancy status immediately |
virtual void karto::OccupancyGrid::Resize | ( | kt_int32s | width, |
kt_int32s | height | ||
) | [inline, protected, virtual] |
Resizes the grid (deletes all old data)
width | |
height |
Reimplemented from karto::Grid< kt_int8u >.
void karto::OccupancyGrid::SetMinPassThrough | ( | kt_int32u | count | ) | [inline] |
void karto::OccupancyGrid::SetOccupancyThreshold | ( | kt_double | thresh | ) | [inline] |
virtual void karto::OccupancyGrid::Update | ( | ) | [inline, protected, virtual] |
virtual void karto::OccupancyGrid::UpdateCell | ( | kt_int8u * | pCell, |
kt_int32u | cellPassCnt, | ||
kt_int32u | cellHitCnt | ||
) | [inline, protected, virtual] |
friend class CellUpdater [friend] |
friend class IncrementalOccupancyGrid [friend] |
Grid<kt_int32u>* karto::OccupancyGrid::m_pCellHitsCnt [protected] |
Grid<kt_int32u>* karto::OccupancyGrid::m_pCellPassCnt [protected] |
CellUpdater* karto::OccupancyGrid::m_pCellUpdater [private] |