utilities.h
Go to the documentation of this file.
00001 #ifndef utilities_h___
00002 #define utilities_h___
00003 
00004 #include <Eigen/Core>
00005 #include <Eigen/StdVector>
00006 #include <list>
00007 #include <vector>
00008 #include <tr1/memory>
00009 
00010 #define EPSILON_WRENCH_CONE_ROTATION 1e-10
00011 #define EPSILON_UNIT_NORMAL 1e-6
00012 #define EPSILON_FORCE_CLOSURE 1e-10
00013 #define PI 3.14159265358979323846264338327950
00014 #define NOT_VISITED         -1
00015 #define NOT_EXPLORED         0
00016 #define EXPLORED_QUALIFIED   1
00017 #define EXPLORED_UNQUALIFIED 2
00018 
00019 namespace ICR
00020 {
00021 //--------------------------------------------------------------------
00022 //--------------------------------------------------------------------
00023 
00024 //Forward declerations
00025 class ContactPoint;
00026 class WrenchCone;
00027 class OWS;
00028 class Finger;
00029 class PointContactModel;
00030 class MultiPointContactModel;
00031 class FingerParameters;
00032 class SearchZones;
00033 class LimitSurface;
00034 class IndependentContactRegions;
00035 class Grasp;
00036 class TargetObject;
00037 class WrenchSpace;
00038 class SphericalWrenchSpace;
00039 class DiscreteWrenchSpace;
00040 class ObjectLoader;
00041 struct Node;
00042 struct PrimitiveSearchZone;
00043 struct Patch;
00044 struct InclusionRule;
00045 
00046 enum ContactType {Undefined_CT=1,Frictionless, Frictional, Soft_Finger};
00047 enum ModelType {Undefined_MT=1,Single_Point,Multi_Point};
00048 enum RuleType {Undefined_RT=1,Sphere};
00049 enum WrenchSpaceType {Undefined_WS=1,Discrete,Spherical};
00050 
00051 typedef unsigned int uint;
00052 typedef Eigen::Matrix<double,6,Eigen::Dynamic> Matrix6Xd;
00053 typedef Eigen::Matrix<uint,1, Eigen::Dynamic > RowVectorXui;
00054 typedef Eigen::Matrix<double,6,1> Vector6d;
00055 typedef Eigen::Matrix<uint,Eigen::Dynamic,6> MatrixX6ui;
00056 typedef Eigen::Array<uint,Eigen::Dynamic,6> ArrayX6ui;
00057 typedef Eigen::Array<uint,1,6> Array6ui;
00058 typedef Eigen::Matrix<uint,Eigen::Dynamic,1> VectorXui;
00059 typedef std::list<uint> IndexList;
00060 typedef std::list<uint>::iterator IndexListIterator;
00061 typedef std::list<uint>::const_iterator ConstIndexListIterator;
00062 typedef std::vector<ContactPoint*> ContactPointList;
00063 typedef std::vector<WrenchCone* > WrenchConeList;
00064 typedef std::vector<PrimitiveSearchZone*> SearchZone;
00065 typedef std::vector<FingerParameters> FParamList;
00066 typedef std::vector<Patch*> ContactRegion;
00067 typedef std::tr1::shared_ptr<TargetObject> TargetObjectPtr;
00068 typedef std::tr1::shared_ptr<Grasp> GraspPtr;
00069 typedef std::tr1::shared_ptr<SearchZones> SearchZonesPtr;
00070 typedef std::tr1::shared_ptr<OWS> OWSPtr;
00071 typedef std::tr1::shared_ptr<std::vector<Patch*> > PatchListPtr;
00072 typedef std::vector<std::tr1::shared_ptr<Finger> > FingerPtrList;
00073 typedef std::tr1::shared_ptr<IndependentContactRegions>  IndependentContactRegionsPtr;
00074 
00075 Eigen::Matrix3d skewSymmetricMatrix(Eigen::Vector3d vector);
00076 uint factorial(uint x);
00077 uint dfactorial(uint x);
00078 //--------------------------------------------------------------------
00079 //--------------------------------------------------------------------
00080 }//namespace ICR
00081 #endif


libicr
Author(s): Robert Krug
autogenerated on Mon Jan 6 2014 11:34:02