GaussianKernelVisualizer.h
Go to the documentation of this file.
1 
18 # pragma once
19 
20 // Global includes
21 #include <map>
22 #include <vector>
23 
24 // Package includes
25 #include <ros/ros.h>
26 #include <visualization_msgs/Marker.h>
27 #include <visualization_msgs/MarkerArray.h>
28 
29 #include <Eigen/Core>
30 #include <Eigen/Geometry>
31 #include <Eigen/Eigenvalues>
32 
33 #include <tf/LinearMath/Vector3.h>
36 #include <tf/transform_datatypes.h>
37 
38 #include <opencv2/core/core.hpp>
39 #include <opencv2/highgui/highgui.hpp>
40 
41 #include <Pose.h>
42 #include <ISM/common_type/Pose.hpp>
43 
44 // Local includes
46 
47 namespace Visualization
48 {
56  {
57  public:
58 
63 
68 
74  void setSigmaMultiplicator(const float pSigmaMultiplicator);
75 
82 
92  unsigned int& pMarkerId,
93  const Eigen::Vector3d& pMean,
94  const Eigen::Matrix3d& pCovariance);
95 
96  private:
97 
103  float getSigmaMultiplicator();
104 
114  visualization_msgs::Marker generateAxis(const unsigned int pMarkerId,
115  const unsigned int pAxis,
116  const Eigen::Vector3d& pMean,
117  const Eigen::Matrix3d& pCovariance);
118 
126  void calculateCoordinatePlaneEllipses(const std::vector<int>& pEllipsoidHalfAxes, const int pDiscretizationResolution, std::vector<std::vector<std::vector<int> > >& pEllipsePolygons);
127 
139  visualization_msgs::Marker generateCovarianceEllipsoidMarker(const unsigned int pMarkerId,
140  const int pMarkerShape,
141  const std::vector<std::vector<float> >& pWireFramePolygons,
142  const std_msgs::ColorRGBA& pColor,
143  const Eigen::Vector3d& pMean,
144  const Eigen::Matrix3d& pCovariance);
145 
153  visualization_msgs::MarkerArray generateSamplesMarker(const unsigned int pMarkerId, const std::vector<boost::shared_ptr<Eigen::Quaternion<double> > >& pSamples);
154 
162  visualization_msgs::Marker generateArrowMessage(unsigned int& pMarkerId, Eigen::Vector3d pFrom, Eigen::Vector3d pTo);
163 
170  visualization_msgs::Marker generateSphereMessage(unsigned int& pMarkerId, Eigen::Vector3d pPos);
171 
179  template <class T> void stlVectorToPointMsg(const std::vector<T> pPositionVector, geometry_msgs::Point& pROSPositionMsg);
180 
181  private:
182 
187 
192  };
193 }
void calculateCoordinatePlaneEllipses(const std::vector< int > &pEllipsoidHalfAxes, const int pDiscretizationResolution, std::vector< std::vector< std::vector< int > > > &pEllipsePolygons)
visualization_msgs::Marker generateArrowMessage(unsigned int &pMarkerId, Eigen::Vector3d pFrom, Eigen::Vector3d pTo)
void setSigmaMultiplicator(const float pSigmaMultiplicator)
void setParentPose(boost::shared_ptr< ISM::Pose > pPose)
visualization_msgs::MarkerArray generateSamplesMarker(const unsigned int pMarkerId, const std::vector< boost::shared_ptr< Eigen::Quaternion< double > > > &pSamples)
visualization_msgs::Marker generateSphereMessage(unsigned int &pMarkerId, Eigen::Vector3d pPos)
void publishKernel(boost::shared_ptr< ros::Publisher > pPublisher, unsigned int &pMarkerId, const Eigen::Vector3d &pMean, const Eigen::Matrix3d &pCovariance)
visualization_msgs::Marker generateAxis(const unsigned int pMarkerId, const unsigned int pAxis, const Eigen::Vector3d &pMean, const Eigen::Matrix3d &pCovariance)
visualization_msgs::Marker generateCovarianceEllipsoidMarker(const unsigned int pMarkerId, const int pMarkerShape, const std::vector< std::vector< float > > &pWireFramePolygons, const std_msgs::ColorRGBA &pColor, const Eigen::Vector3d &pMean, const Eigen::Matrix3d &pCovariance)
void stlVectorToPointMsg(const std::vector< T > pPositionVector, geometry_msgs::Point &pROSPositionMsg)


asr_psm_visualizations
Author(s): Gehrung Joachim, Meißner Pascal
autogenerated on Sat Nov 9 2019 03:49:12