kstars
ApnCamData.cpp
Go to the documentation of this file.00001 00002 // 00003 // ApnCamData.cpp: Implementation of the CApnCamData class. 00004 // 00005 // Copyright (c) 2003, 2004 Apogee Instruments, Inc. 00006 // 00008 00009 #include "stdafx.h" 00010 #include "ApnCamData.h" 00011 00012 #include <stdlib.h> 00013 00014 00016 // Construction/Destruction 00018 00019 CApnCamData::CApnCamData() 00020 { 00021 init_vpattern(); 00022 00023 init_hpattern( &m_ClampPatternSixteen ); 00024 init_hpattern( &m_SkipPatternSixteen ); 00025 init_hpattern( &m_RoiPatternSixteen ); 00026 00027 init_hpattern( &m_ClampPatternTwelve ); 00028 init_hpattern( &m_SkipPatternTwelve ); 00029 init_hpattern( &m_RoiPatternTwelve ); 00030 } 00031 00032 CApnCamData::~CApnCamData() 00033 { 00034 clear_vpattern(); 00035 00036 clear_hpattern( &m_ClampPatternSixteen ); 00037 clear_hpattern( &m_SkipPatternSixteen ); 00038 clear_hpattern( &m_RoiPatternSixteen ); 00039 00040 clear_hpattern( &m_ClampPatternTwelve ); 00041 clear_hpattern( &m_SkipPatternTwelve ); 00042 clear_hpattern( &m_RoiPatternTwelve ); 00043 } 00044 00045 00046 void CApnCamData::init_vpattern( ) 00047 { 00048 // OutputDebugString( "init_vpattern()" ); 00049 00050 m_VerticalPattern.Mask = 0x0; 00051 m_VerticalPattern.NumElements = 0; 00052 m_VerticalPattern.PatternData = NULL; 00053 } 00054 00055 00056 void CApnCamData::clear_vpattern( ) 00057 { 00058 // OutputDebugString( "clear_vpattern()" ); 00059 00060 m_VerticalPattern.Mask = 0x0; 00061 m_VerticalPattern.NumElements = 0; 00062 00063 if ( m_VerticalPattern.PatternData != NULL ) 00064 { 00065 free( m_VerticalPattern.PatternData ); 00066 m_VerticalPattern.PatternData = NULL; 00067 } 00068 } 00069 00070 00071 void CApnCamData::init_hpattern( APN_HPATTERN_FILE *Pattern ) 00072 { 00073 int Counter; 00074 00075 // OutputDebugString( "init_hpattern()" ); 00076 00077 Pattern->Mask = 0x0; 00078 Pattern->RefNumElements = 0; 00079 Pattern->SigNumElements = 0; 00080 Pattern->BinningLimit = 0; 00081 00082 Pattern->RefPatternData = NULL; 00083 Pattern->SigPatternData = NULL; 00084 00085 for ( Counter=0; Counter<APN_MAX_HBINNING; Counter++ ) 00086 { 00087 Pattern->BinNumElements[Counter] = 0; 00088 Pattern->BinPatternData[Counter] = NULL; 00089 } 00090 } 00091 00092 00093 void CApnCamData::clear_hpattern( APN_HPATTERN_FILE *Pattern ) 00094 { 00095 int Counter; 00096 // char szMsg[80]; 00097 00098 // OutputDebugString( "clear_hpattern()" ); 00099 00100 Pattern->Mask = 0x0; 00101 Pattern->RefNumElements = 0; 00102 Pattern->SigNumElements = 0; 00103 Pattern->BinningLimit = 0; 00104 00105 if ( Pattern->RefPatternData != NULL ) 00106 { 00107 // OutputDebugString( "Freeing Allocated Reference Pattern Memory" ); 00108 free( Pattern->RefPatternData ); 00109 00110 Pattern->RefPatternData = NULL; 00111 } 00112 if ( Pattern->SigPatternData != NULL ) 00113 { 00114 // OutputDebugString( "Freeing Allocated Signal Pattern Memory" ); 00115 free( Pattern->SigPatternData ); 00116 00117 Pattern->SigPatternData = NULL; 00118 } 00119 00120 for ( Counter=0; Counter<APN_MAX_HBINNING; Counter++ ) 00121 { 00122 Pattern->BinNumElements[Counter] = 0; 00123 if ( Pattern->BinPatternData[Counter] != NULL ) 00124 { 00125 // sprintf( szMsg, "Freeing Allocated Binning Pattern Memory (Binning = %d)", Counter+1 ); 00126 // OutputDebugString( szMsg ); 00127 free( Pattern->BinPatternData[Counter] ); 00128 00129 Pattern->BinPatternData[Counter] = NULL; 00130 } 00131 } 00132 }
KDE 4.0 API Reference