Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/opencascade/MoniTool_Timer.lxx is written in an unsupported language. File is not indexed.

0001 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0002 //
0003 // This file is part of Open CASCADE Technology software library.
0004 //
0005 // This library is free software; you can redistribute it and/or modify it under
0006 // the terms of the GNU Lesser General Public License version 2.1 as published
0007 // by the Free Software Foundation, with special exception defined in the file
0008 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0009 // distribution for complete text of the license and disclaimer of any warranty.
0010 //
0011 // Alternatively, this file may be used under the terms of Open CASCADE
0012 // commercial license or contractual agreement.
0013 
0014 //=======================================================================
0015 //function : MoniTool_Timer
0016 //purpose  : 
0017 //=======================================================================
0018 
0019 inline MoniTool_Timer::MoniTool_Timer() : myCount(0), myNesting(0), myAmend(0)
0020 {
0021 }
0022 
0023 //=======================================================================
0024 //function : Timer
0025 //purpose  : 
0026 //=======================================================================
0027 
0028 inline OSD_Timer& MoniTool_Timer::Timer()
0029 {
0030   return myTimer;
0031 }
0032 
0033 //=======================================================================
0034 //function : Timer
0035 //purpose  : 
0036 //=======================================================================
0037 
0038 inline const OSD_Timer& MoniTool_Timer::Timer() const
0039 {
0040   return myTimer;
0041 }
0042 
0043 //=======================================================================
0044 //function : Start
0045 //purpose  : 
0046 //=======================================================================
0047 
0048 inline void MoniTool_Timer::Start()
0049 {
0050 //  AmendStart();
0051   if ( ! myNesting ) myTimer.Start();
0052   myCount++;
0053   myNesting++;
0054 }
0055 
0056 //=======================================================================
0057 //function : Stop
0058 //purpose  : 
0059 //=======================================================================
0060 
0061 inline void MoniTool_Timer::Stop()
0062 {
0063   myNesting--;
0064   if ( ! myNesting ) myTimer.Stop();
0065 //  AmendStop();
0066 }
0067 
0068 //=======================================================================
0069 //function : Reset
0070 //purpose  : 
0071 //=======================================================================
0072 
0073 inline void MoniTool_Timer::Reset()
0074 {
0075   myTimer.Reset();
0076   myCount = myNesting = 0;
0077   myAmend = 0;
0078 }
0079 
0080 //=======================================================================
0081 //function : Count
0082 //purpose  : 
0083 //=======================================================================
0084 
0085 inline Standard_Integer MoniTool_Timer::Count() const
0086 {
0087   return myCount;
0088 }
0089 
0090 //=======================================================================
0091 //function : IsRunning
0092 //purpose  : 
0093 //=======================================================================
0094 
0095 inline Standard_Integer MoniTool_Timer::IsRunning() const
0096 {
0097   return myNesting;
0098 }
0099 
0100 //=======================================================================
0101 //function : Amend
0102 //purpose  : 
0103 //=======================================================================
0104 
0105 inline Standard_Real MoniTool_Timer::Amend() const
0106 {
0107   return myAmend;
0108 }
0109 
0110 //=======================================================================
0111 //function : CPU
0112 //purpose  : 
0113 //=======================================================================
0114 
0115 inline Standard_Real MoniTool_Timer::CPU() 
0116 {
0117   Standard_Integer minutes, hours;
0118   Standard_Real seconds, cpu;
0119   myTimer.Show(seconds,minutes,hours,cpu);
0120   return cpu - myAmend;
0121 }
0122 
0123 //=======================================================================
0124 //function : Start
0125 //purpose  : 
0126 //=======================================================================
0127 
0128 inline void MoniTool_Timer::Start(const Standard_CString name) 
0129 {
0130   Timer(name)->Start();
0131 }
0132 
0133 //=======================================================================
0134 //function : Stop
0135 //purpose  : 
0136 //=======================================================================
0137 
0138 inline void MoniTool_Timer::Stop(const Standard_CString name) 
0139 {
0140   Timer(name)->Stop();
0141 }