MCPcopy Create free account
hub / github.com/PDAL/PDAL / ready

Method ready

plugins/tiledb/io/TileDBWriter.cpp:208–553  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

206}
207
208void TileDBWriter::ready(pdal::BasePointTable& table)
209{
210 // Create objects to store the buffer data.
211 auto layout = table.layout();
212 bool hasBitFields = false;
213 std::array<std::optional<Dimension::Id>, 6> bitFieldIds;
214 for (const auto& dimId : layout->dims())
215 {
216 if (m_args->m_combine_bit_fields)
217 {
218 const auto& dimName = layout->dimName(dimId);
219 auto bitIndex = BitFieldsBuffer::bitFieldIndex(dimName);
220 if (bitIndex.has_value())
221 {
222 hasBitFields = true;
223 bitFieldIds[bitIndex.value()] = dimId;
224 continue;
225 }
226 }
227 // Allocate the buffer.
228 switch (layout->dimType(dimId))
229 {
230 case Dimension::Type::Double:
231 m_buffers.emplace_back(new TypedDimBuffer<double>(layout, dimId));
232 break;
233 case Dimension::Type::Float:
234 m_buffers.emplace_back(new TypedDimBuffer<float>(layout, dimId));
235 break;
236 case Dimension::Type::Signed8:
237 m_buffers.emplace_back(new TypedDimBuffer<int8_t>(layout, dimId));
238 break;
239 case Dimension::Type::Signed16:
240 m_buffers.emplace_back(new TypedDimBuffer<int16_t>(layout, dimId));
241 break;
242 case Dimension::Type::Signed32:
243 m_buffers.emplace_back(new TypedDimBuffer<int32_t>(layout, dimId));
244 break;
245 case Dimension::Type::Signed64:
246 m_buffers.emplace_back(new TypedDimBuffer<int64_t>(layout, dimId));
247 break;
248 case Dimension::Type::Unsigned8:
249 m_buffers.emplace_back(new TypedDimBuffer<uint8_t>(layout, dimId));
250 break;
251 case Dimension::Type::Unsigned16:
252 m_buffers.emplace_back(new TypedDimBuffer<uint16_t>(layout, dimId));
253 break;
254 case Dimension::Type::Unsigned32:
255 m_buffers.emplace_back(new TypedDimBuffer<uint32_t>(layout, dimId));
256 break;
257 case Dimension::Type::Unsigned64:
258 m_buffers.emplace_back(new TypedDimBuffer<uint64_t>(layout, dimId));
259 break;
260 case Dimension::Type::None:
261 default:
262 throw pdal_error("Unsupported attribute type for " +
263 layout->dimName(dimId));
264 }
265

Callers

nothing calls this directly

Calls 10

arrayNameFunction · 0.85
dimNameMethod · 0.80
filterListMethod · 0.80
valueMethod · 0.45
dimTypeMethod · 0.45
resizeBufferMethod · 0.45
validMethod · 0.45
nameMethod · 0.45
createAttributeMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected