Herror ::draw_rectangle2_mod (
    const HTuple &WindowHandle,
    const HTuple &RowIn,
    const HTuple &ColumnIn,
    const HTuple &PhiIn,
    const HTuple &Length1In,
    const HTuple &Length2In,
    double *Row,
    double *Column,
    double *Phi,
    double *Length1,
    double *Length2
)
HTuple HWindow::DrawRectangle2Mod (
    const HTuple &RowIn,
    const HTuple &ColumnIn,
    const HTuple &PhiIn,
    const HTuple &Length1In,
    const HTuple &Length2In,
    HTuple *Column,
    HTuple *Phi,
    HTuple *Length1,
    HTuple *Length2
) const

Interactive drawing of any orientated rectangle.

::draw_rectangle2_mod 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 are expected the parameters RowIn, ColumnIn,PhiIn,Length1In,Length2In. A click close to one side ``grips'' it to modify the rectangle's dimension in perpendicular direction (Length2) to this side. You only can modify the orientation (Phi), if you grip a side perpendicular to the first half axis. After another mouse click in the middle of the created rectangle, you can move it. 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.

RowIn (input_control)
rectangle2.center.y -> HTuple.double
Row index of the barycenter.

ColumnIn (input_control)
rectangle2.center.x -> HTuple.double
Column index of the barycenter.

PhiIn (input_control)
rectangle2.angle.rad -> HTuple.double
Orientation of the bigger half axis in radians.

Length1In (input_control)
rectangle2.hwidth -> HTuple.double
Bigger half axis.

Length2In (input_control)
rectangle2.hheight -> HTuple.double
Smaller half axis.

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_mod 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, ::draw_rectangle1, ::draw_rectangle2, ::draw_region


See also

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


Module

System



Copyright © 1996-2002 MVTec Software GmbH