include/voreen/core/datastructures/volume/bricking/brickingregionmanager.h
00001 /********************************************************************** 00002 * * 00003 * Voreen - The Volume Rendering Engine * 00004 * * 00005 * Copyright (C) 2005-2010 The Voreen Team. <http://www.voreen.org> * 00006 * * 00007 * This file is part of the Voreen software package. Voreen is free * 00008 * software: you can redistribute it and/or modify it under the terms * 00009 * of the GNU General Public License version 2 as published by the * 00010 * Free Software Foundation. * 00011 * * 00012 * Voreen 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 General Public License for more details. * 00016 * * 00017 * You should have received a copy of the GNU General Public License * 00018 * in the file "LICENSE.txt" along with this program. * 00019 * If not, see <http://www.gnu.org/licenses/>. * 00020 * * 00021 * The authors reserve all rights not expressly granted herein. For * 00022 * non-commercial academic use see the license exception specified in * 00023 * the file "LICENSE-academic.txt". To get information about * 00024 * commercial licensing please contact the authors. * 00025 * * 00026 **********************************************************************/ 00027 00028 #ifndef VRN_BRICKINGREGIONMANAGER_H 00029 #define VRN_BRICKINGREGIONMANAGER_H 00030 00031 #include "voreen/core/datastructures/volume/bricking/brickingregion.h" 00032 00033 namespace voreen { 00034 00038 class BrickingRegionManager { 00039 public: 00040 00045 BrickingRegionManager(BrickingInformation& brickingInformation); 00046 00047 ~BrickingRegionManager(); 00048 00052 void addRegion(BrickingRegion* region); 00053 00057 void deleteRegion(BrickingRegion* region); 00058 00062 void deleteRegions(int priority); 00063 00067 std::vector<BrickingRegion*> getBrickingRegions(); 00068 00072 std::vector<Brick*> getBricksWithoutRegion(); 00073 00074 protected: 00075 00080 void removeBricksFromVector(BrickingRegion* region); 00081 00085 std::vector<BrickingRegion*> brickingRegions_; 00086 00090 BrickingInformation& brickingInformation_; 00091 00095 std::vector<Brick*> bricksWithoutRegion_; 00096 00097 private: 00098 00099 }; 00100 } 00101 00102 00103 #endif