gtsam_points
Loading...
Searching...
No Matches
pointnormals_buffer.hpp
Go to the documentation of this file.
1#ifndef GLK_POINT_NORMALS_BUFFER_HPP
2#define GLK_POINT_NORMALS_BUFFER_HPP
3
4#include <memory>
5#include <Eigen/Dense>
6#include <glk/drawable.hpp>
7#include <glk/thin_lines.hpp>
8
9namespace glk {
10
12public:
14 using Ptr = std::shared_ptr<PointNormalsBuffer>;
15
16 PointNormalsBuffer(const float* vertices, size_t vertex_stride, const float* normals, size_t normal_stride, int num_points, double normal_length);
17
18 template <template <class> class Allocator>
20 const std::vector<Eigen::Vector3f, Allocator<Eigen::Vector3f>>& vertices,
21 const std::vector<Eigen::Vector3f, Allocator<Eigen::Vector3f>>& normals,
22 double normal_length);
23
24 virtual ~PointNormalsBuffer() override;
25
26 virtual void draw(glk::GLSLShader& shader) const override;
27
28private:
29 std::unique_ptr<glk::ThinLines> normal_lines;
30};
31
32} // namespace glk
33
34#endif
Definition drawable.hpp:12
Definition glsl_shader.hpp:20
Definition pointnormals_buffer.hpp:11
virtual ~PointNormalsBuffer() override
PointNormalsBuffer(const std::vector< Eigen::Vector3f, Allocator< Eigen::Vector3f > > &vertices, const std::vector< Eigen::Vector3f, Allocator< Eigen::Vector3f > > &normals, double normal_length)
virtual void draw(glk::GLSLShader &shader) const override
std::shared_ptr< PointNormalsBuffer > Ptr
Definition pointnormals_buffer.hpp:14
PointNormalsBuffer(const float *vertices, size_t vertex_stride, const float *normals, size_t normal_stride, int num_points, double normal_length)
Definition async_buffer_copy.hpp:6
std::enable_if_t< needs_aligned_allocator< T >::value, std::shared_ptr< T > > make_shared(Args &&... args)
Definition make_shared.hpp:20