Blender
V4.3
source
blender
io
ply
importer
ply_import_buffer.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#pragma once
10
11
#include <cstdio>
12
13
#include "
BLI_array.hh
"
14
#include "
BLI_span.hh
"
15
16
namespace
blender::io::ply
{
17
22
class
PlyReadBuffer
{
23
public
:
24
PlyReadBuffer
(
const
char
*file_path,
size_t
read_buffer_size = 64 * 1024);
25
~PlyReadBuffer
();
26
28
void
after_header
(
bool
is_binary);
29
33
Span<char>
read_line
();
34
39
bool
read_bytes
(
void
*dst,
size_t
size);
40
41
private
:
42
bool
refill_buffer();
43
44
private
:
45
FILE *file_ =
nullptr
;
46
Array<char>
buffer_;
47
int
pos_ = 0;
48
int
buf_used_ = 0;
49
int
last_newline_ = 0;
50
size_t
read_buffer_size_ = 0;
51
bool
at_eof_ =
false
;
52
bool
is_binary_ =
false
;
53
};
54
55
}
// namespace blender::io::ply
BLI_array.hh
BLI_span.hh
blender::Array
Definition
BLI_array.hh:50
blender::Span
Definition
BLI_span.hh:75
blender::io::ply::PlyReadBuffer
Definition
ply_import_buffer.hh:22
blender::io::ply::PlyReadBuffer::read_line
Span< char > read_line()
Definition
ply_import_buffer.cc:38
blender::io::ply::PlyReadBuffer::~PlyReadBuffer
~PlyReadBuffer()
Definition
ply_import_buffer.cc:26
blender::io::ply::PlyReadBuffer::PlyReadBuffer
PlyReadBuffer(const char *file_path, size_t read_buffer_size=64 *1024)
Definition
ply_import_buffer.cc:20
blender::io::ply::PlyReadBuffer::after_header
void after_header(bool is_binary)
Definition
ply_import_buffer.cc:33
blender::io::ply::PlyReadBuffer::read_bytes
bool read_bytes(void *dst, size_t size)
Definition
ply_import_buffer.cc:63
blender::io::ply
Definition
ply_export.cc:28
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0