00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014
00015 #ifndef MakeNonlinearSolutionTrajectory_h__
00016 #define MakeNonlinearSolutionTrajectory_h__
00017
00018
00019 #include "NonlinearSolutionTrajectory.h"
00020 #include "Trajectory.h"
00021 #include <memory>
00022 #include <functional>
00023
00024 template <typename my_alg_type_IN, typename my_alg_type_OUT>
00025 Trajectory<my_alg_type_OUT> MakeNonLinearSolutionTrajectory(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 NonLinearSolutionTrajectory<my_alg_type_IN,my_alg_type_OUT> > p(new NonLinearSolutionTrajectory<my_alg_type_IN,my_alg_type_OUT>(theControlIn, theVectorFieldsIn, theInitialValue, theStartTime));
00028 return Trajectory<my_alg_type_OUT>(p);
00029 };
00030
00031 #endif // MakeNonlinearSolutionTrajectory_h__