OpenVDB: RandInt< IntType, EngineType > Class Template Reference

OpenVDB 13.0.0

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::v13_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.