PageRenderTime 13ms CodeModel.GetById 10ms app.highlight 2ms RepoModel.GetById 0ms app.codeStats 0ms

/Aurora/Modules/World/Monitoring/Monitors/PhysicsUpdateFrameMonitor.cs

https://bitbucket.org/VirtualReality/software-testing
C# | 75 lines | 37 code | 12 blank | 26 comment | 0 complexity | 80d786518163a6754bbaa3a374733190 MD5 | raw file
 1/*
 2 * Copyright (c) Contributors, http://aurora-sim.org/, 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 Aurora-Sim 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
28using Aurora.Framework;
29using Aurora.Framework.Modules;
30using Aurora.Framework.SceneInfo;
31
32namespace Aurora.Modules.Monitoring.Monitors
33{
34    public class PhysicsUpdateFrameMonitor : ITimeMonitor
35    {
36        private int MonitorPhysicsUpdateTime;
37
38        public PhysicsUpdateFrameMonitor(IScene scene)
39        {
40        }
41
42        #region Implementation of IMonitor
43
44        public double GetValue()
45        {
46            return MonitorPhysicsUpdateTime;
47        }
48
49        public string GetName()
50        {
51            return "Physics Update Frame Time";
52        }
53
54        public string GetFriendlyValue()
55        {
56            return (int) GetValue() + "ms";
57        }
58
59        #endregion
60
61        #region ITimeMonitor Members
62
63        public void AddTime(int time)
64        {
65            MonitorPhysicsUpdateTime += time;
66        }
67
68        public void ResetStats()
69        {
70            MonitorPhysicsUpdateTime = 0;
71        }
72
73        #endregion
74    }
75}