Pteros  2.0
Molecular modeling library for human beings!
consumer_wrapper.h
1 /*
2  *
3  * This source code is part of
4  * ******************
5  * *** Pteros ***
6  * ******************
7  * molecular modeling library
8  *
9  * Copyright (c) 2009-2013, Semen Yesylevskyy
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of Artistic License:
13  *
14  * Please note, that Artistic License is slightly more restrictive
15  * then GPL license in terms of distributing the modified versions
16  * of this software (they should be approved first).
17  * Read http://www.opensource.org/licenses/artistic-license-2.0.php
18  * for details. Such license fits scientific software better then
19  * GPL because it prevents the distribution of bugged derivatives.
20  *
21 */
22 
23 #ifndef CONSUMER_WRAPPER_H
24 #define CONSUMER_WRAPPER_H
25 
26 #include "pteros/analysis/consumer_base.h"
27 
28 namespace pteros {
29 
30 class Consumer_wrapper: public Consumer_base {
31 public:
32  Consumer_wrapper(Trajectory_processor* pr): Consumer_base(pr){
33  proxy_frame_ptr = NULL;
34  }
35 
36  ~Consumer_wrapper(){
37  }
38 
39  Frame* get_frame_ptr(){
40  return proxy_frame_ptr;
41  }
42 
43 protected:
44  Frame* proxy_frame_ptr;
45 
46  virtual void process_frame_data(Frame& data){
47  proxy_frame_ptr = &data;
48  }
49 
50  virtual void pre_process();
51  virtual void process_frame(const Frame_info& info);
52  virtual void post_process(const Frame_info &info);
53 };
54 
55 }
56 #endif
Pteros namespace.
Definition: options.cpp:32