In file graphics2D/TclBoundingBox3D.h:

namespace yav class TclBoundingBox3D : public Sliceable, public TclObject

3D box drawable in a slicecamera for ROI selection purpose

Inheritance:


Public Methods

virtual void recompute (SliceCamera *cam)
Sliceable recompute virtual method
const unsigned int* getBox (void) const
returns box coordinates
void setClosestFace (SliceCamera::SLICE_ORIENTATION geom, unsigned int x, unsigned int y, unsigned int z)
selects closest box face to given voxel
void moveFace (unsigned int x, unsigned int y, unsigned int z)
moves selected box face to given voxel
void releaseFace (void)
unselect box face
virtual void buttonPressedCallback (SliceCamera *slicecam, int mx, int my)
callback called when a button is pressed in the slicecamera
virtual void buttonMotionCallback (SliceCamera *slicecam, int mx, int my)
callback called when a button is moved in the slicecamera
virtual void buttonReleasedCallback (SliceCamera *slicecam, int mx, int my)
callback called when a button is released in the slicecamera
virtual void translate (const Vec2& t)
Translates the 2D object @param t translation vector
virtual void rotate (const Rotation2D &r)
Rotates the 2D object: no rotation available for images
virtual void scale (const double s)
Scales the 2D object
virtual void updateCenter (Vec2& center, unsigned int& n)
Returns the graphic object center and weight.
virtual double updateRadius (const Vec2& center)
Returns the graphic object radius given its center
virtual double computeClosestDistance (DataTypes::MouseClick& mc) const
Return MAXDOUBLE, an image is considered as background and may not be selected
virtual void select (Camera2D *)
nothing done when an image is selected
virtual void unselect (Camera2D *)
nothing done when an image is unselected
virtual void redraw (Camera2D *cam)
default redraw function for sliceable objects
static int list (TclModule *m, int argc, char **argv)
new TCL command callback
static int create (TclModule *m, int argc, char **argv)
new TCL command callback
int destroyCmd (int argc, char **argv)
-destroy option
int boxSizeCmd (int argc, char **argv)
-boxSize option

Public

constructor
TclBoundingBox3D (TclModule *m, TclScene2D *scene, unsigned int x1, unsigned int y1, unsigned int z1, unsigned int x2, unsigned int y2, unsigned int z2, const TclString& color = "cyan", const TclString& menu = EMPTY_STRING)
creates a box
destructor
virtual ~TclBoundingBox3D ()
destroys this box

Private Fields

unsigned int box [6]
box ccordinates
TclString color
drawing color
TclString menu
right mouse button popup menu
FACE face
selected box face

Inherited from Sliceable:

Public Classes

struct CamInfo
bool needRedraw
is redraw needed in this camera ?
CamInfo()
default constructor
virtual ~CamInfo()
empty destructor

Public Methods

virtual void dying(SliceCamera *cam)
virtual void createdCamera(SliceCamera& cam)
virtual void destroyedCamera(SliceCamera& cam)

Protected Fields

std::map <SliceCamera *, CamInfo *> cameras

Protected Methods

void init(void)
virtual void deletedCamera(SliceCamera& cam)

Inherited from Data2D:

Public Classes

struct MouseClick2D: public DataTypes MouseClick

Inherited from GRAPHICS:

Public Classes

enum SLICE_ORIENTATION
SLICE_X
slice with X (column) = constant
SLICE_Y
slice with Y (row) = constant
SLICE_Z
slice with Z (plane) = constant
SLICE_ALPHA
slice with alpha (angle in XY) = constant
enum GEOMETRY
CARTESIAN
standard 3D image
CYLINDRICAL
cylindrical geometry (Z = plane angle, Y = elevation, Z = in plane radius)
SPHERICAL
spherical geometry (Z = plane angle, Y = in plane angle, X = radius)

Public Methods

void backgroundDying(void)
void setBackground(SliceCameraBackground *_background)
void updateSliceables()
virtual void update()
ScaleCamera* getScaleCamera() const
void setScaleCamera(ScaleCamera *sc)
void resetScaleCamera()
virtual TclString objectName(void) const
virtual void scaleValue(const TclScale *scale, double val)
virtual const char* sliceName(SliceCamera::SLICE_ORIENTATION geom) const
virtual SliceCamera::SLICE_ORIENTATION geomByName(const char *name) const
double getSlice(void) const
double getThickness(void) const
SLICE_ORIENTATION getGeometry(void) const
void setThickness(double d)
void setGeometry(SLICE_ORIENTATION geom)
void setSlice(double val)
virtual void translateCamera(Vec2 &t)
virtual void scaleCamera(double s)
SliceCameraBackground* getBackground(void) const
void changeBackground(SliceCameraBackground *b)
virtual double getMin(const TclScale *scale) const
virtual double getMax(const TclScale *scale) const
Vec2 getOffset() const
void doFocus(void)
virtual void focusOnBackground(void)
TclSliceCamera* getInterface(void) const

Protected Fields

double slice
double thickness
SLICE_ORIENTATION geometry
bool dieOnBackground
SliceCameraBackground* background
Vec2 offset

Inherited from Camera2D:

Public Methods

Vec2 getCameraCenter(void) const
virtual void pickObject(const Vec2 &pixel)
virtual void resize(void)
virtual void startComputation(void)
virtual void stopComputation(void)
virtual void resize(unsigned int w, unsigned int h)
virtual void rotateCamera(Rotation2D& rot)
void mapToWorld(const Vec2 &pixel, Vec2 &position)
void mapToScreen(const Vec2 &position, Vec2 &pixel)
virtual void bindMouseMotion(bool on)
virtual void applyObjectSelection(Data2D *obj)
virtual void applyObjectUnselection(Data2D *obj)
virtual void drawBoundingBox(Data2D *obj) const
void displayBoundingBox()
void hideBoundingBox()
virtual void grab(const TclString& filename)
virtual void updateDisplay(void)
static void doUpdateDisplay(ClientData cam)

Public

Constructor

Camera2D(Scene2D *scn = 0, unsigned int h = 0, unsigned int w = 0, double scale = DEFAULT_CAMERA_SCALE)
Creates a new camera

Destructor

Protected Fields

static const double initialAspectRatio
Vec2 cameraCenter
bool updatePending

Protected Methods

virtual Vec2 getTrackballVector(int x, int y) const
virtual Rotation2D getTrackballRotation(const Vec2&a, const Vec2&b)
virtual double getTrackballScale(const Vec2&a, const Vec2&b)
virtual Vec2 getTrackballTranslation(const Vec2& a, const Vec2& b)
virtual Vec2 getTrackballZTranslation(const double a)

Protected

protected constructor

Camera2D(Camera2D *)
constructor that does not create any scene

Private Methods

void initCamera(void)

Inherited from Scalable:

Public Methods

virtual void scaleTo(const TclScale *scale, double val)
virtual double getStep(const TclScale *scale) const

Documentation

3D box drawable in a slicecamera for ROI selection purpose
unsigned int box[6]
box ccordinates

TclString color
drawing color

TclString menu
right mouse button popup menu

enum FACE
cube faces enumeration

FACE face
selected box face

constructor

TclBoundingBox3D(TclModule *m, TclScene2D *scene, unsigned int x1, unsigned int y1, unsigned int z1, unsigned int x2, unsigned int y2, unsigned int z2, const TclString& color = "cyan", const TclString& menu = EMPTY_STRING)
creates a box
Parameters:
m - module to create TCL object
scene - scene that object lies in
x1 - box first x coordinate
y1 - box first y coordinate
z1 - box first z coordinate
x2 - box second x coordinate
y2 - box second y coordinate
z2 - box second z coordinate
color - box color
right - mouse button popup menu

destructor

virtual ~TclBoundingBox3D()
destroys this box

virtual void recompute(SliceCamera *cam)
Sliceable recompute virtual method

const unsigned int* getBox(void) const
returns box coordinates

void setClosestFace(SliceCamera::SLICE_ORIENTATION geom, unsigned int x, unsigned int y, unsigned int z)
selects closest box face to given voxel

void moveFace(unsigned int x, unsigned int y, unsigned int z)
moves selected box face to given voxel

void releaseFace(void)
unselect box face

virtual void buttonPressedCallback(SliceCamera *slicecam, int mx, int my)
callback called when a button is pressed in the slicecamera
Parameters:
slicecam - the slicecam where occured the click button
mx - first coordinate of the pixel clicked
my - second coordinate of the pixel clicked

virtual void buttonMotionCallback(SliceCamera *slicecam, int mx, int my)
callback called when a button is moved in the slicecamera
Parameters:
slicecam - the slicecam where is located the mouse
mx - first coordinate of the mouse position
my - second coordinate of the mouse position

virtual void buttonReleasedCallback(SliceCamera *slicecam, int mx, int my)
callback called when a button is released in the slicecamera
Parameters:
slicecam - the slicecam where is located the mouse
mx - first coordinate of the mouse position
my - second coordinate of the mouse position

virtual void translate(const Vec2& t)
Translates the 2D object @param t translation vector

virtual void rotate(const Rotation2D &r)
Rotates the 2D object: no rotation available for images
Parameters:
r - rotation matrix

virtual void scale(const double s)
Scales the 2D object
Parameters:
s - scale factor

virtual void updateCenter(Vec2& center, unsigned int& n)
Returns the graphic object center and weight.

virtual double updateRadius(const Vec2& center)
Returns the graphic object radius given its center

virtual double computeClosestDistance(DataTypes::MouseClick& mc) const
Return MAXDOUBLE, an image is considered as background and may not be selected

virtual void select(Camera2D *)
nothing done when an image is selected

virtual void unselect(Camera2D *)
nothing done when an image is unselected

virtual void redraw(Camera2D *cam)
default redraw function for sliceable objects
Parameters:
cam - camera to redraw

static int list(TclModule *m, int argc, char **argv)
new TCL command callback

static int create(TclModule *m, int argc, char **argv)
new TCL command callback

int destroyCmd(int argc, char **argv)
-destroy option

int boxSizeCmd(int argc, char **argv)
-boxSize option


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de