Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
protocols::match::BumpGrid Class Reference

#include <BumpGrid.hh>

Inheritance diagram for protocols::match::BumpGrid:
Inheritance graph
[legend]

Public Types

typedef Bool3DGrid::BoundingBox BoundingBox
 
typedef Bool3DGrid::Bin3D Bin3D
 
typedef Bool3DGrid::Vector Vector
 
typedef std::pair< Vector,
core::Real
Sphere
 
typedef core::Real Real
 
typedef utility::VirtualBase parent
 

Public Member Functions

 BumpGrid ()
 
 BumpGrid (BumpGrid const &)
 
 ~BumpGrid () override
 
BumpGridoperator= (BumpGrid const &)
 
void set_bounding_box (BoundingBox const &bb)
 Initialization. More...
 
void set_general_overlap_tolerance (Real tolerated_overlap)
 Set the tolerance for sphere overlap between all sphere types. All tolerances must be set before any spheres are ORed into the grid. More...
 
void set_pair_overlap_tolerance (ProbeRadius rad1, ProbeRadius rad2, Real tolerated_overlap)
 Set the overlap tolerance for a specific pair of sphere types (e.g. OXY/NIT) The specific tolerance is combined with the general overlap tolerance. All tolerances must be set before any spheres are ORed into the grid. More...
 
BumpGrid create_bump_grid_for_bb (BoundingBox const &bb) const
 
BumpGridOP create_new_bump_grid_for_bb (BoundingBox const &bb) const
 
void or_with (BumpGrid const &)
 
void and_with (BumpGrid const &)
 
void or_by_sphere (Sphere const &)
 
void or_by_sphere (Vector const &center, ProbeRadius radius_type)
 
bool overlaps (BumpGrid const &) const
 
bool occupied (ProbeRadius radius_type, Vector const &p) const
 Collision detection by a point p with a given (fixed) radius type. Collision detection is performed in "configuration space", where the obstacles have been convolved with a spherical probe of a given radius. This collision detection is conservative: it will not report a collision to exist that does not, but may miss a collision that does exist. More...
 
Real pair_overlap_tolerance (ProbeRadius rad1, ProbeRadius rad2) const
 
Bool3DGrid const & grid (ProbeRadius radtype) const
 
Real required_separation_distance (ProbeRadius rad1, ProbeRadius rad2) const
 

Static Public Member Functions

static Real probe_radius (ProbeRadius radtype)
 

Private Attributes

utility::vector1< Bool3DGridOPgrids_
 
utility::vector1
< utility::vector1< Real > > 
pair_permit_overlap_
 allow some pairs of atom types to overlap by a certain amount – e.g. O and N More...
 
Real general_permit_overlap_
 allow all pairs of atom types to overlap by a certain amount More...
 

Member Typedef Documentation

typedef utility::VirtualBase protocols::match::BumpGrid::parent

Constructor & Destructor Documentation

protocols::match::BumpGrid::BumpGrid ( )
protocols::match::BumpGrid::BumpGrid ( BumpGrid const &  rhs)
protocols::match::BumpGrid::~BumpGrid ( )
overridedefault

Member Function Documentation

void protocols::match::BumpGrid::and_with ( BumpGrid const &  other)
BumpGrid protocols::match::BumpGrid::create_bump_grid_for_bb ( BoundingBox const &  bb) const

The input bounding box is assumed to hold all of the (real space) spheres that should be represented. Create a larger bounding box big enough to hold all of the configuration space spheres.

References general_permit_overlap_, pair_permit_overlap_, and set_bounding_box().

BumpGridOP protocols::match::BumpGrid::create_new_bump_grid_for_bb ( BoundingBox const &  bb) const
Bool3DGrid const& protocols::match::BumpGrid::grid ( ProbeRadius  radtype) const
inline

References grids_.

bool protocols::match::BumpGrid::occupied ( ProbeRadius  radius_type,
Vector const &  p 
) const

Collision detection by a point p with a given (fixed) radius type. Collision detection is performed in "configuration space", where the obstacles have been convolved with a spherical probe of a given radius. This collision detection is conservative: it will not report a collision to exist that does not, but may miss a collision that does exist.

References protocols::sparta::contains(), grids_, and protocols::match::ZERO.

Referenced by protocols::match::upstream::ProteinUpstreamBuilder::atom_coordinate_unacceptable().

BumpGrid & protocols::match::BumpGrid::operator= ( BumpGrid const &  rhs)
void protocols::match::BumpGrid::or_by_sphere ( Sphere const &  input)

Input sphere is a real-space sphere – it's radius will be increased by the varying probe radii to create the varying configuration-space spheres.

References grids_, protocols::match::n_probe_radii, and probe_radius().

Referenced by protocols::match::fill_grid_with_backbone_heavyatom_spheres(), protocols::match::fill_grid_with_residue_heavyatom_spheres(), and protocols::match::fill_grid_with_residue_spheres().

void protocols::match::BumpGrid::or_by_sphere ( Vector const &  center,
ProbeRadius  radius_type 
)
void protocols::match::BumpGrid::or_with ( BumpGrid const &  other)
bool protocols::match::BumpGrid::overlaps ( BumpGrid const &  other) const
BumpGrid::Real protocols::match::BumpGrid::pair_overlap_tolerance ( ProbeRadius  rad1,
ProbeRadius  rad2 
) const

References pair_permit_overlap_.

static Real protocols::match::BumpGrid::probe_radius ( ProbeRadius  radtype)
inlinestatic
Real protocols::match::BumpGrid::required_separation_distance ( ProbeRadius  rad1,
ProbeRadius  rad2 
) const
inline
void protocols::match::BumpGrid::set_bounding_box ( BoundingBox const &  bb)

Initialization.

References grids_, protocols::match::n_probe_radii, and probe_radius().

Referenced by create_bump_grid_for_bb().

void protocols::match::BumpGrid::set_general_overlap_tolerance ( Real  tolerated_overlap)

Set the tolerance for sphere overlap between all sphere types. All tolerances must be set before any spheres are ORed into the grid.

References general_permit_overlap_.

void protocols::match::BumpGrid::set_pair_overlap_tolerance ( ProbeRadius  rad1,
ProbeRadius  rad2,
Real  tolerated_overlap 
)

Set the overlap tolerance for a specific pair of sphere types (e.g. OXY/NIT) The specific tolerance is combined with the general overlap tolerance. All tolerances must be set before any spheres are ORed into the grid.

References pair_permit_overlap_.

Member Data Documentation

Real protocols::match::BumpGrid::general_permit_overlap_
private

allow all pairs of atom types to overlap by a certain amount

Referenced by create_bump_grid_for_bb(), create_new_bump_grid_for_bb(), operator=(), required_separation_distance(), and set_general_overlap_tolerance().

utility::vector1< Bool3DGridOP > protocols::match::BumpGrid::grids_
private
utility::vector1< utility::vector1< Real > > protocols::match::BumpGrid::pair_permit_overlap_
private

allow some pairs of atom types to overlap by a certain amount – e.g. O and N

Referenced by BumpGrid(), create_bump_grid_for_bb(), create_new_bump_grid_for_bb(), operator=(), pair_overlap_tolerance(), required_separation_distance(), and set_pair_overlap_tolerance().


The documentation for this class was generated from the following files: