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_ATTRACTOR_MOTOR_DATA_H 00029 #define OPAL_ATTRACTOR_MOTOR_DATA_H 00030 00031 #include "Defines.h" 00032 #include "MotorData.h" 00033 00034 namespace opal 00035 { 00037 class AttractorMotorData : public MotorData 00038 { 00039 public: 00040 OPAL_DECL AttractorMotorData() 00041 : MotorData() 00042 { 00043 mType = ATTRACTOR_MOTOR; 00044 solid0 = NULL; 00045 solid1 = NULL; 00046 internal_solid0Index = 0; 00047 internal_solid1Index = 0; 00048 solid0BlueprintRefName = ""; 00049 solid1BlueprintRefName = ""; 00050 strength = defaults::motor::attractor::strength; 00051 exponent = defaults::motor::attractor::exponent; 00052 } 00053 00055 OPAL_DECL AttractorMotorData(const AttractorMotorData& data) 00056 { 00057 (*this) = data; 00058 } 00059 00060 OPAL_DECL virtual ~AttractorMotorData() 00061 { 00062 } 00063 00065 OPAL_DECL virtual void OPAL_CALL operator=( 00066 const AttractorMotorData& data) 00067 { 00068 mType = data.mType; 00069 enabled = data.enabled; 00070 name = data.name; 00071 solid0 = data.solid0; 00072 solid1 = data.solid1; 00073 internal_solid0Index = data.internal_solid0Index; 00074 internal_solid1Index = data.internal_solid1Index; 00075 solid0BlueprintRefName = data.solid0BlueprintRefName; 00076 solid1BlueprintRefName = data.solid1BlueprintRefName; 00077 strength = data.strength; 00078 exponent = data.exponent; 00079 } 00080 00082 Solid* solid0; 00083 00085 Solid* solid1; 00086 00088 int internal_solid0Index; 00089 00091 int internal_solid1Index; 00092 00094 std::string solid0BlueprintRefName; 00095 00097 std::string solid1BlueprintRefName; 00098 00100 real strength; 00101 00103 real exponent; 00104 00105 protected: 00106 00107 private: 00108 }; 00109 } 00110 00111 #endif