gwnavgeneration/generator/generatorsectorconfigblob.h Source File

generatorsectorconfigblob.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 // primary contact: GUAL - secondary contact: NOBODY
9 #ifndef GwNavGen_GeneratorSectorBlob_H
10 #define GwNavGen_GeneratorSectorBlob_H
11 
12 
20 
21 namespace Kaim
22 {
23 
24 class BlobAggregate;
25 class GeneratorSectorList;
26 class GeneratorSector;
27 
30 {
31  KY_DEFINE_NEW_DELETE_OPERATORS(Stat_Default_Mem)
32  KY_ROOT_BLOB_CLASS(Generator, GeneratorSectorBlob, 0)
34 public:
36 
37  BlobFieldArray m_fields;
38  CellBox m_navDataCellBox;
39  BlobArray<BlobArray<char> > m_inputFilenames;
40  BlobArray<Vec3f> m_inputSeedPoints;
41  BlobArray<ClientInputTagVolumeBlob> m_inputTagVolumes;
42  BlobArray<CellPos> m_previousPatchCellPosList;
43  CellBox m_previousInputCellBox;
44  BlobArray<Vec3f> m_previousSeedPoints;
45 };
46 
47 inline void SwapEndianness(Endianness::Target e, GeneratorSectorBlob& self)
48 {
49  SwapEndianness(e, self.m_fields);
50  SwapEndianness(e, self.m_navDataCellBox);
51  SwapEndianness(e, self.m_inputFilenames);
52  SwapEndianness(e, self.m_inputSeedPoints);
53  SwapEndianness(e, self.m_inputTagVolumes);
54  SwapEndianness(e, self.m_previousPatchCellPosList);
55  SwapEndianness(e, self.m_previousInputCellBox);
56  SwapEndianness(e, self.m_previousSeedPoints);
57 }
58 
60 class GeneratorSectorBlobBuilder : public BaseBlobBuilder<GeneratorSectorBlob>
61 {
62 public:
63  GeneratorSectorBlobBuilder(Ptr<GeneratorSector> sector) : m_sector(sector) {}
64 private:
65  virtual void DoBuild();
66 private:
67  Ptr<GeneratorSector> m_sector;
68 };
69 
70 }
71 
72 
73 #endif
74 
This class represents a two-dimensional axis-aligned bounding box whose dimensions are stored using 3...
Definition: box2i.h:119
Used to serialize GeneratorInputOutput.
Definition: generatorsectorconfigblob.h:61
The Generator is the principal class in the NavData generation system.
Definition: generator.h:61
Used to serialize GeneratorInputOutput. Corresponds to GeneratorSector.
Definition: generatorsectorconfigblob.h:29
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
virtual void DoBuild()
Implement this function in any class that derives from BaseBlobBuilder.
A BlobArray an array that is compatible with the blob serialization framework.
Definition: blobarray.h:28
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137