sql_rel * rel_transactions(mvc *sql, symbol *s) { sql_rel *ret = NULL; switch (s->token) { case TR_RELEASE: ret = rel_trans(sql, DDL_RELEASE, 0, s->data.sval); break; case TR_COMMIT: assert(s->type == type_int); ret = rel_trans(sql, DDL_COMMIT, s->data.i_val, NULL); break; case TR_SAVEPOINT: ret = rel_trans(sql, DDL_COMMIT, 0, s->data.sval); break; case TR_ROLLBACK: { dnode *n = s->data.lval->h; assert(n->type == type_int); ret= rel_trans(sql, DDL_ROLLBACK, n->data.i_val, n->next->data.sval); } break; case TR_START: case TR_MODE: assert(s->type == type_int); ret = rel_trans(sql, DDL_TRANS, s->data.i_val, NULL); break; default: return sql_error(sql, 01, "transaction unknown Symbol(" PTRFMT ")->token = %s", PTRFMTCAST s, token2string(s->token)); } return ret; }
void compute_sample_relationships() { // Load a point cloud file, run the detector, store the object centroids, //Then call spatial_model over each pair of objects //Store / save the results into whatever std::cout<<"Break point 3.5, "<<scene_vector.size()<<std::endl; for (int scene_ind=0; scene_ind<scene_vector.size(); scene_ind++) { // std::cout<<"Break point 4 at loop number: "<<scene_ind<<std::endl; for (int i=0; i<number_objects; i++) { // std::cout<<"Break point 5 at loop number: "<<i<<std::endl; for (int j=0; j<number_objects; j++) scene_vector[scene_ind].scene_spatial_rel[i][j] = -1; } } for (int scene_ind=0; scene_ind<scene_vector.size(); scene_ind++) { for (int obj_ind_i=0; obj_ind_i<scene_vector[scene_ind].scene_obj_vector.size(); obj_ind_i++) { for (int obj_ind_j=0; obj_ind_j<scene_vector[scene_ind].scene_obj_vector.size(); obj_ind_j++) { tf::Vector3 rel_trans(scene_vector[scene_ind].scene_obj_vector[obj_ind_i].geo_centroid.x - scene_vector[scene_ind].scene_obj_vector[obj_ind_j].geo_centroid.x, scene_vector[scene_ind].scene_obj_vector[obj_ind_i].geo_centroid.y - scene_vector[scene_ind].scene_obj_vector[obj_ind_j].geo_centroid.y, scene_vector[scene_ind].scene_obj_vector[obj_ind_i].geo_centroid.z - scene_vector[scene_ind].scene_obj_vector[obj_ind_j].geo_centroid.z); if (rel_trans.length()<no_relation_threshold) scene_vector[scene_ind].scene_spatial_rel[obj_ind_i][obj_ind_j] = rel_trans.length(); // else // scene_vector[scene_ind].scene_spatial_rel[obj_ind_i][obj_ind_j] = -1; } } } }