Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IVT
src
Image
IntImage.cpp
Go to the documentation of this file.
1
// ****************************************************************************
2
// This file is part of the Integrating Vision Toolkit (IVT).
3
//
4
// The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
5
// (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
6
//
7
// Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
8
// All rights reserved.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// 3. Neither the name of the KIT nor the names of its contributors may be
21
// used to endorse or promote products derived from this software
22
// without specific prior written permission.
23
//
24
// THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
25
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
// DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
28
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
// ****************************************************************************
35
// ****************************************************************************
36
// Filename: IntImage.cpp
37
// Author: Pedram Azad
38
// Date: 09.01.2007
39
// ****************************************************************************
40
41
42
// ****************************************************************************
43
// Includes
44
// ****************************************************************************
45
46
#include <new>
// for explicitly using correct new/delete operators on VC DSPs
47
48
#include "
IntImage.h
"
49
50
51
52
// ****************************************************************************
53
// Constructors / Destructor
54
// ****************************************************************************
55
56
CIntImage::CIntImage
()
57
{
58
width
= 0;
59
height
= 0;
60
pixels
= 0;
61
m_bOwnMemory
=
false
;
62
}
63
64
CIntImage::CIntImage
(
int
nImageWidth,
int
nImageHeight,
bool
bHeaderOnly)
65
{
66
width
= nImageWidth;
67
height
= nImageHeight;
68
69
if
(bHeaderOnly)
70
{
71
pixels
= 0;
72
m_bOwnMemory
=
false
;
73
}
74
else
75
{
76
pixels
=
new
int
[
width
*
height
];
77
m_bOwnMemory
=
true
;
78
}
79
}
80
81
CIntImage::CIntImage
(
const
CIntImage
&
image
,
bool
bHeaderOnly)
82
{
83
width
= image.
width
;
84
height
= image.
height
;
85
86
if
(bHeaderOnly)
87
{
88
pixels
= 0;
89
m_bOwnMemory
=
false
;
90
}
91
else
92
{
93
pixels
=
new
int
[
width
*
height
];
94
m_bOwnMemory
=
true
;
95
}
96
}
97
98
CIntImage::CIntImage
(
const
CIntImage
*pImage,
bool
bHeaderOnly)
99
{
100
width
= pImage->
width
;
101
height
= pImage->
height
;
102
103
if
(bHeaderOnly)
104
{
105
pixels
= 0;
106
m_bOwnMemory
=
false
;
107
}
108
else
109
{
110
pixels
=
new
int
[
width
*
height
];
111
m_bOwnMemory
=
true
;
112
}
113
}
114
115
CIntImage::~CIntImage
()
116
{
117
FreeMemory
();
118
}
119
120
121
// ****************************************************************************
122
// Methods
123
// ****************************************************************************
124
125
void
CIntImage::FreeMemory
()
126
{
127
if
(
pixels
)
128
{
129
if
(
m_bOwnMemory
)
130
delete
[]
pixels
;
131
132
pixels
= 0;
133
m_bOwnMemory
=
false
;
134
}
135
}
CIntImage::width
int width
Definition:
IntImage.h:71
CIntImage::FreeMemory
void FreeMemory()
Definition:
IntImage.cpp:125
image
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition:
glext.h:3131
CIntImage::CIntImage
CIntImage()
Definition:
IntImage.cpp:56
pixels
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
Definition:
glext.h:3154
CIntImage::height
int height
Definition:
IntImage.h:72
CIntImage::~CIntImage
~CIntImage()
Definition:
IntImage.cpp:115
width
GLenum GLsizei width
Definition:
glext.h:3122
height
GLenum GLsizei GLsizei height
Definition:
glext.h:3132
CIntImage
Data structure for the representation of single channel images of the data type signed int...
Definition:
IntImage.h:55
CIntImage::pixels
int * pixels
Definition:
IntImage.h:73
CIntImage::m_bOwnMemory
bool m_bOwnMemory
Definition:
IntImage.h:81
IntImage.h
asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28