OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
BasicPhysicsPrim.cs
Go to the documentation of this file.
1 /*
2  * Copyright (c) Contributors, http://opensimulator.org/
3  * See CONTRIBUTORS.TXT for a full list of copyright holders.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * * Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * * Neither the name of the OpenSimulator Project nor the
13  * names of its contributors may be used to endorse or promote products
14  * derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27 
28 using System;
29 using System.Collections.Generic;
30 using Nini.Config;
31 using OpenMetaverse;
32 using OpenSim.Framework;
33 using OpenSim.Region.PhysicsModules.SharedBase;
34 
35 namespace OpenSim.Region.PhysicsModule.BasicPhysics
36 {
38  {
39  private Vector3 _size;
40 // private PrimitiveBaseShape _shape;
41 
43  string name, uint localId, Vector3 position, Vector3 size, Quaternion orientation, PrimitiveBaseShape shape)
44  {
45  Name = name;
46  LocalID = localId;
47  Position = position;
48  Size = size;
49  Orientation = orientation;
50  Shape = shape;
51  }
52 
53  public override int PhysicsActorType
54  {
55  get { return (int) ActorTypes.Agent; }
56  set { return; }
57  }
58 
59  public override Vector3 RotationalVelocity { get; set; }
60 
61  public override bool SetAlwaysRun
62  {
63  get { return false; }
64  set { return; }
65  }
66 
67  public override uint LocalID
68  {
69  set { return; }
70  }
71 
72  public override bool Grabbed
73  {
74  set { return; }
75  }
76 
77  public override bool Selected
78  {
79  set { return; }
80  }
81 
82  public override float Buoyancy
83  {
84  get { return 0f; }
85  set { return; }
86  }
87 
88  public override bool FloatOnWater
89  {
90  set { return; }
91  }
92 
93  public override bool IsPhysical
94  {
95  get { return false; }
96  set { return; }
97  }
98 
99  public override bool ThrottleUpdates
100  {
101  get { return false; }
102  set { return; }
103  }
104 
105  public override bool Flying { get; set; }
106 
107  public override bool IsColliding { get; set; }
108 
109  public override bool CollidingGround
110  {
111  get { return false; }
112  set { return; }
113  }
114 
115  public override bool CollidingObj
116  {
117  get { return false; }
118  set { return; }
119  }
120 
121  public override bool Stopped
122  {
123  get { return false; }
124  }
125 
126  public override Vector3 Position { get; set; }
127 
128  public override Vector3 Size
129  {
130  get { return _size; }
131  set {
132  _size = value;
133  _size.Z = _size.Z / 2.0f;
134  }
135  }
136 
137  public override PrimitiveBaseShape Shape
138  {
139 // set { _shape = value; }
140  set {}
141  }
142 
143  public override float Mass
144  {
145  get { return 0f; }
146  }
147 
148  public override Vector3 Force
149  {
150  get { return Vector3.Zero; }
151  set { return; }
152  }
153 
154  public override int VehicleType
155  {
156  get { return 0; }
157  set { return; }
158  }
159 
160  public override void VehicleFloatParam(int param, float value)
161  {
162 
163  }
164 
165  public override void VehicleVectorParam(int param, Vector3 value)
166  {
167 
168  }
169 
170  public override void VehicleRotationParam(int param, Quaternion rotation)
171  {
172 
173  }
174 
175  public override void VehicleFlags(int param, bool remove)
176  {
177 
178  }
179 
180  public override void SetVolumeDetect(int param)
181  {
182 
183  }
184 
185  public override Vector3 CenterOfMass
186  {
187  get { return Vector3.Zero; }
188  }
189 
190  public override Vector3 GeometricCenter
191  {
192  get { return Vector3.Zero; }
193  }
194 
195  public override Vector3 Velocity { get; set; }
196 
197  public override Vector3 Torque
198  {
199  get { return Vector3.Zero; }
200  set { return; }
201  }
202 
203  public override float CollisionScore
204  {
205  get { return 0f; }
206  set { }
207  }
208 
209  public override Quaternion Orientation { get; set; }
210 
211  public override Vector3 Acceleration { get; set; }
212 
213  public override bool Kinematic
214  {
215  get { return true; }
216  set { }
217  }
218 
219  public override void link(PhysicsActor obj)
220  {
221  }
222 
223  public override void delink()
224  {
225  }
226 
227  public override void LockAngularMotion(byte axislocks)
228  {
229  }
230 
231  public override void AddForce(Vector3 force, bool pushforce)
232  {
233  }
234 
235  public override void AddAngularForce(Vector3 force, bool pushforce)
236  {
237  }
238 
239  public override void SetMomentum(Vector3 momentum)
240  {
241  }
242 
243  public override void CrossingFailure()
244  {
245  }
246 
247  public override Vector3 PIDTarget
248  {
249  set { return; }
250  }
251 
252  public override bool PIDActive
253  {
254  get { return false; }
255  set { return; }
256  }
257 
258  public override float PIDTau
259  {
260  set { return; }
261  }
262 
263  public override float PIDHoverHeight
264  {
265  set { return; }
266  }
267 
268  public override bool PIDHoverActive
269  {
270  get { return false; }
271  set { return; }
272  }
273 
274  public override PIDHoverType PIDHoverType
275  {
276  set { return; }
277  }
278 
279  public override float PIDHoverTau
280  {
281  set { return; }
282  }
283 
284  public override Quaternion APIDTarget
285  {
286  set { return; }
287  }
288 
289  public override bool APIDActive
290  {
291  set { return; }
292  }
293 
294  public override float APIDStrength
295  {
296  set { return; }
297  }
298 
299  public override float APIDDamping
300  {
301  set { return; }
302  }
303 
304  public override void SubscribeEvents(int ms)
305  {
306  }
307 
308  public override void UnSubscribeEvents()
309  {
310  }
311 
312  public override bool SubscribedEvents()
313  {
314  return false;
315  }
316  }
317 }
BasicPhysicsPrim(string name, uint localId, Vector3 position, Vector3 size, Quaternion orientation, PrimitiveBaseShape shape)
override void AddAngularForce(Vector3 force, bool pushforce)
delegate void SetAlwaysRun(IClientAPI remoteClient, bool SetAlwaysRun)
override void SetVolumeDetect(int param)
Allows the detection of collisions with inherently non-physical prims. see llVolumeDetect for more ...
OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion rotation
Definition: ICM_Api.cs:32
override void AddForce(Vector3 force, bool pushforce)
override void VehicleVectorParam(int param, Vector3 value)
override void VehicleFloatParam(int param, float value)
override void VehicleRotationParam(int param, Quaternion rotation)