Definition at line 596 of file SimilarityTableSetRank.h. References Impala::Core::Table::Copy(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Database::DataDocument::GetConcept(), Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Core::Database::RawDataSet::GetFilePathAnnotation(), Impala::Core::ImageSet::IxsDocument::GetImageSet(), Impala::Core::Database::RawDataSet::GetLocator(), Impala::Core::Table::AnnotationTable::GetQualification(), Impala::Core::Table::SimilarityTableSet::GetQuidClass(), Impala::Core::Table::SimilarityTableSet::GetRankTable(), Impala::Core::VideoSet::SegmentationDocument::GetVideoSet(), ILOG_ERROR, Impala::Core::Table::AnnotationTable::MakeFromFile(), mAnno, mAnnoConcept, mAnnoSet, mCurConcept, mDataDoc, mIxsDoc, mQualifiedRanking, mSegDoc, mSimSet, Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Set2(), and Impala::Core::Table::Table::Size(). Referenced by HandleUpdate(). 00597 { 00598 if (mAnnoSet.empty()) 00599 { 00600 Core::Table::Copy(mQualifiedRanking, 00601 mSimSet->GetRankTable(mCurConcept)); 00602 return; 00603 } 00604 if (mAnnoConcept == mCurConcept) 00605 return; 00606 00607 if (mAnno) 00608 { 00609 delete mAnno; 00610 mAnno = 0; 00611 } 00612 #ifndef REPOSITORY_USED // Here comes the deprecated stuff 00613 Util::Database* db; 00614 String conceptTab = mDataDoc->GetConcept() + ".tab"; 00615 String fName; 00616 if (mSegDoc) 00617 { 00618 Core::VideoSet::VideoSet* vidSet = mSegDoc->GetVideoSet(); 00619 fName = vidSet->GetFilePathAnnotation(mSimSet->GetQuidClass(), 00620 mAnnoSet, conceptTab, 00621 false, false); 00622 db = vidSet->GetDatabase(); 00623 } 00624 if (mIxsDoc) 00625 { 00626 Core::ImageSet::ImageSet* imSet = mIxsDoc->GetImageSet(); 00627 fName = imSet->GetFilePathAnnotation(mSimSet->GetQuidClass(), 00628 mAnnoSet, conceptTab, 00629 false, false); 00630 db = imSet->GetDatabase(); 00631 } 00632 if (fName.empty()) 00633 { 00634 ILOG_ERROR("No annations for " << mDataDoc->GetConcept()); 00635 mAnnoConcept = -2; 00636 Core::Table::Copy(mQualifiedRanking, 00637 mSimSet->GetRankTable(mCurConcept)); 00638 return; 00639 } 00640 mAnno = Core::Table::AnnotationTable::MakeFromFile(mDataDoc->GetConcept(), 00641 fName, db); 00642 #else // REPOSITORY_USED 00643 typedef Persistency::AnnotationTableLocator AnnoLoc; 00644 AnnoLoc loc; 00645 if (mSegDoc) 00646 { 00647 Core::VideoSet::VideoSet* vidSet = mSegDoc->GetVideoSet(); 00648 loc = AnnoLoc(vidSet->GetLocator(), mSimSet->GetQuidClass(), 00649 mAnnoSet, mDataDoc->GetConcept()); 00650 } 00651 if (mIxsDoc) 00652 { 00653 Core::ImageSet::ImageSet* ixsSet = mIxsDoc->GetImageSet(); 00654 loc = AnnoLoc(ixsSet->GetLocator(), mSimSet->GetQuidClass(), 00655 mAnnoSet, mDataDoc->GetConcept()); 00656 } 00657 if (! Persistency::AnnotationTableRepository().Exists(loc)) 00658 { 00659 ILOG_ERROR("No annations for " << mDataDoc->GetConcept()); 00660 mAnnoConcept = -2; 00661 Core::Table::Copy(mQualifiedRanking, 00662 mSimSet->GetRankTable(mCurConcept)); 00663 return; 00664 } 00665 00666 if (mAnno) 00667 delete mAnno; 00668 mAnno = Persistency::AnnotationTableRepository().Get(loc); 00669 #endif // REPOSITORY_USED 00670 mAnnoConcept = mCurConcept; 00671 Core::Table::Copy(mQualifiedRanking, mSimSet->GetRankTable(mCurConcept)); 00672 for (int i=0 ; i<mQualifiedRanking->Size() ; i++) 00673 { 00674 Quid quid = mQualifiedRanking->Get1(i); 00675 mQualifiedRanking->Set2(i, mAnno->GetQualification(quid)); 00676 } 00677 }
Here is the call graph for this function:
|