The Gnome Chemistry Utils  0.14.0
Public Member Functions | List of all members
gcu::Cylinder Class Reference

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

Detailed Description

This class represents and draws a cylinder.

Author
Benoit Jacob jacob.nosp@m.@mat.nosp@m.h.jus.nosp@m.sieu.nosp@m..fr

Definition at line 42 of file cylinder.h.

Constructor & Destructor Documentation

gcu::Cylinder::Cylinder ( int  faces = 0)

creates a cylinder with given number of faces.

Member Function Documentation

void gcu::Cylinder::draw ( const Vector end1,
const Vector end2,
double  radius 
) const

draws the cylinder at specified position, with specified radius.

Parameters
end1the position of the first end of the cylinder. that is, the center of the first disc-shaped face.
end2the position of the second end of the cylinder. that is, the center of the second disc-shaped face.
radiusthe 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.

Parameters
end1the position of the first end of the cylinder. that is, the center of the first disc-shaped face.
end2the position of the second end of the cylinder. that is, the center of the second disc-shaped face.
radiusthe radius of the cylinder
orderto 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).
shiftthis 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).
planeNormalVectorthe 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


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