Xmipp  v3.23.11-Nereus
Public Member Functions | Public Attributes | List of all members
cif::tls_selection_intersection Struct Reference
Inheritance diagram for cif::tls_selection_intersection:
Inheritance graph
[legend]
Collaboration diagram for cif::tls_selection_intersection:
Collaboration graph
[legend]

Public Member Functions

 tls_selection_intersection (std::unique_ptr< tls_selection > &lhs, std::unique_ptr< tls_selection > &rhs)
 
 tls_selection_intersection (std::unique_ptr< tls_selection > &lhs, std::unique_ptr< tls_selection > &&rhs)
 
void collect_residues (cif::datablock &db, std::vector< tls_residue > &residues, size_t indentLevel) const override
 

Public Attributes

std::unique_ptr< tls_selection > lhs
 
std::unique_ptr< tls_selection > rhs
 

Detailed Description

Definition at line 516 of file tls.cpp.

Constructor & Destructor Documentation

◆ tls_selection_intersection() [1/2]

cif::tls_selection_intersection::tls_selection_intersection ( std::unique_ptr< tls_selection > &  lhs,
std::unique_ptr< tls_selection > &  rhs 
)
inline

Definition at line 518 of file tls.cpp.

519  : lhs(lhs.release())
520  , rhs(rhs.release())
521  {
522  }
std::unique_ptr< tls_selection > lhs
Definition: tls.cpp:553
std::unique_ptr< tls_selection > rhs
Definition: tls.cpp:554

◆ tls_selection_intersection() [2/2]

cif::tls_selection_intersection::tls_selection_intersection ( std::unique_ptr< tls_selection > &  lhs,
std::unique_ptr< tls_selection > &&  rhs 
)
inline

Definition at line 524 of file tls.cpp.

525  : lhs(lhs.release())
526  , rhs(rhs.release())
527  {
528  }
std::unique_ptr< tls_selection > lhs
Definition: tls.cpp:553
std::unique_ptr< tls_selection > rhs
Definition: tls.cpp:554

Member Function Documentation

◆ collect_residues()

void cif::tls_selection_intersection::collect_residues ( cif::datablock &  db,
std::vector< tls_residue > &  residues,
size_t  indentLevel 
) const
inlineoverride

Definition at line 530 of file tls.cpp.

531  {
532  auto a = residues;
533  for_each(a.begin(), a.end(), [](auto &r)
534  { r.selected = false; });
535 
536  auto b = residues;
537  for_each(b.begin(), b.end(), [](auto &r)
538  { r.selected = false; });
539 
540  lhs->collect_residues(db, a, indentLevel + 1);
541  rhs->collect_residues(db, b, indentLevel + 1);
542 
543  for (auto ai = a.begin(), bi = b.begin(), ri = residues.begin(); ri != residues.end(); ++ai, ++bi, ++ri)
544  ri->selected = ai->selected and bi->selected;
545 
546  if (cif::VERBOSE > 0)
547  {
548  std::cout << std::string(indentLevel * 2, ' ') << "Intersection" << std::endl;
549  dump_selection(residues, indentLevel);
550  }
551  }
std::unique_ptr< tls_selection > lhs
Definition: tls.cpp:553
doublereal * b
void dump_selection(const std::vector< tls_residue > &selected, size_t indentLevel)
Definition: tls.cpp:69
if(fabs(c[*nmax+ *nmax *c_dim1])==0.e0)
int VERBOSE
Definition: utilities.cpp:58
std::unique_ptr< tls_selection > rhs
Definition: tls.cpp:554
doublereal * a

Member Data Documentation

◆ lhs

std::unique_ptr<tls_selection> cif::tls_selection_intersection::lhs

Definition at line 553 of file tls.cpp.

◆ rhs

std::unique_ptr<tls_selection> cif::tls_selection_intersection::rhs

Definition at line 554 of file tls.cpp.


The documentation for this struct was generated from the following file: