Herror ::draw_rectangle2 (
    const HTuple &WindowHandle,
    double *Row,
    double *Column,
    double *Phi,
    double *Length1,
    double *Length2
)
HTuple HWindow::DrawRectangle2 (
    HTuple *Column,
    HTuple *Phi,
    HTuple *Length1,
    HTuple *Length2
) const

Interactive drawing of any orientated rectangle.

::draw_rectangle2 returns the parameter for any orientated rectangle, which has been created interactively by the user in the window.

The created rectangle is described by its center, its two half axes and the angle between the first half axis and the horizontal coordinate axis.

To create a rectangle you have to press the left mouse button for the center of the rectangle. While keeping the button pressed you may dimension the length (Length1) and the orientation (Phi) of the first half axis. In doing so a temporary default length for the second half axis is assumed, which may be modified afterwards on demand. After another mouse click in the middle of the created rectangle, you can move it. A click close to one side ``grips'' it to modify the rectangle's dimension in perpendicular direction to this side. You only can modify the orientation, if you grip a side perpendicular to the first half axis. Pressing the right mouse button terminates the procedure.

After terminating the procedure the rectangle is not visible in the window any longer.


Parameters

WindowHandle (input_control)
window -> HTuple.long
Window_id.

Row (output_control)
rectangle2.center.y -> double *
Row index of the barycenter.

Column (output_control)
rectangle2.center.x -> double *
Column index of the barycenter.

Phi (output_control)
rectangle2.angle.rad -> double *
Orientation of the bigger half axis in radians.

Length1 (output_control)
rectangle2.hwidth -> double *
Bigger half axis.

Length2 (output_control)
rectangle2.hheight -> double *
Smaller half axis.


Result

::draw_rectangle2 returns H_MSG_TRUE, if the window is valid and the needed drawing mode (see ::set_insert) is available. If necessary, an exception handling is raised.


Possible Predecessors

::open_window


Possible Successors

::reduce_domain, ::disp_region, ::set_colored, ::set_line_width, ::set_draw, ::set_insert


Alternatives

::draw_rectangle2_mod, ::draw_rectangle1, ::draw_region


See also

::gen_rectangle2, ::draw_circle, ::draw_ellipse, ::set_insert


Module

System



Copyright © 1996-2002 MVTec Software GmbH