Beispiel #1
0
static void  plugin_init (UgetPluginAria2* plugin)
{
	if (global.data == NULL)
		global_init ();
	else
		global_ref ();

	ug_array_init (&plugin->gids, sizeof (char*), 16);
	ug_array_init (&plugin->files, sizeof (Aria2File), 8);
	plugin->stopped = TRUE;
	plugin->synced = TRUE;
}
Beispiel #2
0
//////////////////////////////////////////////////////////////////////////////
// reflect photons
void Surface::reflect(Light& l)
{
    for (int i=0;i<l.nb_photon();i++)
    {
        Photon& p=l.get_photon(i);

        if (!p.is_valid())
            continue;

        local_ref(p);
        reflect_photon(p);
        global_ref(p);
    }
}
Beispiel #3
0
///////////////////////////////////////////////////////////////////////////////
// transmit photons
void Surface::transmit(Light& l)
{
    _pMaterialPrev=&(l.material());
    _pMaterialNext=_pMaterial;

    assert(_pMaterialPrev);

    for (int i=0;i<l.nb_photon();i++)
    {
        Photon& p=l.get_photon(i);

        if (!p.is_valid())
            continue;

        local_ref(p);
        transmit_photon(p);
        global_ref(p);
    }

    if( (_pMaterial!=0)  && (_bIsPerfect==false))
        l.set_material(_pMaterial);
}