From: curt Date: Thu, 6 Dec 2001 18:16:22 +0000 (+0000) Subject: Tweaks to fix directory change. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=e08d4359cd9d8150a04bda94f118145e24f17ab1;p=flightgear.git Tweaks to fix directory change. --- diff --git a/src/FDM/YASim/Airplane.hpp b/src/FDM/YASim/Airplane.hpp index 46fab823e..2f350f81a 100644 --- a/src/FDM/YASim/Airplane.hpp +++ b/src/FDM/YASim/Airplane.hpp @@ -4,7 +4,7 @@ #include "ControlMap.hpp" #include "Model.hpp" #include "Wing.hpp" -#include "util/Vector.hpp" +#include "Vector.hpp" namespace yasim { diff --git a/src/FDM/YASim/ControlMap.hpp b/src/FDM/YASim/ControlMap.hpp index 370181f6b..15daf6c44 100644 --- a/src/FDM/YASim/ControlMap.hpp +++ b/src/FDM/YASim/ControlMap.hpp @@ -1,7 +1,7 @@ #ifndef _CONTROL_MAP_HPP #define _CONTROL_MAP_HPP -#include "util/Vector.hpp" +#include "Vector.hpp" namespace yasim { diff --git a/src/FDM/YASim/FGFDM.hpp b/src/FDM/YASim/FGFDM.hpp index 1df02b653..3efec50d4 100644 --- a/src/FDM/YASim/FGFDM.hpp +++ b/src/FDM/YASim/FGFDM.hpp @@ -4,7 +4,7 @@ #include #include "Airplane.hpp" -#include "util/Vector.hpp" +#include "Vector.hpp" namespace yasim { diff --git a/src/FDM/YASim/Model.hpp b/src/FDM/YASim/Model.hpp index 0a32c6304..6c1682a96 100644 --- a/src/FDM/YASim/Model.hpp +++ b/src/FDM/YASim/Model.hpp @@ -4,7 +4,7 @@ #include "Integrator.hpp" #include "RigidBody.hpp" #include "BodyEnvironment.hpp" -#include "util/Vector.hpp" +#include "Vector.hpp" namespace yasim { diff --git a/src/FDM/YASim/Vector.hpp b/src/FDM/YASim/Vector.hpp new file mode 100644 index 000000000..db8c8c719 --- /dev/null +++ b/src/FDM/YASim/Vector.hpp @@ -0,0 +1,65 @@ +#ifndef _VECTOR_HPP +#define _VECTOR_HPP + +// +// Excruciatingly simple vector-of-pointers class. Easy & useful. +// No support for addition of elements anywhere but at the end of the +// list, nor for removal of elements. Does not delete (or interpret +// in any way) its contents. +// +class Vector { +public: + Vector(); + int add(void* p); + void* get(int i); + void set(int i, void* p); + int size(); +private: + void realloc(); + + int _nelem; + int _sz; + void** _array; +}; + +inline Vector::Vector() +{ + _nelem = 0; + _sz = 0; + _array = 0; +} + +inline int Vector::add(void* p) +{ + if(_nelem == _sz) + realloc(); + _array[_sz] = p; + return _sz++; +} + +inline void* Vector::get(int i) +{ + return _array[i]; +} + +inline void Vector::set(int i, void* p) +{ + _array[i] = p; +} + +inline int Vector::size() +{ + return _sz; +} + +inline void Vector::realloc() +{ + _nelem = 2*_nelem + 1; + void** array = new void*[_nelem]; + for(int i=0; i<_sz; i++) + array[i] = _array[i]; + delete[] _array; + _array = array; +} + +#endif // _VECTOR_HPP diff --git a/src/FDM/YASim/Wing.hpp b/src/FDM/YASim/Wing.hpp index b448f83fa..861436e8a 100644 --- a/src/FDM/YASim/Wing.hpp +++ b/src/FDM/YASim/Wing.hpp @@ -1,7 +1,7 @@ #ifndef _WING_HPP #define _WING_HPP -#include "util/Vector.hpp" +#include "Vector.hpp" namespace yasim {