00001 // Copyright 2009 Hans Pirnay 00002 // All Rights Reserved. 00003 // This code is published under the Common Public License. 00004 // 00005 // Date : 2009-05-16 00006 00007 00008 #ifndef __AS_MEASUREMENT_HPP__ 00009 #define __AS_MEASUREMENT_HPP__ 00010 00011 #include "IpReferenced.hpp" 00012 #include "IpDenseVector.hpp" 00013 #include "IpIteratesVector.hpp" 00014 00015 00016 namespace Ipopt 00017 { 00018 00019 class Measurement : public ReferencedObject 00020 { 00023 public: 00024 00025 Measurement() 00026 { 00027 } 00028 00029 virtual ~Measurement() 00030 { 00031 } 00032 00036 virtual std::vector<Index> GetInitialEqConstraints() =0; 00037 00040 virtual std::vector<Index> GetNmpcState(Index i) =0; 00041 00043 virtual SmartPtr<DenseVector> GetMeasurement(Index measurement_number) =0; 00044 00046 virtual void SetSolution(Index measurement_number, SmartPtr<IteratesVector> sol) =0; 00047 }; 00048 } 00049 00050 #endif 00051