28#pragma warning(disable : 4068 4146 4293)
34#include <filament/Box.h>
35#include <filament/RenderableManager.h>
54namespace visualization {
67 static std::unique_ptr<GeometryBuffersBuilder>
GetBuilder(
69 static std::unique_ptr<GeometryBuffersBuilder>
GetBuilder(
104 size_t n_subsamples = SIZE_MAX);
192 void ConstructThinLines(uint32_t& n_vertices,
195 uint32_t& indices_bytes,
196 uint32_t** line_indices);
199 void ConstructWideLines(uint32_t& n_vertices,
202 uint32_t& indices_bytes,
203 uint32_t** line_indices);
The base geometry class for 3D geometries.
Definition Geometry3D.h:28
LineSet define a sets of lines in 3D. A typical application is to display the point cloud corresponde...
Definition LineSet.h:29
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:96
Definition FilamentGeometryBuffersBuilder.h:57
std::tuple< VertexBufferHandle, IndexBufferHandle, IndexBufferHandle > Buffers
Definition FilamentGeometryBuffersBuilder.h:64
bool adjust_colors_for_srgb_tonemapping_
Definition FilamentGeometryBuffersBuilder.h:99
virtual ~GeometryBuffersBuilder()=default
static void DeallocateBuffer(void *buffer, size_t size, void *user_ptr)
Definition FilamentGeometryBuffersBuilder.cpp:269
virtual void SetAdjustColorsForSRGBToneMapping(bool adjust)
Definition FilamentGeometryBuffersBuilder.h:89
std::uint32_t IndexType
Definition FilamentGeometryBuffersBuilder.h:65
static std::unique_ptr< GeometryBuffersBuilder > GetBuilder(const geometry::Geometry3D &geometry)
Definition FilamentGeometryBuffersBuilder.cpp:200
bool wide_lines_
Definition FilamentGeometryBuffersBuilder.h:98
size_t downsample_threshold_
Definition FilamentGeometryBuffersBuilder.h:97
virtual void SetWideLines()
Definition FilamentGeometryBuffersBuilder.h:87
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:81
virtual filament::RenderableManager::PrimitiveType GetPrimitiveType() const =0
virtual filament::Box ComputeAABB()=0
virtual Buffers ConstructBuffers()=0
Definition FilamentGeometryBuffersBuilder.h:135
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition LineSetBuffers.cpp:86
Buffers ConstructBuffers() override
Definition LineSetBuffers.cpp:226
filament::Box ComputeAABB() override
Definition LineSetBuffers.cpp:349
Definition FilamentGeometryBuffersBuilder.h:121
Buffers ConstructBuffers() override
Definition PointCloudBuffers.cpp:160
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition PointCloudBuffers.cpp:155
filament::Box ComputeAABB() override
Definition PointCloudBuffers.cpp:266
Definition FilamentGeometryBuffersBuilder.h:179
Buffers ConstructBuffers() override
Definition LineSetBuffers.cpp:550
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition LineSetBuffers.cpp:402
filament::Box ComputeAABB() override
Definition LineSetBuffers.cpp:632
Definition FilamentGeometryBuffersBuilder.h:151
Buffers ConstructBuffers() override
Definition TriangleMeshBuffers.cpp:614
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition TriangleMeshBuffers.cpp:610
filament::Box ComputeAABB() override
Definition TriangleMeshBuffers.cpp:810
Definition FilamentGeometryBuffersBuilder.h:165
Buffers ConstructBuffers() override
Definition PointCloudBuffers.cpp:337
filament::Box ComputeAABB() override
Definition PointCloudBuffers.cpp:468
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition PointCloudBuffers.cpp:332
Definition FilamentGeometryBuffersBuilder.h:107
filament::Box ComputeAABB() override
Definition TriangleMeshBuffers.cpp:549
Buffers ConstructBuffers() override
Definition TriangleMeshBuffers.cpp:415
filament::RenderableManager::PrimitiveType GetPrimitiveType() const override
Definition TriangleMeshBuffers.cpp:410
REHandle< EntityType::IndexBuffer > IndexBufferHandle
Definition RendererHandle.h:139
REHandle< EntityType::VertexBuffer > VertexBufferHandle
Definition RendererHandle.h:138
Definition PinholeCameraIntrinsic.cpp:16