void JumpMovement:: set_dimensions(const Vec* newpos) { set_dimension(JumpMovement::X,newpos->x()); set_dimension(JumpMovement::Y,newpos->y()); set_dimension(JumpMovement::Z,newpos->z()); }
/*! Creates a new patch. */ Patch::Patch(const int &id, const int &dimension) : m_dirty(true), m_dirty_output(true), m_output_manager(nullptr) { set_id(id) ; set_dimension(dimension); std::ostringstream convert; convert << get_id(); set_name(convert.str()); }
int do_operation_map(char *save) { t_dim dim; dim = set_dimension(); if (check_array(save, &dim) == -1) { ft_putstr("map error\n"); return (-1); } get_size(save, &dim); if (dim.width < 2 || dim.height < 2) { if (exeption_solver(save, dim) == 0) return (-1); } solver(save, &dim, (dim.width * dim.height + dim.height + dim.firstline)); replace_square(save, &dim, dim.size_max_square, dim.pos_max_square); ft_putstr2(save); return (1); }
void WitnessSet::receive(int source, ParallelismConfig & mpi_config) { MPI_Status statty_mc_gatty; int *buffer = new int[8]; MPI_Recv(buffer, 8, MPI_INT, WITNESS_SET, source, mpi_config.comm(), &statty_mc_gatty); set_dimension(buffer[0]); comp_num_ = buffer[1]; incid_num_ = buffer[2]; num_vars_ = buffer[3]; num_natty_vars_ = buffer[4]; unsigned int temp_num_pts = buffer[5]; unsigned int temp_num_linears = buffer[6]; unsigned int temp_num_patches = buffer[7]; delete [] buffer; vec_mp tempvec; init_vec_mp2(tempvec,0,1024); for (unsigned int ii=0; ii<temp_num_linears; ii++) { receive_vec_mp(tempvec,source); add_linear(tempvec); } for (unsigned int ii=0; ii<temp_num_patches; ii++) { receive_vec_mp(tempvec,source); add_patch(tempvec); } for (unsigned int ii=0; ii<temp_num_pts; ii++) { receive_vec_mp(tempvec,source); add_point(tempvec); } clear_vec_mp(tempvec); return; }
static void set_arrow_shape (GooCanvas *canvas) { int width; int shape_a, shape_b, shape_c; GooCanvasPoints *points; char buf[100]; width = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (canvas), "width")); shape_a = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (canvas), "shape_a")); shape_b = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (canvas), "shape_b")); shape_c = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (canvas), "shape_c")); /* Big arrow */ g_object_set (g_object_get_data (G_OBJECT (canvas), "big_arrow"), "line-width", 10.0 * width, "arrow-tip-length", (double) (shape_a), "arrow-length", (double) (shape_b), "arrow-width", (double) (shape_c), NULL); /* Outline */ points = goo_canvas_points_new (5); points->coords[0] = RIGHT - 10 * shape_a * width; points->coords[1] = MIDDLE - 10 * width / 2; points->coords[2] = RIGHT - 10 * shape_b * width; points->coords[3] = MIDDLE - 10 * (shape_c * width / 2.0); points->coords[4] = RIGHT; points->coords[5] = MIDDLE; points->coords[6] = points->coords[2]; points->coords[7] = MIDDLE + 10 * (shape_c * width / 2.0); points->coords[8] = points->coords[0]; points->coords[9] = MIDDLE + 10 * width / 2; g_object_set (g_object_get_data (G_OBJECT (canvas), "outline"), "points", points, NULL); goo_canvas_points_unref (points); /* Drag boxes */ move_drag_box (g_object_get_data (G_OBJECT (canvas), "width_drag_box"), LEFT, MIDDLE - 10 * width / 2.0); move_drag_box (g_object_get_data (G_OBJECT (canvas), "shape_a_drag_box"), RIGHT - 10 * shape_a * width, MIDDLE); move_drag_box (g_object_get_data (G_OBJECT (canvas), "shape_b_c_drag_box"), RIGHT - 10 * shape_b * width, MIDDLE - 10 * (shape_c * width / 2.0)); /* Dimensions */ set_dimension (canvas, "width_arrow", "width_text", LEFT - 10, MIDDLE - 10 * width / 2.0, LEFT - 10, MIDDLE + 10 * width / 2.0, LEFT - 15, MIDDLE, width); set_dimension (canvas, "shape_a_arrow", "shape_a_text", RIGHT - 10 * shape_a * width, MIDDLE + 10 * (shape_c * width / 2.0) + 10, RIGHT, MIDDLE + 10 * (shape_c * width / 2.0) + 10, RIGHT - 10 * shape_a * width / 2.0, MIDDLE + 10 * (shape_c * width / 2.0) + 15, shape_a); set_dimension (canvas, "shape_b_arrow", "shape_b_text", RIGHT - 10 * shape_b * width, MIDDLE + 10 * (shape_c * width / 2.0) + 35, RIGHT, MIDDLE + 10 * (shape_c * width / 2.0) + 35, RIGHT - 10 * shape_b * width / 2.0, MIDDLE + 10 * (shape_c * width / 2.0) + 40, shape_b); set_dimension (canvas, "shape_c_arrow", "shape_c_text", RIGHT + 10, MIDDLE - 10 * shape_c * width / 2.0, RIGHT + 10, MIDDLE + 10 * shape_c * width / 2.0, RIGHT + 15, MIDDLE, shape_c); /* Info */ sprintf (buf, "line-width: %d", width); g_object_set (g_object_get_data (G_OBJECT (canvas), "width_info"), "text", buf, NULL); sprintf (buf, "arrow-tip-length: %d (* line-width)", shape_a); g_object_set (g_object_get_data (G_OBJECT (canvas), "shape_a_info"), "text", buf, NULL); sprintf (buf, "arrow-length: %d (* line-width)", shape_b); g_object_set (g_object_get_data (G_OBJECT (canvas), "shape_b_info"), "text", buf, NULL); sprintf (buf, "arrow-width: %d (* line-width)", shape_c); g_object_set (g_object_get_data (G_OBJECT (canvas), "shape_c_info"), "text", buf, NULL); /* Sample arrows */ g_object_set (g_object_get_data (G_OBJECT (canvas), "sample_1"), "line-width", (double) width, "arrow-tip-length", (double) shape_a, "arrow-length", (double) shape_b, "arrow-width", (double) shape_c, NULL); g_object_set (g_object_get_data (G_OBJECT (canvas), "sample_2"), "line-width", (double) width, "arrow-tip-length", (double) shape_a, "arrow-length", (double) shape_b, "arrow-width", (double) shape_c, NULL); g_object_set (g_object_get_data (G_OBJECT (canvas), "sample_3"), "line-width", (double) width, "arrow-tip-length", (double) shape_a, "arrow-length", (double) shape_b, "arrow-width", (double) shape_c, NULL); }
static int change_size(QSP_ARG_DECL Data_Obj *dst_dp,Data_Obj *src_dp ) { Dimension_Set ef, *enlargement_factor=&ef; Dimension_Set rf, *reduction_factor=&rf; Vec_Obj_Args oa1, *oap=&oa1; Dimension_Set size_ds, n_ds; Dimension_Set *size_dsp=(&size_ds), *n_dsp=(&n_ds); Data_Obj *src_ss_dp, *dst_ss_dp; dimension_t i,j,k,l,m; index_t offsets[N_DIMENSIONS]={0,0,0,0,0}; incr_t dst_incrs[N_DIMENSIONS], src_incrs[N_DIMENSIONS]; index_t dst_indices[N_DIMENSIONS]={0,0,0,0,0}, src_indices[N_DIMENSIONS]={0,0,0,0,0}; index_t dst_offset, src_offset; /* For simplicity, we don't allow size changes to be combined with conversions */ if( !dp_same_prec(dst_dp,src_dp,"change_size") ) return(-1); for(i=0;i<N_DIMENSIONS;i++){ if( OBJ_TYPE_DIM(dst_dp,i) > OBJ_TYPE_DIM(src_dp,i) ){ /* enlargement - subsample the destination */ set_dimension(enlargement_factor,i, floor( OBJ_TYPE_DIM(dst_dp,i) / OBJ_TYPE_DIM(src_dp,i) ) ); set_dimension(reduction_factor,i, 0); set_dimension(size_dsp,i, OBJ_TYPE_DIM(src_dp,i) ); set_dimension(n_dsp,i, DIMENSION(enlargement_factor,i) ); dst_incrs[i] = DIMENSION(n_dsp,i); src_incrs[i] = 1; } else { /* reduction - subsample the source */ set_dimension(reduction_factor,i, ceil( OBJ_TYPE_DIM(src_dp,i) / OBJ_TYPE_DIM(dst_dp,i) ) ); set_dimension(enlargement_factor,i, 0 ); set_dimension(size_dsp,i, floor( OBJ_TYPE_DIM(src_dp,i) / DIMENSION(reduction_factor,i) ) ); /* We don't need to do this multiple times, just pick one and do it */ /*set_dimension(n_dsp,i, DIMENSION(reduction_factor,i) ); */ set_dimension(n_dsp,i, 1); src_incrs[i] = DIMENSION(reduction_factor,i); dst_incrs[i] = 1; } } /* make the subsamples. * the column increment is expressed in columns, etc. */ dst_ss_dp=make_subsamp("chngsize_dst_obj",dst_dp,size_dsp,offsets,dst_incrs); src_ss_dp=make_subsamp("chngsize_src_obj",src_dp,size_dsp,offsets,src_incrs); clear_obj_args(oap); SET_OA_DEST(oap,dst_ss_dp); SET_OA_SRC_OBJ(oap,0, src_ss_dp); SET_OA_ARGSTYPE(oap, REAL_ARGS); SET_OA_PFDEV(oap,OBJ_PFDEV(dst_dp)); for(i=0;i<DIMENSION(n_dsp,4);i++){ /* foreach sequence to copy */ if( dst_incrs[4] > 1 ) dst_indices[4]=i; else src_indices[4]=i; for(j=0;j<DIMENSION(n_dsp,3);j++){ /* foreach frame to copy */ if( dst_incrs[3] > 1 ) dst_indices[3]=j; else src_indices[3]=j; for(k=0;k<DIMENSION(n_dsp,2);k++){ /* foreach row */ if( dst_incrs[2] > 1 ) dst_indices[2]=k; else src_indices[2]=k; for(l=0;l<DIMENSION(n_dsp,1);l++){ /* foreach col */ if( dst_incrs[1] > 1 ) dst_indices[1]=l; else src_indices[1]=l; for(m=0;m<DIMENSION(n_dsp,0);m++){ /* foreach comp */ if( dst_incrs[0] > 1 ) dst_indices[0]=m; else src_indices[0]=m; /* relocate the appropriate subsample */ dst_offset = dst_indices[0]*OBJ_COMP_INC(dst_dp) + dst_indices[1]*OBJ_PXL_INC(dst_dp) + dst_indices[2]*OBJ_ROW_INC(dst_dp) + dst_indices[3]*OBJ_FRM_INC(dst_dp) + dst_indices[4]*OBJ_SEQ_INC(dst_dp) ; ( * PF_OFFSET_DATA_FN(OBJ_PLATFORM(dst_ss_dp)) ) (QSP_ARG dst_ss_dp, dst_offset ); src_offset = src_indices[0]*OBJ_COMP_INC(src_dp) + src_indices[1]*OBJ_PXL_INC(src_dp) + src_indices[2]*OBJ_ROW_INC(src_dp) + src_indices[3]*OBJ_FRM_INC(src_dp) + src_indices[4]*OBJ_SEQ_INC(src_dp) ; ( * PF_OFFSET_DATA_FN(OBJ_PLATFORM(src_ss_dp)) ) (QSP_ARG src_ss_dp, src_offset ); // This doesn't check for cuda obj... //vmov(oap); perf_vfunc(QSP_ARG FVMOV, oap ); } } } } } delvec(dst_ss_dp); delvec(src_ss_dp); SET_OBJ_FLAG_BITS(dst_dp, DT_ASSIGNED); return(0); }
LineSegment::LineSegment(unsigned int dimension) { set_dimension(dimension); }
void init() { num_singular_curves_ = 0; num_faces_ = 0; set_dimension(2); }