00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014
00015 #ifndef MakeNonlinearSolutionPath_h__
00016 #define MakeNonlinearSolutionPath_h__
00017
00018
00019 #include "NonlinearSolutionPath.h"
00020 #include "Path.h"
00021 #include <memory>
00022 #include <functional>
00023
00024 template <typename my_alg_type_IN, typename my_alg_type_OUT>
00025 Path<my_alg_type_OUT> MakeNonLinearSolutionPath(Path<my_alg_type_IN> & theControlIn, std::vector<POLYLIE<my_alg_type_OUT>> & theVectorFieldsIn, AbstractSolutionPoint<my_alg_type_OUT> & theInitialValue, typename my_alg_type_OUT::SCA theStartTime = my_alg_type_OUT::SCA(0))
00026 {
00027 std::tr1::shared_ptr< const NonLinearSolutionPath<my_alg_type_IN,my_alg_type_OUT> > p(new NonLinearSolutionPath<my_alg_type_IN,my_alg_type_OUT>(theControlIn, theVectorFieldsIn, theInitialValue, theStartTime));
00028 return Path<my_alg_type_OUT>(p);
00029 };
00030
00031 #endif // MakeNonlinearSolutionPath_h__