OpenWalnut
1.2.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
src
core
dataHandler
WTractAdapter.cpp
1
//---------------------------------------------------------------------------
2
//
3
// Project: OpenWalnut ( http://www.openwalnut.org )
4
//
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
7
//
8
// This file is part of OpenWalnut.
9
//
10
// OpenWalnut is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// OpenWalnut is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public License
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22
//
23
//---------------------------------------------------------------------------
24
25
#include <vector>
26
27
#include <boost/shared_ptr.hpp>
28
29
#include "../common/math/linearAlgebra/WLinearAlgebra.h"
30
#include "WTractAdapter.h"
31
32
WTractAdapter::WTractAdapter
( boost::shared_ptr<
const
std::vector< float > > pointComponents,
size_t
startIndex,
size_t
numPoints )
33
: m_pointComponents( pointComponents ),
34
m_numPoints( numPoints ),
35
m_startIndex( startIndex )
36
{
37
}
38
39
WPosition
WTractAdapter::operator[]
(
size_t
index )
const
40
{
41
#ifdef DEBUG
42
assert(
m_pointComponents
&&
"Invalid point component array inside of WTractAdapter."
);
43
return
WPosition
(
m_pointComponents
->at(
m_startIndex
+ index * 3 ),
44
m_pointComponents
->at(
m_startIndex
+ index * 3 + 1 ),
45
m_pointComponents
->at(
m_startIndex
+ index * 3 + 2 ) );
46
#else
47
return
WPosition
( ( *
m_pointComponents
)[
m_startIndex
+ index * 3],
48
( *
m_pointComponents
)[
m_startIndex
+ index * 3 + 1],
49
( *
m_pointComponents
)[
m_startIndex
+ index * 3 + 2] );
50
#endif
51
}
Generated by
1.8.1