Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef MOVEIT_MESH_FILTER_MESHFILTER_
00038 #define MOVEIT_MESH_FILTER_MESHFILTER_
00039
00040 #include <map>
00041 #include <moveit/mesh_filter/gl_renderer.h>
00042 #include <moveit/mesh_filter/mesh_filter_base.h>
00043 #include <boost/function.hpp>
00044 #include <Eigen/Eigen>
00045
00046
00047 namespace shapes
00048 {
00049 class Mesh;
00050 }
00051
00052 namespace mesh_filter
00053 {
00054
00055 class GLMesh;
00056
00062 template <typename SensorType>
00063 class MeshFilter : public MeshFilterBase
00064 {
00065 public:
00072 MeshFilter (const TransformCallback& transform_callback = TransformCallback(),
00073 const typename SensorType::Parameters& sensor_parameters = typename SensorType::Parameters ());
00074
00080 typename SensorType::Parameters& parameters ();
00081
00087 const typename SensorType::Parameters& parameters () const;
00088 };
00089
00090 template<typename SensorType>
00091 MeshFilter<SensorType>::MeshFilter (const TransformCallback& transform_callback,
00092 const typename SensorType::Parameters& sensor_parameters)
00093 : MeshFilterBase (transform_callback, sensor_parameters,
00094 SensorType::renderVertexShaderSource, SensorType::renderFragmentShaderSource,
00095 SensorType::filterVertexShaderSource, SensorType::filterFragmentShaderSource)
00096 {
00097 }
00098
00099 template<typename SensorType>
00100 typename SensorType::Parameters& MeshFilter<SensorType>::parameters ()
00101 {
00102 return static_cast<typename SensorType::Parameters&> (*sensor_parameters_);
00103 }
00104
00105 template<typename SensorType>
00106 const typename SensorType::Parameters& MeshFilter<SensorType>::parameters () const
00107 {
00108 return static_cast<typename SensorType::Parameters&> (*sensor_parameters_);
00109 }
00110
00111 }
00112 #endif