1 /* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/mbdyn/base/scalarvalue.h,v 1.9 2017/01/12 14:46:10 masarati Exp $ */ 2 /* 3 * MBDyn (C) is a multibody analysis code. 4 * http://www.mbdyn.org 5 * 6 * Copyright (C) 1996-2017 7 * 8 * Pierangelo Masarati <masarati@aero.polimi.it> 9 * Paolo Mantegazza <mantegazza@aero.polimi.it> 10 * 11 * Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano 12 * via La Masa, 34 - 20156 Milano, Italy 13 * http://www.aero.polimi.it 14 * 15 * Changing this copyright notice is forbidden. 16 * 17 * This program is free software; you can redistribute it and/or modify 18 * it under the terms of the GNU General Public License as published by 19 * the Free Software Foundation (version 2 of the License). 20 * 21 * 22 * This program is distributed in the hope that it will be useful, 23 * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 * GNU General Public License for more details. 26 * 27 * You should have received a copy of the GNU General Public License 28 * along with this program; if not, write to the Free Software 29 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 30 */ 31 32 #ifndef SCALARVALUE_H 33 #define SCALARVALUE_H 34 35 #include "elem.h" 36 37 /* ScalarValue - begin */ 38 39 class ScalarValue { 40 public: 41 virtual ~ScalarValue(void); 42 virtual doublereal dGetValue(void) const = 0; 43 }; 44 45 class ScalarDofValue : public ScalarValue, public ScalarDof { 46 public: 47 ScalarDofValue(const ScalarDof& sd); 48 doublereal dGetValue(void) const; 49 }; 50 51 class ScalarDriveValue : public ScalarValue { 52 protected: 53 const DriveCaller *pDC; 54 55 public: 56 ScalarDriveValue(const DriveCaller *pdc); 57 ~ScalarDriveValue(void); 58 doublereal dGetValue(void) const; 59 }; 60 61 class DataManager; 62 class MBDynParser; 63 64 extern ScalarValue * 65 ReadScalarValue(DataManager *pDM, MBDynParser& HP); 66 67 extern void 68 ReadScalarValues(DataManager *pDM, MBDynParser& HP, 69 std::vector<ScalarValue *>& Values); 70 71 /* ScalarValue - end */ 72 73 #endif /* SCALARVALUE_H */ 74 75