IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
vector_generators.h File Reference

Functions to generate vectors. More...

#include "VectorD.h"
#include "Cylinder3D.h"
#include "Cone3D.h"
#include "Sphere3D.h"
#include "SpherePatch3D.h"
#include "BoundingBoxD.h"
#include "utility.h"
#include "internal/grid_range_d.h"
#include "internal/internal_vector_generators.h"
+ Include dependency graph for vector_generators.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 IMP
 Base functionality and abstract base classes for representation, scoring and sampling.
 
 IMP::algebra
 General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP modules.
 

Functions

Vector3Ds IMP::algebra::get_uniform_surface_cover (const Sphere3Ds &in, double points_per_square_angstrom)
 

Vector Generators

These functions generate vector objects. Some of the methods, those with random in their name, generate a single vector chosen uniformly from the specified domain. Others, the cover methods, generate a set of points distributed (somewhat) evenly over the domain.

template<int D>
VectorD< D > IMP::algebra::get_random_vector_in (const BoundingBoxD< D > &bb)
 Generate a random vector in a box with uniform density. More...
 
template<int D>
VectorD< D > IMP::algebra::get_random_vector_on (const BoundingBoxD< D > &bb)
 Generate a random vector on a box with uniform density. More...
 
template<int D>
VectorD< D > IMP::algebra::get_random_vector_in (const SphereD< D > &s)
 Generate a random vector in a sphere with uniform density. More...
 
VectorD< 2 > IMP::algebra::get_random_vector_in (const SphereD< 2 > &s)
 
Vector3D IMP::algebra::get_random_vector_in (const Cylinder3D &c)
 Generate a random vector in a cylinder with uniform density. More...
 
VectorD< 3 > IMP::algebra::get_random_vector_on_unit_sphere ()
 
template<int D>
VectorD< D > IMP::algebra::get_random_vector_on (const SphereD< D > &s)
 Generate a random vector on a sphere with uniform density. More...
 
template<int D>
Vector< VectorD< D > > IMP::algebra::get_uniform_surface_cover (const SphereD< D > &s, unsigned int n)
 Generate a set of vectors which covers a sphere uniformly. More...
 
Vector3Ds IMP::algebra::get_uniform_surface_cover (const Cylinder3D &cyl, int number_of_points)
 Generate a set of 3d points that uniformly cover a cylinder. More...
 
template<int D>
Vector< VectorD< D > > IMP::algebra::get_uniform_upper_hemisphere_cover (const SphereD< D > &s, unsigned int n)
 Generate a set of 3D points that uniformly cover a hemisphere. More...
 
template<int D>
VectorD< D > IMP::algebra::get_random_vector_on (const UnitSimplexD< D > &s)
 Generate a random vector on a unit simplex with uniform density. More...
 
Vector3Ds IMP::algebra::get_grid_surface_cover (const Cylinder3D &cyl, int number_of_cycles, int number_of_points_on_cycle)
 Generate a grid of 3d points on a cylinder surface. More...
 
Vector3Ds IMP::algebra::get_uniform_surface_cover (const SpherePatch3D &sph, unsigned int number_of_points)
 Generate a set of 3d points that uniformly cover a patch of a sphere. More...
 
Vector3Ds IMP::algebra::get_uniform_surface_cover (const Cone3D &cone, unsigned int number_of_points)
 
template<int D>
Vector< VectorD< D > > IMP::algebra::get_grid_interior_cover_by_spacing (const BoundingBoxD< D > &bb, double s)
 
Vector3Ds IMP::algebra::get_random_chain (unsigned int n, double r, const Vector3D &start=Vector3D(0, 0, 0), const Sphere3Ds &obstacles=Sphere3Ds())
 Generate a random chain with no collisions. More...
 

Detailed Description

Functions to generate vectors.

Copyright 2007-2022 IMP Inventors. All rights reserved.

Definition in file vector_generators.h.