X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FpPlotter%2FpGraphicalFunction.cxx;h=63b3cc9ed2a27dfb796d24b2c8a75c8e0166684a;hb=659bcd2c2a608cfb8c5854ffe84e9248871df9a1;hp=7de96c458c2fe9bcb3224ccbb9bfa372c264a2f0;hpb=e4ef2b5df5aac431ff3b806f83b7dd5e55e89d86;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.cxx index 7de96c4..63b3cc9 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.cxx @@ -52,27 +52,27 @@ IMPLEMENT_CLASS(pGraphicalFunction, pPlotterLayer) 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; + 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; } @@ -108,7 +108,6 @@ void pGraphicalFunction::setUp() setEndX(logicFunction->getEndX()); setStartY(logicFunction->getStartY()); setEndY(logicFunction->getEndY()); - } /* @@ -146,8 +145,6 @@ void pGraphicalFunction::setScales() //int dy= logicFunction->getMaxY()-logicFunction->getMinY(); int dx= maxShowedX-minShowedX; int dy= maxShowedY-minShowedY; - - if(dx!=0 && dy!=0) { double scaleX=(((float)(screenX-100))/dx)*factorZoom; @@ -156,8 +153,7 @@ void pGraphicalFunction::setScales() setScaleY(scaleY); logicFunction->setScaleX(scaleX); logicFunction->setScaleY(scaleY); - - } + }// if dx dy } /* * Includes a point between two existing points of this function. The new point (x,y) was not defined when the function was created. @@ -166,10 +162,10 @@ void pGraphicalFunction::setScales() bool pGraphicalFunction:: AddNewPoint(int x,int y) { bool added= logicFunction -> AddNewPoint ( x, y ); - if(!fromWindow) - setUp(); - else + if(!fromWindow) { + setUp(); + } else { logicFunction->setEndPoints(); logicFunction->setStartPoints(); } @@ -188,10 +184,10 @@ bool pGraphicalFunction::AddPoint(int aX, int aY,bool order) bool added=false; if (logicFunction!=NULL){ added=logicFunction -> AddPoint( aX, aY,order ); - if(!fromWindow) - setUp(); - else + if(!fromWindow) { + setUp(); + } else { logicFunction->setEndPoints(); logicFunction->setStartPoints(); } // if fromWindow @@ -208,9 +204,9 @@ bool pGraphicalFunction::DeletePoint(int aX, int aY) { bool added= logicFunction -> DeletePoint( aX, aY ); if(!fromWindow) - setUp(); - else { + setUp(); + } else { logicFunction->setEndPoints(); logicFunction->setStartPoints(); } @@ -224,9 +220,9 @@ bool pGraphicalFunction::deletePointAt(int index) { bool added=logicFunction -> deletePointAt( index ); if(!fromWindow) - setUp(); - else { + setUp(); + } else { logicFunction->setEndPoints(); logicFunction->setStartPoints(); } @@ -240,10 +236,10 @@ bool pGraphicalFunction::deletePointAt(int index) bool pGraphicalFunction::changePoint(wxPoint newCoords, int movingIndexPoint) { bool added= (logicFunction -> changePoint( newCoords, movingIndexPoint )); - if(!fromWindow) - setUp(); - else + if(!fromWindow) { + setUp(); + } else { logicFunction->setEndPoints(); logicFunction->setStartPoints(); } @@ -291,15 +287,14 @@ bool pGraphicalFunction:: isInFunction(int x, int y) pFunctionPoint* point= new pFunctionPoint(x,y); bool inLine; before=getBefore(point); - if(before && before->GetNext()) { next = before->GetNext(); //next = (before->GetNext())->GetNext(); inLine= isInLine((pFunctionPoint*)before->GetData(),(pFunctionPoint*)next->GetData(),point); - } - else + } else { inLine=false; + } return inLine; } /* @@ -344,7 +339,6 @@ bool pGraphicalFunction::isInLine(pFunctionPoint* before,pFunctionPoint* next, p x=(float)point->getRealX(); y=(float)point->getRealY(); - float d1= (float)sqrt(pow(float(x1-x),2)+ pow(float(y1-y),2)); float d2= (float)sqrt(pow(float(x2-x),2)+ pow(float(y2-y),2)); float d=(float)sqrt(pow(float(x2-x1),2)+ pow(float(y2-y1),2)); @@ -467,17 +461,17 @@ void pGraphicalFunction::zooming(int clickedX,int clickedY,int width) { int xS,yS,x1,x2,y1,y2; setScales(); - xS=clickedX/_scaleX+_offsetX; - yS=clickedY/_scaleY+_offsetY; + xS = clickedX/_scaleX+_offsetX; + yS = clickedY/_scaleY+_offsetY; //square - x1=(clickedX-width)/_scaleX+_offsetX; - x2=(clickedX+width)/_scaleX+_offsetX; - y1=(clickedY-width)/_scaleY+_offsetY; - y2=(clickedY+width)/_scaleY+_offsetY; - - int numberPoints=getSizePoints(); - pFunctionPoint* point; - wxNode* p; + x1 = (clickedX-width)/_scaleX+_offsetX; + x2 = (clickedX+width)/_scaleX+_offsetX; + y1 = (clickedY-width)/_scaleY+_offsetY; + y2 = (clickedY+width)/_scaleY+_offsetY; + + int numberPoints = getSizePoints(); + pFunctionPoint* point; + wxNode* p; bool inSquare=false,first=false; //if the user made a zoom @@ -503,22 +497,20 @@ void pGraphicalFunction::zooming(int clickedX,int clickedY,int width) finalDrawingPoint=point; } } - } - else - { + } else { //We extend the range of vision in x and y,20 and 10 respectively if((_offsetX-20)>=0) { _offsetX=_offsetX-20; - } - else + } else { _offsetX=0; + } if((_offsetY-10)>=0) { _offsetY=_offsetY-10; - } - else + } else { _offsetY=0; + } } }