Changeset View
Changeset View
Standalone View
Standalone View
source/gameengine/Converter/KX_BlenderSceneConverter.cpp
| Show First 20 Lines • Show All 1,353 Lines • ▼ Show 20 Lines | bool KX_BlenderSceneConverter::MergeScene(KX_Scene *to, KX_Scene *from) | ||||
| while (itp != m_materials.end()) { | while (itp != m_materials.end()) { | ||||
| if ((*itp).first == from) | if ((*itp).first == from) | ||||
| (*itp).first = to; | (*itp).first = to; | ||||
| itp++; | itp++; | ||||
| } | } | ||||
| } | } | ||||
| MaterialCache::iterator matcacheit = m_mat_cache.find(from); | MaterialCache::iterator matcacheit = m_mat_cache.find(from); | ||||
| if (matcacheit != m_mat_cache.end()) { | |||||
| // Merge cached BL_Material map. | // Merge cached BL_Material map. | ||||
| m_mat_cache[to].insert(matcacheit->second.begin(), matcacheit->second.end()); | m_mat_cache[to].insert(matcacheit->second.begin(), matcacheit->second.end()); | ||||
| m_mat_cache.erase(matcacheit); | m_mat_cache.erase(matcacheit); | ||||
| } | |||||
| PolyMaterialCache::iterator polymatcacheit = m_polymat_cache.find(from); | PolyMaterialCache::iterator polymatcacheit = m_polymat_cache.find(from); | ||||
| if (polymatcacheit != m_polymat_cache.end()) { | |||||
| // Merge cached RAS_IPolyMaterial map. | // Merge cached RAS_IPolyMaterial map. | ||||
| m_polymat_cache[to].insert(polymatcacheit->second.begin(), polymatcacheit->second.end()); | m_polymat_cache[to].insert(polymatcacheit->second.begin(), polymatcacheit->second.end()); | ||||
| m_polymat_cache.erase(polymatcacheit); | m_polymat_cache.erase(polymatcacheit); | ||||
| } | |||||
| return true; | return true; | ||||
| } | } | ||||
| /* This function merges a mesh from the current scene into another main | /* This function merges a mesh from the current scene into another main | ||||
| * it does not convert */ | * it does not convert */ | ||||
| RAS_MeshObject *KX_BlenderSceneConverter::ConvertMeshSpecial(KX_Scene *kx_scene, Main *maggie, const char *name) | RAS_MeshObject *KX_BlenderSceneConverter::ConvertMeshSpecial(KX_Scene *kx_scene, Main *maggie, const char *name) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 77 Lines • Show Last 20 Lines | |||||