00001 /************************************************************************* 00002 * * 00003 * Open Physics Abstraction Layer * 00004 * Copyright (C) 2004-2005 * 00005 * Alan Fischer alan.fischer@gmail.com * 00006 * Andres Reinot andres@reinot.com * 00007 * Tyler Streeter tylerstreeter@gmail.com * 00008 * All rights reserved. * 00009 * Web: opal.sourceforge.net * 00010 * * 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of EITHER: * 00013 * (1) The GNU Lesser General Public License as published by the Free * 00014 * Software Foundation; either version 2.1 of the License, or (at * 00015 * your option) any later version. The text of the GNU Lesser * 00016 * General Public License is included with this library in the * 00017 * file license-LGPL.txt. * 00018 * (2) The BSD-style license that is included with this library in * 00019 * the file license-BSD.txt. * 00020 * * 00021 * This library is distributed in the hope that it will be useful, * 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * 00024 * license-LGPL.txt and license-BSD.txt for more details. * 00025 * * 00026 *************************************************************************/ 00027 00028 #ifndef OPAL_VELOCITY_MOTOR_DATA_H 00029 #define OPAL_VELOCITY_MOTOR_DATA_H 00030 00031 // class headers 00032 #include "MotorData.h" 00033 00034 // project headers 00035 #include "Defines.h" 00036 00037 namespace opal 00038 { 00040 class VelocityMotorData : public MotorData 00041 { 00042 public: 00043 OPAL_DECL VelocityMotorData() 00044 : MotorData() 00045 { 00046 mType = VELOCITY_MOTOR; 00047 solid = NULL; 00048 internal_solidIndex = 0; 00049 solidBlueprintRefName = ""; 00050 velocity = Vec3r( 0, 0, 0 ); 00051 maxForce = 1; 00052 letGravityAffectSolid = false; 00053 } 00054 00056 OPAL_DECL VelocityMotorData( const VelocityMotorData& data ) 00057 { 00058 ( *this ) = data; 00059 } 00060 00061 OPAL_DECL virtual ~VelocityMotorData() 00062 {} 00063 00065 OPAL_DECL virtual void OPAL_CALL operator=( 00066 const VelocityMotorData& data ) 00067 { 00068 mType = data.mType; 00069 enabled = data.enabled; 00070 name = data.name; 00071 solid = data.solid; 00072 internal_solidIndex = data.internal_solidIndex; 00073 solidBlueprintRefName = data.solidBlueprintRefName; 00074 velocity = data.velocity; 00075 maxForce = data.maxForce; 00076 letGravityAffectSolid = data.letGravityAffectSolid; 00077 } 00078 00080 Solid* solid; 00081 00083 real maxForce; 00084 00086 bool letGravityAffectSolid; 00087 00089 int internal_solidIndex; 00090 00092 std::string solidBlueprintRefName; 00093 00095 Vec3r velocity; 00096 00097 protected: 00098 00099 private: 00100 }; 00101 } 00102 00103 #endif