#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
1.4.7