Herror ::gen_checker_region (
    Hobject *RegionChecker,
    const HTuple &WidthRegion,
    const HTuple &HeightRegion,
    const HTuple &WidthPattern,
    const HTuple &HeightPattern
)
HRegion HRegion::GenCheckerRegion (
    const HTuple &WidthRegion,
    const HTuple &HeightRegion,
    const HTuple &WidthPattern,
    const HTuple &HeightPattern
)

Create a checkered region.

The operator ::gen_checker_region returns a checkered region. Every black field of the checkerboard belongs to the region. The horizontal and vertical expansion of the region is limited by WidthRegion, HeightRegion respectively, the size of the fields of the checkerboard by WidthPattern * HeightPattern.


Attention

If a very small pattern is chosen (WidthPattern < 4) the created region requires much storage.


Parameters

RegionChecker (output_object)
region -> Hobject * : HRegion
Created checkerboard region.

WidthRegion (input_control)
extent.x -> HTuple.long
Largest occurring x value of the region.
Default value: 511
Suggested values: 10, 20, 31, 63, 127, 255, 300, 400, 511
Typical range of values: 1 <= WidthRegion <= 1024 (lin)
Minimum increment: 1
Recommended increment: 10
Restriction: WidthRegion >= 1

HeightRegion (input_control)
extent.y -> HTuple.long
Largest occurring y value of the region.
Default value: 511
Suggested values: 10, 20, 31, 63, 127, 255, 300, 400, 511
Typical range of values: 1 <= HeightRegion <= 1024 (lin)
Minimum increment: 1
Recommended increment: 10
Restriction: HeightRegion >= 1

WidthPattern (input_control)
extent.y -> HTuple.long
Width of a field of the checkerboard.
Default value: 64
Suggested values: 1, 2, 4, 8, 16, 20, 32, 64, 100, 128, 200, 300, 500
Typical range of values: 1 <= WidthPattern <= 1024 (lin)
Minimum increment: 1
Recommended increment: 10
Restriction: (WidthPattern > 0) && (WidthPattern < WidthRegion)

HeightPattern (input_control)
extent.y -> HTuple.long
Height of a field of the checkerboard.
Default value: 64
Suggested values: 1, 2, 4, 8, 16, 20, 32, 64, 100, 128, 200, 300, 500
Typical range of values: 1 <= HeightPattern <= 1024 (lin)
Minimum increment: 1
Recommended increment: 10
Restriction: (HeightPattern > 0) && (HeightPattern < HeightRegion)


Example
gen_checker_region(&Checker,512,512,32,64);
set_draw(WindowHandle,"fill");
set_part(WindowHandle,0,0,511,511);
disp_region(Checker,WindowHandle);

Complexity

The required storage (in bytes) for the region is:

O((WidthRegion * HeightRegion) / WidthPattern)


Result

The operator ::gen_checker_region returns the value H_MSG_TRUE if the parameter values are correct. Otherwise an exception handling is raised. The clipping according to the current image format is set via the operator ::set_system('clip_region',<'true'/'false'>).


Possible Successors

::paint_region


Alternatives

::gen_grid_region, ::gen_region_polygon_filled, ::gen_region_points, ::gen_region_runs, ::gen_rectangle1, ::concat_obj, ::gen_random_region, ::gen_random_regions


See also

::hamming_change_region, ::reduce_domain


Module

Region processing



Copyright © 1996-2002 MVTec Software GmbH