/* 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; }
/* 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; }
/*--------------------------------------------------------------------------*/ 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; }