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 _CIvfMultiply_h_
00026 #define _CIvfMultiply_h_
00027
00028 #include <ivf/IvfShape.h>
00029
00030 IvfSmartPointer(CIvfMultiply);
00031
00032 class IVF_API CIvfMultiply: public CIvfShape {
00033 private:
00034 CIvfShapePtr m_shape;
00035 double m_offsets[3];
00036 int m_repeat[3];
00037 int m_startIndices[3];
00038 public:
00039 CIvfMultiply();
00040
00041 IvfClassInfo("CIvfMultiply", CIvfShape);
00042
00043 virtual void refresh();
00044
00045 void setShape(CIvfShape* shape);
00046 CIvfShape* getShape();
00047
00048 void setOffsets(double dx, double dy, double dz);
00049 void getOffsets(double &dx, double &dy, double &dz);
00050
00051 void setRepeat(int x, int y, int z);
00052 void getRepeat(int &x, int &y, int &z);
00053
00054 void setStartIndices(int i, int j, int k);
00055 void getStartIndices(int &i, int &j, int &k);
00056 protected:
00057 virtual void createGeometry();
00058 };
00059
00060 #endif