void plNoteTrackDlg::DeleteCache() { if (fSegMap) { DeleteSegmentMap(fSegMap); fSegMap = nil; } }
bool plAnimStealthNode::ConvertDeInit( plMaxNode *node, plErrorMsg *pErrMsg ) { fPreppedForConvert = false; if( fCachedSegMap != nil ) DeleteSegmentMap( fCachedSegMap ); fCachedSegMap = nil; return true; }
SegmentMap *GetSharedAnimSegmentMap(std::vector<Animatable*>& anims, plErrorMsg *pErrorMsg) { if (anims.empty()) return nil; SegmentMap *segMap = GetAnimSegmentMap(anims[0], pErrorMsg); if (!segMap) return nil; int i; for (i = 1; i < anims.size(); i++) { SegmentMap *curSegMap = GetAnimSegmentMap(anims[i], pErrorMsg); // This node doesn't have a segmap, so we can't have any anims shared among all the nodes. if (!curSegMap) { DeleteSegmentMap(segMap); return nil; } if (segMap->begin() == segMap->end()) { DeleteSegmentMap(segMap); return nil; } SegmentMap::iterator it = segMap->begin(); while (it != segMap->end()) { if (curSegMap->find(it->second->fName) == curSegMap->end()) { SegmentMap::iterator del = it; it++; segMap->erase(del->second->fName); } else it++; } DeleteSegmentMap(curSegMap); } return segMap; }
void plStealthDlgProc::IDeleteSegMap() { // If we have a segment map, delete the memory associated with it DeleteSegmentMap( fSegMap ); fSegMap = nil; }