#include <SubdivScheme.h>
Public Member Functions | |
SubdivScheme (int CutOnU, int CutOnV, int CutOnW, int NbPntsU, int NbPntsV, int NbPntsW, SSMatrix *Transformations) | |
~SubdivScheme () | |
void | Destruction () |
void | Copy (SubdivScheme &S) |
void | Desactivate (int NumTransfoU, int NumTransfoV, int NumTransfoW) |
void | Activate (int NumTransfoU, int NumTransfoV, int NumTransfoW) |
void | Rotation (int NumRotU, int NumRotV, int NumRotW, int axis) |
void | Symetry (int NumRotU, int NumRotV, int NumRotW, int axis) |
void | SaveToFile (FILE *SaveFile) |
void | LoadFromFile (FILE *SaveFile, int &UCnx1, int &UCnx2, int &VCnx1, int &VCnx2, int &WCnx1, int &WCnx2) |
Public Attributes | |
int | _CutOnU |
int | _CutOnV |
int | _CutOnW |
int | _NbPntsU |
int | _NbPntsV |
int | _NbPntsW |
SSMatrix *** | _Transfos |
bool *** | _IsActivated |
Stores data defining a subdivision scheme : dimension of the patches it is applied to and transformation matrices
SubdivScheme::SubdivScheme | ( | int | CutOnU, | |
int | CutOnV, | |||
int | CutOnW, | |||
int | NbPntsU, | |||
int | NbPntsV, | |||
int | NbPntsW, | |||
SSMatrix * | Transformations | |||
) |
basic constructor, all class attributes are given in argument
SubdivScheme::~SubdivScheme | ( | ) | [inline] |
basic destructor : attribute arrays are deleted
void SubdivScheme::Activate | ( | int | NumTransfoU, | |
int | NumTransfoV, | |||
int | NumTransfoW | |||
) |
Activates a particular transformation
void SubdivScheme::Copy | ( | SubdivScheme & | S | ) |
Deletes my data and replaces it with duplicates of another SubdivScheme's Data
void SubdivScheme::Desactivate | ( | int | NumTransfoU, | |
int | NumTransfoV, | |||
int | NumTransfoW | |||
) |
Deactivates a particular transformation
void SubdivScheme::Destruction | ( | ) |
Destroys allocated arrays
void SubdivScheme::LoadFromFile | ( | FILE * | SaveFile, | |
int & | UCnx1, | |||
int & | UCnx2, | |||
int & | VCnx1, | |||
int & | VCnx2, | |||
int & | WCnx1, | |||
int & | WCnx2 | |||
) |
Loading subdivision schemes from .sub files
void SubdivScheme::Rotation | ( | int | NumRotU, | |
int | NumRotV, | |||
int | NumRotW, | |||
int | axis | |||
) |
Rotates a particular transformation in the UVW space around axis :
1 : U, 2 : V, 3 : W
of a 90° angle. More details in the SubdivSchemeModifier description.
void SubdivScheme::SaveToFile | ( | FILE * | SaveFile | ) |
Saving subdivision schemes to .sub files
void SubdivScheme::Symetry | ( | int | NumRotU, | |
int | NumRotV, | |||
int | NumRotW, | |||
int | axis | |||
) |
Rerforms a symetry a particular transformation in the UVW space across normal plane :
1 : U, 2 : V, 3 : W
of a 90° angle. More details in the SubdivSchemeModifier description.
How many new patches are created on the U dimension after a subdivision ?
How many new patches are created on the V dimension after a subdivision ?
How many new patches are created on the W dimension after a subdivision ?
bool*** SubdivScheme::_IsActivated |
Array used to activate or desactivate transformations (transformation will or will not take part in the subdivision)
What is the dimension of the patches I subdivide on the U dimension ?
What is the dimension of the patches I subdivide on the V dimension ?
_CutOnU * _CutOnV * _CutOnW array containing transformation matrices