Go to the documentation of this file.
28 #ifndef TANGO_POINT_CLOUD_POINT_CLOUD_DRAWABLE_H_
29 #define TANGO_POINT_CLOUD_POINT_CLOUD_DRAWABLE_H_
37 #include <pcl/point_cloud.h>
38 #include <pcl/point_types.h>
40 #include <pcl/Vertices.h>
54 const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
55 const pcl::IndicesPtr & indices,
61 bool createWireframe =
false);
64 void updatePolygons(
const std::vector<pcl::Vertices> & polygons,
const std::vector<pcl::Vertices> & polygonsLowRes = std::vector<pcl::Vertices>(),
bool createWireframe =
false);
65 void updateCloud(
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
const pcl::IndicesPtr & indices);
90 bool meshRendering =
true,
91 float pointSize = 3.0f,
92 bool textureRendering =
false,
94 float distanceToCamSqr = 0.0f,
95 const GLuint & depthTexture = 0,
98 float nearClipPlane = 0,
99 float farClipPlane = 0,
100 bool packDepthToColorChannel =
false,
101 bool wireFrame =
false)
const;
104 template<
class Po
intT>
107 if(pt.x<
min.x)
min.x = pt.x;
108 if(pt.y<
min.y)
min.y = pt.y;
109 if(pt.z<
min.z)
min.z = pt.z;
110 if(pt.x>
max.x)
max.x = pt.x;
111 if(pt.y>
max.y)
max.y = pt.y;
112 if(pt.z>
max.z)
max.z = pt.z;
140 #endif // TANGO_POINT_CLOUD_POINT_CLOUD_DRAWABLE_H_
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
static void releaseShaderPrograms()
static std::vector< GLuint > shaderPrograms_
void setVisible(bool visible)
void updateAABBMinMax(const PointT &pt, pcl::PointXYZ &min, pcl::PointXYZ &max)
const glm::mat4 & getPoseGl() const
void setPose(const rtabmap::Transform &pose)
pcl::PointXYZ aabbMaxModel_
const pcl::PointXYZ & aabbMinModel() const
std::vector< unsigned int > organizedToDenseIndices_
pcl::PointXYZ aabbMinWorld_
rtabmap::Transform getPose() const
PointCloudDrawable(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, const pcl::IndicesPtr &indices, float gainR=1.0f, float gainG=1.0f, float gainB=1.0f)
void updateCloud(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, const pcl::IndicesPtr &indices)
void Render(const glm::mat4 &projectionMatrix, const glm::mat4 &viewMatrix, bool meshRendering=true, float pointSize=3.0f, bool textureRendering=false, bool lighting=true, float distanceToCamSqr=0.0f, const GLuint &depthTexture=0, int screenWidth=0, int screenHeight=0, float nearClipPlane=0, float farClipPlane=0, bool packDepthToColorChannel=false, bool wireFrame=false) const
const pcl::PointXYZ & aabbMinWorld() const
const pcl::PointXYZ & aabbMaxModel() const
GLM_FUNC_DECL genType max(genType const &x, genType const &y)
const pcl::PointXYZ & aabbMaxWorld() const
pcl::PointXYZ aabbMaxWorld_
static void createShaderPrograms()
void updateMesh(const rtabmap::Mesh &mesh, bool createWireframe=false)
void updatePolygons(const std::vector< pcl::Vertices > &polygons, const std::vector< pcl::Vertices > &polygonsLowRes=std::vector< pcl::Vertices >(), bool createWireframe=false)
std::vector< int > index_buffers_count_
void setGains(float gainR, float gainG, float gainB)
float getMinHeight() const
pcl::PointXYZ aabbMinModel_
virtual ~PointCloudDrawable()
void updateAABBWorld(const rtabmap::Transform &pose)
std::vector< GLuint > index_buffers_
rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:14