00001 #ifndef SUBDIVSCHEME_H
00002 #define SUBDIVSCHEME_H
00003 #include "Matrices.h"
00004 #include "global.h"
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 class BaryPatch;
00017
00021 class SubdivScheme
00022 {
00023 public:
00025 int _CutOnU;
00027 int _CutOnV;
00029 int _CutOnW;
00031 int _NbPntsU;
00033 int _NbPntsV;
00034
00035 int _NbPntsW;
00037 SSMatrix *** _Transfos;
00039 bool *** _IsActivated;
00040
00042 SubdivScheme(int CutOnU,int CutOnV,int CutOnW,int NbPntsU,int NbPntsV,int NbPntsW, SSMatrix* Transformations);
00044 ~SubdivScheme(){Destruction();};
00046 void Destruction();
00048 void Copy(SubdivScheme &S);
00050 void Desactivate(int NumTransfoU,int NumTransfoV,int NumTransfoW);
00052 void Activate(int NumTransfoU,int NumTransfoV,int NumTransfoW);
00056 void Rotation(int NumRotU,int NumRotV,int NumRotW,int axis);
00060 void Symetry(int NumRotU,int NumRotV,int NumRotW,int axis);
00061
00063 void SaveToFile(FILE* SaveFile);
00065 void LoadFromFile(FILE* SaveFile,int& UCnx1,int& UCnx2,int& VCnx1,int& VCnx2,int& WCnx1,int& WCnx2);
00066 };
00067
00068 #endif