|
Blender V5.0
|
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) |
| PointCloud * | import_csv_as_pointcloud (const CSVImportParams &import_params) |
| using blender::io::csv::ColumnData = std::variant<std::monostate, Vector<float>, Vector<int>> |
Definition at line 39 of file csv_reader.cc.
|
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().
| PointCloud * blender::io::csv::import_csv_as_pointcloud | ( | const CSVImportParams & | import_params | ) |
Definition at line 263 of file csv_reader.cc.
References blender::bke::allow_procedural_attribute_access(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::bke::attribute_name_is_anonymous(), BKE_pointcloud_new_nomain(), BKE_reportf(), BLI_file_read_text_as_mem(), BLI_SCOPED_DEFER, blender::array_utils::copy(), blender::bke::cpp_type_to_attribute_type(), data, blender::csv_parse::CsvParseOptions::delimiter, blender::io::csv::CSVImportParams::delimiter, blender::io::csv::CSVImportParams::filepath, flatten_valid_attribute_chunks(), blender::VArray< T >::from_single(), blender::io::csv::ColumnInfo::has_invalid_name, i, import_csv_as_pointcloud(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), blender::Bounds< T >::max, MEM_freeN(), blender::threading::memory_bandwidth_bound_task(), blender::Bounds< T >::min, blender::io::csv::ColumnInfo::name, name, blender::threading::parallel_invoke(), blender::csv_parse::parse_csv_in_chunks(), parse_records_chunk(), blender::bke::Point, blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::io::csv::CSVImportParams::reports, RPT_ERROR, PointCloud::runtime, and blender::csv_parse::unescape_field().
Referenced by import_csv_as_pointcloud(), and blender::nodes::node_geo_import_csv::node_geo_exec().
|
static |
Definition at line 57 of file csv_reader.cc.
References blender::Span< T >::begin(), ELEM, blender::Span< T >::end(), blender::csv_parse::CsvRecord::field(), blender::csv_parse::CsvRecords::index_range(), blender::csv_parse::CsvRecords::record(), result, and blender::csv_parse::CsvRecords::size().
Referenced by parse_records_chunk().
|
static |
Definition at line 91 of file csv_reader.cc.
References blender::Span< T >::begin(), ELEM, blender::Span< T >::end(), blender::csv_parse::CsvRecord::field(), blender::csv_parse::CsvRecords::index_range(), blender::csv_parse::CsvRecords::record(), result, and blender::csv_parse::CsvRecords::size().
Referenced by parse_records_chunk().
|
static |
Definition at line 130 of file csv_reader.cc.
References blender::io::csv::ChunkResult::columns, blender::io::csv::ParseFloatColumnResult::data, blender::io::csv::ParseIntColumnResult::data, blender::io::csv::ColumnInfo::found_float, blender::io::csv::ParseIntColumnResult::found_float, blender::io::csv::ColumnInfo::found_int, blender::io::csv::ColumnInfo::found_invalid, blender::io::csv::ParseFloatColumnResult::found_invalid, blender::io::csv::ParseIntColumnResult::found_invalid, blender::io::csv::ColumnInfo::has_invalid_name, parse_column_as_floats(), parse_column_as_ints(), Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::io::csv::ChunkResult::rows_num, blender::csv_parse::CsvRecords::size(), and blender::MutableSpan< T >::size().
Referenced by import_csv_as_pointcloud().