![]() |
Universidad de Murcia ![]() |
src/qvblockprogramming/qvguiblocks/qv3dmodel.h00001 /* 00002 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012. PARP Research Group. 00003 * <http://perception.inf.um.es> 00004 * University of Murcia, Spain. 00005 * 00006 * This file is part of the QVision library. 00007 * 00008 * QVision is free software: you can redistribute it and/or modify 00009 * it under the terms of the GNU Lesser General Public License as 00010 * published by the Free Software Foundation, version 3 of the License. 00011 * 00012 * QVision is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with QVision. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #ifndef QV3DMODEL_H 00022 #define QV3DMODEL_H 00023 00024 #ifndef DOXYGEN_IGNORE_THIS 00025 #include <QGLWidget> 00026 00027 #include <QVImage> 00028 #include <QVPropertyContainer> 00029 #include <qvblockprogramming/qvguiblocks/qvcanvas.h> 00030 00031 class QV3DCanvas; 00032 00033 class QV3DModel: public QVPropertyContainer 00034 { 00035 public: 00036 QV3DModel(const QString name = QString()): QVPropertyContainer(name) {} 00037 virtual ~QV3DModel() {}; 00038 00039 // This method must be redefined to include the painting code 00040 virtual void paint(QGLWidget &glWidget) = 0; 00041 00042 // Because readInputProperties is protected, it must be called from the QV3DModel 00043 void updatePaint(QGLWidget &glWidget) 00044 { 00045 readInputProperties(); 00046 glPushMatrix(); 00047 paint(glWidget); 00048 glPopMatrix(); 00049 } 00050 }; 00051 00052 #endif 00053 00054 #endif 00055 00056 |