VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
features
transformFeature.h
Go to the documentation of this file.
1
2
3
4
5
#pragma once
6
7
#include <
features/attributeConfigParser.h
>
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
{
17
class
DT_DLL_features
DtTransformFeatureSet
:
public
DtFeatureSet
18
{
19
public
:
20
typedef
DtAttributeConfigParser::TransformVector
TransformVector
;
21
typedef
DtAttributeConfigParser::DtQueryMap
QueryMap
;
22
23
struct
Record
24
{
25
DtFeatureTransform
transform
;
26
DtQuery
query
;
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
43
class
DT_DLL_features
FeatureWrapper
;
44
45
DtTransformFeatureSet
(
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
:
66
explicit
DtTransformFeatureSet
(
const
DtTransformFeatureSet
&);
67
68
boost::scoped_ptr<DtFeatureSet>
myFeatures
;
69
71
QueryMap
myQueryMap
;
72
TransformVector
myInputTransforms
;
73
75
TransformMap
myTransforms
;
76
DtQuery
mySchema
;
77
};
78
79
class
DtTransformFeatureSet::FeatureWrapper
:
public
DtFeature
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
92
DtFeatureGeometry
geometry
()
const
;
93
94
private
:
95
const
DtFeature
&
myFeature
;
96
const
TransformMap
&
myTransforms
;
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
)