VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
generatorInputProducer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
13 
18 #include "gwnavgeneration.h"
19 #include <list>
20 #include <vector>
21 #include <map>
22 #include "boost/shared_ptr.hpp"
23 
25 
27 struct DtNavTagVolumeSet;
28 
29 //Provides triangles to NavData Generator by implementing
30 //the Produce function.
31 class DtGeneratorInputProducer : public Kaim::GeneratorInputProducer
32 {
33 public:
34 
35  typedef std::list<boost::shared_ptr<Kaim::ClientInputTagVolume> > TagVolumeList;
36  typedef std::vector<boost::shared_ptr<Kaim::DynamicNavTag> > NavTagVector;
38  : myVrfNavGenInput(0)
41  , myTerrainInterface(terrainInterface)
42  {
43 
44  }
45 
46  virtual ~DtGeneratorInputProducer();
47 
48  virtual void setTagVolumes(const DtNavTagVolumeSet& tagVolumes);
49 
51  virtual void generateTagVolumes(const Kaim::GeneratorSector& sector,
52  const DtNavTagVolumeSet& tagVolumes,
53  NavTagVector& navTagsOutput, TagVolumeList& tagVolumesOutput);
54 
57  virtual boost::shared_ptr<Kaim::DynamicNavTag> getNavTagData(unsigned navTagIndex,
58  const DtNavTagVolumeSet& tagVolumes,
59  NavTagVector& navTagsOutput);
60 
61  //Implemented to provide triangles to NavData Generator.
62  virtual KyResult Produce(
63  const Kaim::GeneratorSector& sector,
64  Kaim::ClientInputConsumer& inputConsumer);
65 
67  virtual double calculateMaxAreaSize() const;
68 
70  virtual void clipTriangleToArea(const std::vector<Kaim::Vec3f>& maxArea,
71  const std::vector<Kaim::Vec3f>& triPoints,
72  std::vector<std::vector<Kaim::Vec3f> >& outputTris) const;
73 
76 
79 
84 
87 
90 
92  std::map<unsigned, unsigned> myNavTagIndexMap;
93 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)