Example #1
0
static BOOL setBounds(scicos_block * block, char *pAxeUID, char *pGrayplotUID)
{
    BOOL result;

    int gridSize[4];
    double dataBounds[6];

    int m, n;

    m = GetInPortSize(block, 1, 1);
    n = GetInPortSize(block, 1, 2);

    gridSize[0] = m;
    gridSize[1] = 1;
    gridSize[2] = n;
    gridSize[3] = 1;

    dataBounds[0] = 0;          // xMin
    dataBounds[1] = (double)m;  // xMax
    dataBounds[2] = 0;          // yMin
    dataBounds[3] = (double)n;  // yMax
    dataBounds[4] = -1.0;       // zMin
    dataBounds[5] = 1.0;        // zMax

    result = setGraphicObjectProperty(pGrayplotUID, __GO_DATA_MODEL_GRID_SIZE__, gridSize, jni_int_vector, 4);
    result &= setGraphicObjectProperty(pAxeUID, __GO_DATA_BOUNDS__, dataBounds, jni_double_vector, 6);

    return result;
}
Example #2
0
static BOOL setDefaultValues(scicos_block * block, char *pGrayplotUID)
{
    int m, n, len;
    int i;
    double *values;

    BOOL result;

    m = GetInPortSize(block, 1, 1);
    n = GetInPortSize(block, 1, 2);

    len = Max(m, n);

    values = (double *)CALLOC(n * m, sizeof(double));
    if (values == NULL)
    {
        return FALSE;
    }

    result = setGraphicObjectProperty(pGrayplotUID, __GO_DATA_MODEL_Z__, values, jni_double_vector, m * n);

    for (i = 1; i <= len; i++)
    {
        values[i] = (double)i;
    }
    result &= setGraphicObjectProperty(pGrayplotUID, __GO_DATA_MODEL_X__, values, jni_double_vector, m);
    result &= setGraphicObjectProperty(pGrayplotUID, __GO_DATA_MODEL_Y__, values, jni_double_vector, n);

    FREE(values);
    return result;
}
Example #3
0
static BOOL setDefaultValues(scicos_block * block, char *pPlot3dUID)
{
    int m, n, len;
    int i;
    double *values;

    BOOL result;

    m = GetInPortSize(block, 1, 1);
    n = GetInPortSize(block, 1, 2);

    /*
     * Share the same memory for 0 allocation (z) and incremented index (x and y)
     */
    values = (double *)CALLOC(m * n, sizeof(double));
    if (values == NULL)
    {
        return FALSE;
    }
    result = setGraphicObjectProperty(pPlot3dUID, __GO_DATA_MODEL_Z__, values, jni_double_vector, m * n);

    len = Max(m, n);
    for (i = 1; i <= len; i++)
    {
        values[i] = (double) i;
    }

    result &= setGraphicObjectProperty(pPlot3dUID, __GO_DATA_MODEL_X__, values, jni_double_vector, m);
    result &= setGraphicObjectProperty(pPlot3dUID, __GO_DATA_MODEL_Y__, values, jni_double_vector, n);

    FREE(values);
    return result;
}
Example #4
0
static BOOL setBounds(scicos_block * block, int iAxeUID, int iPlot3dUID)
{
    BOOL result;

    int gridSize[4];
    double dataBounds[6];
    double rotationAngle[2];

    int m, n;
    int colormapLen;

    m = GetInPortSize(block, 1, 1);
    n = GetInPortSize(block, 1, 2);

    gridSize[0] = 1;
    gridSize[1] = m;
    gridSize[2] = 1;
    gridSize[3] = n;

    colormapLen = block->ipar[3];
    if (colormapLen == 1)
    {
        dataBounds[0] = (double) 0;  // xMin
        dataBounds[1] = (double) m;  // xMax
        dataBounds[2] = (double) 0;  // yMin
        dataBounds[3] = (double) n;  // yMax
    }
    else
    {
        dataBounds[0] = block->rpar[colormapLen + 0];   // xMin
        dataBounds[1] = block->rpar[colormapLen + 1];   // xMax
        dataBounds[2] = block->rpar[colormapLen + 2];   // yMin
        dataBounds[3] = block->rpar[colormapLen + 3];   // yMax
    }

    dataBounds[4] = (double)block->ipar[0]; // zMin
    dataBounds[5] = (double)block->ipar[1]; // zMax

    rotationAngle[0] = 50;      // alpha
    rotationAngle[1] = 280;     // theta

    result = setGraphicObjectProperty(iPlot3dUID, __GO_DATA_MODEL_GRID_SIZE__, gridSize, jni_int_vector, 4);
    if (result == FALSE)
    {
        return result;
    }
    result = setGraphicObjectProperty(iAxeUID, __GO_DATA_BOUNDS__, dataBounds, jni_double_vector, 6);
    if (result == FALSE)
    {
        return result;
    }
    result = setGraphicObjectProperty(iAxeUID, __GO_ROTATION_ANGLES__, rotationAngle, jni_double_vector, 2);

    return result;
}
Example #5
0
static BOOL pushData(scicos_block * block, double *data)
{
    char const* pFigureUID;
    char *pAxeUID;
    char *pGrayplotUID;

    BOOL result;
    int i;

    int m, n;
    double alpha, beta;
    double *scaledData;

    pFigureUID = getFigure(block);
    pAxeUID = getAxe(pFigureUID, block);
    pGrayplotUID = getGrayplot(pAxeUID, block);

    m = GetInPortSize(block, 1, 1);
    n = GetInPortSize(block, 1, 2);
    if (m * n <= 0)
    {
        set_block_error(-5);
        return FALSE;
    }

    /*
     * Scale the data
     */
    alpha = block->rpar[0];
    beta = block->rpar[1];

    scaledData = (double *)MALLOC(m * n * sizeof(double));
    if (scaledData == NULL)
    {
        return FALSE;
    }

    for (i = 0; i < m * n; i++)
    {
        scaledData[i] = floor(alpha * data[i] + beta);
    }

    result = setGraphicObjectProperty(pGrayplotUID, __GO_DATA_MODEL_Z__, scaledData, jni_double_vector, m * n);
    FREE(scaledData);

    return result;
}
Example #6
0
static BOOL pushData(scicos_block * block, double *data)
{
    char const* pFigureUID;
    char *pAxeUID;
    char *pPlot3dUID;

    BOOL result;

    int m, n;

    pFigureUID = getFigure(block);
    pAxeUID = getAxe(pFigureUID, block);
    pPlot3dUID = getPlot3d(pAxeUID, block);

    m = GetInPortSize(block, 1, 1);
    n = GetInPortSize(block, 1, 2);

    result = setGraphicObjectProperty(pPlot3dUID, __GO_DATA_MODEL_Z__, data, jni_double_vector, m * n);

    return result;
}
Example #7
0
static BOOL pushData(scicos_block * block, double *data)
{
    int iFigureUID;
    int iAxeUID;
    int iPlot3dUID;

    BOOL result;

    int m, n;

    iFigureUID = getFigure(block);
    iAxeUID = getAxe(iFigureUID, block);
    iPlot3dUID = getPlot3d(iAxeUID, block);

    m = GetInPortSize(block, 1, 1);
    n = GetInPortSize(block, 1, 2);

    result = setGraphicObjectProperty(iPlot3dUID, __GO_DATA_MODEL_Z__, data, jni_double_vector, m * n);

    return result;
}