add real-time safe Inverse Dynamics library+test+utils
an example for the example browser will follow. thanks to Thomas Buschmann
This commit is contained in:
34
Extras/InverseDynamics/IDRandomUtil.hpp
Normal file
34
Extras/InverseDynamics/IDRandomUtil.hpp
Normal file
@@ -0,0 +1,34 @@
|
||||
#ifndef ID_RANDOM_UTIL_HPP_
|
||||
#define ID_RANDOM_UTIL_HPP_
|
||||
#include "BulletInverseDynamics/IDConfig.hpp"
|
||||
namespace btInverseDynamics {
|
||||
/// seed random number generator
|
||||
void randomInit();
|
||||
/// Generate (not quite) uniformly distributed random integers in [low, high]
|
||||
/// Note: this is a low-quality implementation using only rand(), as
|
||||
/// C++11 <random> is not supported in bullet.
|
||||
/// The results will *not* be perfectly uniform.
|
||||
/// \param low is the lower bound (inclusive)
|
||||
/// \param high is the lower bound (inclusive)
|
||||
/// \return a random number within [\param low, \param high]
|
||||
int randomInt(int low, int high);
|
||||
/// Generate a (not quite) uniformly distributed random floats in [low, high]
|
||||
/// Note: this is a low-quality implementation using only rand(), as
|
||||
/// C++11 <random> is not supported in bullet.
|
||||
/// The results will *not* be perfectly uniform.
|
||||
/// \param low is the lower bound (inclusive)
|
||||
/// \param high is the lower bound (inclusive)
|
||||
/// \return a random number within [\param low, \param high]
|
||||
float randomFloat(float low, float high);
|
||||
|
||||
/// generate a random valid mass value
|
||||
/// \returns random mass
|
||||
float randomMass();
|
||||
/// generate a random valid vector of principal moments of inertia
|
||||
vec3 randomInertiaPrincipal();
|
||||
/// generate a random valid moment of inertia matrix
|
||||
mat33 randomInertiaMatrix();
|
||||
/// generate a random unit vector
|
||||
vec3 randomAxis();
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user