RBFInputData.h

Go to the documentation of this file.
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

Generated on Tue Jan 24 21:46:37 2006 for Verve by  doxygen 1.4.6-NO