/***************************************************************************
randomactuator.h - description
-------------------
begin : Wed Dec 20 2000
copyright : (C) 2000 by Jan Walter
email : jan@blender.nl
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef RANDOMACTUATOR_H
#define RANDOMACTUATOR_H
#include <actuator.h>
/**A RandomActuator is a special kind of a general actuator.
*@author Jan Walter
*/
class Actuator.html">RandomActuator : public Actuator {
public:
RandomActuator();
~RandomActuator();
/** Set the initial seed of the generator. Equal seeds produce equal series. If the seed is 0, the generator will produce the same value on every call. */
PyObject* setSeed(int seed);
/** Returns the initial seed of the generator. Equal seeds produce equal series. */
PyObject* getSeed();
/** Returns the first parameter of the active distribution. Refer to the documentation of the generator types for the meaning of this value. */
PyObject* getPara1();
/** Returns the second parameter of the active distribution. Refer to the documentation of the generator types for the meaning of this value. */
PyObject* getPara2();
/** Returns the type of the active distribution. */
PyObject* getDistribution();
/** Set the property to which the random value is assigned. If the generator and property types do not match, the assignment is ignored. */
PyObject* setProperty(char* name);
/** Return the property to which the random value is assigned. If the generator and property types do not match, the assignment is ignored. */
PyObject* getProperty(char* name);
/** Set this generator to produce a constant boolean value. */
PyObject* setBoolConst(int value);
/** Set this generator to produce true and false, each with 50% chance of occuring. */
PyObject* setBoolUniform();
/** Return false value * 100% of the time. */
PyObject* setBoolBernouilli(float value);
/** Always return value. */
PyObject* setIntConst(int value);
/** Return a random integer between lower_bound and upper_bound. The boundaries are included. */
PyObject* setIntUniform(int lower_bound, int upper_bound);
/** Return a Poisson-distributed number. This performs a series of Bernouilli tests with parameter value. It returns the number of tries needed to achieve succes. */
PyObject* setIntPoisson(float value);
/** Always return value. */
PyObject* setFloatConst(float value);
/** Return a random integer between lower_bound and upper_bound. */
PyObject* setFloatUniform(float lower_bound, float upper_bound);
/** Return normal-distributed numbers. The average is mean, and the deviation from the mean is characterized by standard_deviation. */
PyObject* setFloatNormal(float mean, float standard_deviation);
/** Return negative-exponentially distributed numbers. The half-life 'time' is characterized by half_life. */
PyObject* setFloatNegativeExponential(float half_life);
};
#endif
Documentation generated by jan@nvidea on Thu Dec 21 14:04:43 CET 2000