IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Num.SamplerBase Class Referenceabstract

Base class for sampling classes that produce a desired number of sampling points with a particular arrangement in space. More...

+ Inheritance diagram for IG.Num.SamplerBase:
+ Collaboration diagram for IG.Num.SamplerBase:

Public Member Functions

 SamplerBase (int spaceDimension)
 Constructs a new sampling point generator for the specified dimension of sampling space. More...
 
abstract void GetSamplingPoint (ref IVector samplingPoint)
 Creates the next sampling point and stores it to the specified vector. More...
 
virtual void GetSamplingPoints (int numPoints, ref IVector[] samplingPoints)
 Creates the specified number of next sampling points and stores it to the specified array of vectors. More...
 
void ResizeSamplingPoints (int numPoints, ref IVector[] samplingPoints)
 Auxiliary method that resizes the array of sampling points, and also the vectors contained in it, as necessary. More...
 

Protected Attributes

int _spaceDimension
 

Properties

object Lock [get]
 This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock. More...
 
int SpaceDimension [get, protected set]
 
- Properties inherited from IG.Num.ISampler
int SpaceDimension [get]
 
- Properties inherited from IG.Lib.ILockable
object Lock [get]
 

Private Member Functions

 SamplerBase ()
 Prevent calling default constructor. More...
 

Private Attributes

readonly object _mainLock = new object()
 

Detailed Description

Base class for sampling classes that produce a desired number of sampling points with a particular arrangement in space.

$A Igor xx;

Constructor & Destructor Documentation

IG.Num.SamplerBase.SamplerBase ( )
inlineprivate

Prevent calling default constructor.

IG.Num.SamplerBase.SamplerBase ( int  spaceDimension)
inline

Constructs a new sampling point generator for the specified dimension of sampling space.

Parameters
spaceDimensionDimension of the sampling space.

Member Function Documentation

abstract void IG.Num.SamplerBase.GetSamplingPoint ( ref IVector  samplingPoint)
pure virtual

Creates the next sampling point and stores it to the specified vector.

Parameters
samplingPointVector where the generated sampling point is stored.

Implements IG.Num.ISampler.

Implemented in IG.Num.SamplerUnitBallRandomFromCube, IG.Num.SamplerBoxRandomUniform, and IG.Num.SamplerCubeRandomUniform.

virtual void IG.Num.SamplerBase.GetSamplingPoints ( int  numPoints,
ref IVector[]  samplingPoints 
)
inlinevirtual

Creates the specified number of next sampling points and stores it to the specified array of vectors.

Parameters
samplingPointArray of vectors where the generated sampling points are stored.

In general, the storage array and its elements will be resized if necessary, in order to fit the number and dimension of sampling points.

Implements IG.Num.ISampler.

void IG.Num.SamplerBase.ResizeSamplingPoints ( int  numPoints,
ref IVector[]  samplingPoints 
)
inline

Auxiliary method that resizes the array of sampling points, and also the vectors contained in it, as necessary.

Dimension of vectors contained in the array is specified by the SpaceDimension property.

Parameters
numPointsNumber of points that should fit in the array.

(sampling points) contained in the array.

Parameters
samplingPointsThe array for storing sampling points that is resized.

References IG.Num.VectorBase.Resize().

Member Data Documentation

readonly object IG.Num.SamplerBase._mainLock = new object()
private
int IG.Num.SamplerBase._spaceDimension
protected

Property Documentation

object IG.Num.SamplerBase.Lock
get

This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.

int IG.Num.SamplerBase.SpaceDimension
getprotected set

The documentation for this class was generated from the following file: