-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFlatIndex.cxx
50 lines (42 loc) · 1.1 KB
/
FlatIndex.cxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
____ _ __ ____ __ ____
/ __/___(_) / ___ ____/ __ \__ _____ ___ / /_ / _/__ ____
_\ \/ __/ / _ \/ -_) __/ /_/ / // / -_|_-</ __/ _/ // _ \/ __/
/___/\__/_/_.__/\__/_/ \___\_\_,_/\__/___/\__/ /___/_//_/\__(_)
Copyright 2012 SciberQuest Inc.
*/
#include "FlatIndex.h"
#include "CartesianExtent.h"
#include <iostream>
using std::cerr;
using std::endl;
//-----------------------------------------------------------------------------
FlatIndex::FlatIndex(int ni, int nj, int nk, int mode)
{
switch(mode)
{
case CartesianExtent::DIM_MODE_2D_XZ:
this->A = ni;
this->B = 0; // ni*nk;
this->C = 1;
break;
case CartesianExtent::DIM_MODE_2D_YZ:
this->A = nj;
this->B = 1;
this->C = 0; // nj*nk;
break;
case CartesianExtent::DIM_MODE_2D_XY:
this->A = 0; // ni*nj;
this->B = ni;
this->C = 1;
break;
case CartesianExtent::DIM_MODE_3D:
this->A = ni*nj;
this->B = ni;
this->C = 1;
break;
default:
cerr << "Unsupported mode " << mode << endl;
break;
}
}