58 class Transformation ;
64 class PaintActionSharedData ;
65 struct PaintActionView_Private ;
81 void brushSelection(
int id ) ;
82 void brushSizeChange(
int size ) ;
83 void regionTransparencyChange(
int alpha ) ;
89 void replaceModeOn() ;
90 void replaceModeOff() ;
91 void linkedCursorModeOn() ;
92 void linkedCursorModeOff() ;
96 void clearRegionAction() ;
100 anatomist::PaintActionView_Private * _private ;
127 float brushSize,
bool lineMode,
131 std::list< std::pair< Point3d, ChangesItem> > & changes,
137 static std::list< Point3df > drawLine(
const Point3df& from,
139 static std::list< Point3d > drawFastLine(
const Point3d& from,
151 static void brushPainter( ) ;
161 if ( p[0] < 0 || p[0] > o->
dimX() - 1 ||
162 p[1] < 0 || p[1] > o->
dimY() - 1 ||
163 p[2] < 0 || p[2] > o->
dimZ() - 1 )
180 float brushSize,
bool lineMode,
184 std::list< std::pair< Point3d, ChangesItem> > & changes,
203 float brushSize,
bool lineMode,
207 std::list< std::pair< Point3d, ChangesItem> > & changes,
244 float brushSize,
bool lineMode,
248 std::list< std::pair< Point3d, ChangesItem> > & changes,
254 virtual void brushPainter(
const Point3df& diskCenter,
263 std::list< std::pair< Point3d, ChangesItem> > & changes,
279 float brushSize,
bool lineMode,
283 std::list< std::pair< Point3d, ChangesItem> > & changes,
289 virtual void brushPainter(
const Point3d& pToInt,
297 std::list< std::pair< Point3d, ChangesItem> > & changes,
301 const std::vector<Point3d>& brush(
int size ) ;
310 void noMoreUndoable() ;
313 virtual void update (
const Observable *observable,
void *arg) ;
325 bool myFollowingLinkedCursor ;
330 bool myIsChangeValidated ;
334 std::list< std::pair< Point3d, ChangesItem> > * myCurrentChanges ;
340 bool myCursorShapeChanged;
351 virtual std::string name()
const;
354 void increaseBrushSize( ) ;
355 void decreaseBrushSize( ) ;
356 void setSize(
float i ) ;
360 void changeRegionTransparency(
float alpha ) ;
363 bool lineMode() {
return _sharedData->myLineMode ; }
369 void followingLinkedCursorOn( ) ;
370 void followingLinkedCursorOff( ) ;
373 void brushToSquare( ) ;
374 void brushToDisk( ) ;
375 void brushToBall( ) ;
377 void brushToPoint( ) ;
379 bool mmMode() {
return _sharedData->myMmMode ;}
380 void brushToVoxel() ;
383 void paintStart(
int x,
int y,
int globalX,
int globalY ) ;
384 void paint(
int x,
int y,
int globalX,
int globalY ) ;
386 void eraseStart(
int x,
int y,
int globalX,
int globalY ) ;
387 void erase(
int x,
int y,
int globalX,
int globalY ) ;
390 void fill(
int x,
int y,
int globalX,
int globalY ) ;
391 void fillRegion2D(
const Point3d& seed,
399 void validateChange(
int x = 0,
int y = 0,
int globalX = 0,
406 void moveCursor(
int x,
int y,
int globalX,
int globalY );
410 static Action * creator() ;
412 void change(
bool forward ) ;
413 virtual QWidget * actionView( QWidget *) ;
414 virtual bool viewableAction( )
const ;
421 bool hasChanged ()
const {
return _sharedData->hasChanged() ; }
423 void changeCursor(
bool cross) ;
424 void copyPreviousSliceWholeSession( ) ;
425 void copyPreviousSliceCurrentRegion( ) ;
426 void copyNextSliceWholeSession( ) ;
427 void copyNextSliceCurrentRegion( ) ;
431 std::list<AWindow3D*> myLinkedWindows ;
433 void copySlice(
bool wholeSession,
int sliceIncrement ) ;
bool myPreviousPointExists
Base Anatomist object (abstract)
void deleteObserver(Observer *observer)
static RoiChangeProcessor * instance()
A class can implement the Observer interface when it wants to be informed of changes in observable ob...
3D window, OpenGL rendering
This class can be subclassed to represent an object that the programmer wants to have observed...
bool followingLinkedCursorMode()
std::map< Point3d, T, BucketMapLess > Bucket
void addObserver(Observer *observer)
bool in(const AimsData< AObject *> *o, Point3df p, const Point3df &offset)
void notifyUnregisterObservers()
A private class: slider with specific data storage (for callbacks client data), no use for it anywher...
Referential: marker for transformations, with an associated color.
void notifyObservers(void *arg=0)