28#pragma warning(disable : 4068 4146 4293)
36#include <filament/Box.h>
37#include <filament/RenderableManager.h>
56namespace visualization {
69 static std::unique_ptr<GeometryBuffersBuilder>
GetBuilder(
71 static std::unique_ptr<GeometryBuffersBuilder>
GetBuilder(
106 size_t n_subsamples = SIZE_MAX);
194 void ConstructThinLines(uint32_t& n_vertices,
197 uint32_t& indices_bytes,
198 uint32_t** line_indices);
201 void ConstructWideLines(uint32_t& n_vertices,
204 uint32_t& indices_bytes,
205 uint32_t** line_indices);
The base geometry class for 3D geometries.
Definition Geometry3D.h:29
LineSet define a sets of lines in 3D. A typical application is to display the point cloud corresponde...
Definition LineSet.h:30
A point cloud consists of point coordinates, and optionally point colors and point normals.
Definition PointCloud.h:36
Triangle mesh contains vertices and triangles represented by the indices to the vertices.
Definition TriangleMesh.h:35
The base geometry class.
Definition Geometry.h:23
A LineSet contains points and lines joining them and optionally attributes on the points and lines.
Definition LineSet.h:84
A point cloud contains a list of 3D points.
Definition PointCloud.h:81
A triangle mesh contains vertices and triangles.
Definition TriangleMesh.h:97
Definition FilamentGeometryBuffersBuilder.h:59
std::tuple< VertexBufferHandle, IndexBufferHandle, IndexBufferHandle > Buffers
Definition FilamentGeometryBuffersBuilder.h:66
bool adjust_colors_for_srgb_tonemapping_
Definition FilamentGeometryBuffersBuilder.h:101
virtual ~GeometryBuffersBuilder()=default
static void DeallocateBuffer(void *buffer, size_t size, void *user_ptr)
Definition FilamentGeometryBuffersBuilder.cpp:272
virtual void SetAdjustColorsForSRGBToneMapping(bool adjust)
Definition FilamentGeometryBuffersBuilder.h:91
std::uint32_t IndexType
Definition FilamentGeometryBuffersBuilder.h:67
static std::unique_ptr< GeometryBuffersBuilder > GetBuilder(const geometry::Geometry3D &geometry)
Definition FilamentGeometryBuffersBuilder.cpp:203
bool wide_lines_
Definition FilamentGeometryBuffersBuilder.h:100
size_t downsample_threshold_
Definition FilamentGeometryBuffersBuilder.h:99
virtual void SetWideLines()
Definition FilamentGeometryBuffersBuilder.h:89
static IndexBufferHandle CreateIndexBuffer(size_t max_index, size_t n_subsamples=SIZE_MAX)
Definition PointCloudBuffers.cpp:89
virtual void SetDownsampleThreshold(size_t min_points)
Definition FilamentGeometryBuffersBuilder.h:83
virtual filament::RenderableManager::PrimitiveType GetPrimitiveType() const =0
virtual filament::Box ComputeAABB()=0
virtual Buffers ConstructBuffers()=0
Definition FilamentGeometryBuffersBuilder.h:137
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition LineSetBuffers.cpp:86
Buffers ConstructBuffers() override
Definition LineSetBuffers.cpp:225
filament::Box ComputeAABB() override
Definition LineSetBuffers.cpp:347
Definition FilamentGeometryBuffersBuilder.h:123
Buffers ConstructBuffers() override
Definition PointCloudBuffers.cpp:160
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition PointCloudBuffers.cpp:155
filament::Box ComputeAABB() override
Definition PointCloudBuffers.cpp:264
Definition FilamentGeometryBuffersBuilder.h:181
Buffers ConstructBuffers() override
Definition LineSetBuffers.cpp:548
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition LineSetBuffers.cpp:400
filament::Box ComputeAABB() override
Definition LineSetBuffers.cpp:630
Definition FilamentGeometryBuffersBuilder.h:153
Buffers ConstructBuffers() override
Definition TriangleMeshBuffers.cpp:612
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition TriangleMeshBuffers.cpp:608
filament::Box ComputeAABB() override
Definition TriangleMeshBuffers.cpp:806
Definition FilamentGeometryBuffersBuilder.h:167
Buffers ConstructBuffers() override
Definition PointCloudBuffers.cpp:335
filament::Box ComputeAABB() override
Definition PointCloudBuffers.cpp:464
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition PointCloudBuffers.cpp:330
t::geometry::PointCloud geometry_
Definition FilamentGeometryBuffersBuilder.h:178
Definition FilamentGeometryBuffersBuilder.h:109
filament::Box ComputeAABB() override
Definition TriangleMeshBuffers.cpp:547
Buffers ConstructBuffers() override
Definition TriangleMeshBuffers.cpp:413
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition TriangleMeshBuffers.cpp:408
REHandle< EntityType::IndexBuffer > IndexBufferHandle
Definition RendererHandle.h:139
REHandle< EntityType::VertexBuffer > VertexBufferHandle
Definition RendererHandle.h:138
Definition PinholeCameraIntrinsic.cpp:16