Blender V4.5
blender::io::csv Namespace Reference

Classes

struct  ChunkResult
 
struct  ColumnInfo
 
struct  CSVImportParams
 
struct  ParseFloatColumnResult
 
struct  ParseIntColumnResult
 

Typedefs

using ColumnData = std::variant<std::monostate, Vector<float>, Vector<int>>
 

Functions

static ParseFloatColumnResult parse_column_as_floats (const csv_parse::CsvRecords &records, const int column_i)
 
static ParseIntColumnResult parse_column_as_ints (const csv_parse::CsvRecords &records, const int column_i)
 
static ChunkResult parse_records_chunk (const csv_parse::CsvRecords &records, MutableSpan< ColumnInfo > columns_info)
 
static Array< std::optional< GArray<> > > flatten_valid_attribute_chunks (const Span< ColumnInfo > columns_info, OffsetIndices< int > chunk_offsets, MutableSpan< ChunkResult > chunks)
 
PointCloudimport_csv_as_pointcloud (const CSVImportParams &import_params)
 

Typedef Documentation

◆ ColumnData

using blender::io::csv::ColumnData = std::variant<std::monostate, Vector<float>, Vector<int>>

Definition at line 39 of file csv_reader.cc.

Function Documentation

◆ flatten_valid_attribute_chunks()

static Array< std::optional< GArray<> > > blender::io::csv::flatten_valid_attribute_chunks ( const Span< ColumnInfo > columns_info,
OffsetIndices< int > chunk_offsets,
MutableSpan< ChunkResult > chunks )
static

So far, the parsed data is still split into many chunks. This function flattens the chunks into continuous buffers that can be used as attributes.

Definition at line 185 of file csv_reader.cc.

References blender::Span< T >::index_range(), blender::threading::parallel_for(), blender::Span< T >::size(), and blender::offset_indices::OffsetIndices< T >::total_size().

Referenced by import_csv_as_pointcloud().

◆ import_csv_as_pointcloud()

◆ parse_column_as_floats()

◆ parse_column_as_ints()

◆ parse_records_chunk()