1 // This is gel/vifa/vifa_parallel_params.h
2 #ifndef VIFA_PARALLEL_PARAMS_H
3 #define VIFA_PARALLEL_PARAMS_H
4 
5 //-----------------------------------------------------------------------------
6 //:
7 // \file
8 // \brief Parameter mixin for parallel line calculations.
9 //
10 // \author Roddy Collins, from DDB in TargetJr
11 //
12 // \verbatim
13 //  Modifications
14 //   MPP Mar 2003, Ported to VXL
15 // \endverbatim
16 //-----------------------------------------------------------------------------
17 
18 #include <gevd/gevd_param_mixin.h>
19 #include <vul/vul_timestamp.h>
20 #include <vbl/vbl_ref_count.h>
21 
22 #define DEFAULT_MIN_ANGLE  0.0f
23 #define DEFAULT_MAX_ANGLE  179.9999f
24 #define DEFAULT_NBUCKETS  60
25 
26 
27 class vifa_parallel_params : public gevd_param_mixin,
28                public vul_timestamp,
29                public vbl_ref_count
30 {
31  public:
32   float  min_angle;
33   float  max_angle;
34   int    nbuckets;
35 
36   //: Default constructor
37   vifa_parallel_params(float  angle_min = DEFAULT_MIN_ANGLE,
38                        float  angle_max = DEFAULT_MAX_ANGLE,
39                        int  buckets = DEFAULT_NBUCKETS
40                       );
41 
42   //: Copy constructors.
43   vifa_parallel_params(const vifa_parallel_params&  np);
44   vifa_parallel_params(vifa_parallel_params*  np);
45 
46   //: Output contents
47   void print_info() const;
48 };
49 
50 
51 #endif  // VIFA_PARALLEL_PARAMS_H
52