diff --git a/FDTD/engine.cpp b/FDTD/engine.cpp index 540e0f7..09c011a 100644 --- a/FDTD/engine.cpp +++ b/FDTD/engine.cpp @@ -20,14 +20,14 @@ //! \brief construct an Engine instance //! it's the responsibility of the caller to free the returned pointer -Engine* Engine::createEngine(Operator* op) +Engine* Engine::createEngine(const Operator* op) { Engine* e = new Engine(op); e->Init(); return e; } -Engine::Engine(Operator* op) +Engine::Engine(const Operator* op) { Op = op; } diff --git a/FDTD/engine.h b/FDTD/engine.h index a917686..7068ac2 100644 --- a/FDTD/engine.h +++ b/FDTD/engine.h @@ -23,7 +23,7 @@ class Engine { public: - static Engine* createEngine(Operator* op); + static Engine* createEngine(const Operator* op); virtual ~Engine(); virtual void Init(); @@ -38,8 +38,8 @@ public: virtual FDTD_FLOAT**** GetCurrents() {return curr;}; protected: - Engine(Operator* op); - Operator* Op; + Engine(const Operator* op); + const Operator* Op; FDTD_FLOAT**** volt; FDTD_FLOAT**** curr; diff --git a/FDTD/operator.cpp b/FDTD/operator.cpp index 4cd1484..bff3584 100644 --- a/FDTD/operator.cpp +++ b/FDTD/operator.cpp @@ -205,14 +205,14 @@ struct Operator::Grid_Path Operator::FindPath(double start[], double stop[]) return path; } -double Operator::GetNumberCells() +double Operator::GetNumberCells() const { if (numLines) return (numLines[0])*(numLines[1])*(numLines[2]); //it's more like number of nodes??? return 0; } -void Operator::ShowStat() +void Operator::ShowStat() const { unsigned int OpSize = 12*numLines[0]*numLines[1]*numLines[2]*sizeof(FDTD_FLOAT); unsigned int FieldSize = 6*numLines[0]*numLines[1]*numLines[2]*sizeof(FDTD_FLOAT); diff --git a/FDTD/operator.h b/FDTD/operator.h index f17197c..45b8db4 100644 --- a/FDTD/operator.h +++ b/FDTD/operator.h @@ -46,11 +46,11 @@ public: virtual void ApplyElectricBC(bool* dirs); //applied by default to all boundaries virtual void ApplyMagneticBC(bool* dirs); - double GetTimestep() {return dT;}; + double GetTimestep() const {return dT;}; unsigned int GetNyquistNum(double fmax); - double GetNumberCells(); + double GetNumberCells() const; - void ShowStat(); + void ShowStat() const; void DumpOperator2File(string filename); void DumpMaterial2File(string filename); diff --git a/tools/array_ops.cpp b/tools/array_ops.cpp index 42c010d..d80a231 100644 --- a/tools/array_ops.cpp +++ b/tools/array_ops.cpp @@ -18,7 +18,7 @@ #include "array_ops.h" #include -FDTD_FLOAT*** Create3DArray(unsigned int* numLines) +FDTD_FLOAT*** Create3DArray(const unsigned int* numLines) { FDTD_FLOAT*** array=NULL; unsigned int pos[3]; @@ -38,7 +38,7 @@ FDTD_FLOAT*** Create3DArray(unsigned int* numLines) return array; } -void Delete3DArray(FDTD_FLOAT*** array, unsigned int* numLines) +void Delete3DArray(FDTD_FLOAT*** array, const unsigned int* numLines) { if (array==NULL) return; unsigned int pos[3]; @@ -53,7 +53,7 @@ void Delete3DArray(FDTD_FLOAT*** array, unsigned int* numLines) delete[] array; } -FDTD_FLOAT**** Create_N_3DArray(unsigned int* numLines) +FDTD_FLOAT**** Create_N_3DArray(const unsigned int* numLines) { FDTD_FLOAT**** array=NULL; array = new FDTD_FLOAT***[3]; @@ -64,7 +64,7 @@ FDTD_FLOAT**** Create_N_3DArray(unsigned int* numLines) return array; } -void Delete_N_3DArray(FDTD_FLOAT**** array, unsigned int* numLines) +void Delete_N_3DArray(FDTD_FLOAT**** array, const unsigned int* numLines) { if (array==NULL) return; unsigned int pos[3]; diff --git a/tools/array_ops.h b/tools/array_ops.h index b04c821..5424e05 100644 --- a/tools/array_ops.h +++ b/tools/array_ops.h @@ -20,12 +20,12 @@ #include "../FDTD/operator.h" -FDTD_FLOAT*** Create3DArray(unsigned int* numLines); -void Delete3DArray(FDTD_FLOAT*** array, unsigned int* numLines); +FDTD_FLOAT*** Create3DArray(const unsigned int* numLines); +void Delete3DArray(FDTD_FLOAT*** array, const unsigned int* numLines); -FDTD_FLOAT**** Create_N_3DArray(unsigned int* numLines); -void Delete_N_3DArray(FDTD_FLOAT**** array, unsigned int* numLines); +FDTD_FLOAT**** Create_N_3DArray(const unsigned int* numLines); +void Delete_N_3DArray(FDTD_FLOAT**** array, const unsigned int* numLines); -void Dump_N_3DArray2File(ostream &file, FDTD_FLOAT**** array, unsigned int* numLines); +void Dump_N_3DArray2File(ostream &file, FDTD_FLOAT**** array, const unsigned int* numLines); #endif // ARRAY_OPS_H