Robotsystem of the Robot Group Leipzig: boundingshape.h Source File

- Main Page
- Namespaces
- Classes
- Files
- Directories
- Examples

- Search for |

- File List
- File Members

# boundingshape.h

Go to the documentation of this file.

    00001 /***************************************************************************
    00002  *   Copyright (C) 2005 by Robot Group Leipzig                             *
    00003  *    martius@informatik.uni-leipzig.de                                    *
    00004  *    fhesse@informatik.uni-leipzig.de                                     *
    00005  *    der@informatik.uni-leipzig.de                                        *
    00006  *    frankguettler@gmx.de                                                 *
    00007  *                                                                         *
    00008  *   This program is free software; you can redistribute it and/or modify  *
    00009  *   it under the terms of the GNU General Public License as published by  *
    00010  *   the Free Software Foundation; either version 2 of the License, or     *
    00011  *   (at your option) any later version.                                   *
    00012  *                                                                         *
    00013  *   This program is distributed in the hope that it will be useful,       *
    00014  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    00015  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
    00016  *   GNU General Public License for more details.                          *
    00017  *                                                                         *
    00018  *   You should have received a copy of the GNU General Public License     *
    00019  *   along with this program; if not, write to the                         *
    00020  *   Free Software Foundation, Inc.,                                       *
    00021  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
    00022  ***************************************************************************
    00023  *                                                                         *
    00024  *  DESCRIPTION                                                            *
    00025  *                                                                         *
    00026  *   $Log: boundingshape.h,v $
    00027  *   Revision 1.2  2006/07/14 12:23:33  martius
    00028  *   selforg becomes HEAD
    00029  *
    00030  *   Revision 1.1.2.8  2006/06/29 16:35:56  robot3
    00031  *   includes cleared up
    00032  *
    00033  *   Revision 1.1.2.7  2006/06/27 14:14:29  robot3
    00034  *   -optimized mesh and boundingshape code
    00035  *   -other changes
    00036  *
    00037  *   Revision 1.1.2.6  2006/06/26 21:52:58  robot3
    00038  *   Mesh works now with bbox file
    00039  *
    00040  *   Revision 1.1.2.5  2006/06/23 08:54:40  robot3
    00041  *   made some changes on primitive Mesh (including boundingshape)
    00042  *
    00043  *   Revision 1.1.2.4  2006/06/22 11:33:43  robot3
    00044  *   moved boundingshape implementation to .cpp-file
    00045  *
    00046  *   Revision 1.1.2.3  2006/05/29 22:22:07  martius
    00047  *   added std includes
    00048  *
    00049  *   Revision 1.1.2.2  2006/03/29 15:03:19  martius
    00050  *   format documented
    00051  *
    00052  *   Revision 1.1.2.1  2006/03/29 14:51:45  martius
    00053  *   class for reading bounding shape description files and creates the appropriate geoms
    00054  *
    00055  *   Revision 1.1.2.1  2005/12/06 17:38:21  martius
    00056  *   *** empty log message ***
    00057  *
    00058  *                                                                         *
    00059  ***************************************************************************/
    00060 #ifndef __BOUNDINGSHAPE_H
    00061 #define __BOUNDINGSHAPE_H
    00062
    00063 #include "primitive.h"
    00064
    00065 #include <list>
    00066 #include <string>
    00067
    00068
    00069 namespace lpzrobots {
    00070
    00071   /**
    00072      class for reading bounding shape description files (.bbox) and to create appropriate geoms
    00073      File Format: Lines wise, every line stands for one primitive. Possible lines are:
    00074      sphere radius (x,y,z)
    00075      cylinder radius height (x,y,z) (alpha, beta, gamma)
    00076      capsule radius height (x,y,z) (alpha, beta, gamma)
    00077      box length width height (x,y,z) (alpha, beta, gamma)
    00078      (x,y,z) is the position vector and (alpha, beta, gamma) are
    00079      the rotation angles about x,y,z axis respectively
    00080   */
    00081
    00082   class BoundingShape{
    00083
    00084   public:
    00085     BoundingShape(const std::string& filename, Primitive* parent);
    00086
    00087     virtual ~BoundingShape();
    00088
    00089     bool readBBoxFile(std::string& filename, const OdeHandle& odeHandle, const OsgHandle& osgHandle,
    00090                       double scale, char mode);
    00091
    00092     virtual bool init(const OdeHandle& odeHandle, const OsgHandle& osgHandle,
    00093                       double scale, char mode);
    00094
    00095     virtual bool isActive();
    00096
    00097   private:
    00098     std::string filename;
    00099     bool active;
    00100     Primitive* parent;
    00101   };
    00102
    00103 }
    00104
    00105 #endif