Particle Identification and Tracking
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
common_src
include
wrapper_i.h
Go to the documentation of this file.
1
//Copyright 2008-2010 Thomas A Caswell
2
//tcaswell@uchicago.edu
3
//http://jfi.uchicago.edu/~tcaswell
4
//
5
//This program is free software; you can redistribute it and/or modify
6
//it under the terms of the GNU General Public License as published by
7
//the Free Software Foundation; either version 3 of the License, or (at
8
//your option) any later version.
9
//
10
//This program is distributed in the hope that it will be useful, but
11
//WITHOUT ANY WARRANTY; without even the implied warranty of
12
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
//General Public License for more details.
14
//
15
//You should have received a copy of the GNU General Public License
16
//along with this program; if not, see <http://www.gnu.org/licenses>.
17
//
18
//Additional permission under GNU GPL version 3 section 7
19
//
20
//If you modify this Program, or any covered work, by linking or
21
//combining it with MATLAB (or a modified version of that library),
22
//containing parts covered by the terms of MATLAB User License, the
23
//licensors of this Program grant you additional permission to convey
24
//the resulting work.
25
//
26
//If you modify this Program, or any covered work, by linking or
27
//combining it with IPP (or a modified version of that library),
28
//containing parts covered by the terms of End User License Agreement
29
//for the Intel(R) Software Development Products, the licensors of
30
//this Program grant you additional permission to convey the resulting
31
//work.
32
//
33
//If you modify this Program, or any covered work, by linking or
34
//combining it with FreeImage (or a modified version of that library),
35
//containing parts covered by the terms of End User License Agreement
36
//for FreeImage Public License, the licensors of
37
//this Program grant you additional permission to convey the resulting
38
39
40
41
42
43
44
45
#ifndef WRAPPER_I_BASE
46
#define WRAPPER_I_BASE
47
#include "
enum_utils.h
"
48
#include "
part_def.h
"
49
50
#include <set>
51
#include <complex>
52
#include <vector>
53
namespace
utilities{
54
class
Md_store;
55
61
class
Wrapper_in
62
{
63
public
:
64
/*
65
Returns the value of the type specified from the particle selected. use the other version
66
*/
67
// virtual float get_value(int ind,D_TYPE type, int frame = -1) const=0;
68
69
79
virtual
int
get_value
(
int
& out,
80
int
ind,
D_TYPE
type,
int
frame)
const
= 0;
90
virtual
float
get_value
(
float
& out,
91
int
ind,
D_TYPE
type,
int
frame)
const
= 0;
102
virtual
std::complex<float>
get_value
(std::complex<float>& out,
103
int
ind,
D_TYPE
type,
int
frame)
const
= 0;
108
virtual
std::set<D_TYPE>
get_data_types
()
const
=0;
109
110
/*
111
Returns a set of the data types. Use the other version
112
*/
113
// virtual void get_data_types(std::set<D_TYPE> & out) const = 0;
114
118
virtual
int
get_num_entries
(
unsigned
int
frame)
const
= 0;
119
123
virtual
int
get_num_entries
()
const
= 0;
127
virtual
int
get_num_frames
()
const
= 0;
128
132
virtual
bool
contains_type
(
D_TYPE
type)
const
= 0;
133
134
138
virtual
Tuplef
get_dims
()
const
= 0;
139
140
141
149
const
Md_store
*
get_Md_store
(
unsigned
int
j)
const
;
150
151
155
Md_store
*
get_Md_store
(
unsigned
int
j);
156
161
void
set_Md_store
(
unsigned
int
j,
Md_store
* in);
162
166
void
set_Md_store_size
(
unsigned
int
j);
167
171
unsigned
int
get_Md_store_size
();
172
173
177
void
clear_Md_store
(
unsigned
int
j);
179
virtual
~Wrapper_in
();
180
181
Wrapper_in
();
182
183
private
:
184
std::vector<Md_store*>
md_stores_
;
185
186
187
};
188
189
190
191
192
193
}
194
195
#endif
196
Generated on Tue Sep 10 2013 17:07:21 for Particle Identification and Tracking by
1.8.4