#pragma once #include "assets/components/point_cloud_vertex_components.hpp" #include #include #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& positions(); [[nodiscard]] std::vector& normals(); [[nodiscard]] std::vector& colors(); [[nodiscard]] std::vector& reflectances(); [[nodiscard]] const std::vector& positions() const; [[nodiscard]] const std::vector& normals() const; [[nodiscard]] const std::vector& colors() const; [[nodiscard]] const std::vector& reflectances() const; }; #define INCLUDE_DYNAMIC_TEXTURE_DATA_IMPLEMENTATION #include "assets/dynamic_read_buffers/dynamic_point_cloud_buffer.ipp" #undef INCLUDE_DYNAMIC_TEXTURE_DATA_IMPLEMENTATION