moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / kstars / kstars / indi / apogee / ApnCamData.cpp
blobda3397419d1c8dd4b56a9dfa257f331e30d192aa
1 // ApnCamData.cpp: implementation of the CApnCamData class.
2 //
3 // Copyright (c) 2003, 2004 Apogee Instruments, Inc.
4 //////////////////////////////////////////////////////////////////////
6 #include "stdafx.h"
7 #include "ApnCamData.h"
9 #include <stdlib.h>
10 #include <malloc.h>
13 //////////////////////////////////////////////////////////////////////
14 // Construction/Destruction
15 //////////////////////////////////////////////////////////////////////
17 CApnCamData::CApnCamData()
19 init_vpattern();
21 init_hpattern( &m_ClampPatternSixteen );
22 init_hpattern( &m_SkipPatternSixteen );
23 init_hpattern( &m_RoiPatternSixteen );
25 init_hpattern( &m_ClampPatternTwelve );
26 init_hpattern( &m_SkipPatternTwelve );
27 init_hpattern( &m_RoiPatternTwelve );
30 CApnCamData::~CApnCamData()
32 clear_vpattern();
34 clear_hpattern( &m_ClampPatternSixteen );
35 clear_hpattern( &m_SkipPatternSixteen );
36 clear_hpattern( &m_RoiPatternSixteen );
38 clear_hpattern( &m_ClampPatternTwelve );
39 clear_hpattern( &m_SkipPatternTwelve );
40 clear_hpattern( &m_RoiPatternTwelve );
44 void CApnCamData::init_vpattern( )
46 // OutputDebugString( "init_vpattern()" );
48 m_VerticalPattern.Mask = 0x0;
49 m_VerticalPattern.NumElements = 0;
50 m_VerticalPattern.PatternData = NULL;
54 void CApnCamData::clear_vpattern( )
56 // OutputDebugString( "clear_vpattern()" );
58 m_VerticalPattern.Mask = 0x0;
59 m_VerticalPattern.NumElements = 0;
61 if ( m_VerticalPattern.PatternData != NULL )
63 free( m_VerticalPattern.PatternData );
64 m_VerticalPattern.PatternData = NULL;
69 void CApnCamData::init_hpattern( APN_HPATTERN_FILE *Pattern )
71 int Counter;
73 // OutputDebugString( "init_hpattern()" );
75 Pattern->Mask = 0x0;
76 Pattern->RefNumElements = 0;
77 Pattern->SigNumElements = 0;
78 Pattern->BinningLimit = 0;
80 Pattern->RefPatternData = NULL;
81 Pattern->SigPatternData = NULL;
83 for ( Counter=0; Counter<APN_MAX_HBINNING; Counter++ )
85 Pattern->BinNumElements[Counter] = 0;
86 Pattern->BinPatternData[Counter] = NULL;
91 void CApnCamData::clear_hpattern( APN_HPATTERN_FILE *Pattern )
93 int Counter;
94 // char szMsg[80];
96 // OutputDebugString( "clear_hpattern()" );
98 Pattern->Mask = 0x0;
99 Pattern->RefNumElements = 0;
100 Pattern->SigNumElements = 0;
101 Pattern->BinningLimit = 0;
103 if ( Pattern->RefPatternData != NULL )
105 // OutputDebugString( "Freeing Allocated Reference Pattern Memory" );
106 free( Pattern->RefPatternData );
108 Pattern->RefPatternData = NULL;
110 if ( Pattern->SigPatternData != NULL )
112 // OutputDebugString( "Freeing Allocated Signal Pattern Memory" );
113 free( Pattern->SigPatternData );
115 Pattern->SigPatternData = NULL;
118 for ( Counter=0; Counter<APN_MAX_HBINNING; Counter++ )
120 Pattern->BinNumElements[Counter] = 0;
121 if ( Pattern->BinPatternData[Counter] != NULL )
123 // sprintf( szMsg, "Freeing Allocated Binning Pattern Memory (Binning = %d)", Counter+1 );
124 // OutputDebugString( szMsg );
125 free( Pattern->BinPatternData[Counter] );
127 Pattern->BinPatternData[Counter] = NULL;