Navigation
API > API/Plugins > API/Plugins/DynamicMesh
Multi-producer/single-consumer queue for the ordered processing of data in FMeshMapBaker.
This queue is designed to mediate the aggregation of data into a shared output buffer. The number of data to be aggregated must be provided at initialization. Producer threads then "post" data to the queue and any single thread can temporarily assume the role of consumer to "process" the data.
| Name | FMeshMapBakerQueue |
| Type | class |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Sampling/MeshMapBakerQueue.h |
| Include Path | #include "Sampling/MeshMapBakerQueue.h" |
Syntax
class FMeshMapBakerQueue
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMeshMapBakerQueue
(
SIZE_T Size |
Sampling/MeshMapBakerQueue.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FMeshMapBakerQueue() |
Sampling/MeshMapBakerQueue.h |
Structs
| Name | Remarks |
|---|---|
| FSlotData |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Alignment | SIZE_T | Align to cache line size and pad our slot data to avoid false sharing. | Sampling/MeshMapBakerQueue.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Acquired | std::atomic_flag | Atomic flag to control ownership of consumer. | Sampling/MeshMapBakerQueue.h | |
| Current | SIZE_T | The current index to be processed. | Sampling/MeshMapBakerQueue.h | |
| NumSlots | SIZE_T | Cached size of the queue | Sampling/MeshMapBakerQueue.h | |
| Slots | FSlotData * | The aligned pointer for our atomic data. | Sampling/MeshMapBakerQueue.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AcquireProcessLock () |
Acquire ownership over processing queue data. | Sampling/MeshMapBakerQueue.h | |
bool IsDone() |
Sampling/MeshMapBakerQueue.h | ||
void Post
(
SIZE_T Idx, |
Post Data pointer into the queue at a given index. | Sampling/MeshMapBakerQueue.h | |
void * Process () |
Retrieve the next item in the queue to process. | Sampling/MeshMapBakerQueue.h | |
void ReleaseProcessLock () |
Release ownership of queue processing. | Sampling/MeshMapBakerQueue.h |