void InteriorLMManager::useBaseTextures(LM_HANDLE interiorHandle, LM_HANDLE instanceHandle) { AssertFatal(interiorHandle < mInteriors.size(), "InteriorLMManager::useBaseTextures: invalid interior handle"); AssertFatal(interiorHandle == *(mInteriors[interiorHandle]->mHandlePtr), "InteriorLMManager::useBaseTextures: invalid handle value"); // Make sure the base light maps are loaded loadBaseLightmaps(interiorHandle,instanceHandle); // Install base lightmaps for this instance... Vector<GFXTexHandle>& baseHandles = getHandles(interiorHandle, 0); Vector<GFXTexHandle>& texHandles = getHandles(interiorHandle, instanceHandle); for(U32 i = 0; i < baseHandles.size(); i++) texHandles[i] = baseHandles[i]; }
rice::pastry::leafset::LeafSet* rice::pastry::leafset::testing::MergeTest::getLeafSet(::java::lang::String* str) { clinit(); auto a = npc(str)->split(u"\\["_j); /* assert((npc(a)->length == 2)) */ ; auto b = npc((*a)[int32_t(1)])->split(u"]"_j); /* assert((npc(b)->length == 2)) */ ; auto s_ccw = (*a)[int32_t(0)]; auto s_cw = (*b)[int32_t(1)]; auto s_base = (*b)[int32_t(0)]; auto ccw = getHandles(s_ccw); flip(ccw); auto base = (*getHandles(s_base))[int32_t(0)]; auto cw = getHandles(s_cw); auto ls = new ::rice::pastry::leafset::LeafSet(base, int32_t(24), true, cw, ccw); return ls; }
//------------------------------------------------------------------------------ void InteriorLMManager::addInterior(LM_HANDLE & interiorHandle, U32 numLightmaps, Interior * interior) { interiorHandle = mInteriors.size(); mInteriors.increment(); mInteriors.last() = new InteriorLMInfo; mInteriors.last()->mInterior = interior; mInteriors.last()->mHandlePtr = &interiorHandle; mInteriors.last()->mNumLightmaps = numLightmaps; // create base instance addInstance(interiorHandle, mInteriors.last()->mBaseInstanceHandle, 0); AssertFatal(mInteriors.last()->mBaseInstanceHandle == LM_HANDLE(0), "InteriorLMManager::addInterior: invalid base instance handle"); // steal the lightmaps from the interior Vector<GFXTexHandle>& texHandles = getHandles(interiorHandle, 0); for(U32 i = 0; i < interior->mLightmaps.size(); i++) { AssertFatal(interior->mLightmaps[i], "InteriorLMManager::addInterior: interior missing lightmap"); texHandles[i].set(interior->mLightmaps[i], &GFXDefaultPersistentProfile, true, String("Interior Lightmap")); } interior->mLightmaps.clear(); }