00001 /* --------------------------------------------------------------------------- 00002 Phission : 00003 Realtime Vision Processing System 00004 00005 Copyright (C) 2003-2005 Philip D.S. Thoren (pthoren@cs.uml.edu) 00006 University of Massachusetts at Lowell, 00007 Laboratory for Artificial Intelligence and Robotics 00008 00009 This file is part of Phission. 00010 00011 Phission is free software; you can redistribute it and/or modify 00012 it under the terms of the GNU Lesser General Public License as published by 00013 the Free Software Foundation; either version 2 of the License, or 00014 (at your option) any later version. 00015 00016 Phission is distributed in the hope that it will be useful, 00017 but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 GNU Lesser General Public License for more details. 00020 00021 You should have received a copy of the GNU Lesser General Public License 00022 along with Phission; if not, write to the Free Software 00023 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00024 00025 ---------------------------------------------------------------------------*/ 00026 #ifdef HAVE_CONFIG_H 00027 #include <phissionconfig.h> 00028 #endif 00029 00030 #include <phStandard.h> 00031 00032 #include <resize_Filter.h> 00033 00034 #include <phError.h> 00035 #include <phMemory.h> 00036 #include <phPrint.h> 00037 00038 /* ---------------------------------------------------------------------- */ 00039 resize_Filter::resize_Filter(uint32_t width, uint32_t height) : 00040 phFilter("resize_Filter") 00041 00042 { 00043 /* Convert accepts all input formats */ 00044 this->set(width,height); 00045 } 00046 00047 /* ---------------------------------------------------------------------- */ 00048 resize_Filter::~resize_Filter() 00049 { 00050 } 00051 00052 /* ------------------------------------------------------------------------ */ 00053 phFilter *resize_Filter::cloneFilter() 00054 { 00055 return (phFilter *)new resize_Filter(this->m_width,this->m_height); 00056 } 00057 00058 /* ---------------------------------------------------------------------- */ 00059 int resize_Filter::set(uint32_t width, uint32_t height) 00060 { 00061 this->m_width = width; 00062 this->m_height = height; 00063 00064 return phSUCCESS; 00065 } 00066 00067 /* ---------------------------------------------------------------------- */ 00068 uint32_t resize_Filter::getWidth() 00069 { 00070 phFUNCTION("resize_Filter::getWidth") 00071 int locked = 0; 00072 uint32_t width = 0; 00073 00074 phTHIS_LOOSE_LOCK(locked); 00075 width = this->m_width; 00076 phTHIS_LOOSE_UNLOCK(locked); 00077 00078 return width; 00079 } 00080 00081 /* ---------------------------------------------------------------------- */ 00082 uint32_t resize_Filter::getHeight() 00083 { 00084 phFUNCTION("resize_Filter::getHeight") 00085 int locked = 0; 00086 uint32_t height = 0; 00087 00088 phTHIS_LOOSE_LOCK(locked); 00089 height = this->m_height; 00090 phTHIS_LOOSE_UNLOCK(locked); 00091 00092 return height; 00093 } 00094 00095 /* ---------------------------------------------------------------------- */ 00096 int resize_Filter::filter() 00097 { 00098 phFUNCTION("resize_Filter::filter") 00099 00100 /* defined before being called: 00101 * width 00102 * height 00103 * depth 00104 * Image 00105 */ 00106 00107 /* Begin Filter */ 00108 rc = this->m_workspaceImage->resize(this->m_width,this->m_height); 00109 phPRINT_RC(rc,NULL,"Image->resize(outputFormat) failed."); 00110 /* End Filter */ 00111 00112 return phSUCCESS; 00113 /* 00114 error: 00115 00116 return phFAIL; 00117 */ 00118 } 00119 00120
Copyright (C) 2002 - 2007 |
Philip D.S. Thoren ( pthoren@users.sourceforge.net ) University Of Massachusetts at Lowell Robotics Lab |