30 lines
1.3 KiB
C++
30 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "assets/components/point_cloud_vertex_components.hpp"
|
|
|
|
#include <array>
|
|
#include <vector>
|
|
#include "assets/dynamic_read_buffers/dynamic_vertex_buffer.hpp"
|
|
|
|
class dynamic_point_cloud_buffer : public dynamic_vertex_buffer<
|
|
components::point_cloud_vertex::flags,
|
|
components::point_cloud_vertex::position,
|
|
components::point_cloud_vertex::normal,
|
|
components::point_cloud_vertex::color,
|
|
components::point_cloud_vertex::reflectance
|
|
> {
|
|
public:
|
|
[[nodiscard]] std::vector<components::point_cloud_vertex::position>& positions();
|
|
[[nodiscard]] std::vector<components::point_cloud_vertex::normal>& normals();
|
|
[[nodiscard]] std::vector<components::point_cloud_vertex::color>& colors();
|
|
[[nodiscard]] std::vector<components::point_cloud_vertex::reflectance>& reflectances();
|
|
|
|
[[nodiscard]] const std::vector<components::point_cloud_vertex::position>& positions() const;
|
|
[[nodiscard]] const std::vector<components::point_cloud_vertex::normal>& normals() const;
|
|
[[nodiscard]] const std::vector<components::point_cloud_vertex::color>& colors() const;
|
|
[[nodiscard]] const std::vector<components::point_cloud_vertex::reflectance>& reflectances() const;
|
|
};
|
|
|
|
#define INCLUDE_DYNAMIC_TEXTURE_DATA_IMPLEMENTATION
|
|
#include "assets/dynamic_read_buffers/dynamic_point_cloud_buffer.ipp"
|
|
#undef INCLUDE_DYNAMIC_TEXTURE_DATA_IMPLEMENTATION |