• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

kstars

ApnCamData.cpp

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

kstars

Skip menu "kstars"
  • Main Page
  • Modules
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • keduca
  • kstars
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal