34 #ifndef ANATOMIST_MODULE_SURFPAINTTOOLS_H    35 #define ANATOMIST_MODULE_SURFPAINTTOOLS_H    72       bool initSurfPaintModule( 
AWindow3D *w3 );
    74       void removeToolBarControls( 
AWindow3D *w3 );
    75       void addToolBarInfosTexture( 
AWindow3D *w3 );
    76       void removeToolBarInfosTexture( 
AWindow3D *w3 );
    79       void setPolygon(
int p) { IDPolygonSpinBox->setValue(p); }
    80       void setMaxPoly(
int max) { IDPolygonSpinBox->setRange(-1,max); }
    81       void setVertex(
int v) { IDVertexSpinBox->setValue(v); }
    85       { textureFloatSpinBox->setRange( min, max ); }
    87       { 
return textureFloatSpinBox->value(); }
    89       { textureFloatSpinBox->setValue(v); }
    90       void updateTextureValue( 
int indexVertex, 
float value );
    91       void updateTexture ( std::vector<float> values );
    92       void restoreTextureValue( 
int indexVertex );
    93       void floodFillStart( 
int indexVertex );
    95       void fastFillMove( 
int indexVertex, 
float newTextureValue,
    96                          float oldTextureValue );
    99         return !listIndexVertexBrushPath.empty() || !listIndexVertexHolesPath.empty() || !holesObject.empty();
   102       void fillHolesOnPath();
   113       void addGeodesicPath( 
int indexNearestVertex,
   115       void undoGeodesicPath();
   116       void redoGeodesicPath();
   117       void undoHolesPaths();
   118       void redoHolesPaths();
   119       void undoSelectFill();
   120       void redoSelectFill();
   122       void computeDistanceMap( 
int indexNearestVertex );
   132       void newEditOperation();
   133       void undoTextureOperation();
   134       void redoTextureOperation();
   135       bool isValid() 
const;
   140       void magicSelection();
   160       void updateConstraintList();
   161       void loadConstraintsList( std::vector<std::string> clist );
   163       void changeToleranceSpinBox( 
int v );
   164       void changeConstraintPathSpinBox( 
int v );
   166       void changeMinValueSpinBox( 
double v );
   167       void changeMaxValueSpinBox( 
double v );
   170       void popAllButtonPaintToolBar();
   171       void clearUndoneGeodesicPath();
   172       void addSimpleShortPath( 
int indexSource, 
int indexDest );
   173       void undoSimpleShortPath();
   174       void redoSimpleShortPath();
   175       void clearUndoneHolesPaths();
   176       void clearUndoneSelectFill();
   177       float currentTextureValue( 
unsigned vertexIndex ) 
const;
   178       void clearRedoBuffer();
   193       QToolBar  *tbTextureValue;
   194       QDoubleSpinBox *textureFloatSpinBox;
   200       QSpinBox *IDPolygonSpinBox;
   201       QSpinBox *IDVertexSpinBox;
   203       QToolBar  *tbControls;
   205       QToolButton *colorPickerAction;
   206       QToolButton *selectionAction;
   207       QToolButton *pathAction;
   208       QAction     *shortestPathAction;
   209       QAction     *sulciPathAction;
   210       QAction     *gyriPathAction;
   212       QToolButton *paintBrushAction;
   213       QToolButton *magicBrushAction;
   215       QToolButton *distanceAction;
   217       QToolButton *validateEditAction;
   218       QToolButton *eraseAction;
   219       QToolButton *clearPathAction;
   220       QToolButton *saveAction;
   222       QComboBox *constraintList;
   224       QSpinBox *toleranceSpinBox;
   225       QLabel *toleranceSpinBoxLabel;
   226       QSpinBox *constraintPathSpinBox;
   227       QLabel *constraintPathSpinBoxLabel;
   229       QDoubleSpinBox *textureValueMinSpinBox;
   230       QDoubleSpinBox *textureValueMaxSpinBox;
   232       GLuint constraintPathValue;
   233       GLuint toleranceValue;
   234       float stepToleranceValue;
   237       std::string shortestPathSelectedType;
   239       aims::GeodesicPath *sp;
   240       aims::GeodesicPath *sp_sulci;
   241       aims::GeodesicPath *sp_gyri;
   243       std::vector<std::set<uint> >  neighbours;
   246       std::vector<unsigned> listIndexVertexPathSP;
   247       std::vector<unsigned> listIndexVertexSelectSP;
   249       std::vector<unsigned> listIndexVertexBrushPath;
   250       std::vector<unsigned> listIndexVertexHolesPath;
   252       std::set<int> listIndexVertexFill;
   254       std::vector<carto::rc_ptr<ATriangulated> > pathObject;
   255       std::vector<carto::rc_ptr<ATriangulated> > fillObject;
   256       std::vector<carto::rc_ptr<ATriangulated> > holesObject;
 
Base Anatomist object (abstract) 
 
3D window, OpenGL rendering 
 
High-level Texture object in Anatomist. 
 
AIMSDATA_API TimeTexture< float > Texture1d