kalzium
cylinder.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __CYLINDER_H
00026 #define __CYLINDER_H
00027
00028 #include <avogadro/global.h>
00029 #include <avogadro/glwidget.h>
00030
00031 #include <openbabel/mol.h>
00032 #include <eigen/matrix.h>
00033
00034 namespace Avogadro {
00035
00042 class CylinderPrivate;
00043 class Cylinder
00044 {
00045 protected:
00046 void initialize();
00047 void freeBuffers();
00048
00049 public:
00050 Cylinder(int faces=0);
00051 ~Cylinder();
00055 void setup( int faces );
00065 void draw( const Eigen::Vector3d &end1, const Eigen::Vector3d &end2,
00066 double radius ) const;
00092 void drawMulti( const Eigen::Vector3d &end1, const Eigen::Vector3d &end2,
00093 double radius, int order, double shift,
00094 const Eigen::Vector3d &planeNormalVector ) const;
00095
00096 private:
00097 CylinderPrivate * const d;
00098 };
00099
00100 }
00101
00102 #endif