Example #1
0
void QSLPlotCartesianSet::drawWithPlusses(QPainter *painter)
{
    int r = mPointRadius;
    for (int i=0; i<mX.size(); i++) {
        double x = mX[i];
        double y = mY[i];

        if (BET(mParentPlot->xMin(), x, mParentPlot->xMax())
            && BET(mParentPlot->yMin(), y, mParentPlot->yMax()))
        {
            int xi = mParentPlot->xToPix(x);
            int yi = mParentPlot->yToPix(y);
            painter->drawLine( xi-r, yi, xi+r, yi);
            painter->drawLine( xi, yi-r, xi, yi+r);
        }
    }
}
Example #2
0
void QSLPlotCartesianSet::drawWithCircles(QPainter *painter)
{
    painter->setBrush(Qt::NoBrush);
    int r = mPointRadius;
    for (int i=0; i<mX.size(); i++) {
        double x = mX[i];
        double y = mY[i];

        if (BET(mParentPlot->xMin(), x, mParentPlot->xMax())
            && BET(mParentPlot->yMin(), y, mParentPlot->yMax()))
        {
            painter->drawEllipse( mParentPlot->xToPix(x) -r,
                                  mParentPlot->yToPix(y) -r,
                                  2*r, 2*r );
        }
    }
}
Example #3
0
void QSLPlotCartesianSet::drawWithFullTriangles(QPainter *painter)
{
    int r = mPointRadius;
    for (int i=0; i<mX.size(); i++) {
        double x = mX[i];
        double y = mY[i];

        if (BET(mParentPlot->xMin(), x, mParentPlot->xMax())
            && BET(mParentPlot->yMin(), y, mParentPlot->yMax()))
        {
            int xi = mParentPlot->xToPix(x);
            int yi = mParentPlot->yToPix(y);
            QPolygon polygon;
            polygon << QPoint(xi,yi-r)
                    << QPoint(xi-r,yi+r)
                    << QPoint(xi+r,yi+r);
            painter->drawPolygon(polygon);
        }
    }
}
Example #4
0
/*** COMPLETION OF REPAIR ON THE MACHINE ***/
void
FIX()
{
int  _edge_condition[1];

  /* Attribute Value(s) Passed to this Event */
  J = (long) transfer[3];
  F = transfer[4];
  FIXTIME = transfer[5];
  ENT[0] = (long) transfer[6];
  ENT[1] = (long) transfer[7];
  ENT[2] = (long) transfer[8];
  ENT[3] = (long) transfer[9];
  ENT[4] = (long) transfer[10];
  ENT[5] = (long) transfer[11];
  ENT[6] = (long) transfer[12];

  /* state changes */
  ENT[2]=CLK;
  FIXTIME=CLK-FIXTIME;

  /* Evaluate edge conditions now so that they will*/
  /* not be changed by preemptive event execution  */
  _edge_condition[0] = ( 1==1 );

  /* schedule future events */
  if (_edge_condition[0])
    {
    /*** attribute value(s) to be transferred to event ***/
    transfer[3] = ENT[1];
    transfer[4] = F;
    transfer[5] = ENT[0];
    transfer[6] = ENT[1];
    transfer[7] = ENT[2];
    transfer[8] = ENT[3];
    transfer[9] = ENT[4];
    transfer[10] = ENT[5];
    transfer[11] = ENT[6];
    for ( t_index=12; t_index<maxatr; t_index++) transfer[t_index] = 0.0;
    event_time = current_time + (REN[J][1]/(1+3*RND))*BET(1.2,1.2);
    event_type = RETURN_event;
    event_priority = 5;
    schedule_event();
    }

}
Example #5
0
/*** THE OCCURRENCE OF A BREAKDOWN ***/
void
FAIL()
{
int  _edge_condition[1];

  /* Attribute Value(s) Passed to this Event */
  ENT[0] = (long) transfer[3];
  ENT[1] = (long) transfer[4];
  ENT[2] = (long) transfer[5];
  ENT[3] = (long) transfer[6];
  ENT[4] = (long) transfer[7];
  ENT[5] = (long) transfer[8];
  ENT[6] = (long) transfer[9];

  /* state changes */
  ENT[4]=ENT[4]+1;
  FAILRENT[J]=CLK-ENT[2];
  INFLOW[J]=INFLOW[J]+RUNC[J]*FAILRENT[J];

  /* Evaluate edge conditions now so that they will*/
  /* not be changed by preemptive event execution  */
  _edge_condition[0] = ( 1==1 );

  /* schedule future events */
  if (_edge_condition[0])
    /***  GET FIXED AFTER DELAY WHICH FOLLOWS A BETA DISTRIBUTION WITH MIN=1, MAX=6  ***/
    {
    /*** attribute value(s) to be transferred to event ***/
    transfer[3] = ENT[1];
    transfer[4] = FAILRENT[J];
    transfer[5] = CLK;
    transfer[6] = ENT[0];
    transfer[7] = ENT[1];
    transfer[8] = ENT[2];
    transfer[9] = ENT[3];
    transfer[10] = ENT[4];
    transfer[11] = ENT[5];
    transfer[12] = ENT[6];
    for ( t_index=13; t_index<maxatr; t_index++) transfer[t_index] = 0.0;
    event_time = current_time + FIXT[0]+(FIXT[1]-FIXT[0])*BET(0.7,0.7);
    event_type = FIX_event;
    event_priority = 6;
    schedule_event();
    }

}
Example #6
0
/*** START OF RENTING ***/
void
RENT()
{
int  _edge_condition[2];

  /* Attribute Value(s) Passed to this Event */
  ENT[0] = (long) transfer[3];
  ENT[1] = (long) transfer[4];
  ENT[2] = (long) transfer[5];
  ENT[3] = (long) transfer[6];
  ENT[4] = (long) transfer[7];
  ENT[5] = (long) transfer[8];
  ENT[6] = (long) transfer[9];

  /* state changes */
  P=RND;
  ENT[2]=CLK;

  /* Evaluate edge conditions now so that they will*/
  /* not be changed by preemptive event execution  */
  _edge_condition[0] = ( P<.7 );
  _edge_condition[1] = ( P>=.7 );

  /* schedule future events */
  if (_edge_condition[0])
    /***  THE CAR IS TAKEN OUT OF THE LOT FOR A RESERVATION OR WALKIN PERIOD  ***/
    {
    /*** attribute value(s) to be transferred to event ***/
    transfer[3] = ENT[1];
    transfer[4] = 0;
    transfer[5] = ENT[0];
    transfer[6] = ENT[1];
    transfer[7] = ENT[2];
    transfer[8] = ENT[3];
    transfer[9] = ENT[4];
    transfer[10] = ENT[5];
    transfer[11] = ENT[6];
    for ( t_index=12; t_index<maxatr; t_index++) transfer[t_index] = 0.0;
    event_time = current_time + REN[J][0]+REN[J][1]*BET(1.2,1.2);
    event_type = RETURN_event;
    event_priority = 3;
    schedule_event();
    }

  if (_edge_condition[1])
    {
    /*** attribute value(s) to be transferred to event ***/
    transfer[3] = ENT[0];
    transfer[4] = ENT[1];
    transfer[5] = ENT[2];
    transfer[6] = ENT[3];
    transfer[7] = ENT[4];
    transfer[8] = ENT[5];
    transfer[9] = ENT[6];
    for ( t_index=10; t_index<maxatr; t_index++) transfer[t_index] = 0.0;
    event_time = current_time + REN[J][0]+REN[J][1]*BET(1.2,1.2);
    event_type = FAIL_event;
    event_priority = 5;
    schedule_event();
    }

}