Blender V4.3
blender::io::ply::FileBuffer Class Referenceabstract

#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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ FileBuffer()

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().

◆ ~FileBuffer()

virtual blender::io::ply::FileBuffer::~FileBuffer ( )
virtualdefault

Member Function Documentation

◆ close_file()

void blender::io::ply::FileBuffer::close_file ( )

Definition at line 36 of file ply_file_buffer.cc.

◆ ensure_space()

◆ write_bytes()

◆ write_data()

virtual void blender::io::ply::FileBuffer::write_data ( float v)
pure virtual

◆ write_edge()

virtual void blender::io::ply::FileBuffer::write_edge ( int first,
int second )
pure virtual

◆ write_face()

virtual void blender::io::ply::FileBuffer::write_face ( char count,
Span< uint32_t > const & vertex_indices )
pure virtual

◆ write_fstring()

◆ write_header_element()

void blender::io::ply::FileBuffer::write_header_element ( StringRef name,
int count )

Definition at line 48 of file ply_file_buffer.cc.

References count, and write_fstring().

Referenced by blender::io::ply::write_header().

◆ write_header_list_property()

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().

◆ write_header_scalar_property()

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().

◆ write_newline()

void blender::io::ply::FileBuffer::write_newline ( )

◆ write_string()

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().

◆ write_to_file()

void blender::io::ply::FileBuffer::write_to_file ( )

◆ write_UV()

virtual void blender::io::ply::FileBuffer::write_UV ( float u,
float v )
pure virtual

◆ write_vertex()

virtual void blender::io::ply::FileBuffer::write_vertex ( float x,
float y,
float z )
pure virtual

◆ write_vertex_color()

virtual void blender::io::ply::FileBuffer::write_vertex_color ( uchar r,
uchar g,
uchar b,
uchar a )
pure virtual

◆ write_vertex_end()

virtual void blender::io::ply::FileBuffer::write_vertex_end ( )
pure virtual

◆ write_vertex_normal()

virtual void blender::io::ply::FileBuffer::write_vertex_normal ( float nx,
float ny,
float nz )
pure virtual

The documentation for this class was generated from the following files: