VR-Forces 4.1.1 Class Documentation
transformFeature.h
Go to the documentation of this file.
1 
2 
3 
4 
5 #pragma once
6 
8 #include <features/feature.h>
9 #include <features/featureSet.h>
10 
11 #include <boost/spirit/include/qi.hpp>
12 #include <boost/spirit/include/phoenix_operator.hpp>
13 #include <boost/ptr_container/ptr_map.hpp>
14 
15 namespace MAKVRinTerra
16 {
18  {
19  public:
22 
23  struct Record
24  {
27 
28  Record(const DtFeatureTransform& transform, const DtQuery& q)
29  : transform(transform)
30  , query(q)
31  {
32  }
33 
34  explicit Record(const Record& rec)
35  : transform(rec.transform)
36  , query(rec.query)
37  {
38  }
39  };
40 
41  typedef boost::ptr_map<DtFeature::Key::String, Record> TransformMap;
42 
44 
46  DtFeatureSet* g, const QueryMap& queries, const TransformVector& transforms);
47 
48  void forEachFeature(ForEachFunction, DtWaitType) const;
49 
50  DtFeatureSet* filter(const DtQuery& q, DtLoadType) const;
51 
52  DtQuery schema() const;
53 
54  DtTransformFeatureSet* clone() const;
55 
56  bool loaded(double) const;
57 
58  unsigned numberOfFeatures() const;
59 
60  const QueryMap& queryMap() const;
61  const TransformVector& transforms() const;
62 
63  bool addTransform(const DtFeatureTransform& transform);
64 
65  protected:
67 
68  boost::scoped_ptr<DtFeatureSet> myFeatures;
69 
73 
77  };
78 
80  {
81  public:
82  FeatureWrapper(const DtFeature& feature, const TransformMap&);
83 
84  DtFeature::CPtr getPtr() const;
85 
86  boost::optional<Attribute> attribute(const Key & key) const;
87 
88  void forEachAttribute(ForEachFunction f) const;
89 
90  unsigned numberOfAttributes(const Key::String & name) const;
91 
93 
94  private:
97  };
98 }
99 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)