#include <SubdivSchemeModifier.h>
Public Slots | |
S_ResetSubdivSchemeModifier (int NbTU, int NbTV, int NbTW) | |
S_Activate () | |
S_Rotate () | |
S_Symmetrise () | |
S_ToggleCurrentAxis (int A) | |
Signals | |
void | S_ActivateTransfo (int Uindice, int Vindice, int Windice) |
void | S_RotateTransfo (int Uindice, int Vindice, int Windice, int Axis) |
void | S_SymmetriseTransfo (int Uindice, int Vindice, int Windice, int Axis) |
Public Member Functions | |
SubdivSchemeModifier (QWidget *parent, const char *name) | |
Public Attributes | |
int | _NbTU |
int | _NbTV |
int | _NbTW |
int | _HideUBelow |
int | _HideVBelow |
int | _HideWBelow |
int | _HideUAbove |
int | _HideVAbove |
int | _HideWAbove |
int | _CurrentAxis |
bool *** | _Activations |
bool *** | _ReverseNormals |
SSMatrix *** | _TransfoModifMatrices |
Protected Member Functions | |
virtual void | init () |
virtual void | draw () |
virtual void | drawWithNames () |
Vec | MatriceVecMultiply (SSMatrix M, Vec V) |
void | drawTransfo (int u, int v, int w) |
void | fastDrawQuad (Vec P1, Vec P2, Vec P3, Vec P4) |
RotateW () | |
RotateV () | |
RotateU () | |
SymmetriseU () | |
SymmetriseV () | |
SymmetriseW () |
SubdivSchemeModifier::SubdivSchemeModifier | ( | QWidget * | parent, | |
const char * | name | |||
) |
Basic constructor : The SubdivSchemeModifier is a QOBJECT
void SubdivSchemeModifier::draw | ( | ) | [protected, virtual] |
Symbolically draws activated transformation in big, deactivated transformations in small, in a UVW grid
void SubdivSchemeModifier::drawTransfo | ( | int | u, | |
int | v, | |||
int | w | |||
) | [protected] |
Draws the transformation symbol (pyramid like shape)
void SubdivSchemeModifier::drawWithNames | ( | ) | [protected, virtual] |
Uses PushNames to render drawn elements selectable
void SubdivSchemeModifier::fastDrawQuad | ( | Vec | P1, | |
Vec | P2, | |||
Vec | P3, | |||
Vec | P4 | |||
) | [protected] |
Draws a quad (no shit Sherlock)
void SubdivSchemeModifier::init | ( | ) | [protected, virtual] |
Initializes class attributes and openGL viewing parameters.
Vec SubdivSchemeModifier::MatriceVecMultiply | ( | SSMatrix | M, | |
Vec | V | |||
) | [protected] |
Operator that multiplies a Vec with a SSMatrix, applies transformation to a point in IR^3
SubdivSchemeModifier::RotateU | ( | ) | [protected] |
SubdivSchemeModifier::RotateV | ( | ) | [protected] |
SubdivSchemeModifier::RotateW | ( | ) | [protected] |
Changes the matrix to make this transformation rotate on W
columns of the matrix are permutated in such a way that the transformation
which would have given the patch :
+ P10 + P11
+ P00 + P01
^ V
|
|
---> U
now gives the patch :
+ P10 + P11
+ P00 + P01
---> V
|
|
v U
SubdivSchemeModifier::S_Activate | ( | ) | [slot] |
Activates or desactivates the selected transformation. Deactivated transformations will not take part in a subdivision iterration
void SubdivSchemeModifier::S_ActivateTransfo | ( | int | Uindice, | |
int | Vindice, | |||
int | Windice | |||
) | [signal] |
These signals are used to signify to the MultiResMeshEditor when a transformation has been modified via the SubdivSchemeModifier
SubdivSchemeModifier::S_ResetSubdivSchemeModifier | ( | int | NbTU, | |
int | NbTV, | |||
int | NbTW | |||
) | [slot] |
Deletes all transformation modification, rebuilds initial data with no modifications
SubdivSchemeModifier::S_Rotate | ( | ) | [slot] |
Rotates the selected transformation around the selected UVW axis
void SubdivSchemeModifier::S_RotateTransfo | ( | int | Uindice, | |
int | Vindice, | |||
int | Windice, | |||
int | Axis | |||
) | [signal] |
These signals are used to signify to the MultiResMeshEditor when a transformation has been modified via the SubdivSchemeModifier
SubdivSchemeModifier::S_Symmetrise | ( | ) | [slot] |
Performs a symetry of the selected transformation across the selected UVW plane
void SubdivSchemeModifier::S_SymmetriseTransfo | ( | int | Uindice, | |
int | Vindice, | |||
int | Windice, | |||
int | Axis | |||
) | [signal] |
These signals are used to signify to the MultiResMeshEditor when a transformation has been modified via the SubdivSchemeModifier
SubdivSchemeModifier::S_ToggleCurrentAxis | ( | int | A | ) | [slot] |
Changes the current axis (U:0, V:1, W:2)
SubdivSchemeModifier::SymmetriseU | ( | ) | [protected] |
Changes the matrix to perform a symetry on W
Columns of the matrix are permutated in such a way that the transformation which would have given the patch :
+ P10 + P11
+ P00 + P01
^ V
|
|
---> U
now gives the patch :
+ P10 + P11
+ P00 + P01
^ V
|
|
U <---
SubdivSchemeModifier::SymmetriseV | ( | ) | [protected] |
SubdivSchemeModifier::SymmetriseW | ( | ) | [protected] |
Array on U,V and W that contains the information : is transformation (U,V,W) used or is it desactivated ?
Axis used for symmetries and rotations (U:0, V:1, W:2)
The transformations of which the u indice is below _HideUBelow are not symbolically represented in the SubdivSchemeModifier viewer
The transformations of which the v indice is below _HideVBelow are not symbolically represented in the SubdivSchemeModifier viewer
The transformations of which the w indice is below _HideWBelow are not symbolically represented in the SubdivSchemeModifier viewer
How many transformation has the SubdivScheme we are modifying, along the U dimension
How many transformation has the SubdivScheme we are modifying, along the V dimension
How many transformation has the SubdivScheme we are modifying, along the W dimension
Is it necessary to reverse normals when drawing transformation (U,V,W) (useful after a symetry, where clockwise quads become counter-clockwise)
Array on U,V and W that contains the modified transformation matrices