Loading...
Searching...
No Matches
RandInt< IntType, EngineType > Class Template Reference

Simple random integer generator. More...

`#include <openvdb/math/Math.h>`

## Public Member Functions

| RandInt (const EngineType &engine, IntType imin, IntType imax)
| Initialize the generator.
| RandInt (unsigned int seed, IntType imin, IntType imax)
| Initialize the generator.
void | setRange (IntType imin, IntType imax)
| Change the range over which integers are distributed to [imin, imax].
void | setSeed (unsigned int seed)
| Set the seed value for the random number generator.
const EngineType & | engine () const
| Return a const reference to the random number generator.
IntType | operator() ()
| Return a randomly-generated integer in the current range.
IntType | operator() (IntType imin, IntType imax)
| Return a randomly-generated integer in the new range [imin, imax], without changing the current range.

## Detailed Description

template<typename IntType = int, typename EngineType = std::mt19937>
class openvdb::v11_0::math::RandInt< IntType, EngineType >

Simple random integer generator.

Thread-safe as long as each thread has its own RandInt instance

## Constructor & Destructor Documentation

## RandInt() [1/2]

template<typename IntType = int, typename EngineType = std::mt19937>

RandInt | ( | const EngineType & | engine,
|  | IntType | imin,
|  | IntType | imax
| ) |  |

inline

Initialize the generator.

Parameters

  engine | random number generator
  imin,imax | generate integers that are uniformly distributed over [imin, imax]

## RandInt() [2/2]

template<typename IntType = int, typename EngineType = std::mt19937>

RandInt | ( | unsigned int | seed,
|  | IntType | imin,
|  | IntType | imax
| ) |  |

inline

Initialize the generator.

Parameters

  seed | seed value for the random number generator
  imin,imax | generate integers that are uniformly distributed over [imin, imax]

## Member Function Documentation

## engine()

template<typename IntType = int, typename EngineType = std::mt19937>

const EngineType & engine | ( |  | ) | const

inline

Return a const reference to the random number generator.

## operator()() [1/2]

template<typename IntType = int, typename EngineType = std::mt19937>

IntType operator() | ( |  | ) |

inline

Return a randomly-generated integer in the current range.

## operator()() [2/2]

template<typename IntType = int, typename EngineType = std::mt19937>

IntType operator() | ( | IntType | imin,
|  | IntType | imax
| ) |  |

inline

Return a randomly-generated integer in the new range [imin, imax], without changing the current range.

## setRange()

template<typename IntType = int, typename EngineType = std::mt19937>

void setRange | ( | IntType | imin,
|  | IntType | imax
| ) |  |

inline

Change the range over which integers are distributed to [imin, imax].

## setSeed()

template<typename IntType = int, typename EngineType = std::mt19937>

void setSeed | ( | unsigned int | seed | ) |

inline

Set the seed value for the random number generator.