예제 #1
0
bool CachingTargetCalculator::get_surface_target( PatchData& pd, 
                                             size_t element,
                                             Sample sample,
                                             MsqMatrix<3,2>& W_out,
                                             MsqError& err )
{
  CachedTargetData& data = get_data( pd );
  if (data.targetsSurface.empty()) {
    if (!have_surface_orient()) {
      MSQ_SETERR(err)("Incorrect surface mesh target type", MsqError::INTERNAL_ERROR );
      return false;
    }
  
    populate_data( pd, &data, cachedCalculator, err );
    MSQ_ERRZERO(err);
    if (data.targetsSurface.empty()) {
      MSQ_SETERR(err)("Attempt to get 2D target for 3D element type", MsqError::INVALID_STATE);
      return false;
    }
  }
  
    // calculate index of sample in array 
  NodeSet all_samples = pd.get_samples( element );
  unsigned offset = all_samples.num_before( sample );

  W_out = data.targetsSurface[ data.elementOffsets[element] + offset ];
  return true;
}
예제 #2
0
/**
 * empathy_groups_widget_set_group_details:
 * @self: an #EmpathyGroupsWidget
 * @group_details: the #FolksGroupDetails whose membership is to be edited, or
 * %NULL
 *
 * Change the #FolksGroupDetails whose group membership is to be edited by the
 * #EmpathyGroupsWidget.
 */
void
empathy_groups_widget_set_group_details (EmpathyGroupsWidget *self,
    FolksGroupDetails *group_details)
{
  EmpathyGroupsWidgetPriv *priv;

  g_return_if_fail (EMPATHY_IS_GROUPS_WIDGET (self));
  g_return_if_fail (
      group_details == NULL || FOLKS_IS_GROUP_DETAILS (group_details));

  priv = GET_PRIV (self);

  if (group_details == priv->group_details)
    return;

  if (priv->group_details != NULL)
    {
      g_signal_handlers_disconnect_by_func (priv->group_details,
          group_details_group_changed_cb, self);
    }

  tp_clear_object (&priv->group_details);

  if (group_details != NULL)
    {
      priv->group_details = g_object_ref (group_details);

      g_signal_connect (priv->group_details, "group-changed",
          (GCallback) group_details_group_changed_cb, self);

      populate_data (self);
    }

  g_object_notify (G_OBJECT (self), "group-details");
}
예제 #3
0
파일: pref_ui.c 프로젝트: beku/gtk_oyranos
GtkTreeModel * CreateModel()
{
    GtkTreeStore *store;
    GtkTreeIter toplevel,childlevel;
    GSList *list = NULL;
    list = populate_data();
    if( list == NULL )
    {
        g_print("\n Error :  could not populate devices");
        //exit(1);
    }
    gint total_elements = 0;
    total_elements = g_slist_length(list);
    store = gtk_tree_store_new(NUM_COLS,G_TYPE_STRING);
    GSList *temp = list;
    while( temp != NULL )
    {
        DeviceData *data = (DeviceData *)temp->data;
        g_print("\nthis is top , %u",data);
        if( g_ascii_strcasecmp() == 0 )
        {
            g_printf("")
        }
        temp = temp->next;
    }


    gtk_tree_store_append (store,&toplevel,NULL);
    gtk_tree_store_set (store,&toplevel,
                        COLUMN,"device type 1",
                        -1);

    gtk_tree_store_append (store,&childlevel,&toplevel);
    gtk_tree_store_set (store,&childlevel,
                        COLUMN,"device 1",
                        -1);

    gtk_tree_store_append (store,&childlevel,&toplevel);
    gtk_tree_store_set (store,&childlevel,
                        COLUMN,"device 2",
                        -1);

    gtk_tree_store_append (store,&childlevel,&toplevel);
    gtk_tree_store_set (store,&childlevel,
                        COLUMN,"device 3",
                        -1);
    g_slist_free(list);
    return GTK_TREE_MODEL( store);

}
예제 #4
0
int
example_main(int argc, char **argv)
{
    db_t hdb = create_database( EXAMPLE_DATABASE, &db_schema );

    int rc = EXIT_FAILURE;
    if( hdb ) {
        rc = populate_data( hdb );
        if ( EXIT_SUCCESS == rc ) {
            rc = export_data( hdb, STORAGE_TABLE, 0, 0 );
        }
    }

    return rc;
}
예제 #5
0
bool CachingTargetCalculator::get_3D_target( PatchData& pd, 
                                             size_t element,
                                             Sample sample,
                                             MsqMatrix<3,3>& W_out,
                                             MsqError& err )
{
  CachedTargetData& data = get_data( pd );
  if (data.targets3D.empty()) {
    populate_data( pd, &data, cachedCalculator, err );
    MSQ_ERRZERO(err);
  }
  
    // calculate index of sample in array 
  NodeSet all_samples = pd.get_samples( element );
  unsigned offset = all_samples.num_before( sample );

  W_out = data.targets3D[ data.elementOffsets[element] + offset ];
  return true;
}