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 _CIvfGleTwistExtrusion_h_
00026 #define _CIvfGleTwistExtrusion_h_
00027
00028 #include <ivf/IvfShape.h>
00029
00030 #include <GL/gle.h>
00031
00032 #include <ivfgle/IvfGleCoordArray.h>
00033 #include <ivfgle/IvfGleColorArray.h>
00034 #include <ivfgle/IvfGleContour.h>
00035 #include <ivfgle/IvfGleScalarArray.h>
00036
00037 IvfSmartPointer(CIvfGleTwistExtrusion);
00038
00039 class IVFGLE_API CIvfGleTwistExtrusion: public CIvfShape {
00040 private:
00041 CIvfGleCoordArrayPtr m_pointArray;
00042 CIvfGleColorArrayPtr m_colorArray;
00043 CIvfGleContourPtr m_contour;
00044 CIvfGleScalarArrayPtr m_twistArray;
00045 gleDouble m_up[3];
00046 public:
00047 CIvfGleTwistExtrusion();
00048
00049 IvfClassInfo("CIvfGleTwistExtrusion", CIvfShape);
00050
00051 void setColors(CIvfGleColorArray* array);
00052 void setPoints(CIvfGleCoordArray* array);
00053 void setContour(CIvfGleContour* contour);
00054 void setContourUp(double vx, double vy, double vz);
00055 void setContourUp(CIvfVec3d& vec);
00056 void setTwist(CIvfGleScalarArray* array);
00057 protected:
00058 virtual void createGeometry();
00059 };
00060
00061 #endif