void InfiGLDestroyContextObjects( SDL_GLContext ctx ) {
		ObjMap::iterator vai = vertexarrays.find( ctx );
		if ( vai != vertexarrays.end() ) {
			ObjSet* va = vai->second;
			
			uint32* bufferva = new uint32[va->size()];
			
			ObjSet::iterator vaiter = va->begin();
			for ( uint32 i=0;vaiter!=va->end();++vaiter,++i )
				bufferva[i] = *vaiter;
			
			InfiGLDeleteVertexArrays( va->size(), bufferva );
			delete[] bufferva;
			delete va;
		}
		
		ObjMap::iterator fbi = framebuffers.find( ctx );
		if ( fbi != framebuffers.end() ) {
			ObjSet* fb = fbi->second;
			
			uint32* bufferfb = new uint32[fb->size()];
			
			ObjSet::iterator fbiter = fb->begin();
			for ( uint32 i=0;fbiter!=fb->end();++fbiter,++i )
				bufferfb[i] = *fbiter;
			
			InfiGLDeleteFramebuffers( fb->size(), bufferfb );
			delete[] bufferfb;
			delete fb;
		}
	}
PyObject *PyAtom::Retrieve(size_t id)
{
    ObjMap::iterator it = objmap.find(id);
    PyObject *ret = it == objmap.end()?NULL:it->second;
    Collect();
    return ret;
}
	static ObjSet* get_framebuffer() {
		SDL_GLContext ctx = InfiCurrentContext();
		ObjMap::iterator f = framebuffers.find( ctx );
		if ( f == framebuffers.end() ) {
			ObjSet* narr = new ObjSet;
			framebuffers.insert( f, std::make_pair( ctx, narr ) );
			return narr;
		} else {
			return f->second;
		}
	}
GeoObject * find_obj( std::string & objname, bool do_throw=true )
{
	//DBG << "( find_obj() " << objname << " )\n";
	ObjMap::iterator p = _objmap.find(objname);

	if (p==_objmap.end()) {
		//DBG << " -- (not found)\n";
		if (do_throw) throw("couldn't look up "+objname);
		else return 0;
	}
	//DBG << "( find_obj() " << objname << "==" << (p->second) << " )\n";
	return p->second;
}
Exemple #5
0
int Database::save_obj(Object * & obj)
{
    
    string key = wstring_to_string(obj->name);
    Json::Value attrs;
    ObjMapMap::iterator it = obj->attr_maps.begin();
    for (; it != obj->attr_maps.end(); it++){
        ObjMap * map = it->second;
        string map_name = it->first;
        ObjMap::iterator i = map->begin();
        attrs[map_name] = Json::nullValue;
        for (; i != map->end(); i++){
            attrs[map_name].append(wstring_to_string(i->first));
        }
        
    }
    root[key] = attrs;
    return 0;
}
void PyAtom::Collect()
{
    for(;;) {
        ObjMap::iterator it = objmap.begin();
        if(it == objmap.end() || it->first > collix) break;
        
        PyObject *obj = it->second;
        Py_DECREF(obj);
        objmap.erase(it);

#ifdef _DEBUG
//        post("DEL %p\n",obj);
#endif
    }

    // schedule next collect time
    double tm = flext::GetTime();
    if(tm > last+INTV) last = tm,collix = curix;
}
Exemple #7
0
 double getObjCoef(IloNumVar x) const {
    ObjMap::const_iterator const it = objMap.find(x);
    return (it == objMap.end()) ? 0.0 : it->second;
 }