MultiResMeshEditor Class Reference

MultiResMeshEditor class. More...

#include <MultiResMeshEditor.h>

List of all members.

Public Slots

1/2 CORE & INIT MESH SLOTS
Slots linked to signals from the Mesh interface tab.
.

 S_ToggleDrawLevel (int Level)
 S_ToggleDrawMode (int DrawMode)
 S_ToggleInitMeshUSize (int USize)
 S_ToggleInitMeshVSize (int VSize)
 S_ToggleInitMeshWSize (int WSize)
 S_ToggleInitMeshCreateMode (int Mode)
 S_SetDrawParameter1 (const QString &Value)
 S_SetDrawParameter2 (const QString &Value)
 S_SetDrawParameter3 (const QString &Value)
 S_CreateInitMesh ()
 S_ResetPerturbations ()
 S_ResetLevelPerturbations ()
 S_ResetSelectedPerturbations ()
 S_DeletePatch ()
 S_CutSubtreePatch ()
 S_SelectNeighbors ()
 S_SelectNextPoint ()
 S_SelectPrevPoint ()
 S_SelectNextPatch ()
 S_SelectPrevPatch ()
 S_InversePointSelection ()
 S_CreateSaveTable (int Key)
 S_PrintSaveTable (int Key)
3 SUBDIV SLOTS
Slots linked to signals from the Div interface tab.
.

 S_ChangeSubFileName (const QString &Name)
 S_LoadSubdivScheme ()
 S_NewSubdivScheme ()
 S_EditSubdivScheme ()
 S_ActivateTransfo (int Uindice, int Vindice, int Windice)
 S_RotateTransfo (int Uindice, int Vindice, int Windice, int Axis)
 S_SymetriseTransfo (int Uindice, int Vindice, int Windice, int Axis)
 S_ApplySchemeToSelectedPatches ()
 S_SubdivideLevel ()
 S_SubdivideSelected ()
 S_BuildPerturbations ()
4 OUTPUT SLOTS
Slots linked to signals from the Out interface tab.
.

 S_ChangeObjFileName (const QString &Name)
 S_ToggleOutputMode (int Mode)
 S_SaveObjFile ()
 S_SaveStructure ()
 S_LoadStructure ()
 S_BuildStructureFromPoints (int NbGridPoints)
5 HELPER SLOTS
Slots linked to signals from the Helper interface tab.
.

 S_ToggleHelperView (bool B)
 S_ChangeHelperSize (int S)
 S_SetHelperPosX (const QString &S)
 S_SetHelperPosY (const QString &S)
 S_SetHelperPosZ (const QString &S)
 S_ToggleBaryAbs (bool Abs)
 S_SetHelperPt1 ()
 S_SetHelperPt2 ()
 S_SetHelperPt3 ()
 S_SetHelperOrientX (const QString &S)
 S_SetHelperOrientY (const QString &S)
 S_SetHelperOrientZ (const QString &S)
 S_PutMFOnHelper ()
 S_MoveMFOnHelper ()
 S_PutHelperOnPt ()
 S_ToggleHelperFollowMF (bool B)
 S_ConstrainHelperXY (bool B)
 S_ConstrainHelperZ (bool B)
 S_ConstrainHelperFree (bool B)
6 PLANARITY SLOTS
Slots linked to signals from the Out interface tab.
.

 S_ViewWorstPlanarity ()
 S_ViewAveragePlanarity ()
 S_ResetColor ()
 S_TogglePlanarityOnSelected (bool B)
 S_TogglePlanarityBySelected (bool B)
 S_TogglePlanarityMoveTypeFree (bool B)
 S_SetPlanarityThreshHold (const QString &S)
 S_SetPlanarityDerStep (const QString &S)
 S_SetPlanarityMoveStep (const QString &S)
 S_SetPlanarityAlpha (const QString &S)
 S_SetPlanarityBeta (const QString &S)
 S_SetPlanarityNbIter (int I)
 S_TogglePlanarityDegMode (bool B)
 S_SetPlanarityNbTestsBetter (int N)

Signals

7 SIGNALS
Signals emitted by the MultiResMeshEditor and linked to interface elements.
.

void S_DisplayQstring (const QString &Q)
void S_ResetSubdivSchemeModifier (int NbTU, int NbTV, int NbTW)
void S_ResetProgressBar ()
void S_SetProgressBar (int B)

Public Member Functions

0 CLASS FUNCTIONS
 MultiResMeshEditor (QWidget *parent, const char *name)
virtual void draw ()
virtual void drawWithNames ()
virtual void init ()
virtual QString helpString () const
virtual void postSelection (const QPoint &point)
virtual void keyPressEvent (QKeyEvent *e)
void RefreshHelperPos ()
double OptimizePlanarityFunctionTables (double &WorstPlanarity, double &AveragePlanarity, int NbQuads, Point ***Quads, double *QuadPlanarities)
double OptimizePlanarityFunctionTablesAfterPerturbModif (double &WorstPlanarity, double &NewWorstPlanarity, double &AveragePlanarity, double &NewAveragePlanarity, int NbQ, Point ***QTable, double *QuadPlanarities, int *ModifiedQuads)
 OptimizePlanarityTables (bool OnlySelectedPerturb, bool OnlySelectedPatches, float MaxBigVectorNorm, float DerStep, float MoveStep, int NbIter, float Alpha, float Beta, float Gamma)
 OptimizePlanarityTablesZMode (bool OnlySelectedPerturb, bool OnlySelectedPatches, float MaxBigVectorNorm, float DerStep, float MoveStep, int NbIter, float Alpha, float Beta, float Gamma)

Public Attributes

1 CORE ATTRIBUTES
These attributes compose the essential data used by the drawing and mouse manipulation procedures

int _DrawLevel
int _DrawMode
BaryPatch_RootPatch
Point ** _LvlZeroPts
int _LvlZeroNbPts
ManipulatedFrame * _MyManipulatedFrame
2 INIT MESH ATTRIBUTES
The attributes related to the creation of the initial mesh.
Usually modified via the Mesh Tab of the interface.
The Initial Mesh is also referred to as the Level 0 mesh.
Level 0 patches are initially organised in a (U,V,W) grid structure.

int _InitMeshUSize
int _InitMeshVSize
int _InitMeshWSize
int _InitMeshCreateMode
float _DrawParameter1
float _DrawParameter2
float _DrawParameter3
3 SUBDIV ATTRIBUTES
Attributes related to structure subdivision functions and subdivided structures.
Usually modified via the Div Tab of the interface.
See documentation for a more detailed description on patch morphologies, connections and subdivision transformations.

QString _SubFileName
SubdivScheme_SubdivScheme
int _SubdivSchemeUCnx1
int _SubdivSchemeUCnx2
int _SubdivSchemeVCnx1
int _SubdivSchemeVCnx2
int _SubdivSchemeWCnx1
int _SubdivSchemeWCnx2
stack< SubdivScheme * > _UsedSchemes
stack< Point * > _PointTable1
stack< Point * > _PointTable2
stack< Point * > _PointTable3
stack< Point * > _PointTable4
stack< BaryPatch * > _PatchTable1
stack< BaryPatch * > _PatchTable2
stack< BaryPatch * > _PatchTable3
stack< BaryPatch * > _PatchTable4
int _TablesLevel [8]
int _LevelMax
Point *** _PerturbTable
int * _NbPerturb
4 OUTPUT ATTRIBUTES
Attributes related to the output functions.
Usually modified via the Out Tab of the interface.


QString _ObjFileName
QString _SaveName
int _OutputMode
int _NbGridPoints
5 HELPER ATTRIBUTES
Attributes related to the manipulation of the helper (yellow disk).
Usually modified via the Helper Tab of the interface.


Frame _HelperFrame
bool _HelperDraw
float _HelperSize
float _HelperPosX
float _HelperPosY
float _HelperPosZ
Point_HelperPt1
Point_HelperPt2
Point_HelperPt3
bool _HelperBaryPos
float _HelperOrientX
float _HelperOrientY
float _HelperOrientZ
bool _HelperFollowMF
AxisPlaneConstraint * _PlaneConstrainedObject
AxisPlaneConstraint * _AxisConstrainedObject
AxisPlaneConstraint * _FreeObject
6 PLANARITY ATTRIBUTES
Attributes related to the quad planarity optimisation functions
. Usually modified via the Plan Tab of the interface.


float _PlanaritySelectionThreshHold
float _PlanarityOptimDerStep
int _PlanarityOptimNbIter
bool _PlanarityOptimSelectedPatches
bool _PlanarityOptimSelectedPerturbs
float _PlanarityOptimMoveStep
float _PlanarityOptimAlpha
float _PlanarityOptimBeta
bool _PlanarityOptimZMode
bool _PlanarityDegMode
int _PlanarityNbTestsBetter


Detailed Description

MultiResMeshEditor class.

The MultiResMesh class is visually represented by the main viewer window.
It orchestrates the visualisation of structures, their interactive manipulation, the connection between interface elements and corresponding functions performed on program data.
Variables are regrouped in six families: core, initial mesh, subdivision, output, helper and planarity


Member Function Documentation

void MultiResMeshEditor::draw (  )  [virtual]

Draw the elements of the _DrawLevel in the patch tree structure, as well as leaves from levels < _DrawLevel. Draw elements down the tree from the root patch if possible

QString MultiResMeshEditor::helpString (  )  const [virtual]

Sets the message displayed in the help window

void MultiResMeshEditor::init (  )  [virtual]

Starts the program and sets the datas

void MultiResMeshEditor::keyPressEvent ( QKeyEvent *  e  )  [virtual]

What happens when a keyboard button is pressed. See help for keyboard shortcuts.

double MultiResMeshEditor::OptimizePlanarityFunctionTables ( double &  WorstPlanarity,
double &  AveragePlanarity,
int  NbQuads,
Point ***  Quads,
double *  QuadPlanarities 
)

Reevaluates AveragePlanarity and WorstPlanarity on all level quads

double MultiResMeshEditor::OptimizePlanarityFunctionTablesAfterPerturbModif ( double &  WorstPlanarity,
double &  NewWorstPlanarity,
double &  AveragePlanarity,
double &  NewAveragePlanarity,
int  NbQ,
Point ***  QTable,
double *  QuadPlanarities,
int *  ModifiedQuads 
)

Reevaluates AveragePlanarity and WorstPlanarity on level quads containing a particular perturbation (much faster to use than OptimizePlanarityFunctionTables when possible)

MultiResMeshEditor::OptimizePlanarityTables ( bool  OnlySelectedPerturb,
bool  OnlySelectedPatches,
float  MaxBigVectorNorm,
float  DerStep,
float  MoveStep,
int  NbIter,
float  Alpha,
float  Beta,
float  Gamma 
)

The quad planarity optimisation algorithm Uses a lot of the PLANARITY ATTRIBUTES(Key F5)

MultiResMeshEditor::OptimizePlanarityTablesZMode ( bool  OnlySelectedPerturb,
bool  OnlySelectedPatches,
float  MaxBigVectorNorm,
float  DerStep,
float  MoveStep,
int  NbIter,
float  Alpha,
float  Beta,
float  Gamma 
)

The quad planarity optimisation algorithm, restrained to Z components of the perturbations (3 times less variables) (Key F5)

void MultiResMeshEditor::postSelection ( const QPoint &  point  )  [virtual]

What happens when something is selected (ManipulatedFrame is set to the new SelectionCenterOfGravity and point coordinates are refreshed accordingly)

void MultiResMeshEditor::RefreshHelperPos (  ) 

Helper function : Updates the position of the helper

MultiResMeshEditor::S_ActivateTransfo ( int  Uindice,
int  Vindice,
int  Windice 
) [slot]

Slot triggered by the SubdivSchemeModifier. Activates/Deactivates a particular transformation of the _SubdivScheme

MultiResMeshEditor::S_ApplySchemeToSelectedPatches (  )  [slot]

Applies the current _SubdivScheme to the selected patches (Alt D Key)

MultiResMeshEditor::S_BuildPerturbations (  )  [slot]

Builds the perturbations of the current _DrawLevel patches, these perturbations are drawn and manipulatable in the viewer window. (B Key)

MultiResMeshEditor::S_BuildStructureFromPoints ( int  NbGridPoints  )  [slot]

Writes data to /ObjFiles/X.txt, Y.txt, Z.txt which contain the XYZ positions of a structure's points taken on a UVW grid (_NbGridPoints elements per dimension)

MultiResMeshEditor::S_ChangeHelperSize ( int  S  )  [slot]

Changes the _HelperSize value

See also:
_HelperSize

MultiResMeshEditor::S_ChangeObjFileName ( const QString &  Name  )  [slot]

Sets _ObjFileName

See also:
_ObjFileName

MultiResMeshEditor::S_ChangeSubFileName ( const QString &  Name  )  [slot]

Sets the _SubFileName variable

See also:
_SubFileName

MultiResMeshEditor::S_ConstrainHelperFree ( bool  B  )  [slot]

Frees the manipulated frame with _FreeObject

See also:
_FreeObject

MultiResMeshEditor::S_ConstrainHelperXY ( bool  B  )  [slot]

Constrains the manipulated frame with _PlaneConstrainedObject

See also:
_PlaneConstrainedObject

MultiResMeshEditor::S_ConstrainHelperZ ( bool  B  )  [slot]

Constrains the manipulated frame with _AxisConstrainedObject

See also:
_AxisConstrainedObject

MultiResMeshEditor::S_CreateInitMesh (  )  [slot]

Deletes existing patches, creates new level 0 structure using defined parameters and loaded subdivision scheme's data

MultiResMeshEditor::S_CreateSaveTable ( int  Key  )  [slot]

Saves the selected points or patches in one of 4 possible table

See also:
_PatchTable1

_PointTable1 (Ctrl 1...8 keys)

MultiResMeshEditor::S_CutSubtreePatch (  )  [slot]

Stops the subdivisions of the selected patch (their subdivScheme is set to NULL, they will not be affected by next subdivision, they will become tree leaves in the tree hierarchy) (End Key)

MultiResMeshEditor::S_DeletePatch (  )  [slot]

Deletes the selected patches and their children (Del key)

void MultiResMeshEditor::S_DisplayQstring ( const QString &  Q  )  [signal]

Display a string in the frame above the viewer window. Used to display useful information on program execution.

MultiResMeshEditor::S_EditSubdivScheme (  )  [slot]

launches the SubdivSchemeEditor to edit the current _SubdivScheme

MultiResMeshEditor::S_InversePointSelection (  )  [slot]

The selected points are unselected and the others are selected (Ctrl I key) (I to inverse PatchSelection)

MultiResMeshEditor::S_LoadStructure (  )  [slot]

Loads structure saved by S_SaveStructure

MultiResMeshEditor::S_LoadSubdivScheme (  )  [slot]

Finds the /SubFiles/_SubFileName SubFile and loads the scheme written in it in _SubdivScheme

See also:
_SubFileName

MultiResMeshEditor::S_MoveMFOnHelper (  )  [slot]

Sets the manipulated frame's position to the helper's position, the selected points move along with the manipulated frame

MultiResMeshEditor::S_NewSubdivScheme (  )  [slot]

Copies the current _SubdivScheme in a new SubdivScheme, ready to be modified and applied to some patches without modifying the schemes of patches that already use the current _SubdivScheme

MultiResMeshEditor::S_PrintSaveTable ( int  Key  )  [slot]

Unselects all, selects the points or the patches of the appropriate table

MultiResMeshEditor::S_PutHelperOnPt (  )  [slot]

The helper's position is set to the last selected point's position

MultiResMeshEditor::S_PutMFOnHelper (  )  [slot]

Sets the manipulated frame's position to the helper's position, the selected points do not move

MultiResMeshEditor::S_ResetColor (  )  [slot]

Displays patches in their original color

MultiResMeshEditor::S_ResetLevelPerturbations (  )  [slot]

Resets (to (0,0,0) vector) all the structure's perturbations of a given level (Alt R key)

MultiResMeshEditor::S_ResetPerturbations (  )  [slot]

Resets (to (0,0,0) vector) all the structure's perturbations (all levels) (Ctrl R key)

void MultiResMeshEditor::S_ResetProgressBar (  )  [signal]

Resets the progress bar in the frame above the viewer window. Used in planarity optimisation routines.

MultiResMeshEditor::S_ResetSelectedPerturbations (  )  [slot]

Resets (to (0,0,0) vector) all the structure's selected perturbations (R key)

void MultiResMeshEditor::S_ResetSubdivSchemeModifier ( int  NbTU,
int  NbTV,
int  NbTW 
) [signal]

Calls a reset on the SubdivSchemeModifier, see this class for more details

MultiResMeshEditor::S_RotateTransfo ( int  Uindice,
int  Vindice,
int  Windice,
int  Axis 
) [slot]

Slot triggered by the SubdivSchemeModifier. Rotates (90° around selected UVW Axis) a particular transformation of the _SubdivScheme

MultiResMeshEditor::S_SaveObjFile (  )  [slot]

Saves the structure in a .obj file. This file can be opened in 3D software (Rhino, Maya)

MultiResMeshEditor::S_SaveStructure (  )  [slot]

Saves the whole structure (patch hierarchy, perturbations) in the /ObjFile/Structure.str file

MultiResMeshEditor::S_SelectNeighbors (  )  [slot]

Selects the neighbor patches of the last selected patch (N key)

MultiResMeshEditor::S_SelectNextPatch (  )  [slot]

Selects the next patch in the level patch table (L key)

MultiResMeshEditor::S_SelectNextPoint (  )  [slot]

Selects the next point in the level perturbation table (X key)

MultiResMeshEditor::S_SelectPrevPatch (  )  [slot]

Selects the previous patch in the level patch table (K key)

MultiResMeshEditor::S_SelectPrevPoint (  )  [slot]

Selects the previous point in the level perturbation table (Y key)

MultiResMeshEditor::S_SetDrawParameter1 ( const QString &  Value  )  [slot]

Modifies the _DrawParameter1 value

See also:
_DrawParameter1

MultiResMeshEditor::S_SetDrawParameter2 ( const QString &  Value  )  [slot]

Modifies the _DrawParameter2 value

See also:
_DrawParameter2

MultiResMeshEditor::S_SetDrawParameter3 ( const QString &  Value  )  [slot]

Modifies the _DrawParameter3 value

See also:
_DrawParameter3

MultiResMeshEditor::S_SetHelperOrientX ( const QString &  S  )  [slot]

Sets the _HelperOrientX value

See also:
_HelperOrientX

MultiResMeshEditor::S_SetHelperOrientY ( const QString &  S  )  [slot]

Sets the _HelperOrientY value

See also:
_HelperOrientX

MultiResMeshEditor::S_SetHelperOrientZ ( const QString &  S  )  [slot]

Sets the _HelperOrientZ value

See also:
_HelperOrientX

MultiResMeshEditor::S_SetHelperPosX ( const QString &  S  )  [slot]

Changes the _HelperPosX value

See also:
_HelperPosX

MultiResMeshEditor::S_SetHelperPosY ( const QString &  S  )  [slot]

Changes the _HelperPosY value

See also:
_HelperPosX

MultiResMeshEditor::S_SetHelperPosZ ( const QString &  S  )  [slot]

Changes the _HelperPosZ value

See also:
_HelperPosX

MultiResMeshEditor::S_SetHelperPt1 (  )  [slot]

Sets the _HelperPt1 to the last selected point

See also:
_HelperPt1

MultiResMeshEditor::S_SetHelperPt2 (  )  [slot]

Sets the _HelperPt2 to the last selected point

See also:
_HelperPt1

MultiResMeshEditor::S_SetHelperPt3 (  )  [slot]

Sets the _HelperPt3 to the last selected point

See also:
_HelperPt1

MultiResMeshEditor::S_SetPlanarityAlpha ( const QString &  S  )  [slot]

Changes _PlanarityOptimAlpha value

See also:
_PlanarityOptimAlpha

MultiResMeshEditor::S_SetPlanarityBeta ( const QString &  S  )  [slot]

Changes _PlanarityOptimBeta value

See also:
_PlanarityOptimBeta

MultiResMeshEditor::S_SetPlanarityDerStep ( const QString &  S  )  [slot]

Changes _PlanarityOptimDerStep value

See also:
_PlanarityOptimDerStep

MultiResMeshEditor::S_SetPlanarityMoveStep ( const QString &  S  )  [slot]

Changes _PlanarityOptimMoveStep value

See also:
_PlanarityOptimMoveStep

MultiResMeshEditor::S_SetPlanarityNbIter ( int  I  )  [slot]

Changes _PlanarityOptimNbIter value

See also:
_PlanarityOptimNbIter

MultiResMeshEditor::S_SetPlanarityNbTestsBetter ( int  N  )  [slot]

Changes _PlanarityNbTestsBetter value

See also:
_PlanarityNbTestsBetter

MultiResMeshEditor::S_SetPlanarityThreshHold ( const QString &  S  )  [slot]

Changes _PlanaritySelectionThreshHold value

See also:
_PlanaritySelectionThreshHold

void MultiResMeshEditor::S_SetProgressBar ( int  B  )  [signal]

Controls the progress bar (100 steps) in the frame above the viewer window. Used in planarity optimisation routines.

MultiResMeshEditor::S_SubdivideLevel (  )  [slot]

Subdivides all patches according to their _NextSubdiv scheme, patches with _NextSubdiv==NULL are not subdivided (D Key)

MultiResMeshEditor::S_SubdivideSelected (  )  [slot]

Same thing as S_SubdivideLevel, but only on selected patches (Shift D Key)

MultiResMeshEditor::S_SymetriseTransfo ( int  Uindice,
int  Vindice,
int  Windice,
int  Axis 
) [slot]

Slot triggered by the SubdivSchemeModifier. Performs a symmetry (across selected UVW Plane) on a particular transformation of the _SubdivScheme

MultiResMeshEditor::S_ToggleBaryAbs ( bool  Abs  )  [slot]

Toggles the _HelperBaryPos value

See also:
_HelperBaryPos

MultiResMeshEditor::S_ToggleDrawLevel ( int  Level  )  [slot]

Modifies the _DrawLevel value

See also:
_DrawLevel

MultiResMeshEditor::S_ToggleDrawMode ( int  DrawMode  )  [slot]

Modifies the _DrawMode value

See also:
_DrawMode

MultiResMeshEditor::S_ToggleHelperFollowMF ( bool  B  )  [slot]

Toggles the _HelperFollowMF value

See also:
_HelperFollowMF

MultiResMeshEditor::S_ToggleHelperView ( bool  B  )  [slot]

Toggles the _HelperDraw value

See also:
_HelperDraw

MultiResMeshEditor::S_ToggleInitMeshCreateMode ( int  Mode  )  [slot]

Modifies the _InitMeshCreateMode value

See also:
_InitMeshCreateMode

MultiResMeshEditor::S_ToggleInitMeshUSize ( int  USize  )  [slot]

Modifies the _InitMeshUSize value

See also:
_InitMeshUSize

MultiResMeshEditor::S_ToggleInitMeshVSize ( int  VSize  )  [slot]

Modifies the _InitMeshVSize value

See also:
_InitMeshVSize

MultiResMeshEditor::S_ToggleInitMeshWSize ( int  WSize  )  [slot]

Modifies the _InitMeshWSize value

See also:
_InitMeshWSize

MultiResMeshEditor::S_ToggleOutputMode ( int  Mode  )  [slot]

Sets _OutputMode

See also:
_OutputMode

MultiResMeshEditor::S_TogglePlanarityBySelected ( bool  B  )  [slot]

Toggles _PlanarityOptimSelectedPerturbs value

See also:
_PlanarityOptimSelectedPerturbs

MultiResMeshEditor::S_TogglePlanarityDegMode ( bool  B  )  [slot]

Toggles _PlanarityDegMode value

See also:
_PlanarityDegMode

MultiResMeshEditor::S_TogglePlanarityMoveTypeFree ( bool  B  )  [slot]

Toggles _PlanarityOptimZMode value

See also:
_PlanarityOptimZMode

MultiResMeshEditor::S_TogglePlanarityOnSelected ( bool  B  )  [slot]

Toggles _PlanarityOptimSelectedPatches value

See also:
_PlanarityOptimSelectedPatches

MultiResMeshEditor::S_ViewAveragePlanarity (  )  [slot]

Displays patches in a color wich is linked to their average quad planarity. Colors are mapped to a scale from the structure's worst planarity to 1.0

MultiResMeshEditor::S_ViewWorstPlanarity (  )  [slot]

Displays patches in a color wich is linked to their worst quad planarity. Colors are mapped to a scale from the structure's worst planarity to 1.0


Member Data Documentation

AxisPlaneConstraint* MultiResMeshEditor::_AxisConstrainedObject

Helper constraint : helper movement will stay on Z axis.

int MultiResMeshEditor::_DrawLevel

Subdivision level displayed on screen, its value is between : 0 : initial mesh and N : highest subdivision level in the structure. Init 0

int MultiResMeshEditor::_DrawMode

How are the geometries drawn (OpenGL diplay option): 0 for FILL, 1 for LINE, 2 for POINT and 3 for LINE+FILL. Init 0

float MultiResMeshEditor::_DrawParameter1

first size parameter of the structure in IR^3 :
plane length, cylindre radius, big torus radius. Init 1.0

float MultiResMeshEditor::_DrawParameter2

Second size parameter of the structure in IR^3 :
plane width, cylindre height, small torus radius. Init 0.5

float MultiResMeshEditor::_DrawParameter3

Third size parameter of the structure in IR^3 :
plane/cylindre/torus thickness. Init 0.2

AxisPlaneConstraint* MultiResMeshEditor::_FreeObject

Helper constraint : helper movement is free (default).

bool MultiResMeshEditor::_HelperBaryPos

False if defined coordinates are interpreted as absolute coordinates, true if they are interpreted as barycentric coordinates. Init false

bool MultiResMeshEditor::_HelperDraw

Defines whether the helper is drawn or not. Init false

bool MultiResMeshEditor::_HelperFollowMF

If the helper position must stay on the Manipulated Frame. Init false

Frame MultiResMeshEditor::_HelperFrame

The helper has its own frame, the position and orientation of which can be set accurately

float MultiResMeshEditor::_HelperOrientX

The orientation of the helper arrow (X,Y,Z coordinates of point towards which it points), (useful for helper axis constraint). Init (0,0,1)

float MultiResMeshEditor::_HelperOrientY

See also:
_HelperOrientX

float MultiResMeshEditor::_HelperOrientZ

See also:
_HelperOrientX

float MultiResMeshEditor::_HelperPosX

Its position on X,Y,Z if _HelperBaryPos is false, its barycentric coordinates relatively to _HelperPt1,_HelperPt2,_HelperPt3 if _HelperBaryPos is true. Init (0,0,0)

float MultiResMeshEditor::_HelperPosY

See also:
_HelperPosX

float MultiResMeshEditor::_HelperPosZ

See also:
_HelperPosX

Point* MultiResMeshEditor::_HelperPt1

The first, second and third point used as reference for the barycentric position of the helper. Init (NULL,NULL,NULL)

Point* MultiResMeshEditor::_HelperPt2

See also:
_HelperPt1

Point* MultiResMeshEditor::_HelperPt3

See also:
_HelperPt1

float MultiResMeshEditor::_HelperSize

The radius of the helper visualisation disk. Init 0.1

int MultiResMeshEditor::_InitMeshCreateMode

What kind of structure is the initial Level 0 structure ?
0 : plane, 1 : cylindre, 2 : Torus. Init 0

int MultiResMeshEditor::_InitMeshUSize

How many patches created on the U dimension in the Level 0 Structure. Init 1

int MultiResMeshEditor::_InitMeshVSize

How many patches created on the V dimension in the Level 0 Structure. Init 1

int MultiResMeshEditor::_InitMeshWSize

How many patches created on the W dimension in the Level 0 Structure. Init 1

int MultiResMeshEditor::_LevelMax

Security upper bound for subdivision. Init 12.

int MultiResMeshEditor::_LvlZeroNbPts

Size of _LevelZeroPts. Init 0

Point** MultiResMeshEditor::_LvlZeroPts

Level0 patches compose the initial structure created in S_CreateInitMesh This table contains pointers to the points of the Level0 patches. Init NULL

ManipulatedFrame* MultiResMeshEditor::_MyManipulatedFrame

Work frame manipulated by the mouse and associated to the current selection.
This frame's position is refreshed to the selection's center of gravity whenever the selection changes.
Manipulated points have 2 coordinate systems which are respectively used when selected and when unselcted :
their position relatively to _MyManipulatedFrame and their world position

int MultiResMeshEditor::_NbGridPoints

number of points used when building a UVW point grid (in BuildStructureFromPoints) Init 200

int* MultiResMeshEditor::_NbPerturb

Number of perturbation pointers in (_PerturbTable[Level])

QString MultiResMeshEditor::_ObjFileName

file to which structures are written in obj format in the /ObjFiles folder. Init OutputFile

int MultiResMeshEditor::_OutputMode

Output format, choices are (Init 0):
0 : single object obj file (welded)
1 : 1 object per patch obj file (split)
2 : 1 patch + neighbours per obj file (Neighbours)

stack<BaryPatch*> MultiResMeshEditor::_PatchTable1

Save tables containing patche selections (RTS-game-like Ctrl5...Ctrl8 keys)

stack<BaryPatch*> MultiResMeshEditor::_PatchTable2

See also:
_PatchTable1

stack<BaryPatch*> MultiResMeshEditor::_PatchTable3

See also:
_PatchTable1

stack<BaryPatch*> MultiResMeshEditor::_PatchTable4

See also:
_PatchTable1

Point*** MultiResMeshEditor::_PerturbTable

Stores built perturbations for faster drawing purposes

bool MultiResMeshEditor::_PlanarityDegMode

Uses degree or cosine Planarity expression
Warning : degree expression has been removed, numerically very unstable

int MultiResMeshEditor::_PlanarityNbTestsBetter

Number of tests performed to adapt _PlanarityOptimMoveStep after every iterations

float MultiResMeshEditor::_PlanarityOptimAlpha

Optimisation function parameters : the function to maximise is Alpha*WorstPlanarity+NbPatches*Beta*AveragePlanarity

float MultiResMeshEditor::_PlanarityOptimDerStep

Variation (X,Y,Z) used to calculate derrivatives (gradient components) in the planarity optimization algorithm

float MultiResMeshEditor::_PlanarityOptimMoveStep

Distance (euclidian in IRn) along which points are moved on the gradient direction on every algorithm itteration

int MultiResMeshEditor::_PlanarityOptimNbIter

Number of iterations made to improve planarity

bool MultiResMeshEditor::_PlanarityOptimSelectedPatches

Restrains planarity optimisation to selected patches

bool MultiResMeshEditor::_PlanarityOptimSelectedPerturbs

Restrains planarity optimisation to selected perturbations

bool MultiResMeshEditor::_PlanarityOptimZMode

Restrains optimistion to Z components of the perturbations

float MultiResMeshEditor::_PlanaritySelectionThreshHold

Patches with a planarity value above this limit are selectable via F4 key (SelectPatchesWorstPlanarityAbove(...))

AxisPlaneConstraint* MultiResMeshEditor::_PlaneConstrainedObject

Helper constraint : helper movement will stay on XY plane.

stack<Point*> MultiResMeshEditor::_PointTable1

Save tables containing point selections (RTS-game-like Ctrl1...Ctrl4 keys)

stack<Point*> MultiResMeshEditor::_PointTable2

See also:
_PointTable1

stack<Point*> MultiResMeshEditor::_PointTable3

See also:
_PointTable1

stack<Point*> MultiResMeshEditor::_PointTable4

See also:
_PointTable1

BaryPatch* MultiResMeshEditor::_RootPatch

First virtual patch (never drawn), it is the parent of all Level0 (initial mesh) patches. Init NULL

QString MultiResMeshEditor::_SaveName

file to which structures are written in str format in the /ObjFiles folder : Structure.str

SubdivScheme* MultiResMeshEditor::_SubdivScheme

Current scheme used for the subdivisions as read from the last loaded file. Init NULL

int MultiResMeshEditor::_SubdivSchemeUCnx1

How do patches connect and how are they drawn along the U,V,W dimension. Loaded from SubFile with SubdivScheme.

QString MultiResMeshEditor::_SubFileName

File from which subdiv schemes are loaded from the /SubFiles folder. Init InputFile

int MultiResMeshEditor::_TablesLevel[8]

On which subdivision level the saved point and patch tables were built

See also:
_PointTable1

stack<SubdivScheme*> MultiResMeshEditor::_UsedSchemes

List of undeleted old schemes
(Kept for deletion purposes, but proper deletion not implemented)


The documentation for this class was generated from the following files:
Generated on Thu Sep 28 09:38:09 2006 by  doxygen 1.4.7