Mercurial > hg > orthanc
comparison OrthancServer/Sources/Search/DatabaseLookup.cpp @ 4977:dad71e6da406 more-tags
pre-filtering studies without ModalitiesInStudies first
author | Alain Mazy <am@osimis.io> |
---|---|
date | Wed, 20 Apr 2022 11:32:31 +0200 |
parents | b7ce2bb6b881 |
children | d0c34145320c |
comparison
equal
deleted
inserted
replaced
4976:03632ed1eb67 | 4977:dad71e6da406 |
---|---|
324 } | 324 } |
325 } | 325 } |
326 | 326 |
327 return false; | 327 return false; |
328 } | 328 } |
329 | |
330 bool DatabaseLookup::GetConstraint(const DicomTagConstraint*& constraint, const DicomTag& tag) const | |
331 { | |
332 for (size_t i = 0; i < constraints_.size(); i++) | |
333 { | |
334 assert(constraints_[i] != NULL); | |
335 if (constraints_[i]->GetTag() == tag) | |
336 { | |
337 constraint = constraints_.at(i); | |
338 return true; | |
339 } | |
340 } | |
341 | |
342 return false; | |
343 } | |
344 | |
345 | |
346 void DatabaseLookup::RemoveConstraint(const DicomTag& tag) | |
347 { | |
348 for (size_t i = 0; i < constraints_.size(); i++) | |
349 { | |
350 assert(constraints_[i] != NULL); | |
351 if (constraints_[i]->GetTag() == tag) | |
352 { | |
353 delete constraints_[i]; | |
354 constraints_.erase(constraints_.begin() + i); | |
355 } | |
356 } | |
357 } | |
358 | |
359 DatabaseLookup* DatabaseLookup::Clone() const | |
360 { | |
361 std::unique_ptr<DatabaseLookup> clone(new DatabaseLookup()); | |
362 | |
363 for (size_t i = 0; i < constraints_.size(); i++) | |
364 { | |
365 clone->AddConstraint(*(new DicomTagConstraint(*constraints_[i]))); | |
366 } | |
367 | |
368 return clone.release(); | |
369 } | |
329 } | 370 } |