static void preview(FacetsControls *controls, FacetsArgs *args) { GwyDataField *dtheta, *dphi, *mask, *mfield = NULL; GwyContainer *data, *fdata; data = controls->mydata; fdata = controls->fdata; add_mask_field(GWY_DATA_VIEW(controls->view), NULL); add_mask_field(GWY_DATA_VIEW(controls->fview), &mask_color); mask = GWY_DATA_FIELD(gwy_container_get_object_by_name(data, "/0/mask")); dtheta = GWY_DATA_FIELD(gwy_container_get_object_by_name(fdata, "/theta")); dphi = GWY_DATA_FIELD(gwy_container_get_object_by_name(fdata, "/phi")); gwy_container_gis_object_by_name(fdata, "/1/mask", (GObject**)&mfield); gwy_data_field_mark_facets(dtheta, dphi, args->theta0, args->phi0, args->tolerance, mask); if (mfield && args->combine) { if (args->combine_type == GWY_MERGE_UNION) gwy_data_field_grains_add(mask, mfield); else if (args->combine_type == GWY_MERGE_INTERSECTION) gwy_data_field_grains_intersect(mask, mfield); } gwy_data_field_data_changed(mask); facets_mark_fdata(args, fdata); }
static void preview(FacetsControls *controls, FacetsArgs *args) { GwyDataField *dtheta, *dphi, *dfield, *mfield; GwyContainer *data, *fdata; data = controls->mydata; fdata = controls->fdata; add_mask_layer(GWY_DATA_VIEW(controls->view), NULL); add_mask_layer(GWY_DATA_VIEW(controls->fview), &mask_color); dfield = GWY_DATA_FIELD(gwy_container_get_object_by_name(data, "/0/data")); mfield = GWY_DATA_FIELD(gwy_container_get_object_by_name(data, "/0/mask")); dtheta = GWY_DATA_FIELD(gwy_container_get_object_by_name(fdata, "/theta")); dphi = GWY_DATA_FIELD(gwy_container_get_object_by_name(fdata, "/phi")); gwy_data_field_mark_facets(dtheta, dphi, args->theta0, args->phi0, args->tolerance, mfield); gwy_data_field_data_changed(mfield); facets_mark_fdata(args, fdata); facets_invalidate(controls); }