#include <objtree_plugin.h>
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 ×tamp) |
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) |
Definition at line 57 of file objtree_plugin.h.
typedef boost::shared_ptr<interactive_markers::InteractiveMarkerServer> srs_env_model::CObjTreePlugin::InteractiveMarkerServerPtr |
Definition at line 60 of file objtree_plugin.h.
Definition at line 73 of file objtree_plugin.h.
srs_env_model::CObjTreePlugin::CObjTreePlugin | ( | const std::string & | name | ) |
Constructor.
Definition at line 47 of file objtree_plugin.cpp.
srs_env_model::CObjTreePlugin::~CObjTreePlugin | ( | ) | [virtual] |
Destructor.
Definition at line 52 of file objtree_plugin.cpp.
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.
unsigned int srs_env_model::CObjTreePlugin::insertPlane | ( | const srs_env_model_msgs::PlaneDesc & | plane, |
CObjTreePlugin::Operation | op | ||
) | [protected] |
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.
void srs_env_model::CObjTreePlugin::publishOctree | ( | const std::list< objtree::Box > & | nodes | ) | [private] |
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.
void srs_env_model::CObjTreePlugin::reset | ( | ) | [virtual] |
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.
void srs_env_model::CObjTreePlugin::showObjtree | ( | ) | [protected] |
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.
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.