itom 2.2.1
K:/git-itom/sources/itom/common/shapeDObject.h
00001 /* ********************************************************************
00002 itom software
00003 URL: http://www.uni-stuttgart.de/ito
00004 Copyright (C) 2016, Institut fuer Technische Optik (ITO),
00005 Universitaet Stuttgart, Germany
00006 
00007 This file is part of itom and its software development toolkit (SDK).
00008 
00009 itom is free software; you can redistribute it and/or modify it
00010 under the terms of the GNU Library General Public Licence as published by
00011 the Free Software Foundation; either version 2 of the Licence, or (at
00012 your option) any later version.
00013 
00014 In addition, as a special exception, the Institut fuer Technische
00015 Optik (ITO) gives you certain additional rights.
00016 These rights are described in the ITO LGPL Exception version 1.0,
00017 which can be found in the file LGPL_EXCEPTION.txt in this package.
00018 
00019 itom is distributed in the hope that it will be useful, but
00020 WITHOUT ANY WARRANTY; without even the implied warranty of
00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library
00022 General Public Licence for more details.
00023 
00024 You should have received a copy of the GNU Library General Public License
00025 along with itom. If not, see <http://www.gnu.org/licenses/>.
00026 *********************************************************************** */
00027 
00028 #ifndef SHAPEDOBJECT_H
00029 #define SHAPEDOBJECT_H
00030 
00031 #include "typeDefs.h"
00032 #include "../shape/shapeCommon.h"
00033 #include "../common/shape.h"
00034 
00035 #include "../DataObject/dataobj.h"
00036 
00037 #if !defined(Q_MOC_RUN) || defined(ITOMSHAPE_MOC) //only moc this file in itomShapeLib but not in other libraries or executables linking against this itomCommonQtLib
00038 
00039 namespace ito
00040 {
00041         class ITOMSHAPE_EXPORT ShapeDObject
00042     {
00043     public:
00044 
00045                 static ito::DataObject maskFromMultipleShapes(const ito::DataObject &dataObject, const QVector<ito::Shape> &shapes, bool inverse = false);
00046                 static ito::DataObject mask(const ito::DataObject &dataObject, const ito::Shape &shape, bool inverse = false);
00047 
00048     protected:
00049                 static void maskHelper(const ito::DataObject &dataObject, ito::DataObject &mask, const ito::Shape &shape, bool inverse = false);
00050 
00051     };
00052 
00053 
00054 }
00055 
00056 #endif //#if !defined(Q_MOC_RUN) || defined(ITOMCOMMONQT_MOC)
00057 
00058 #endif //SHAPE_H
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Friends