typedef.hpp
Go to the documentation of this file.
00001 
00020 #ifndef MYTYPEDEF_HPP_
00021 #define MYTYPEDEF_HPP_
00022 
00023 #include <eigen3/Eigen/Dense>
00024 #include <voxel_grid/voxel_grid.h>
00025 #include <set>
00026 #include <vector>
00027 
00031 namespace robot_model_services {
00032     // the used precision in all calculations
00033     typedef float Precision;
00034 
00035     // matrix types
00036     typedef Eigen::Matrix<Precision, 2, 2> SimpleMatrix2;
00037     typedef Eigen::Matrix<Precision, 3, 3> SimpleMatrix3;
00038     typedef Eigen::Matrix<Precision, 4, 4> SimpleMatrix4;
00039     typedef Eigen::Matrix<Precision, Eigen::Dynamic, Eigen::Dynamic> SimpleMatrixX;
00040 
00041     // matrix list types
00042     typedef std::vector<SimpleMatrix3, Eigen::aligned_allocator<SimpleMatrix3> > SimpleMatrix3Collection;
00043     typedef boost::shared_ptr<SimpleMatrix3Collection> SimpleMatrix3CollectionPtr;
00044 
00045     typedef std::vector<SimpleMatrix4, Eigen::aligned_allocator<SimpleMatrix4> > SimpleMatrix4Collection;
00046     typedef boost::shared_ptr<SimpleMatrix4Collection> SimpleMatrix4CollectionPtr;
00047 
00048     // vector types
00049     typedef Eigen::Matrix<Precision, 2, 1> SimpleVector2;
00050     typedef Eigen::Matrix<Precision, 3, 1> SimpleVector3;
00051     typedef SimpleVector3 SimpleSphereCoordinates;
00052     typedef Eigen::Matrix<Precision, 4, 1> SimpleVector4;
00053     typedef Eigen::Matrix<Precision, Eigen::Dynamic, 1> SimpleVectorX;
00054     typedef Eigen::Matrix<int, 3, 1> GridVector3;
00055 
00056     // vector list types
00057     typedef std::vector<SimpleVector3, Eigen::aligned_allocator<SimpleVector3> > SimpleVector3Collection;
00058     typedef boost::shared_ptr<SimpleVector3Collection> SimpleVector3CollectionPtr;
00059 
00060     typedef std::vector<SimpleVector4, Eigen::aligned_allocator<SimpleVector4> > SimpleVector4Collection;
00061     typedef boost::shared_ptr<SimpleVector4Collection> SimpleVector4CollectionPtr;
00062 
00063     // quaternion type
00064     typedef Eigen::Quaternion<Precision> SimpleQuaternion;
00065 
00066     // quaternion list types
00067     typedef std::vector<SimpleQuaternion, Eigen::aligned_allocator<SimpleQuaternion> > SimpleQuaternionCollection;
00068     typedef boost::shared_ptr<SimpleQuaternionCollection> SimpleQuaternionCollectionPtr;
00069 
00070     // forward declaration for point types
00071     struct RealObjectPoint;
00072     struct SpaceSamplePoint;
00073     struct DefaultViewportPoint;
00074 
00075     // create aliases for actually used point types
00076     typedef RealObjectPoint ObjectPoint;
00077     typedef SpaceSamplePoint SamplePoint;
00078     typedef DefaultViewportPoint ViewportPoint;
00079 
00080     // defining squared distances type used in kdtree
00081     typedef std::vector<float> SquaredDistances;
00082 
00083     // defining indices types
00084     typedef std::vector<int> Indices;
00085     typedef boost::shared_ptr<Indices> IndicesPtr;
00086     typedef boost::shared_ptr<const IndicesPtr> IndicesConstPtr;
00087 
00088     // the list of object types
00089     typedef std::vector<std::string> ObjectTypeList;
00090     typedef boost::shared_ptr<ObjectTypeList> ObjectTypeListPtr;
00091     typedef std::set<std::string> ObjectTypeSet;
00092     typedef boost::shared_ptr<ObjectTypeSet> ObjectTypeSetPtr;
00093     typedef std::set<ObjectTypeSetPtr> ObjectTypePowerSet;
00094     typedef boost::shared_ptr<ObjectTypePowerSet> ObjectTypePowerSetPtr;
00095 
00096     // voxel grid types
00097     typedef voxel_grid::VoxelGrid VoxelGrid;
00098     typedef boost::shared_ptr<VoxelGrid> VoxelGridPtr;
00099 
00100 }
00101 
00102 #endif /* MYTYPEDEF_HPP_ */


asr_robot_model_services
Author(s): Aumann Florian, Borella Jocelyn, Heller Florian, Meißner Pascal, Schleicher Ralf, Stöckle Patrick, Stroh Daniel, Trautmann Jeremias, Walter Milena, Wittenbeck Valerij
autogenerated on Sat Jun 8 2019 18:24:52