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;
}
setEndX(logicFunction->getEndX());
setStartY(logicFunction->getStartY());
setEndY(logicFunction->getEndY());
-
}
/*
//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;
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.
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();
}
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
{
bool added= logicFunction -> DeletePoint( aX, aY );
if(!fromWindow)
- setUp();
- else
{
+ setUp();
+ } else {
logicFunction->setEndPoints();
logicFunction->setStartPoints();
}
{
bool added=logicFunction -> deletePointAt( index );
if(!fromWindow)
- setUp();
- else
{
+ setUp();
+ } else {
logicFunction->setEndPoints();
logicFunction->setStartPoints();
}
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();
}
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;
}
/*
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));
{
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
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;
+ }
}
}