Moby
Constants.h
1 /****************************************************************************
2  * Copyright 2006 Evan Drumwright
3  * This library is distributed under the terms of the Apache V2.0
4  * License (obtainable from http://www.apache.org/licenses/LICENSE-2.0).
5  ****************************************************************************/
6 
7 #ifndef _MOBY_CONSTANTS_H
8 #define _MOBY_CONSTANTS_H
9 
10 #include <limits>
11 #include <cmath>
12 #include <Ravelin/Vector3d.h>
13 #include <Ravelin/VectorNd.h>
14 #include <Ravelin/Matrix3d.h>
15 #include <Ravelin/Pose3d.h>
16 
17 namespace Moby {
18 
19 // constants
20 const boost::shared_ptr<const Ravelin::Pose3d> GLOBAL;
21 const double NEAR_ZERO = std::sqrt(std::numeric_limits<double>::epsilon());
22 const Ravelin::Matrix3d ZEROS_3x3 = Ravelin::Matrix3d::zero();
23 const Ravelin::Matrix3d IDENTITY_3x3 = Ravelin::Matrix3d::identity();
24 const Ravelin::VectorNd EMPTY_VEC(0);
25 
26 // debugging bits
27 const unsigned LOG_SIMULATOR = 1;
28 const unsigned LOG_CONSTRAINT = 2;
29 const unsigned LOG_DYNAMICS = 4;
30 const unsigned LOG_BV = 8;
31 const unsigned LOG_ADF = 16;
32 const unsigned LOG_COLDET = 32;
33 const unsigned LOG_COMPGEOM = 64;
34 const unsigned LOG_LINALG = 128;
35 const unsigned LOG_OPT = 256;
36 const unsigned LOG_DEFORM = 512;
37 
38 }
39 
40 #endif