18 class DynamicClientInputChunk
23 DynamicClientInputChunk() {}
26 KyArray<DynamicTaggedTriangle3f> m_dynTaggedTriangle3fs;
27 KyArray<ClientInputTagVolume> m_tagVolumes;
28 KyArray<Vec3f> m_seedPoints;
31 class ClientInputChunk
34 KY_ROOT_BLOB_CLASS(Generator, ClientInputChunk, 0)
40 BlobArray<TaggedTriangle3f> m_taggedTriangle3fs;
41 BlobArray<ClientInputTagVolumeBlob> m_tagVolumeBlobs;
42 BlobArray<Vec3f> m_seedPoints;
46 SwapEndianness(e,
self.m_taggedTriangle3fs);
47 SwapEndianness(e,
self.m_tagVolumeBlobs);
48 SwapEndianness(e,
self.m_seedPoints);
51 class ClientInputChunkBlobBuilder :
public BaseBlobBuilder<ClientInputChunk>
54 ClientInputChunkBlobBuilder(
const DynamicClientInputChunk& clientInputChunk) : m_dynClientInputChunk(&clientInputChunk) {}
56 virtual void DoBuild()
59 TaggedTriangle3f* taggedTriangle3fArray =
BLOB_ARRAY(
m_blob->m_taggedTriangle3fs, m_dynClientInputChunk->m_dynTaggedTriangle3fs.GetCount());
60 for (UPInt i = 0; i < m_dynClientInputChunk->m_dynTaggedTriangle3fs.GetCount(); ++i)
62 TaggedTriangle3fBlobBuilder blobBuider(m_dynClientInputChunk->m_dynTaggedTriangle3fs[i]);
63 BLOB_BUILD(taggedTriangle3fArray[i], blobBuider);
67 ClientInputTagVolumeBlob* tagVolumeBlobArray =
BLOB_ARRAY(
m_blob->m_tagVolumeBlobs, m_dynClientInputChunk->m_tagVolumes.GetCount());
68 for (UPInt i = 0; i < m_dynClientInputChunk->m_tagVolumes.GetCount(); ++i)
70 ClientInputTagVolumeBlobBuilder blobBuider(m_dynClientInputChunk->m_tagVolumes[i]);
75 BLOB_ARRAY_COPY(
m_blob->m_seedPoints, m_dynClientInputChunk->m_seedPoints.GetDataPtr(), m_dynClientInputChunk->m_seedPoints.GetCount());
78 const DynamicClientInputChunk* m_dynClientInputChunk;
#define BLOB_BUILD(blob, builder)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:175
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
ClientInputChunk * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:113
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define BLOB_ARRAY(blobArray, count)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:139
#define BLOB_ARRAY_COPY(blobArray, src, count)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:151