+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
//----------------------------------------------------------------------------
// Class definition include
pGraphicalFunction:: pGraphicalFunction(wxString name, int flags)
{
SetName(name);
- showPointsF = false;
- validPointRange = 5;
- logicFunction = new pLogicalFunction ();
- fromWindow=false;
- factorZoom=1;
- drawing=false;
- editable=true;
- ifActual=false;
- zoomIn=false;
- setOffsetX(0);
+ showPointsF = false;
+ validPointRange = 5;
+ logicFunction = new pLogicalFunction ();
+ fromWindow = false;
+ factorZoom = 1;
+ drawing = false;
+ editable = true;
+ ifActual = false;
+ zoomIn = false;
+ setOffsetX(0) ;
setOffsetY(0);
- initialDrawingPoint=NULL;
- finalDrawingPoint=NULL;
+ initialDrawingPoint = NULL;
+ finalDrawingPoint = NULL;
//type=1 means that is going to be a piecewise function
- _type=1;
- xKSpline=NULL;
- yKSpline=NULL;
- offsetPixelX=0;
- offsetPixelY=0;
- xTraslation=0;
- mType=DEFAULT;
+ _type = 1;
+ xKSpline = NULL;
+ yKSpline = NULL;
+ offsetPixelX = 0;
+ offsetPixelY = 0;
+ xTraslation = 0;
+ mType = DEFAULT;
+
}
/**
*/
bool pGraphicalFunction::AddPoint(int aX, int aY,bool order)
{
-
- bool added=logicFunction -> AddPoint( aX, aY,order );
- if(!fromWindow)
- setUp();
- else
- {
- logicFunction->setEndPoints();
- logicFunction->setStartPoints();
- }
+ bool added=false;
+ if (logicFunction!=NULL){
+ added=logicFunction -> AddPoint( aX, aY,order );
+ if(!fromWindow)
+ setUp();
+ else
+ {
+ logicFunction->setEndPoints();
+ logicFunction->setStartPoints();
+ } // if fromWindow
+ } // if logicFunction
return added;
}
{
bool added=logicFunction -> deletePointAt( index );
if(!fromWindow)
- setUp();
- else
{
+ setUp();
+ } else {
logicFunction->setEndPoints();
logicFunction->setStartPoints();
}
int minDiference=10000000;
wxNode* node=logicFunction->GetPointAt(0);
wxNode* before=NULL;
+
while(node)
{
pFunctionPoint* before1=(pFunctionPoint*)node->GetData();
//realPoints.DeleteC
np = logicFunction->getSizePoints();
- nps = 100;
+ nps = 200;
delta=( double ) ( np ) / ( double ) ( nps );
for( i = 0; i < nps; i++ )
{
{
f_colorPoints.clear();
int i = 0;
- while(i<colorVector.size())
+ while(i<(int)(colorVector.size()))
{
f_colorPoints.push_back(colorVector[i]);
i++;
void pGraphicalFunction :: getColorPoints(std::vector<pColorPoint *> &colorVector)
{
int i = 0;
- while(i<f_colorPoints.size())
+ while(i<(int)(f_colorPoints.size()))
{
pColorPoint * originaslPoint = f_colorPoints[i];
pColorPoint * copyPoint = new pColorPoint(originaslPoint->getRealX(), originaslPoint->getColor(), originaslPoint->isTemporalColor());