From d34d5eb3f7b5eb83e87b7f2fee10a95cad08fcd6 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Tue, 14 Apr 2009 09:03:18 +0000 Subject: * Adding some organization of vehicle type stuff in the ODEPlugin. * Vehicles do NOT work. This is just organization and a bit of logical code to make doing vehicles easier --- OpenSim/Region/Physics/Manager/VehicleConstants.cs | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 OpenSim/Region/Physics/Manager/VehicleConstants.cs (limited to 'OpenSim/Region/Physics/Manager/VehicleConstants.cs') diff --git a/OpenSim/Region/Physics/Manager/VehicleConstants.cs b/OpenSim/Region/Physics/Manager/VehicleConstants.cs new file mode 100644 index 0000000..97f66d3 --- /dev/null +++ b/OpenSim/Region/Physics/Manager/VehicleConstants.cs @@ -0,0 +1,113 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; + +namespace OpenSim.Region.Physics.Manager +{ + public enum Vehicle : int + { + /// + /// Turns off Vehicle Support + /// + TYPE_NONE = 0, + + /// + /// No Angular motor, High Left right friction, No Hover, Linear Deflection 1, no angular deflection + /// no vertical attractor, No banking, Identity rotation frame + /// + TYPE_SLED = 1, + + /// + /// Needs Motors to be driven by timer or control events High left/right friction, No angular friction + /// Linear Motor wins in a second, decays in 60 seconds. Angular motor wins in a second, decays in 8/10ths of a second + /// linear deflection 2 seconds + /// Vertical Attractor locked UP + /// + TYPE_CAR = 2, + TYPE_BOAT = 3, + TYPE_AIRPLANE = 4, + TYPE_BALLOON = 5, + LINEAR_FRICTION_TIMESCALE = 16, + /// + /// vector of timescales for exponential decay of angular velocity about three axis + /// + ANGULAR_FRICTION_TIMESCALE = 17, + /// + /// linear velocity vehicle will try for + /// + LINEAR_MOTOR_DIRECTION = 18, + + /// + /// Offset from center of mass where linear motor forces are added + /// + LINEAR_MOTOR_OFFSET = 20, + /// + /// angular velocity that vehicle will try for + /// + ANGULAR_MOTOR_DIRECTION = 19, + HOVER_HEIGHT = 24, + HOVER_EFFICIENCY = 25, + HOVER_TIMESCALE = 26, + BUOYANCY = 27, + LINEAR_DEFLECTION_EFFICIENCY = 28, + LINEAR_DEFLECTION_TIMESCALE = 29, + LINEAR_MOTOR_TIMESCALE = 30, + LINEAR_MOTOR_DECAY_TIMESCALE = 31, + + /// + /// slide between 0 and 1 + /// + ANGULAR_DEFLECTION_EFFICIENCY = 32, + ANGULAR_DEFLECTION_TIMESCALE = 33, + ANGULAR_MOTOR_TIMESCALE = 34, + ANGULAR_MOTOR_DECAY_TIMESCALE = 35, + VERTICAL_ATTRACTION_EFFICIENCY = 36, + VERTICAL_ATTRACTION_TIMESCALE = 37, + BANKING_EFFICIENCY = 38, + BANKING_MIX = 39, + BANKING_TIMESCALE = 40, + REFERENCE_FRAME = 44 + + } + + [Flags] + public enum VehicleFlag + { + NO_DEFLECTION_UP = 1, + LIMIT_ROLL_ONLY = 2, + HOVER_WATER_ONLY = 4, + HOVER_TERRAIN_ONLY = 8, + HOVER_GLOBAL_HEIGHT = 16, + HOVER_UP_ONLY = 32, + LIMIT_MOTOR_UP = 64, + MOUSELOOK_STEER = 128, + MOUSELOOK_BANK = 256, + CAMERA_DECOUPLED = 512 + } + +} -- cgit v1.1