ViSP
Main Page
Related Pages
Modules
Classes
Examples
All
Classes
Functions
Variables
Enumerations
Enumerator
Friends
Groups
Pages
vpMomentArea.cpp
1
/****************************************************************************
2
*
3
* $Id: vpMomentArea.cpp 3530 2012-01-03 10:52:12Z fspindle $
4
*
5
* This file is part of the ViSP software.
6
* Copyright (C) 2005 - 2013 by INRIA. All rights reserved.
7
*
8
* This software is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public License
10
* ("GPL") version 2 as published by the Free Software Foundation.
11
* See the file LICENSE.txt at the root directory of this source
12
* distribution for additional information about the GNU GPL.
13
*
14
* For using ViSP with software that can not be combined with the GNU
15
* GPL, please contact INRIA about acquiring a ViSP Professional
16
* Edition License.
17
*
18
* See http://www.irisa.fr/lagadic/visp/visp.html for more information.
19
*
20
* This software was developed at:
21
* INRIA Rennes - Bretagne Atlantique
22
* Campus Universitaire de Beaulieu
23
* 35042 Rennes Cedex
24
* France
25
* http://www.irisa.fr/lagadic
26
*
27
* If you have questions regarding the use of this file, please contact
28
* INRIA at visp@inria.fr
29
*
30
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
31
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
32
*
33
*
34
* Description:
35
* 2D area of the object
36
*
37
* Authors:
38
* Manikandan Bakthavatchalam
39
*
40
*****************************************************************************/
41
#include <visp/vpMomentArea.h>
42
#include <visp/vpMomentObject.h>
43
#include <visp/vpMomentCentered.h>
44
#include <visp/vpMomentDatabase.h>
45
#include <cmath>
46
51
void
vpMomentArea::compute
(){
52
/* getObject() returns a reference to a vpMomentObject. This is public member of vpMoment */
53
if
(
getObject
().getType()==
vpMomentObject::DISCRETE
) {
54
bool
found_moment_centered;
55
/* getMoments() returns a reference to a vpMomentDatabase. It is a protected member of and is inherited from vpMoment
56
* .get() is a member function of vpMomentDatabase that returns a specific moment which is linked to it
57
*/
58
vpMomentCentered
& momentCentered =
static_cast<
vpMomentCentered
&
>
(
getMoments
().
get
(
"vpMomentCentered"
,found_moment_centered));
59
if
(!found_moment_centered)
throw
vpException
(
vpException::notInitialized
,
"vpMomentCentered not found"
);
60
values
[0] = momentCentered.
get
(2,0) + momentCentered.
get
(0,2);
61
}
62
else
{
63
values
[0] =
getObject
().
get
(0,0);
64
}
65
}
66
70
vpMomentArea::vpMomentArea
() :
vpMoment
(){
71
values
.resize(1);
72
}
73
77
std::ostream &
operator<<
(std::ostream & os,
const
vpMomentArea
& m){
78
os <<
"Area a:"
<< m.
values
[0];
79
return
os;
80
}
src
tracking
moments
vpMomentArea.cpp
Generated on Fri Apr 26 2013 19:54:36 for ViSP by
1.8.1.2