Rosetta
Functions
core::membrane Namespace Reference

Functions

core::id::AtomID_Map< bool > 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 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

◆ add_shell()

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, protocols::simple_filters::coords(), and TR().

Referenced by concave_shell().

◆ clockwise()

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

is q clockwise from p1p2?

References core::chemical::rings::q, and protocols::hybridization::val.

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

◆ concave_hull()

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 protocols::simple_filters::coords(), find_closest(), points_in_triangle(), and TR().

Referenced by concave_shell().

◆ 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::id::AtomID_Map< T >::has(), core::conformation::Conformation::is_membrane(), core::id::AtomID_Map< T >::n_residue(), core::conformation::Residue::name3(), core::pose::Pose::residue(), core::id::AtomID_Map< T >::set(), core::pose::Pose::total_residue(), TR(), and core::conformation::Conformation::xyz().

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

◆ convex_hull()

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 protocols::simple_filters::coords(), find_farthest(), inside_polygon(), protocols::mean_field::max(), protocols::mean_field::min(), points_in_triangle(), and TR().

Referenced by concave_shell().

◆ distance_from_line2D()

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(), and core::chemical::rings::q.

Referenced by get_distances().

◆ enclosing_angles()

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::chemical::rings::q.

Referenced by get_angles().

◆ find_closest()

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, protocols::simple_filters::coords(), get_angles(), and protocols::mean_field::min().

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

◆ find_farthest()

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 protocols::simple_filters::coords(), get_distances(), and protocols::mean_field::max().

Referenced by convex_hull().

◆ get_angles()

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(), protocols::simple_filters::coords(), enclosing_angles(), and core::chemical::rings::q.

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

◆ get_distances()

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(), protocols::simple_filters::coords(), distance_from_line2D(), and core::chemical::rings::q.

Referenced by find_farthest().

◆ inside_boundaries()

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(), protocols::mean_field::min(), and core::chemical::rings::q.

Referenced by on_segment().

◆ inside_polygon()

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 protocols::simple_filters::coords(), intersect(), on_segment(), and core::chemical::rings::q.

Referenced by convex_hull(), and points_in_triangle().

◆ intersect()

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

◆ on_segment()

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(), and core::chemical::rings::q.

Referenced by inside_polygon().

◆ points_in_triangle()

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 protocols::simple_filters::coords(), inside_polygon(), and core::chemical::rings::q.

Referenced by concave_hull(), and convex_hull().

◆ to_left()

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(), and core::chemical::rings::q.

Referenced by intersect().