PxDefaultBufferedProfiler.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA CORPORATION and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA CORPORATION is strictly prohibited.
9  */
10 
11 
12 #ifndef PX_DEFAULT_BUFFERED_PROFILER_H
13 #define PX_DEFAULT_BUFFERED_PROFILER_H
14 
19 
20 #ifndef PX_DOXYGEN
21 namespace physx
22 {
23 #endif
24  class PxProfileZoneManager;
25 
35  {
38  const char* name;
39  const char* profileZoneName;
41  PxU64 contextId;
42 
43 
47  };
48 
55  {
56  public:
60  static const PxU32 CROSS_THREAD_ID = 99999789;
61 
69  virtual void onEvent(const PxBufferedProfilerEvent &event) = 0;
70 
71  protected:
72  virtual ~PxBufferedProfilerCallback(void) {}
73  };
74 
76 
89  {
90  public:
96  virtual void flushEvents() = 0;
97 
101  virtual PxProfileZoneManager& getProfileZoneManager() = 0;
102 
108  virtual void addBufferedProfilerCallback(PxBufferedProfilerCallback& cb) = 0;
109 
115  virtual void removeBufferedProfilerCallback(PxBufferedProfilerCallback& cb) = 0;
116 
120  virtual void release() = 0;
121 
122  protected:
123  virtual ~PxDefaultBufferedProfiler(void) {}
124  };
125 
126 
140  PxDefaultBufferedProfiler* PxDefaultBufferedProfilerCreate(PxFoundation & foundation, const char * profileZoneNames );
141 
142 
143 #ifndef PX_DOXYGEN
144 } // namespace physx
145 #endif
146 
148 #endif // PX_DEFAULT_BUFFERED_PROFILER_H


Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com