|
Rosetta 3.5
|
Helper class for the OccupiedSpaceHasher which manages the logic for how to iterate across the 64 voxels that each 6-D point covers. More...
#include <VoxelSetIterator.hh>

Public Types | |
| typedef core::Size | Size |
| typedef core::Real | Real |
| typedef core::Vector | Vector |
| typedef numeric::geometry::BoundingBox < Vector > | BoundingBox |
| typedef numeric::geometry::hashing::Real3 | Real3 |
| typedef numeric::geometry::hashing::Size6 | Size6 |
| typedef numeric::geometry::hashing::Bin6D | Bin6D |
Public Member Functions | |
| VoxelSetIterator (BoundingBox const &bb, Size3 const &n_xyz_bins, Size3 const &n_euler_bins, Real3 const &xyz_bin_widths, Real3 const &euler_bin_widths, Real3 const &xyz_bin_halfwidths, Real3 const &euler_bin_halfwidths, Real6 const &point) | |
| void | operator++ () |
| bool | at_end () const |
| void | get_bin_and_pos (Size6 &bin, Size &pos) const |
Private Member Functions | |
| void | calc_bin_and_pos () |
Private Attributes | |
| BoundingBox | bb_ |
| Size3 | n_xyz_bins_ |
| Size3 | n_euler_bins_ |
| Real3 | xyz_bin_widths_ |
| Real3 | euler_bin_widths_ |
| Real3 | xyz_bin_halfwidths_ |
| Real3 | euler_bin_halfwidths_ |
| Real6 | point_ |
| Bin6D | basebin_ |
| Bin6D | basehalfbin_ |
| bool | theta_near_0_ |
| bool | theta_near_180_ |
| utility::fixedsizearray1< Size, 2 > | wrapped_phipsi_bins_ |
| utility::fixedsizearray1< Size, 2 > | wrapped_phipsi_halfbins_ |
| utility::FixedSizeLexicographicalIterator< 6 > | iter64_ |
| Size6 | curr_bin_ |
| Size | curr_pos_ |
Helper class for the OccupiedSpaceHasher which manages the logic for how to iterate across the 64 voxels that each 6-D point covers.
This class ensures that the bounding box for the hash is not walked outside of, that the phi and psi are wrapped at 360, and that when theta is near a gimbal-lock angle of 180 or 0, that phi and psi are appropriately wrapped to the negative rotation. This class may be rapidly allocated and deallocated on the stack – no calls to new are made anywhere.
Definition at line 45 of file VoxelSetIterator.hh.
| typedef numeric::geometry::hashing::Bin6D protocols::match::VoxelSetIterator::Bin6D |
Definition at line 54 of file VoxelSetIterator.hh.
| typedef numeric::geometry::BoundingBox< Vector > protocols::match::VoxelSetIterator::BoundingBox |
Definition at line 51 of file VoxelSetIterator.hh.
Definition at line 49 of file VoxelSetIterator.hh.
| typedef numeric::geometry::hashing::Real3 protocols::match::VoxelSetIterator::Real3 |
Definition at line 52 of file VoxelSetIterator.hh.
Definition at line 48 of file VoxelSetIterator.hh.
| typedef numeric::geometry::hashing::Size6 protocols::match::VoxelSetIterator::Size6 |
Definition at line 53 of file VoxelSetIterator.hh.
Definition at line 50 of file VoxelSetIterator.hh.
| protocols::match::VoxelSetIterator::VoxelSetIterator | ( | BoundingBox const & | bb, |
| Size3 const & | n_xyz_bins, | ||
| Size3 const & | n_euler_bins, | ||
| Real3 const & | xyz_bin_widths, | ||
| Real3 const & | euler_bin_widths, | ||
| Real3 const & | xyz_bin_halfwidths, | ||
| Real3 const & | euler_bin_halfwidths, | ||
| Real6 const & | point | ||
| ) |
Initalize the iterator with both the bounding volume and discritezation data from the OccupiedSpaceHasher, and also with the coordinates of the 6-d point that this instance will be responsible for. One point per VoxelSetIterator.
Definition at line 32 of file VoxelSetIterator.cc.
References basebin_, basehalfbin_, bb_, calc_bin_and_pos(), euler_bin_halfwidths_, euler_bin_widths_, iter64_, n_euler_bins_, n_xyz_bins_, point_, theta_near_0_, theta_near_180_, wrapped_phipsi_bins_, wrapped_phipsi_halfbins_, xyz_bin_halfwidths_, and xyz_bin_widths_.
| bool protocols::match::VoxelSetIterator::at_end | ( | ) | const |
Definition at line 136 of file VoxelSetIterator.cc.
References iter64_.
Referenced by calc_bin_and_pos(), get_bin_and_pos(), protocols::match::OccupiedSpaceHash::insert_hit_geometry(), protocols::match::OccupiedSpaceHash::match_possible_for_hit_geometry(), and protocols::match::OccupiedSpaceHash::note_hit_geometry().
|
private |
Definition at line 148 of file VoxelSetIterator.cc.
References at_end(), basebin_, basehalfbin_, curr_bin_, curr_pos_, iter64_, n_euler_bins_, theta_near_0_, theta_near_180_, wrapped_phipsi_bins_, and wrapped_phipsi_halfbins_.
Referenced by operator++(), and VoxelSetIterator().
Definition at line 141 of file VoxelSetIterator.cc.
References at_end(), curr_bin_, and curr_pos_.
Referenced by protocols::match::OccupiedSpaceHash::insert_hit_geometry(), protocols::match::OccupiedSpaceHash::match_possible_for_hit_geometry(), and protocols::match::OccupiedSpaceHash::note_hit_geometry().
| void protocols::match::VoxelSetIterator::operator++ | ( | ) |
Definition at line 114 of file VoxelSetIterator.cc.
References basebin_, basehalfbin_, calc_bin_and_pos(), iter64_, n_xyz_bins_, and protocols::loops::start.
|
private |
Definition at line 85 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), operator++(), and VoxelSetIterator().
|
private |
Definition at line 86 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), operator++(), and VoxelSetIterator().
|
private |
Definition at line 76 of file VoxelSetIterator.hh.
Referenced by VoxelSetIterator().
|
private |
Definition at line 96 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), and get_bin_and_pos().
|
private |
Definition at line 97 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), and get_bin_and_pos().
|
private |
Definition at line 82 of file VoxelSetIterator.hh.
Referenced by VoxelSetIterator().
|
private |
Definition at line 80 of file VoxelSetIterator.hh.
Referenced by VoxelSetIterator().
|
private |
Definition at line 95 of file VoxelSetIterator.hh.
Referenced by at_end(), calc_bin_and_pos(), operator++(), and VoxelSetIterator().
|
private |
Definition at line 78 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), and VoxelSetIterator().
|
private |
Definition at line 77 of file VoxelSetIterator.hh.
Referenced by operator++(), and VoxelSetIterator().
|
private |
Definition at line 83 of file VoxelSetIterator.hh.
Referenced by VoxelSetIterator().
|
private |
Definition at line 89 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), and VoxelSetIterator().
|
private |
Definition at line 90 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), and VoxelSetIterator().
|
private |
Definition at line 92 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), and VoxelSetIterator().
|
private |
Definition at line 93 of file VoxelSetIterator.hh.
Referenced by calc_bin_and_pos(), and VoxelSetIterator().
|
private |
Definition at line 81 of file VoxelSetIterator.hh.
Referenced by VoxelSetIterator().
|
private |
Definition at line 79 of file VoxelSetIterator.hh.
Referenced by VoxelSetIterator().
1.8.4