Initial snark14m import
[snark14.git] / src / snark / GeometricBehaviour.cpp
1 /*
2  ***********************************************************
3  $SNARK_Header: S N A R K  1 4 - A PICTURE RECONSTRUCTION PROGRAM $
4  $HeadURL: svn://dig.cs.gc.cuny.edu/snark/trunk/src/snark/GeometricBehaviour.cpp $
5  $LastChangedRevision: 81 $
6  $Date: 2014-07-02 11:07:09 -0400 (Wed, 02 Jul 2014) $
7  $Author: olangthaler $
8  ***********************************************************
9  */
10
11 #include "GeometricBehaviour.h"
12 #include "BasisFunctionPixel.h"
13 #include "BasisFunctionBlob.h"
14 #include "blob.h"
15 #include "anglst.h"
16
17 GeometricBehaviour::GeometricBehaviour()
18 {
19 }
20
21 GeometricBehaviour::~GeometricBehaviour()
22 {
23 }
24
25 GeometricBehaviour* GeometricBehaviour::getInstance()
26 {
27
28         GeometricBehaviour* strategy;
29
30         if (Blob.pix_basis)
31         {
32                 strategy = new BasisFunctionPixel();
33         }
34         else
35         {
36                 strategy = new BasisFunctionBlob();
37         }
38
39         return strategy;
40 }
41
42 INTEGER GeometricBehaviour::getArrayIndex(INTEGER row, INTEGER column)
43 {
44         return row * GeoPar.nelem + column;
45 }
46
47 void GeometricBehaviour::getPixelPosition(INTEGER arrayIndex, INTEGER* row, INTEGER* column)
48 {
49         *row = arrayIndex / GeoPar.nelem;
50         *column = arrayIndex % GeoPar.nelem;
51 }
52