Blender
V2.93
intern
openvdb
openvdb_util.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* The Original Code is Copyright (C) 2015 Blender Foundation.
17
* All rights reserved.
18
*/
19
20
#ifndef __OPENVDB_UTIL_H__
21
#define __OPENVDB_UTIL_H__
22
23
#include <openvdb/openvdb.h>
24
#include <openvdb/util/CpuTimer.h>
25
26
#define CATCH_KEYERROR \
27
catch (const openvdb::KeyError &e) \
28
{ \
29
std::cerr << e.what() << '\n'; \
30
}
31
32
//#define DEBUG_TIME
33
34
/* A utility class which prints the time elapsed during its lifetime, useful for
35
* e.g. timing the overall execution time of a function */
36
class
ScopeTimer
{
37
std::string m_message;
38
openvdb::util::CpuTimer m_timer;
39
40
public
:
41
ScopeTimer
(
const
std::string &message);
42
~ScopeTimer
();
43
};
44
45
#ifdef DEBUG_TIME
46
# define Timer(x) ScopeTimer prof(x);
47
#else
48
# define Timer(x)
49
#endif
50
51
#endif
/* __OPENVDB_UTIL_H__ */
ScopeTimer
Definition:
openvdb_util.h:36
ScopeTimer::~ScopeTimer
~ScopeTimer()
Definition:
openvdb_util.cc:28
ScopeTimer::ScopeTimer
ScopeTimer(const std::string &message)
Definition:
openvdb_util.cc:24
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1