00001 /************************************************************************ 00002 * Verve * 00003 * Copyright (C) 2004-2006 * 00004 * Tyler Streeter tylerstreeter@gmail.com * 00005 * All rights reserved. * 00006 * Web: http://verve-agents.sourceforge.net * 00007 * * 00008 * This library is free software; you can redistribute it and/or * 00009 * modify it under the terms of EITHER: * 00010 * (1) The GNU Lesser General Public License as published by the Free * 00011 * Software Foundation; either version 2.1 of the License, or (at * 00012 * your option) any later version. The text of the GNU Lesser * 00013 * General Public License is included with this library in the * 00014 * file license-LGPL.txt. * 00015 * (2) The BSD-style license that is included with this library in * 00016 * the file license-BSD.txt. * 00017 * * 00018 * This library is distributed in the hope that it will be useful, * 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * 00021 * license-LGPL.txt and license-BSD.txt for more details. * 00022 ************************************************************************/ 00023 00024 #ifndef VERVE_RBF_INPUT_DATA_H 00025 #define VERVE_RBF_INPUT_DATA_H 00026 00027 #include "Globals.h" 00028 00029 namespace verve 00030 { 00031 class Observation; 00032 00034 struct RBFInputData 00035 { 00036 VERVE_DECL RBFInputData(); 00037 00038 VERVE_DECL ~RBFInputData(); 00039 00042 VERVE_DECL void VERVE_CALL init(unsigned int numDiscreteInputs, 00043 const unsigned int* discreteNumOptionsData, 00044 const unsigned int* discreteInputData, 00045 unsigned int numContinuousInputs, 00046 unsigned int continuousResolution, 00047 const bool* continuousCircularData, 00048 const real* continuousInputData); 00049 00052 VERVE_DECL void VERVE_CALL init(const Observation& obs); 00053 00055 VERVE_DECL virtual void VERVE_CALL zeroInputData(); 00056 00058 VERVE_DECL virtual void VERVE_CALL copyInputData( 00059 const unsigned int* discreteInputData, 00060 const real* continuousInputData); 00061 00066 VERVE_DECL unsigned int VERVE_CALL computeNumUniqueStates( 00067 unsigned int continuousResolution)const; 00068 00075 VERVE_DECL void VERVE_CALL setToUniqueState(unsigned int index, 00076 unsigned int numStates, unsigned int continuousResolution); 00077 00079 unsigned int numDiscInputs; 00080 00083 unsigned int* discNumOptionsData; 00084 00086 unsigned int* discInputData; 00087 00089 unsigned int numContInputs; 00090 00093 unsigned int contResolution; 00094 00097 bool* contCircularData; 00098 00100 real* contInputData; 00101 }; 00102 } 00103 00104 #endif