MCPcopy Create free account
hub / github.com/comaps/comaps / InsertPrimitives

Method InsertPrimitives

libs/drape/batcher.cpp:248–273  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

246
247template <typename TBatcher, typename... TArgs>
248IndicesRange Batcher::InsertPrimitives(ref_ptr<GraphicsContext> context, RenderState const & state,
249 ref_ptr<AttributeProvider> params, drape_ptr<OverlayHandle> && transferHandle,
250 uint8_t vertexStride, TArgs... batcherArgs)
251{
252 ref_ptr<VertexArrayBuffer> vao = GetBucket(state)->GetBuffer();
253 IndicesRange range;
254
255 drape_ptr<OverlayHandle> handle = std::move(transferHandle);
256
257 {
258 Batcher::CallbacksWrapper wrapper(state, make_ref(handle), make_ref(this));
259 wrapper.SetVAO(vao);
260
261 TBatcher batch(wrapper, batcherArgs...);
262 batch.SetCanDivideStreams(handle == nullptr);
263 batch.SetVertexStride(vertexStride);
264 batch.BatchData(context, params);
265
266 range = wrapper.Finish();
267 }
268
269 if (handle != nullptr)
270 GetBucket(state)->AddOverlayHandle(std::move(handle));
271
272 return range;
273}
274
275Batcher * BatcherFactory::GetNew() const
276{

Callers

nothing calls this directly

Calls 8

make_refFunction · 0.85
SetVAOMethod · 0.80
SetCanDivideStreamsMethod · 0.80
SetVertexStrideMethod · 0.80
BatchDataMethod · 0.80
AddOverlayHandleMethod · 0.80
GetBufferMethod · 0.45
FinishMethod · 0.45

Tested by

no test coverage detected