Add the constants.h file

git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@407 92aac97c-a6ce-11dd-a772-7fcde58d38e6
This commit is contained in:
chappuis.daniel 2010-09-16 10:11:41 +00:00
parent 6b4e5c0fa2
commit 7762d3daca
10 changed files with 31 additions and 84 deletions

View File

@ -22,11 +22,34 @@
* THE SOFTWARE. *
********************************************************************************/
#ifndef TYPEDEFINITIONS_H
#define TYPEDEFINITIONS_H
#ifndef CONSTANTS_H
#define CONSTANTS_H
// Libraries
#include <limits>
// Type definitions
typedef unsigned int uint;
// Mathematical constants
const double EPSILON = 0.00001; // Epsilon value to avoid numerical errors
const double ONE_MINUS_EPSILON = 0.99999; // 1 - espilon
const double INFINITY_CONST = std::numeric_limits<double>::infinity(); // Infinity constant
const double PI = 3.14159265; // Pi constant
// Contact constants
const double FRICTION_COEFFICIENT = 0.4; // Friction coefficient
const double PENETRATION_FACTOR = 0.2; // Penetration factor (between 0 and 1) which specify the importance of the
// penetration depth in order to calculate the correct impulse for the contact
// Constraint solver constants
const uint MAX_LCP_ITERATIONS = 10; // Maximum number of iterations when solving a LCP problem
const double AV_COUNTER_LIMIT = 500; // Maximum number value of the avBodiesCounter or avConstraintsCounter
const double AV_PERCENT_TO_FREE = 0.5; // We will free the memory if the current nb of bodies (or constraints) is
// less than AV_PERCENT_TO_FREE * bodiesCapacity (or constraintsCapacity). This
// is used to avoid to keep to much memory for a long time if the system doesn't
// need that memory. This value is between 0.0 and 1.0
#endif

View File

@ -26,9 +26,9 @@
#define CONTACT_H
// Libraries
#include "../typeDefinitions.h"
#include "Constraint.h"
#include "../body/RigidBody.h"
#include "../constants.h"
#include "../mathematics/mathematics.h"
#include <GL/freeglut.h> // TODO : Remove this in the final version
#include <GL/gl.h> // TODO : Remove this in the final version
@ -36,11 +36,6 @@
// ReactPhysics3D namespace
namespace reactphysics3d {
// Constants
const double FRICTION_COEFFICIENT = 0.3; // Friction coefficient
const double PENETRATION_FACTOR = 0.0; // Penetration factor (between 0 and 1) which specify the importance of the
// penetration depth in order to calculate the correct impulse for the contact
/* -------------------------------------------------------------------
Class Contact :
This class represents a collision contact between two bodies in

View File

@ -26,7 +26,7 @@
#define CONSTRAINTSOLVER_H
// Libraries
#include "../typeDefinitions.h"
#include "../constants.h"
#include "../constraint/Constraint.h"
#include "../mathematics/lcp/LCPSolver.h"
#include "ContactCache.h"
@ -37,14 +37,6 @@
// ReactPhysics3D namespace
namespace reactphysics3d {
// Constants
const uint MAX_LCP_ITERATIONS = 10; // Maximum number of iterations when solving a LCP problem
const double AV_COUNTER_LIMIT = 500; // Maximum number value of the avBodiesCounter or avConstraintsCounter
const double AV_PERCENT_TO_FREE = 0.5; // We will free the memory if the current nb of bodies (or constraints) is
// less than AV_PERCENT_TO_FREE * bodiesCapacity (or constraintsCapacity). This
// is used to avoid to keep to much memory for a long time if the system doesn't
// need that memory. This value is between 0.0 and 1.0
/* -------------------------------------------------------------------
Class ConstrainSolver :
This class represents the constraint solver. The goal is to

View File

@ -99,7 +99,6 @@ Matrix::Matrix(const Matrix3x3& matrix)
}
}
// Conversion from Vector to Matrix
Matrix::Matrix(const Vector& vector) {
// Create the two dimensional dynamic array
@ -112,59 +111,6 @@ Matrix::Matrix(const Vector& vector) {
}
}
// TODO : Delete this
Matrix::Matrix(const Matrix6x6& matrix) : nbRow(6), nbColumn(6) {
// Create the two dimensional dynamic array
array = new double*[nbRow];
assert(array != 0); // Array pointer musn't be null
for(int i=0; i<nbRow; ++i) {
array[i] = new double[nbColumn];
}
// Copy the matrix
for (int i=0; i<nbRow; ++i) {
for(int j=0; j<nbColumn; ++j) {
setValue(i,j, matrix.getValue(i,j));
}
}
}
// TODO : Delete this
Matrix::Matrix(const Matrix1x6& matrix) : nbRow(1), nbColumn(6) {
// Create the two dimensional dynamic array
array = new double*[nbRow];
assert(array != 0); // Array pointer musn't be null
for(int i=0; i<nbRow; ++i) {
array[i] = new double[nbColumn];
}
// Copy the matrix
for(int j=0; j<nbColumn; ++j) {
setValue(0,j, matrix.getValue(j));
}
}
// TODO : Delete this
Matrix::Matrix(const Vector6D& vector) :nbRow(6), nbColumn(1) {
// Create the two dimensional dynamic array
array = new double*[nbRow];
assert(array != 0); // Array pointer musn't be null
for(int i=0; i<nbRow; ++i) {
array[i] = new double[nbColumn];
}
// Copy the matrix
for(int j=0; j<nbRow; ++j) {
setValue(j,0, vector.getValue(j));
}
}
// Destructor of the class Matrix
Matrix::~Matrix() {
// Destruction of the dynamic array

View File

@ -57,9 +57,6 @@ class Matrix {
Matrix(const Matrix& matrix); // Copy constructor of the class Matrix
Matrix(const Matrix3x3& matrix); // Conversion from Matrix3x3
Matrix(const Vector& vector); // Conversion from Vector to Matrix
Matrix(const Matrix6x6& matrix);
Matrix(const Matrix1x6& matrix);
Matrix(const Vector6D& vector);
virtual ~Matrix(); // Destructor of the class Matrix
double getValue(int i, int j) const throw(std::invalid_argument); // Return a value in the matrix
void setValue(int i, int j, double value) throw(std::invalid_argument); // Set a value in the matrix

View File

@ -27,7 +27,7 @@
// Libraries
#include "Vector3D.h"
#include "../typeDefinitions.h"
#include "../constants.h"
#include "mathematics_functions.h"
#include "exceptions.h"
#include <cmath>

View File

@ -26,12 +26,6 @@
#define CONSTANTS_H
// Libraries
#include <limits>
// Constants
const double EPSILON = 0.00001;
const double ONE_MINUS_EPSILON = 0.99999;
const double INFINITY_CONST = std::numeric_limits<double>::infinity();
const double PI = 3.14159265; // Pi constant
#endif

View File

@ -26,7 +26,7 @@
#include "../Vector.h"
#include "../Matrix.h"
#include "../../body/Body.h"
#include "../../typeDefinitions.h"
#include "../../constants.h"
// ReactPhysics3D namespace
namespace reactphysics3d {

View File

@ -31,7 +31,7 @@
#include "Quaternion.h"
#include "Vector.h"
#include "Vector3D.h"
#include "constants.h"
#include "../constants.h"
#include "exceptions.h"
#include "mathematics_functions.h"
#include <vector>

View File

@ -26,7 +26,7 @@
#define MATHEMATICS_FUNCTIONS_H
// Libraries
#include "constants.h"
#include "../constants.h"
// ReactPhysics3D namespace
namespace reactphysics3d {