Exemplo n.º 1
0
/* the champ data is now given as a tlist (like for surface objects) */
int getchampdata(char *pobjUID)
{
    char * variable_tlist[] = {"champdata", "x", "y", "fx", "fy"};
    int* dimensions = NULL;
    double* arrowBasesX = NULL;
    double* arrowBasesY = NULL;
    double* arrowDirectionsX = NULL;
    double* arrowDirectionsY = NULL;

    /* Add 'variable' tlist items to stack */

    returnedList * tList = createReturnedList(4, variable_tlist);

    if (tList == NULL)
    {
        return -1;
    }

    getGraphicObjectProperty(pobjUID, __GO_CHAMP_DIMENSIONS__, jni_int_vector, (void **)&dimensions);

    getGraphicObjectProperty(pobjUID, __GO_BASE_X__, jni_double_vector, (void **)&arrowBasesX);
    getGraphicObjectProperty(pobjUID, __GO_BASE_Y__, jni_double_vector, (void **)&arrowBasesY);
    getGraphicObjectProperty(pobjUID, __GO_DIRECTION_X__, jni_double_vector, (void **)&arrowDirectionsX);
    getGraphicObjectProperty(pobjUID, __GO_DIRECTION_Y__, jni_double_vector, (void **)&arrowDirectionsY);

    addColVectorToReturnedList(tList, arrowBasesX, dimensions[0]);
    addColVectorToReturnedList(tList, arrowBasesY, dimensions[1]);
    addMatrixToReturnedList(tList, arrowDirectionsX, dimensions[0], dimensions[1]);
    addMatrixToReturnedList(tList, arrowDirectionsY, dimensions[0], dimensions[1]);

    destroyReturnedList(tList);

    return 0;
}
Exemplo n.º 2
0
/* the grayplot data is now given as a tlist (like for surface and champ objects) */
int getgrayplotdata(char *pobjUID)
{
    char * variable_tlist[] = {"grayplotdata", "x", "y", "z"};
    int numX = 0;
    int *piNumX = &numX;
    int numY = 0;
    int *piNumY = &numY;
    double* dataX = NULL;
    double* dataY = NULL;
    double* dataZ = NULL;

    /* Add 'variable' tlist items to stack */
    returnedList * tList = createReturnedList(3, variable_tlist);

    if (tList == NULL)
    {
        return -1;
    }

    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_X__, jni_int, (void **)&piNumX);
    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_Y__, jni_int, (void **)&piNumY);

    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_X__, jni_double_vector, (void **)&dataX);
    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_Y__, jni_double_vector, (void **)&dataY);
    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_Z__, jni_double_vector, (void **)&dataZ);

    addColVectorToReturnedList(tList, dataX, numX);
    addColVectorToReturnedList(tList, dataY, numY);
    addMatrixToReturnedList(tList, dataZ, numX, numY);

    destroyReturnedList(tList);

    return 0;
}
/*------------------------------------------------------------------------*/
void* get_constraints_property(void* _pvCtx, int iObjUID)
{
    int iParent = 0;
    int* piParent = &iParent;
    int iLayout = 0;
    int* piLayout = &iLayout;

    getGraphicObjectProperty(iObjUID, __GO_PARENT__, jni_int, (void **)&piParent);
    if (piParent == NULL)
    {
        Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
        return NULL;
    }

    getGraphicObjectProperty(iParent, __GO_LAYOUT__, jni_int, (void **)&piLayout);
    if (piLayout == NULL)
    {
        Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
        return NULL;
    }

    switch (iLayout)
    {
    default:
    case LAYOUT_NONE :
    {
        char * variable_tlist[] = {"NoLayoutConstraint"};
        void * tList = createReturnedList(0, variable_tlist);
        return tList;
    }
    break;
    case LAYOUT_GRID :
    {
        char * variable_tlist[] = {"GridConstraints"};
        void * tList = createReturnedList(0, variable_tlist);
        return tList;
    }
    break;
    case LAYOUT_BORDER :
    {
        char * variable_tlist[] = {"BorderConstraint", "position", "preferredsize"};
        void * tList = createReturnedList(2, variable_tlist);

        int iBorder = 0;
        int* piBorder = &iBorder;

        double pdblPreferredSize[2];
        int* piPreferredSize = NULL;

        getGraphicObjectProperty(iObjUID, __GO_UI_BORDER_POSITION__, jni_int, (void **)&piBorder);
        if (piBorder == NULL)
        {
            Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
            return NULL;
        }

        switch (iBorder)
        {
        default:
        case BORDER_CENTER :
            addStringToReturnedList(tList, "center");
            break;
        case BORDER_BOTTOM :
            addStringToReturnedList(tList, "bottom");
            break;
        case BORDER_TOP :
            addStringToReturnedList(tList, "top");
            break;
        case BORDER_LEFT :
            addStringToReturnedList(tList, "left");
            break;
        case BORDER_RIGHT :
            addStringToReturnedList(tList, "right");
            break;
        }

        getGraphicObjectProperty(iObjUID, __GO_UI_BORDER_PREFERREDSIZE__, jni_int_vector, (void **)&piPreferredSize);
        if (piPreferredSize == NULL)
        {
            Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
            return NULL;
        }

        //convert to double
        pdblPreferredSize[0] = (double)piPreferredSize[0];
        pdblPreferredSize[1] = (double)piPreferredSize[1];

        addRowVectorToReturnedList(tList, pdblPreferredSize, 2);
        return tList;
    }
    break;
    case LAYOUT_GRIDBAG :
    {
        char * variable_tlist[] = {"GridBagConstraints", "grid", "weight", "fill", "anchor", "padding", "preferredsize"};
        void * tList = createReturnedList(6, variable_tlist);
        int* piGrid = NULL;
        double pdblGrid[4];
        double* pdblWeight = NULL;

        int iFill = 0;
        int* piFill = &iFill;
        int iAnchor = 0;
        int* piAnchor = &iAnchor;

        double pdblPadding[2];
        int* piPadding = NULL;

        double pdblPreferredSize[2];
        int* piPreferredSize = NULL;


        getGraphicObjectProperty(iObjUID, __GO_UI_GRIDBAG_GRID__, jni_int_vector, (void **)&piGrid);
        if (piGrid == NULL)
        {
            Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
            return NULL;
        }

        getGraphicObjectProperty(iObjUID, __GO_UI_GRIDBAG_WEIGHT__, jni_double_vector, (void **)&pdblWeight);
        if (pdblWeight == NULL)
        {
            Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
            return NULL;
        }

        getGraphicObjectProperty(iObjUID, __GO_UI_GRIDBAG_FILL__, jni_int, (void **)&piFill);
        if (piFill == NULL)
        {
            Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
            return NULL;
        }

        getGraphicObjectProperty(iObjUID, __GO_UI_GRIDBAG_ANCHOR__, jni_int, (void **)&piAnchor);
        if (piAnchor == NULL)
        {
            Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
            return NULL;
        }

        getGraphicObjectProperty(iObjUID, __GO_UI_GRIDBAG_PADDING__, jni_int_vector, (void **)&piPadding);
        if (piPadding == NULL)
        {
            Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
            return NULL;
        }

        getGraphicObjectProperty(iObjUID, __GO_UI_GRIDBAG_PREFERREDSIZE__, jni_int_vector, (void **)&piPreferredSize);
        if (piPreferredSize == NULL)
        {
            Scierror(999, _("'%s' property does not exist for this handle.\n"), "constraints");
            return NULL;
        }

        //convert to double
        pdblGrid[0] = (double)piGrid[0];
        pdblGrid[1] = (double)piGrid[1];
        pdblGrid[2] = (double)piGrid[2];
        pdblGrid[3] = (double)piGrid[3];

        pdblPadding[0] = (double)piPadding[0];
        pdblPadding[1] = (double)piPadding[1];

        pdblPreferredSize[0] = (double)piPreferredSize[0];
        pdblPreferredSize[1] = (double)piPreferredSize[1];

        addRowVectorToReturnedList(tList, pdblGrid, 4);
        addRowVectorToReturnedList(tList, pdblWeight, 2);

        switch (iFill)
        {
        default :
        case FILL_NONE :
            addStringToReturnedList(tList, "none");
            break;
        case FILL_HORIZONTAL :
            addStringToReturnedList(tList, "horizontal");
            break;
        case FILL_VERTICAL :
            addStringToReturnedList(tList, "vertical");
            break;
        case FILL_BOTH :
            addStringToReturnedList(tList, "both");
            break;
        }

        switch (iAnchor)
        {
        default :
        case ANCHOR_CENTER :
            addStringToReturnedList(tList, "center");
            break;
        case ANCHOR_UPPER :
            addStringToReturnedList(tList, "upper");
            break;
        case ANCHOR_LOWER :
            addStringToReturnedList(tList, "lower");
            break;
        case ANCHOR_RIGHT :
            addStringToReturnedList(tList, "right");
            break;
        case ANCHOR_LEFT :
            addStringToReturnedList(tList, "left");
            break;
        case ANCHOR_UPPER_RIGHT :
            addStringToReturnedList(tList, "upper_right");
            break;
        case ANCHOR_UPPER_LEFT :
            addStringToReturnedList(tList, "upper_left");
            break;
        case ANCHOR_LOWER_RIGHT :
            addStringToReturnedList(tList, "lower_right");
            break;
        case ANCHOR_LOWER_LEFT :
            addStringToReturnedList(tList, "lower_left");
            break;
        }

        addRowVectorToReturnedList(tList, pdblPadding, 2);
        addRowVectorToReturnedList(tList, pdblPreferredSize, 2);
        return tList;
    }
    break;
    }

    return 0;
}
Exemplo n.º 4
0
/*--------------------------------------------------------------------------*/
int get3ddata(char *pobjUID)
{
    char *variable_tlist_color[] = {"3d", "x", "y", "z", "color"};
    char *variable_tlist[] = {"3d", "x", "y", "z"};
    int type = -1;
    int *piType = &type;
    double* colors = NULL;
    double* dataX = NULL;
    double* dataY = NULL;
    double* dataZ = NULL;
    int nbRow = 0;
    int *piNbRow = &nbRow;
    int nbCol = 0;
    int *piNbCol = &nbCol;

    returnedList * tList = NULL;

    getGraphicObjectProperty(pobjUID, __GO_TYPE__, jni_int, (void **)&piType);

    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_X__, jni_double_vector, (void **)&dataX);
    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_Y__, jni_double_vector, (void **)&dataY);
    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_Z__, jni_double_vector, (void **)&dataZ);

    getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_COLORS__, jni_double_vector, (void **)&colors);

    if (colors != NULL)
    {
        /* Add 'variable' tlist items to stack */
        tList = createReturnedList(4, variable_tlist_color);

        if (type == __GO_FAC3D__)
        {
            int numColors = 0;
            int *piNumColors = &numColors;

            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void **)&piNbRow);
            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void **)&piNbCol);

            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_COLORS__, jni_int, (void **)&piNumColors);

            addMatrixToReturnedList(tList, dataX, nbRow, nbCol);
            addMatrixToReturnedList(tList, dataY, nbRow, nbCol);
            addMatrixToReturnedList(tList, dataZ, nbRow, nbCol);

            /*
             * With per-facet colors, the data vector might be either a column one or a row one,
             * only the row vector case is managed at the moment.
             */
            if (numColors == nbCol)
            {
                addMatrixToReturnedList(tList, colors, 1, nbCol);
            }
            else
            {
                addMatrixToReturnedList(tList, colors, nbRow, nbCol);
            }

        }
        destroyReturnedList(tList);
    }
    else /* no color provided in input*/
    {
        /* Add 'variable' tlist items to stack */
        tList = createReturnedList(3, variable_tlist);

        if (type == __GO_FAC3D__)
        {
            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void **)&piNbRow);
            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void **)&piNbCol);

            addMatrixToReturnedList(tList, dataX, nbRow, nbCol);
            addMatrixToReturnedList(tList, dataY, nbRow, nbCol);
            addMatrixToReturnedList(tList, dataZ, nbRow, nbCol);
        }
        else if (type == __GO_PLOT3D__)
        {
            int* xDimensions;
            int* yDimensions;

            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_X__, jni_int, (void **)&piNbRow);
            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_Y__, jni_int, (void **)&piNbCol);

            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_X_DIMENSIONS__, jni_int_vector, (void **)&xDimensions);
            getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_Y_DIMENSIONS__, jni_int_vector, (void **)&yDimensions);

            addMatrixToReturnedList(tList, dataX, xDimensions[0], xDimensions[1]);
            addMatrixToReturnedList(tList, dataY, yDimensions[0], yDimensions[1]);
            addMatrixToReturnedList(tList, dataZ, nbRow, nbCol);
        }

        destroyReturnedList(tList);
    }

    return 0;
}