SubdivScheme.h

00001 #ifndef SUBDIVSCHEME_H
00002 #define SUBDIVSCHEME_H
00003 #include "Matrices.h"
00004 #include "global.h"
00005 /*
00006   _____       _         _ _        _____      _                         
00007  / ____|     | |       | (_)      / ____|    | |                        
00008 | (___  _   _| |__   __| |___   _| (___   ___| |__   ___ _ __ ___   ___ 
00009  \___ \| | | | '_ \ / _` | \ \ / /\___ \ / __| '_ \ / _ \ '_ ` _ \ / _ \
00010  ____) | |_| | |_) | (_| | |\ V / ____) | (__| | | |  __/ | | | | |  __/
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         /*What is the dimension of the patches I subdivide on the W dimension ? */
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

Generated on Thu Sep 28 09:38:08 2006 by  doxygen 1.4.7