Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IVT
src
Math
DoubleVector.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: DoubleVector.cpp
37
// Author: Pedram Azad
38
// Date: 30.05.2008
39
// ****************************************************************************
40
41
42
// ****************************************************************************
43
// Includes
44
// ****************************************************************************
45
46
#include <new>
// for explicitly using correct new/delete operators on VC DSPs
47
48
#include "
DoubleVector.h
"
49
50
51
52
// ****************************************************************************
53
// Constructors / Destructor
54
// ****************************************************************************
55
56
CDoubleVector::CDoubleVector
()
57
{
58
dimension
= 0;
59
data
= 0;
60
m_bOwnMemory
=
false
;
61
}
62
63
CDoubleVector::CDoubleVector
(
int
nDimension,
bool
bHeaderOnly)
64
{
65
dimension
= nDimension;
66
67
if
(bHeaderOnly)
68
{
69
data
= 0;
70
m_bOwnMemory
=
false
;
71
}
72
else
73
{
74
data
=
new
double
[
dimension
];
75
m_bOwnMemory
=
true
;
76
}
77
}
78
79
CDoubleVector::CDoubleVector
(
const
CDoubleVector
&
v
,
bool
bHeaderOnly)
80
{
81
dimension
= v.
dimension
;
82
83
if
(bHeaderOnly)
84
{
85
data
= 0;
86
m_bOwnMemory
=
false
;
87
}
88
else
89
{
90
data
=
new
double
[
dimension
];
91
m_bOwnMemory
=
true
;
92
}
93
}
94
95
CDoubleVector::CDoubleVector
(
const
CDoubleVector
*pVector,
bool
bHeaderOnly)
96
{
97
dimension
= pVector->
dimension
;
98
99
if
(bHeaderOnly)
100
{
101
data
= 0;
102
m_bOwnMemory
=
false
;
103
}
104
else
105
{
106
data
=
new
double
[
dimension
];
107
m_bOwnMemory
=
true
;
108
}
109
}
110
111
CDoubleVector::~CDoubleVector
()
112
{
113
FreeMemory
();
114
}
115
116
117
// ****************************************************************************
118
// Methods
119
// ****************************************************************************
120
121
void
CDoubleVector::FreeMemory
()
122
{
123
if
(
data
)
124
{
125
if
(
m_bOwnMemory
)
126
delete
[]
data
;
127
128
data
= 0;
129
m_bOwnMemory
=
false
;
130
}
131
}
CDoubleVector::~CDoubleVector
~CDoubleVector()
Definition:
DoubleVector.cpp:111
CDoubleVector::dimension
int dimension
Definition:
DoubleVector.h:78
CDoubleVector
Data structure for the representation of a vector of values of the data type double.
Definition:
DoubleVector.h:54
data
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition:
glext.h:3129
CDoubleVector::FreeMemory
void FreeMemory()
Definition:
DoubleVector.cpp:121
CDoubleVector::m_bOwnMemory
bool m_bOwnMemory
Definition:
DoubleVector.h:83
CDoubleVector::data
double * data
Definition:
DoubleVector.h:79
CDoubleVector::CDoubleVector
CDoubleVector()
Definition:
DoubleVector.cpp:56
v
const GLdouble * v
Definition:
glext.h:3212
DoubleVector.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:27