/***************************************************************************
                          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