|
Blender V4.3
|
#include <ply_file_buffer.hh>
Inherits blender::NonMovable.
Inherited by blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Public Member Functions | |
| FileBuffer (const char *filepath, size_t buffer_chunk_size=64 *1024) | |
| virtual | ~FileBuffer ()=default |
| void | write_to_file () |
| void | close_file () |
| virtual void | write_vertex (float x, float y, float z)=0 |
| virtual void | write_UV (float u, float v)=0 |
| virtual void | write_data (float v)=0 |
| virtual void | write_vertex_normal (float nx, float ny, float nz)=0 |
| virtual void | write_vertex_color (uchar r, uchar g, uchar b, uchar a)=0 |
| virtual void | write_vertex_end ()=0 |
| virtual void | write_face (char count, Span< uint32_t > const &vertex_indices)=0 |
| virtual void | write_edge (int first, int second)=0 |
| void | write_header_element (StringRef name, int count) |
| void | write_header_scalar_property (StringRef dataType, StringRef name) |
| void | write_header_list_property (StringRef countType, StringRef dataType, StringRef name) |
| void | write_string (StringRef s) |
| void | write_newline () |
Protected Member Functions | |
| void | ensure_space (size_t at_least) |
| template<typename... T> | |
| void | write_fstring (const char *fmt, T &&...args) |
| void | write_bytes (Span< char > bytes) |
File buffer writer. All writes are done into an internal chunked memory buffer (list of default 64 kilobyte blocks). Call write_to_file once in a while to write the memory buffer(s) into the given file.
Definition at line 30 of file ply_file_buffer.hh.
| blender::io::ply::FileBuffer::FileBuffer | ( | const char * | filepath, |
| size_t | buffer_chunk_size = 64 * 1024 ) |
Definition at line 18 of file ply_file_buffer.cc.
References BLI_fopen().
|
virtualdefault |
| void blender::io::ply::FileBuffer::close_file | ( | ) |
Definition at line 36 of file ply_file_buffer.cc.
|
inlineprotected |
Definition at line 76 of file ply_file_buffer.hh.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), and blender::Vector< T, InlineBufferCapacity, Allocator >::last().
Referenced by write_bytes(), and write_fstring().
|
protected |
Definition at line 74 of file ply_file_buffer.cc.
References blender::Span< T >::begin(), blender::Span< T >::end(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), ensure_space(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), and blender::Span< T >::size().
Referenced by blender::io::ply::FileBufferBinary::write_data(), blender::io::ply::FileBufferBinary::write_edge(), blender::io::ply::FileBufferBinary::write_face(), blender::io::ply::FileBufferBinary::write_UV(), blender::io::ply::FileBufferBinary::write_vertex(), blender::io::ply::FileBufferBinary::write_vertex_color(), and blender::io::ply::FileBufferBinary::write_vertex_normal().
|
pure virtual |
Implemented in blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Referenced by blender::io::ply::write_vertices().
Implemented in blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Referenced by blender::io::ply::write_edges().
|
pure virtual |
Implemented in blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Referenced by blender::io::ply::write_faces().
|
inlineprotected |
Definition at line 84 of file ply_file_buffer.hh.
References blender::Vector< T, InlineBufferCapacity, Allocator >::end(), ensure_space(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), and len.
Referenced by blender::io::ply::FileBufferAscii::write_data(), blender::io::ply::FileBufferAscii::write_edge(), blender::io::ply::FileBufferAscii::write_face(), write_header_element(), write_header_list_property(), write_header_scalar_property(), write_newline(), write_string(), blender::io::ply::FileBufferAscii::write_UV(), blender::io::ply::FileBufferAscii::write_vertex(), blender::io::ply::FileBufferAscii::write_vertex_color(), blender::io::ply::FileBufferAscii::write_vertex_end(), and blender::io::ply::FileBufferAscii::write_vertex_normal().
Definition at line 48 of file ply_file_buffer.cc.
References count, and write_fstring().
Referenced by blender::io::ply::write_header().
| void blender::io::ply::FileBuffer::write_header_list_property | ( | StringRef | countType, |
| StringRef | dataType, | ||
| StringRef | name ) |
Definition at line 57 of file ply_file_buffer.cc.
References write_fstring().
Referenced by blender::io::ply::write_header().
| void blender::io::ply::FileBuffer::write_header_scalar_property | ( | StringRef | dataType, |
| StringRef | name ) |
Definition at line 52 of file ply_file_buffer.cc.
References write_fstring().
Referenced by blender::io::ply::write_header().
| void blender::io::ply::FileBuffer::write_newline | ( | ) |
Definition at line 69 of file ply_file_buffer.cc.
References write_fstring().
Referenced by blender::io::ply::FileBufferAscii::write_edge(), and blender::io::ply::FileBufferAscii::write_face().
| void blender::io::ply::FileBuffer::write_string | ( | StringRef | s | ) |
Definition at line 64 of file ply_file_buffer.cc.
References write_fstring().
Referenced by blender::io::ply::write_header().
| void blender::io::ply::FileBuffer::write_to_file | ( | ) |
Definition at line 28 of file ply_file_buffer.cc.
References b.
Referenced by blender::io::ply::write_edges(), blender::io::ply::write_faces(), blender::io::ply::write_header(), and blender::io::ply::write_vertices().
Implemented in blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Referenced by blender::io::ply::write_vertices().
Implemented in blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Referenced by blender::io::ply::write_vertices().
|
pure virtual |
Implemented in blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Referenced by blender::io::ply::write_vertices().
|
pure virtual |
Implemented in blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Referenced by blender::io::ply::write_vertices().
|
pure virtual |
Implemented in blender::io::ply::FileBufferAscii, and blender::io::ply::FileBufferBinary.
Referenced by blender::io::ply::write_vertices().