Multi-robot Playground
Common.h File Reference
#include <cstring>
#include <stdio.h>
#include "geometry_msgs/Pose.h"
#include "ros/ros.h"
#include "tf/tf.h"
#include "nav_msgs/OccupancyGrid.h"
#include <random>
Include dependency graph for Common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Vec2i
 
class  Matrix< T >
 
class  Matrix_Proxy< _T >
 
class  Matrix< T >
 

Macros

#define INLINE_OPERATION_IMPLEMENTATION_INT(TTYPE)
 
#define MATRIX_THROW_OUT_OF_BOUND_EXCEPTION
 

Functions

std::mt19937 * randomglobal ()
 
double Distance (const Vec2i &rA, const Vec2i &rB)
 
static Vec2i operator/ (const Vec2i &vecA, const Vec2i &vecB)
 
static Vec2i operator/ (const Vec2i &vec, const int value)
 
static Vec2i operator/ (const int value, const Vec2i &vec)
 
static Vec2i operator* (const Vec2i &vecA, const Vec2i &vecB)
 
static Vec2i operator* (const Vec2i &vec, const int value)
 
static Vec2i operator* (const int value, const Vec2i &vec)
 
static Vec2i operator+ (const Vec2i &vecA, const Vec2i &vecB)
 
static Vec2i operator+ (const Vec2i &vec, const int value)
 
static Vec2i operator+ (const int value, const Vec2i &vec)
 
static Vec2i operator- (const Vec2i &vecA, const Vec2i &vecB)
 
static Vec2i operator- (const Vec2i &vec, const int value)
 
static Vec2i operator- (const int value, const Vec2i &vec)
 
void PrintIntMap (Matrix< int > &rInput)
 
void PrintCharMap (Matrix< char > &rInput)
 
void PrintSelfMap (Matrix< int > &rInput, const Vec2i &rPos)
 
void PrintIntPath (Matrix< int > &rInput, std::list< Vec2i > &rPath, const Vec2i &rStart, const Vec2i &rEnd)
 
void PoseToVector3 (const geometry_msgs::Pose &rInput, tf::Vector3 &rOut)
 
void Vector3ToPose (const tf::Vector3 &rInput, geometry_msgs::Pose &rOutPose)
 
void WorldToMap (nav_msgs::OccupancyGrid &rOcc, geometry_msgs::Pose &rWorld, Vec2i &rOutput)
 
void WorldToMap (nav_msgs::OccupancyGrid &rOcc, geometry_msgs::Pose &rWorld, tf::Vector3 &rOutput)
 
void WorldToMap (nav_msgs::OccupancyGrid &rOcc, tf::Vector3 &rWorld, Vec2i &rOutput)
 
void WorldToMap (nav_msgs::OccupancyGrid &rOcc, tf::Vector3 &rWorld, tf::Vector3 &rOutput)
 
void MapToWorld (nav_msgs::OccupancyGrid &rOcc, Vec2i &rMap, geometry_msgs::Pose &rWorld)
 
void MapToWorld (nav_msgs::OccupancyGrid &rOcc, Vec2i &rMap, Vec2i &rWorld)
 
void MapToWorld (nav_msgs::OccupancyGrid &rOcc, Vec2i &rMap, tf::Vector3 &rWorld)
 
double PeriodToFreqAndFreqToPeriod (const double &val)
 
void ApplyMask (const int &rX, const int &rY, const int &rRadius, std::vector< int8_t > &rArr, const int &rVal, const int &rWidth, const int &rHeight, const int8_t &occupancyThreshold=90, const bool &ignoreObstacles=false)
 

Macro Definition Documentation

◆ INLINE_OPERATION_IMPLEMENTATION_INT

#define INLINE_OPERATION_IMPLEMENTATION_INT (   TTYPE)
Value:
static inline TTYPE operator/( const TTYPE& vecA, const TTYPE& vecB ){ return (TTYPE(vecA)/=vecB); } \
static inline TTYPE operator/( const TTYPE& vec , const int value ){ return (TTYPE(vec)/=value); } \
static inline TTYPE operator/( const int value, const TTYPE& vec ){ return (TTYPE::Create(value)/=vec); } \
static inline TTYPE operator*( const TTYPE& vecA, const TTYPE& vecB ){ return (TTYPE(vecA)*=vecB); } \
static inline TTYPE operator*( const TTYPE& vec , const int value ){ return (TTYPE(vec)*=value); } \
static inline TTYPE operator*( const int value, const TTYPE& vec ){ return (TTYPE::Create(value)*=vec); } \
static inline TTYPE operator+( const TTYPE& vecA, const TTYPE& vecB ){ return (TTYPE(vecA)+=vecB); } \
static inline TTYPE operator+( const TTYPE& vec , const int value ){ return (TTYPE(vec)+=value); } \
static inline TTYPE operator+( const int value, const TTYPE& vec ){ return (TTYPE::Create(value)+=vec); } \
static inline TTYPE operator-( const TTYPE& vecA, const TTYPE& vecB ){ return (TTYPE(vecA)-=vecB); } \
static inline TTYPE operator-( const TTYPE& vec , const int value ){ return (TTYPE(vec)-=value); } \
static inline TTYPE operator-( const int value, const TTYPE& vec ){ return (TTYPE::Create(value)-=vec); }

◆ MATRIX_THROW_OUT_OF_BOUND_EXCEPTION

#define MATRIX_THROW_OUT_OF_BOUND_EXCEPTION

Function Documentation

◆ ApplyMask()

void ApplyMask ( const int &  rX,
const int &  rY,
const int &  rRadius,
std::vector< int8_t > &  rArr,
const int &  rVal,
const int &  rWidth,
const int &  rHeight,
const int8_t &  occupancyThreshold = 90,
const bool &  ignoreObstacles = false 
)
inline

◆ Distance()

double Distance ( const Vec2i rA,
const Vec2i rB 
)
inline

◆ MapToWorld() [1/3]

void MapToWorld ( nav_msgs::OccupancyGrid &  rOcc,
Vec2i rMap,
geometry_msgs::Pose &  rWorld 
)
inline

◆ MapToWorld() [2/3]

void MapToWorld ( nav_msgs::OccupancyGrid &  rOcc,
Vec2i rMap,
tf::Vector3 &  rWorld 
)
inline

◆ MapToWorld() [3/3]

void MapToWorld ( nav_msgs::OccupancyGrid &  rOcc,
Vec2i rMap,
Vec2i rWorld 
)
inline

◆ operator*() [1/3]

static Vec2i operator* ( const int  value,
const Vec2i vec 
)
inlinestatic

◆ operator*() [2/3]

static Vec2i operator* ( const Vec2i vec,
const int  value 
)
inlinestatic

◆ operator*() [3/3]

static Vec2i operator* ( const Vec2i vecA,
const Vec2i vecB 
)
inlinestatic

◆ operator+() [1/3]

static Vec2i operator+ ( const int  value,
const Vec2i vec 
)
inlinestatic

◆ operator+() [2/3]

static Vec2i operator+ ( const Vec2i vec,
const int  value 
)
inlinestatic

◆ operator+() [3/3]

static Vec2i operator+ ( const Vec2i vecA,
const Vec2i vecB 
)
inlinestatic

◆ operator-() [1/3]

static Vec2i operator- ( const int  value,
const Vec2i vec 
)
inlinestatic

◆ operator-() [2/3]

static Vec2i operator- ( const Vec2i vec,
const int  value 
)
inlinestatic

◆ operator-() [3/3]

static Vec2i operator- ( const Vec2i vecA,
const Vec2i vecB 
)
inlinestatic

◆ operator/() [1/3]

static Vec2i operator/ ( const int  value,
const Vec2i vec 
)
inlinestatic

◆ operator/() [2/3]

static Vec2i operator/ ( const Vec2i vec,
const int  value 
)
inlinestatic

◆ operator/() [3/3]

static Vec2i operator/ ( const Vec2i vecA,
const Vec2i vecB 
)
inlinestatic

◆ PeriodToFreqAndFreqToPeriod()

double PeriodToFreqAndFreqToPeriod ( const double &  val)
inline

◆ PoseToVector3()

void PoseToVector3 ( const geometry_msgs::Pose &  rInput,
tf::Vector3 &  rOut 
)
inline

◆ PrintCharMap()

void PrintCharMap ( Matrix< char > &  rInput)
inline

◆ PrintIntMap()

void PrintIntMap ( Matrix< int > &  rInput)
inline

◆ PrintIntPath()

void PrintIntPath ( Matrix< int > &  rInput,
std::list< Vec2i > &  rPath,
const Vec2i rStart,
const Vec2i rEnd 
)
inline

◆ PrintSelfMap()

void PrintSelfMap ( Matrix< int > &  rInput,
const Vec2i rPos 
)
inline

◆ randomglobal()

std::mt19937* randomglobal ( )

◆ Vector3ToPose()

void Vector3ToPose ( const tf::Vector3 &  rInput,
geometry_msgs::Pose &  rOutPose 
)
inline

◆ WorldToMap() [1/4]

void WorldToMap ( nav_msgs::OccupancyGrid &  rOcc,
geometry_msgs::Pose &  rWorld,
tf::Vector3 &  rOutput 
)
inline

◆ WorldToMap() [2/4]

void WorldToMap ( nav_msgs::OccupancyGrid &  rOcc,
geometry_msgs::Pose &  rWorld,
Vec2i rOutput 
)
inline

◆ WorldToMap() [3/4]

void WorldToMap ( nav_msgs::OccupancyGrid &  rOcc,
tf::Vector3 &  rWorld,
tf::Vector3 &  rOutput 
)
inline

◆ WorldToMap() [4/4]

void WorldToMap ( nav_msgs::OccupancyGrid &  rOcc,
tf::Vector3 &  rWorld,
Vec2i rOutput 
)
inline
operator-
static Vec2i operator-(const Vec2i &vecA, const Vec2i &vecB)
Definition: Common.h:139
operator/
static Vec2i operator/(const Vec2i &vecA, const Vec2i &vecB)
Definition: Common.h:139
operator+
static Vec2i operator+(const Vec2i &vecA, const Vec2i &vecB)
Definition: Common.h:139
operator*
static Vec2i operator*(const Vec2i &vecA, const Vec2i &vecB)
Definition: Common.h:139