Cortex
10.0.0-a4
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
include
IECore
ImathRandAdapter.h
1
//
3
// Copyright (c) 2007-2011, Image Engine Design Inc. All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
//
12
// * Redistributions in binary form must reproduce the above copyright
13
// notice, this list of conditions and the following disclaimer in the
14
// documentation and/or other materials provided with the distribution.
15
//
16
// * Neither the name of Image Engine Design nor the names of any
17
// other contributors to this software may be used to endorse or
18
// promote products derived from this software without specific prior
19
// written permission.
20
//
21
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
22
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
//
34
35
#ifndef IE_CORE_IMATHRANDADAPTER_H
36
#define IE_CORE_IMATHRANDADAPTER_H
37
38
#include "OpenEXR/ImathRandom.h"
39
40
namespace
IECore
41
{
42
46
template
<
typename
T>
47
class
ImathRandAdapter
48
{
49
T m_rand;
50
51
public
:
52
ImathRandAdapter
(
unsigned
long
int
seed) : m_rand(seed)
53
{}
54
55
int
operator()(
int
n)
56
{
57
int
result = m_rand.nexti() % n;
58
return
result;
59
}
60
};
61
62
typedef
ImathRandAdapter<Imath::Rand32>
ImathRand32Adapter
;
63
typedef
ImathRandAdapter<Imath::Rand48>
ImathRand48Adapter
;
64
65
}
// namespace IECore
66
67
68
#endif // IE_CORE_IMATHRANDADAPTER_H
IECore::ImathRandAdapter
Definition:
ImathRandAdapter.h:47
IECore
This namespace contains all components of the core library.
Definition:
AddSmoothSkinningInfluencesOp.h:43
Generated on Tue Oct 24 2017 13:52:49 for Cortex by
1.8.9.1