RiSamplePattern

Generate a set of N samples from [0,1)^D

[ Math | Source | Search | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION
LIMITATIONS

Class Summary

class RiSamplePattern
{
public:
// Constructors and assignment
RiSamplePattern();
RiSamplePattern(int numSamples, int dimension, RiSamplingStrategy *strategy, RiRandom *generator);
RiSamplePattern(const RiSamplePattern &);
const RiSamplePattern &operator=(const RiSamplePattern &);
~RiSamplePattern();
// Accessors
int GetNumSamples() const;
int GetNumDimensions() const;
const RiReal *operator()(int sample) const;
RiReal operator()(int sample, int dimension) const;
void Resample();
void Permute(int groupSize);
void Permute(int groupSize, int seed);
protected:
}; // RiSamplePattern


DESCRIPTION


LIMITATIONS

Can't handle adaptive sampling


RiSamplePattern();

Default Constructor

    RiSamplePattern();

RiSamplePattern(int numSamples, int dimension, RiSamplingStrategy *strategy, RiRandom *generator);

Constructor
strategy is
NOT adopted, user is responsible for clean up AFTER done
generatoris
NOT adopted, user is responsible for clean up AFTER done

    RiSamplePattern(int numSamples, int dimension, RiSamplingStrategy *strategy, RiRandom *generator);

RiSamplePattern(const RiSamplePattern &);

Copy Constructor Not efficient

    RiSamplePattern(const RiSamplePattern &);

const RiSamplePattern &operator=(const RiSamplePattern &);

Assignment Not efficient

    const RiSamplePattern &operator=(const RiSamplePattern &);

~RiSamplePattern();

Destructor

    ~RiSamplePattern();

int GetNumSamples() const;

Get the number of samples actually created by the method

    int	    GetNumSamples() const;

int GetNumDimensions() const;

Get the dimension of the sample points

    int	    GetNumDimensions() const;

const RiReal *operator()(int sample) const;

Get the raw data user shouldn't access beyond retval + Dim

    const RiReal *operator()(int sample) const;

RiReal operator()(int sample, int dimension) const;

Get a specific sample and coordinate

    RiReal  	  operator()(int sample, int dimension) const;

void Resample();

Create a new sampling pattern (user must call permute if desired)

    void Resample();

void Permute(int groupSize);

Permute the samples in each (groupSize) dimensions. Permutes the first column as well, so multiple sample patterns will be permuted with respect to each other. The algorithm works even when groupSize doesn't divide NumDimensions evenly.

    void Permute(int groupSize);

void Permute(int groupSize, int seed);

    void Permute(int groupSize, int seed);

All Members

public:
// Constructors and assignment
const RiSamplePattern &operator=(const RiSamplePattern &);
// Accessors
int GetNumSamples() const;
int GetNumDimensions() const;
const RiReal *operator()(int sample) const;
RiReal operator()(int sample, int dimension) const;
void Resample();
void Permute(int groupSize);
void Permute(int groupSize, int seed);
protected:

Ancestors

Class does not inherit from any other class.


Descendants

Class is not inherited by any others.


Generated from source by the Cocoon utilities on Fri Feb 25 15:15:36 2000 .