IMP  2.0.0
The Integrative Modeling Platform
IMP::algebra::Cylinder3D Class Reference

#include <IMP/algebra/Cylinder3D.h>

+ Inheritance diagram for IMP::algebra::Cylinder3D:

Public Member Functions

 Cylinder3D (const Segment3D &s, double radius)
 
const Vector3D get_inner_point_at (double relative_height, double relative_radius, double angle) const
 
double get_radius () const
 
const Segment3Dget_segment () const
 
const Vector3D get_surface_point_at (double relative_height, double angle)
 
void show (std::ostream &out=std::cout) const
 

Related Functions

(Note that these are not member functions.)

BoundingBoxD< 3 > get_bounding_box (const Cylinder3D &g)
 
const Cylinder3Dget_cylinder_3d_geometry (const Cylinder3D &g)
 
double get_surface_area (const Cylinder3D &g)
 
double get_volume (const Cylinder3D &g)
 
void set_cylinder_3d_geometry (Cylinder3D &g, const Cylinder3D &v)
 

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.

Vector3D get_random_vector_in (const Cylinder3D &c)
 Generate a random vector in a cylinder with uniform density.
 
Vector3Ds get_uniform_surface_cover (const Cylinder3D &cyl, int number_of_points)
 Generate a set of 3d points that uniformly cover a cylinder.
 
Vector3Ds 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.
 

Detailed Description

It does what is says.

Note
This class is a geometric primitive. Also, this class is not not initialized by its default constructor.

Definition at line 26 of file Cylinder3D.h.

Member Function Documentation

const Vector3D IMP::algebra::Cylinder3D::get_inner_point_at ( double  relative_height,
double  relative_radius,
double  angle 
) const

Returns a point inside the cylinder, specified by its location relative to the cylinder axis, its relative radius and its rotation angle about the axis

Parameters
relative_heighta number in the range [0..1] that specifies the point location relative to the cylinder axis such that 0 specifies the cylinder bottom and 1 specifies its top
relative_radiusa number in the range [0..1] that specifies the distance of the point from the cylinder axis relative to the cylinder radius, 0 being on the axis itself, and 1 being on the cylinder surface
angleangle in radians about the cylinder axis, with 0 set to an arbitrary but consistent direction
const Vector3D IMP::algebra::Cylinder3D::get_surface_point_at ( double  relative_height,
double  angle 
)

Returns a point on the surface of the cylinder, specified by its location relative to the cylinder axis and its rotation angle about the axis

Parameters
relative_heighta number in the range [0..1] that specifies the point location relative to the cylinder axis such that 0 specifies the cylinder bottom and 1 specifies its top
angleangle in radians about the cylinder axis, with 0 set to an arbitrary but consistent direction

Friends And Related Function Documentation

BoundingBoxD< 3 > get_bounding_box ( const Cylinder3D g)
related

Definition at line 85 of file Cylinder3D.h.

const Cylinder3D & get_cylinder_3d_geometry ( const Cylinder3D g)
related

Definition at line 85 of file Cylinder3D.h.

double get_surface_area ( const Cylinder3D g)
related

Definition at line 85 of file Cylinder3D.h.

double get_volume ( const Cylinder3D g)
related

Definition at line 85 of file Cylinder3D.h.

void set_cylinder_3d_geometry ( Cylinder3D g,
const Cylinder3D v 
)
related

Definition at line 85 of file Cylinder3D.h.


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