1 /*# ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 # This software is governed by the CeCILL-B license under French law and
10 # abiding by the rules of distribution of free software. You can use,
11 # modify and/ or redistribute the software under the terms of the CeCILL-B
12 # license as circulated by CEA, CNRS and INRIA at the following URL
13 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 # or in the file LICENSE.txt.
16 # As a counterpart to the access to the source code and rights to copy,
17 # modify and redistribute granted by the license, users are provided only
18 # with a limited warranty and the software's author, the holder of the
19 # economic rights, and the successive licensors have only limited
22 # The fact that you are presently reading this means that you have had
23 # knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
26 /*=========================================================================
29 Module: $RCSfile: marIsocontour.cpp,v $
31 Date: $Date: 2012/11/15 14:15:31 $
32 Version: $Revision: 1.2 $
34 Copyright: (c) 2002, 2003
37 This software is distributed WITHOUT ANY WARRANTY; without even
38 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
39 PURPOSE. See the above copyright notice for more information.
41 =========================================================================*/
44 #include "marIsocontour.h"
46 // ----------------------------------------------------------------------------
47 marIsocontour::marIsocontour() {
51 // ----------------------------------------------------------------------------
52 marIsocontour::~marIsocontour() {
54 //TODO - SACAR A UTILS
55 for (int ind = 0; ind < listContour.size(); ind++)
57 marPoint* p = listContour[ind];
58 listContour[ind] = NULL;
66 // ----------------------------------------------------------------------------
67 marIsocontour::marIsocontour(double intmax) {
68 this->intmax = intmax;
71 // ----------------------------------------------------------------------------
72 void marIsocontour::getCG(double *x, double *y) {
76 for (int i = 0; i < listContour.size(); i++){
83 sumax /= listContour.size();
84 sumay /= listContour.size();
90 // ----------------------------------------------------------------------------
91 void marIsocontour::insertPoint(double x, double y) {
92 marPoint* p = new marPoint(x, y);
93 listContour.push_back(p);
96 // ----------------------------------------------------------------------------
97 void marIsocontour::getPoint(int i, double *x, double *y) {
98 marPoint* p = listContour[i];
104 // ----------------------------------------------------------------------------
105 void marIsocontour::setPoint(int i, double x, double y) {
106 marPoint *p = listContour[i];
110 // ----------------------------------------------------------------------------
111 int marIsocontour::getSize() {
112 return listContour.size();
115 // ----------------------------------------------------------------------------
116 double marIsocontour::getMaxIntensity() {
120 // ----------------------------------------------------------------------------
121 int marIsocontour::getType() {
125 // ----------------------------------------------------------------------------
126 void marIsocontour::setType(int type) {
130 // ----------------------------------------------------------------------------
131 int marIsocontour::getDir(int i) {
132 marPoint* p = listContour[i];
133 return p->getDirection();
136 // ----------------------------------------------------------------------------
137 void marIsocontour::setDir(int i, int direction) {
138 marPoint *p = listContour[i];
139 p->setDirection(direction);
142 // ----------------------------------------------------------------------------
143 void marIsocontour::setInside(int i, bool ins) {
144 marPoint *p = listContour[i];
148 // ----------------------------------------------------------------------------
149 bool marIsocontour::getInside(int i) {
150 marPoint* p = listContour[i];
151 return p->getInside();
154 // ----------------------------------------------------------------------------
155 void marIsocontour::setMaxIntensity(double intmax) {
156 this->intmax = intmax;
159 // ----------------------------------------------------------------------------
160 void marIsocontour::removeLastPoint() {
161 listContour.pop_back();