Ensure the backing hash_cluster_id state field exists, when m_needs_cluster_id is true.
- Returns
- False when cluster scoping is needed but the attached buffer is not a NetworkGeometryBuffer, or NetworkGeometryBuffer:: ensure_cluster_ids() itself fails (no primary GraphicsOperator, or it reports zero points). True when m_needs_cluster_id is false: nothing to do.
Delegates the actual declare/derive/upload to NetworkGeometryBuffer::ensure_cluster_ids(), which is itself has_state-guarded, so calling this again after a revision rebuild is cheap and whichever caller (this processor, or NetworkGeometryBuffer's own hash wiring) reaches it first does the real work.
Definition at line 222 of file VertexFieldProcessor.cpp.
223{
225 return true;
226 }
227
230 "VertexFieldProcessor: operator has a cluster-scoped binding but the "
231 "attached buffer is not a NetworkGeometryBuffer, so hash_cluster_id "
232 "has nowhere to live. Dispatch suppressed.");
233 return false;
234 }
235
238 "VertexFieldProcessor: operator has a cluster-scoped binding but "
239 "hash_cluster_id could not be derived (no primary GraphicsOperator, "
240 "or it reports zero points). Dispatch suppressed.");
241 return false;
242 }
243
244 return true;
245}
#define MF_ERROR(comp, ctx,...)
std::shared_ptr< NetworkGeometryBuffer > m_network_buffer
@ BufferProcessing
Buffer processing (Buffers::BufferManager, processing chains)
@ Buffers
Buffers, Managers, processors and processing chains.
References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, m_needs_cluster_id, m_network_buffer, and MF_ERROR.
Referenced by on_attach(), and sync_revision().