Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
srs_env_model::CObjTreePlugin Class Reference

#include <objtree_plugin.h>

Inheritance diagram for srs_env_model::CObjTreePlugin:
Inheritance graph
[legend]

List of all members.

Public Types

typedef boost::shared_ptr
< interactive_markers::InteractiveMarkerServer
InteractiveMarkerServerPtr
enum  Operation { INSERT, UPDATE, GET_SIMILAR }

Public Member Functions

 CObjTreePlugin (const std::string &name)
 Constructor.
virtual void init (ros::NodeHandle &node_handle)
 Initialize plugin - called in server constructor.
virtual void pause (bool bPause, ros::NodeHandle &node_handle)
 Pause/resume plugin. All publishers and subscribers are disconnected on pause.
virtual void reset ()
 Reset plugin content when reseting whole server.
virtual ~CObjTreePlugin ()
 Destructor.

Protected Member Functions

void getObjects (const objtree::Filter *filter, std::vector< unsigned int > &output)
unsigned int insertABox (unsigned int id, const geometry_msgs::Point32 &position, const geometry_msgs::Vector3 &scale, Operation op)
unsigned int insertBBox (unsigned int id, const geometry_msgs::Pose &pose, const geometry_msgs::Vector3 &scale, Operation op)
unsigned int insertPlane (const srs_env_model_msgs::PlaneDesc &plane, Operation op)
virtual void publishInternal (const ros::Time &timestamp)
 Publish data - virtual function.
void removeObject (unsigned int id)
virtual bool shouldPublish ()
 Should plugin publish data?
void showObject (unsigned int id)
void showObjtree ()
bool srvGetABox (srs_env_model::GetAlignedBox::Request &req, srs_env_model::GetAlignedBox::Response &res)
 Get information about axis aligned box.
bool srvGetBBox (srs_env_model::GetBoundingBox::Request &req, srs_env_model::GetBoundingBox::Response &res)
 Get information about bounding box.
bool srvGetObjectsInBox (srs_env_model::GetObjectsInBox::Request &req, srs_env_model::GetObjectsInBox::Response &res)
 Get objects ids from box.
bool srvGetObjectsInHalfspace (srs_env_model::GetObjectsInHalfspace::Request &req, srs_env_model::GetObjectsInHalfspace::Response &res)
 Get objects ids from halfspace.
bool srvGetObjectsInSphere (srs_env_model::GetObjectsInSphere::Request &req, srs_env_model::GetObjectsInSphere::Response &res)
 Get objects ids from sphere.
bool srvGetPlane (srs_env_model::GetPlane::Request &req, srs_env_model::GetPlane::Response &res)
 Get information about plane.
bool srvGetSimilarABox (srs_env_model::InsertAlignedBox::Request &req, srs_env_model::InsertAlignedBox::Response &res)
 Get similar axis aligned box id.
bool srvGetSimilarBBox (srs_env_model::InsertBoundingBox::Request &req, srs_env_model::InsertBoundingBox::Response &res)
 Get similar bounding box id.
bool srvGetSimilarPlane (srs_env_model::InsertPlane::Request &req, srs_env_model::InsertPlane::Response &res)
 Get similar plane id.
bool srvInsertABox (srs_env_model::InsertAlignedBox::Request &req, srs_env_model::InsertAlignedBox::Response &res)
 Insert new axis aligned box, update if aligned box with same id exists.
bool srvInsertABoxByPosition (srs_env_model::InsertAlignedBox::Request &req, srs_env_model::InsertAlignedBox::Response &res)
 Insert new axis aligned box, update if similar aligned box exists.
bool srvInsertBBox (srs_env_model::InsertBoundingBox::Request &req, srs_env_model::InsertBoundingBox::Response &res)
 Insert new bounding box, update if bounding box with same id exists.
bool srvInsertBBoxByPosition (srs_env_model::InsertBoundingBox::Request &req, srs_env_model::InsertBoundingBox::Response &res)
 Insert new bounding box, update if similar bounding box exists.
bool srvInsertPlane (srs_env_model::InsertPlane::Request &req, srs_env_model::InsertPlane::Response &res)
 Insert new plane, update if plane with same id exists.
bool srvInsertPlaneByPosition (srs_env_model::InsertPlane::Request &req, srs_env_model::InsertPlane::Response &res)
 Insert new plane, update if similar plane exists.
bool srvInsertPlanes (srs_env_model::InsertPlanes::Request &req, srs_env_model::InsertPlanes::Response &res)
 Insert planes array.
bool srvRemoveObject (srs_env_model::RemoveObject::Request &req, srs_env_model::RemoveObject::Response &res)
 Remove object by id.
bool srvShowObject (srs_env_model::ShowObject::Request &req, srs_env_model::ShowObject::Response &res)
 Show object as interaction primitive.
bool srvShowObjtree (srs_env_model::ShowObjtree::Request &req, srs_env_model::ShowObjtree::Response &res)
 Show octree structure.

Protected Attributes

ros::ServiceClient m_clientAddBoundingBox
ros::ServiceClient m_clientAddPlane
ros::ServiceClient m_clientRemovePrimitive
ros::Publisher m_markerPub
objtree::Octree m_octree
ros::ServiceServer m_serviceGetABox
ros::ServiceServer m_serviceGetBBox
ros::ServiceServer m_serviceGetObjectsInBox
ros::ServiceServer m_serviceGetObjectsInHalfspace
ros::ServiceServer m_serviceGetObjectsInSphere
ros::ServiceServer m_serviceGetPlane
ros::ServiceServer m_serviceGetSimilarABox
ros::ServiceServer m_serviceGetSimilarBBox
ros::ServiceServer m_serviceGetSimilarPlane
ros::ServiceServer m_serviceInsertABox
ros::ServiceServer m_serviceInsertABoxByPosition
ros::ServiceServer m_serviceInsertBBox
ros::ServiceServer m_serviceInsertBBoxByPosition
ros::ServiceServer m_serviceInsertPlane
ros::ServiceServer m_serviceInsertPlaneByPosition
ros::ServiceServer m_serviceInsertPlanes
ros::ServiceServer m_serviceRemoveObject
ros::ServiceServer m_serviceShowObject
ros::ServiceServer m_serviceShowObjtree

Private Member Functions

void publishCube (visualization_msgs::Marker &lines, float x, float y, float z, float w, float h, float d)
void publishLine (visualization_msgs::Marker &lines, float x1, float y1, float z1, float x2, float y2, float z2)
void publishOctree (const std::list< objtree::Box > &nodes)
void removePrimitiveMarker (unsigned int id)

Detailed Description

Definition at line 57 of file objtree_plugin.h.


Member Typedef Documentation

Definition at line 60 of file objtree_plugin.h.


Member Enumeration Documentation

Enumerator:
INSERT 
UPDATE 
GET_SIMILAR 

Definition at line 73 of file objtree_plugin.h.


Constructor & Destructor Documentation

srs_env_model::CObjTreePlugin::CObjTreePlugin ( const std::string &  name)

Constructor.

Definition at line 47 of file objtree_plugin.cpp.

Destructor.

Definition at line 52 of file objtree_plugin.cpp.


Member Function Documentation

void srs_env_model::CObjTreePlugin::getObjects ( const objtree::Filter filter,
std::vector< unsigned int > &  output 
) [protected]

Definition at line 613 of file objtree_plugin.cpp.

void srs_env_model::CObjTreePlugin::init ( ros::NodeHandle node_handle) [virtual]

Initialize plugin - called in server constructor.

Reimplemented from srs_env_model::CServerPluginBase.

Definition at line 57 of file objtree_plugin.cpp.

unsigned int srs_env_model::CObjTreePlugin::insertABox ( unsigned int  id,
const geometry_msgs::Point32 &  position,
const geometry_msgs::Vector3 &  scale,
CObjTreePlugin::Operation  op 
) [protected]

Definition at line 373 of file objtree_plugin.cpp.

unsigned int srs_env_model::CObjTreePlugin::insertBBox ( unsigned int  id,
const geometry_msgs::Pose pose,
const geometry_msgs::Vector3 &  scale,
CObjTreePlugin::Operation  op 
) [protected]

Definition at line 407 of file objtree_plugin.cpp.

Definition at line 331 of file objtree_plugin.cpp.

void srs_env_model::CObjTreePlugin::pause ( bool  bPause,
ros::NodeHandle node_handle 
) [virtual]

Pause/resume plugin. All publishers and subscribers are disconnected on pause.

Pause/resume plugin. All publishers and subscribers are disconnected on pause

Reimplemented from srs_env_model::CServerPluginBase.

Definition at line 702 of file objtree_plugin.cpp.

void srs_env_model::CObjTreePlugin::publishCube ( visualization_msgs::Marker &  lines,
float  x,
float  y,
float  z,
float  w,
float  h,
float  d 
) [private]

Definition at line 646 of file objtree_plugin.cpp.

virtual void srs_env_model::CObjTreePlugin::publishInternal ( const ros::Time timestamp) [inline, protected, virtual]

Publish data - virtual function.

Implements srs_env_model::CServerPluginBase.

Definition at line 87 of file objtree_plugin.h.

void srs_env_model::CObjTreePlugin::publishLine ( visualization_msgs::Marker &  lines,
float  x1,
float  y1,
float  z1,
float  x2,
float  y2,
float  z2 
) [private]

Definition at line 629 of file objtree_plugin.cpp.

Definition at line 674 of file objtree_plugin.cpp.

void srs_env_model::CObjTreePlugin::removeObject ( unsigned int  id) [protected]

Definition at line 594 of file objtree_plugin.cpp.

void srs_env_model::CObjTreePlugin::removePrimitiveMarker ( unsigned int  id) [private]

Definition at line 664 of file objtree_plugin.cpp.

Reset plugin content when reseting whole server.

Reimplemented from srs_env_model::CServerPluginBase.

Definition at line 89 of file objtree_plugin.cpp.

virtual bool srs_env_model::CObjTreePlugin::shouldPublish ( ) [inline, protected, virtual]

Should plugin publish data?

Implements srs_env_model::CServerPluginBase.

Definition at line 85 of file objtree_plugin.h.

void srs_env_model::CObjTreePlugin::showObject ( unsigned int  id) [protected]

Definition at line 482 of file objtree_plugin.cpp.

Definition at line 600 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetABox ( srs_env_model::GetAlignedBox::Request &  req,
srs_env_model::GetAlignedBox::Response &  res 
) [protected]

Get information about axis aligned box.

Definition at line 262 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetBBox ( srs_env_model::GetBoundingBox::Request &  req,
srs_env_model::GetBoundingBox::Response &  res 
) [protected]

Get information about bounding box.

Definition at line 282 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetObjectsInBox ( srs_env_model::GetObjectsInBox::Request &  req,
srs_env_model::GetObjectsInBox::Response &  res 
) [protected]

Get objects ids from box.

Definition at line 307 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetObjectsInHalfspace ( srs_env_model::GetObjectsInHalfspace::Request &  req,
srs_env_model::GetObjectsInHalfspace::Response &  res 
) [protected]

Get objects ids from halfspace.

Definition at line 315 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetObjectsInSphere ( srs_env_model::GetObjectsInSphere::Request &  req,
srs_env_model::GetObjectsInSphere::Response &  res 
) [protected]

Get objects ids from sphere.

Definition at line 323 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetPlane ( srs_env_model::GetPlane::Request &  req,
srs_env_model::GetPlane::Response &  res 
) [protected]

Get information about plane.

Definition at line 231 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetSimilarABox ( srs_env_model::InsertAlignedBox::Request &  req,
srs_env_model::InsertAlignedBox::Response &  res 
) [protected]

Get similar axis aligned box id.

Definition at line 180 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetSimilarBBox ( srs_env_model::InsertBoundingBox::Request &  req,
srs_env_model::InsertBoundingBox::Response &  res 
) [protected]

Get similar bounding box id.

Definition at line 187 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvGetSimilarPlane ( srs_env_model::InsertPlane::Request &  req,
srs_env_model::InsertPlane::Response &  res 
) [protected]

Get similar plane id.

Definition at line 173 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvInsertABox ( srs_env_model::InsertAlignedBox::Request &  req,
srs_env_model::InsertAlignedBox::Response &  res 
) [protected]

Insert new axis aligned box, update if aligned box with same id exists.

Definition at line 110 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvInsertABoxByPosition ( srs_env_model::InsertAlignedBox::Request &  req,
srs_env_model::InsertAlignedBox::Response &  res 
) [protected]

Insert new axis aligned box, update if similar aligned box exists.

Definition at line 143 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvInsertBBox ( srs_env_model::InsertBoundingBox::Request &  req,
srs_env_model::InsertBoundingBox::Response &  res 
) [protected]

Insert new bounding box, update if bounding box with same id exists.

Definition at line 119 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvInsertBBoxByPosition ( srs_env_model::InsertBoundingBox::Request &  req,
srs_env_model::InsertBoundingBox::Response &  res 
) [protected]

Insert new bounding box, update if similar bounding box exists.

Definition at line 158 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvInsertPlane ( srs_env_model::InsertPlane::Request &  req,
srs_env_model::InsertPlane::Response &  res 
) [protected]

Insert new plane, update if plane with same id exists.

Definition at line 101 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvInsertPlaneByPosition ( srs_env_model::InsertPlane::Request &  req,
srs_env_model::InsertPlane::Response &  res 
) [protected]

Insert new plane, update if similar plane exists.

Definition at line 128 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvInsertPlanes ( srs_env_model::InsertPlanes::Request &  req,
srs_env_model::InsertPlanes::Response &  res 
) [protected]

Insert planes array.

Definition at line 194 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvRemoveObject ( srs_env_model::RemoveObject::Request &  req,
srs_env_model::RemoveObject::Response &  res 
) [protected]

Remove object by id.

Definition at line 217 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvShowObject ( srs_env_model::ShowObject::Request &  req,
srs_env_model::ShowObject::Response &  res 
) [protected]

Show object as interaction primitive.

Definition at line 210 of file objtree_plugin.cpp.

bool srs_env_model::CObjTreePlugin::srvShowObjtree ( srs_env_model::ShowObjtree::Request &  req,
srs_env_model::ShowObjtree::Response &  res 
) [protected]

Show octree structure.

Definition at line 224 of file objtree_plugin.cpp.


Member Data Documentation

Definition at line 160 of file objtree_plugin.h.

Definition at line 159 of file objtree_plugin.h.

Definition at line 161 of file objtree_plugin.h.

Definition at line 163 of file objtree_plugin.h.

Definition at line 165 of file objtree_plugin.h.

Definition at line 142 of file objtree_plugin.h.

Definition at line 143 of file objtree_plugin.h.

Definition at line 138 of file objtree_plugin.h.

Definition at line 139 of file objtree_plugin.h.

Definition at line 140 of file objtree_plugin.h.

Definition at line 141 of file objtree_plugin.h.

Definition at line 151 of file objtree_plugin.h.

Definition at line 152 of file objtree_plugin.h.

Definition at line 150 of file objtree_plugin.h.

Definition at line 145 of file objtree_plugin.h.

Definition at line 148 of file objtree_plugin.h.

Definition at line 146 of file objtree_plugin.h.

Definition at line 149 of file objtree_plugin.h.

Definition at line 144 of file objtree_plugin.h.

Definition at line 147 of file objtree_plugin.h.

Definition at line 153 of file objtree_plugin.h.

Definition at line 156 of file objtree_plugin.h.

Definition at line 154 of file objtree_plugin.h.

Definition at line 155 of file objtree_plugin.h.


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


srs_env_model
Author(s): Vit Stancl (stancl@fit.vutbr.cz), Tomas Lokaj, Jan Gorig, Michal Spanel (spanel@fit.vutbr.cz)
autogenerated on Sun Jan 5 2014 11:50:50