Blender V5.0
blender::io::csv Namespace Reference

Classes

struct  ColumnInfo
struct  ChunkResult
struct  ParseFloatColumnResult
struct  ParseIntColumnResult
struct  CSVImportParams

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

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