gwnavgeneration/input/inputcellblobbuilder.h Source File

inputcellblobbuilder.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_PdgInputCellBlobBuilder_H
10 #define GwNavGen_PdgInputCellBlobBuilder_H
11 
12 
16 
17 
18 namespace Kaim
19 {
20 
21 class GeneratorSystem;
22 class DynamicInputCell;
23 
24 
25 class InputCellBlobBuilder : public BaseBlobBuilder<InputCellBlob>
26 {
27 public:
28  InputCellBlobBuilder(GeneratorSystem* sys, const DynamicInputCell& dynInputCell) { m_sys = sys; m_dynInputCell = &dynInputCell; }
29 
30 private:
31  virtual void DoBuild();
32  GeneratorSystem* m_sys;
33  const DynamicInputCell* m_dynInputCell;
34 };
35 
36 
37 class PdgInputCellBlobMerger : public BaseBlobBuilder<InputCellBlob>
38 {
39 public:
40  PdgInputCellBlobMerger(const KyArrayPOD<const InputCellBlob*>& inputCellBlobs) { m_inputCellBlobs = &inputCellBlobs; }
41 
42 private:
43  virtual void DoBuild();
44 
45  const KyArrayPOD<const InputCellBlob*>* m_inputCellBlobs;
46 };
47 
48 
49 class InputCellBlobCopier : public BaseBlobBuilder<InputCellBlob>
50 {
51 public:
52  InputCellBlobCopier(const InputCellBlob* otherInputCellBlob) { m_inputCellBlob = otherInputCellBlob; }
53 
54 private:
55  virtual void DoBuild()
56  {
57  KyArrayPOD<const InputCellBlob*> dummyArray;
58  dummyArray.PushBack(m_inputCellBlob);
59  BLOB_BUILD(*m_blob, PdgInputCellBlobMerger(dummyArray));
60  }
61  const InputCellBlob* m_inputCellBlob;
62 };
63 
64 }
65 
66 
67 #endif
#define BLOB_BUILD(blob, builder)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:189
Definition: gamekitcrowddispersion.h:20