The Gnome Chemistry Utils
0.14.0
|
This class represents and draws a cylinder. More...
#include <gcu/cylinder.h>
Public Member Functions | |
Cylinder (int faces=0) | |
void | setup (int faces) |
void | draw (const Vector &end1, const Vector &end2, double radius) const |
void | drawMulti (const Vector &end1, const Vector &end2, double radius, int order, double shift, const Vector &planeNormalVector) const |
This class represents and draws a cylinder.
Definition at line 42 of file cylinder.h.
gcu::Cylinder::Cylinder | ( | int | faces = 0 | ) |
creates a cylinder with given number of faces.
draws the cylinder at specified position, with specified radius.
end1 | the position of the first end of the cylinder. that is, the center of the first disc-shaped face. |
end2 | the position of the second end of the cylinder. that is, the center of the second disc-shaped face. |
radius | the radius of the cylinder |
void gcu::Cylinder::drawMulti | ( | const Vector & | end1, |
const Vector & | end2, | ||
double | radius, | ||
int | order, | ||
double | shift, | ||
const Vector & | planeNormalVector | ||
) | const |
draws the cylinder at specified position, with specified radius. the order and shift arguments allow to render multiple cylinders at once, which is useful in libavogadro. for multiple bonds between atoms. If you only want to render one cylinder, leave order and shift at their default values.
end1 | the position of the first end of the cylinder. that is, the center of the first disc-shaped face. |
end2 | the position of the second end of the cylinder. that is, the center of the second disc-shaped face. |
radius | the radius of the cylinder |
order | to render only one cylinder, leave this set to the default value, which is 1. If order>1, then order parallel cylinders are drawn around the axis (end1 - end2). |
shift | this is only meaningful of order>1, otherwise just let this set to the default value. When order>1, this is interpreted as the displacement of the axis of the drawn cylinders from the axis (end1 - end2). |
planeNormalVector | the unit normal vector of the plane in which we will try to fit the cylinders. This is useful to draw double bonds in a molecule in such a way that they avoid looking like single bonds. To achieve that, just pass the molecule's fitting plane's unit normal vector here. |
void gcu::Cylinder::setup | ( | int | faces | ) |
initializes the cylinder with given number of faces. If the cylinder was already initialized, any pre-allocated buffers are freed and then re-allocated