Rosetta  2020.46
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
core::membrane Namespace Reference

Functions

core::id::AtomID_Map< boolconcave_shell (core::pose::Pose &pose, core::Real min_z, core::Real max_z, core::Real incr_z, core::Real shell_radius, core::Real dist_cutoff)
 compute the concave shell from the pose, computes along a slice and takes the atoms within a shell, not just the outermost ones from the concave hull More...
 
utility::vector1
< utility::vector1< core::Size > > 
add_shell (std::map< core::Size, core::Vector > const &coords, utility::vector1< utility::vector1< core::Size > > const &point_lists, core::Real shell_radius)
 adds a shell to boundary points which are taken from the inside point list More...
 
utility::vector1
< utility::vector1< core::Size > > 
concave_hull (std::map< core::Size, core::Vector > const &coords, utility::vector1< utility::vector1< core::Size > > const &point_lists, core::Real dist_cutoff)
 computes 2D concave hull from three lists of points for inside, outside and boundary More...
 
utility::vector1
< utility::vector1< core::Size > > 
convex_hull (std::map< core::Size, core::Vector > const &coords, core::Real min_z, core::Real max_z)
 computes 2D convex hull: points in a slice on z-dimension are flattened into xy plane; the output is three lists of points for inside, outside and boundary More...
 
utility::vector1< core::Realget_distances (std::map< core::Size, core::Vector > const &coords, core::Size p1, core::Size p2, utility::vector1< core::Size > const &points, bool clock)
 compute distances in point list from line p1p2 More...
 
utility::vector1< core::Realget_angles (std::map< core::Size, core::Vector > const &coords, core::Size p1, core::Size p2, utility::vector1< core::Size > const &points, bool clock)
 compute enclosing angles in point list from line p1p2 More...
 
core::Size find_closest (std::map< core::Size, core::Vector > const &coords, core::Size p1, core::Size p2, utility::vector1< core::Size > const &inside_points, bool clock)
 find point in AtomIDMap that is closest to line connecting p1p2 More...
 
core::Size find_farthest (std::map< core::Size, core::Vector > const &coords, core::Size p1, core::Size p2, utility::vector1< core::Size > const &outside_points, bool clock)
 find point in AtomIDMap that is farthest from line connecting p1p2 More...
 
std::string inside_polygon (std::map< core::Size, core::Vector > const &coords, utility::vector1< core::Size > const &polygon, core::Vector const &q)
 checks whether the point q is inside the polygon or not i.e. compute the number of crossing points with polygon 0 outside 1 inside 2 on boundary More...
 
utility::vector1< core::Sizepoints_in_triangle (std::map< core::Size, core::Vector > const &coords, core::Size p1, core::Size p2, core::Size q, utility::vector1< core::Size > const &points)
 returns the points that are within the triangle between points p1, p2, q More...
 
core::Real distance_from_line2D (core::Vector const &p1, core::Vector const &p2, core::Vector const &q)
 distance of point q from line between points p1 and p2 More...
 
bool on_segment (core::Vector const &p1, core::Vector const &p2, core::Vector const &q)
 is point q on line segment between points p1 and p2? More...
 
bool inside_boundaries (core::Vector const &p1, core::Vector const &p2, core::Vector const &q)
 q is inside xy boundaries of p1p2 More...
 
bool clockwise (core::Vector const &p1, core::Vector const &p2, core::Vector const &q)
 is q clockwise from p1p2? More...
 
bool to_left (core::Vector const &p1, core::Vector const &p2, core::Vector const &q)
 check whether q is to the left of p1p2 More...
 
bool intersect (core::Vector const &p1, core::Vector const &p2, core::Vector const &q)
 check whether line p1p2 intersects with (q to infinity); q is the test point More...
 
core::Real enclosing_angles (core::Vector const &p1, core::Vector const &p2, core::Vector const &q)
 find the sum of angles p1q and p2q in 2D; p1, p2, q are points, not vectors More...
 

Function Documentation

utility::vector1< utility::vector1< core::Size > > core::membrane::add_shell ( std::map< core::Size, core::Vector > const &  coords,
utility::vector1< utility::vector1< core::Size > > const &  point_lists,
core::Real  shell_radius 
)

adds a shell to boundary points which are taken from the inside point list

References core::pose::motif::a(), protocols::match::upstream::b, and TR().

Referenced by concave_shell().

bool core::membrane::clockwise ( core::Vector const &  p1,
core::Vector const &  p2,
core::Vector const &  q 
)

is q clockwise from p1p2?

References protocols::hybridization::val.

Referenced by get_angles(), get_distances(), and to_left().

utility::vector1< utility::vector1< core::Size > > core::membrane::concave_hull ( std::map< core::Size, core::Vector > const &  coords,
utility::vector1< utility::vector1< core::Size > > const &  point_lists,
core::Real  dist_cutoff 
)

computes 2D concave hull from three lists of points for inside, outside and boundary

References find_closest(), points_in_triangle(), and TR().

Referenced by concave_shell().

core::id::AtomID_Map< bool > core::membrane::concave_shell ( core::pose::Pose pose,
core::Real  min_z,
core::Real  max_z,
core::Real  incr_z,
core::Real  shell_radius,
core::Real  dist_cutoff 
)

compute the concave shell from the pose, computes along a slice and takes the atoms within a shell, not just the outermost ones from the concave hull

compute the concave shell from the pose, computes along a slice and takes the atoms within a shell, not just the outermost ones

References add_shell(), concave_hull(), core::pose::Pose::conformation(), convex_hull(), protocols::simple_filters::coords(), core::conformation::Conformation::is_membrane(), core::conformation::Residue::name3(), core::pose::Pose::residue(), core::pose::Pose::total_residue(), TR(), and core::conformation::Conformation::xyz().

Referenced by protocols::membrane::MPLipidAccessibility::apply().

utility::vector1< utility::vector1< core::Size > > core::membrane::convex_hull ( std::map< core::Size, core::Vector > const &  coords,
core::Real  min_z,
core::Real  max_z 
)

computes 2D convex hull: points in a slice on z-dimension are flattened into xy plane; the output is three lists of points for inside, outside and boundary

References find_farthest(), inside_polygon(), protocols::mean_field::max(), protocols::mean_field::min(), points_in_triangle(), and TR().

Referenced by concave_shell().

core::Real core::membrane::distance_from_line2D ( core::Vector const &  p1,
core::Vector const &  p2,
core::Vector const &  q 
)

distance of point q from line between points p1 and p2

References protocols::cryst::denom().

Referenced by get_distances().

core::Real core::membrane::enclosing_angles ( core::Vector const &  p1,
core::Vector const &  p2,
core::Vector const &  q 
)

find the sum of angles p1q and p2q in 2D; p1, p2, q are points, not vectors

find the sum of angles p1q and p2q; p1, p2, q are points, not vectors

References core::pose::motif::a(), protocols::match::upstream::b, and core::pack::dunbrack::c.

Referenced by get_angles().

core::Size core::membrane::find_closest ( std::map< core::Size, core::Vector > const &  coords,
core::Size  p1,
core::Size  p2,
utility::vector1< core::Size > const &  inside_points,
bool  clock 
)

find point in AtomIDMap that is closest to line connecting p1p2

find point id that is closest to line connecting p1p2 which points: i,o,b for inside, outside or boundary

References core::scoring::packstat::old::angles, get_angles(), and protocols::mean_field::min().

Referenced by protocols::simple_moves::ExplicitWaterMover::apply(), concave_hull(), and protocols::medal::cutpoint_probabilities().

core::Size core::membrane::find_farthest ( std::map< core::Size, core::Vector > const &  coords,
core::Size  p1,
core::Size  p2,
utility::vector1< core::Size > const &  outside_points,
bool  clock 
)

find point in AtomIDMap that is farthest from line connecting p1p2

find point id that is farthest from line connecting p1p2 which points: i,o,b for inside, outside or boundary

References get_distances(), and protocols::mean_field::max().

Referenced by convex_hull().

utility::vector1< core::Real > core::membrane::get_angles ( std::map< core::Size, core::Vector > const &  coords,
core::Size  p1,
core::Size  p2,
utility::vector1< core::Size > const &  points,
bool  clock 
)

compute enclosing angles in point list from line p1p2

compute enclosing angles in point list from line p1p2 which points: i,o,b for inside, outside or boundary

References core::scoring::packstat::old::angles, clockwise(), enclosing_angles(), and core::chemical::rings::q.

Referenced by protocols::matdes::SymDofMover::apply(), and find_closest().

utility::vector1< core::Real > core::membrane::get_distances ( std::map< core::Size, core::Vector > const &  coords,
core::Size  p1,
core::Size  p2,
utility::vector1< core::Size > const &  points,
bool  clock 
)

compute distances in point list from line p1p2

compute distances in point list from line p1p2 which points: i,o,b for inside, outside or boundary

References clockwise(), distance_from_line2D(), and core::chemical::rings::q.

Referenced by find_farthest().

bool core::membrane::inside_boundaries ( core::Vector const &  p1,
core::Vector const &  p2,
core::Vector const &  q 
)

q is inside xy boundaries of p1p2

References protocols::mean_field::max(), and protocols::mean_field::min().

Referenced by on_segment().

std::string core::membrane::inside_polygon ( std::map< core::Size, core::Vector > const &  coords,
utility::vector1< core::Size > const &  polygon,
core::Vector const &  q 
)

checks whether the point q is inside the polygon or not i.e. compute the number of crossing points with polygon 0 outside 1 inside 2 on boundary

References intersect(), on_segment(), and core::chemical::rings::q.

Referenced by convex_hull(), and points_in_triangle().

bool core::membrane::intersect ( core::Vector const &  p1,
core::Vector const &  p2,
core::Vector const &  q 
)
bool core::membrane::on_segment ( core::Vector const &  p1,
core::Vector const &  p2,
core::Vector const &  q 
)

is point q on line segment between points p1 and p2?

References inside_boundaries().

Referenced by inside_polygon().

utility::vector1< core::Size > core::membrane::points_in_triangle ( std::map< core::Size, core::Vector > const &  coords,
core::Size  p1,
core::Size  p2,
core::Size  q,
utility::vector1< core::Size > const &  points 
)

returns the points that are within the triangle between points p1, p2, q

References inside_polygon().

Referenced by concave_hull(), and convex_hull().

bool core::membrane::to_left ( core::Vector const &  p1,
core::Vector const &  p2,
core::Vector const &  q 
)

check whether q is to the left of p1p2

References clockwise().

Referenced by intersect().