Description

Flags reflecting and controlling optional behavior

Property type

A mcOptionFlags enumeration.  

Syntax

object.OptionFlags([ofMask]) [= value]

The OptionFlags Property syntax has these parts:

PartDescription
objectAn expression evaluating to an object of type McRegions.
ofMaskOptional. A mcOptionFlags enumeration, as described in settings.

A mask for the flags being set or accessed. Default value is mcfsfAllFlags.

valueA mcOptionFlags enumeration, as described in settings.

Settings

The settings for ofMask are:

ConstantValueDescription
 mcofNoFlags0

No flags

 mcofKeepRegionsAsUnion1

If set, regions are kept as a single union scan list (bit mask); thus no overlapping regions are allowed. If clear, regions are maintained as outlines which may overlap. When the state of this flag is changed, the Count property may also change. This flag is clear by default.

 mcofConnect82

If set, regions are considered connected using 8-connected test. Otherwise, a 4-connected test is used for the test. When the state of this flag is changed, the Count property may change. This flag is clear by default except for McLines, in which case it is set by default.

 mcofOneFeatureOnly16

If set, then tool-created McGraphObj objects with the AutoDisplayTemplateID (see DisplayOverlays) will Reset the the features to the IsReset state before creating the new feature, thus limiting the number of features to one. Also if this flag is set and the last feature is deleted from the overlay, then the McFeatures is placed in the IsReset state (rather than the IsEmpty state). For example, this flag is set to prevent the user from creating more than one AOI region. The flag is clear by default, so that multiple regions can be created by the user.

 mcofEmptyIsReset32

If set, any zero Count situation is reported as IsReset and never as IsEmpty. AOI McRegions have this bit set, otherwise it is clear by default.

 mcofClipToParentImage64

If set, and the McFeatures operator has an ancestor McImage, then CopyFrom, Merge or Intersect operations will clip the source McFeatures to the ancestor McImage's bounds before performing the operation. AOI McRegions have this bit set, otherwise it is clear by default.

 mcofAoiOptions96

McRegions objects used as AOI's have both the mcofEmptyIsReset and mcofClipToParentImage OptionFlags bits set.

 mcofDefaultXorOnMerge2048

If set, feature pixels are by default Xor'ed when merging, else they are Or'ed (see also mcfsfXorOnMerge). The effect is to create holes where regions overlap (see McRegions.Holes) This flag is clear by default.

 mcofDefaultPolyline4096

If set, McLines line features are always treated as polylines (type mcftPolyline) even if they have only one segment. If clear, line features with one line segment are treated as mcftLine type, while lines with more than one segment are treated as mcftPolyline. The major effect of this difference is that it determines the type of linked McGraphObj that will be used to display line features with one segment. Assigning a new value to this flag will not redisplay existing lines. This flag is clear by default.

 mcoDefaultDisplayAsBitmap8192

Not Implemented Yet. If set, region features are by default displayed as a bitmap. This is the only way to see filled regions with their holes visible (see also mcfsfDisplayAsBitmap for a way to display indidividual regions as bitmaps). This flag is clear by default.

 mcofDefaultCircle65536

Not Implemented Yet. If set, circular ellipses are by default treated as mcftCircle (see also mcfsfCircle)

 mcofDefaultFlatEllipse131072

Not Implemented Yet. If set, angle 0 ellipses are by default treated as mcftFlatEllipse (see also mcfsfFlatEllipse)

 mcofDefaultFlatRect262144

Not Implemented Yet. If set, angle 0 boxes are by default treated not free to rotate (see also mcfsfFlatRect)

 mcofDefaultSquare524288

Not Implemented Yet. If set, boxes are by default made squares (see also mcfsfSquare)

 mcofPrivateAppearance16777216

Used for AOI McRegions to note which have a privately assigned appearance

 mcofUserFlagsMask-268435456

User flags should use only these 4 bits

 mcofAllFlags-1

all flags

The settings for value are:

ConstantValueDescription
 mcofNoFlags0

No flags

 mcofKeepRegionsAsUnion1

If set, regions are kept as a single union scan list (bit mask); thus no overlapping regions are allowed. If clear, regions are maintained as outlines which may overlap. When the state of this flag is changed, the Count property may also change. This flag is clear by default.

 mcofConnect82

If set, regions are considered connected using 8-connected test. Otherwise, a 4-connected test is used for the test. When the state of this flag is changed, the Count property may change. This flag is clear by default except for McLines, in which case it is set by default.

 mcofOneFeatureOnly16

If set, then tool-created McGraphObj objects with the AutoDisplayTemplateID (see DisplayOverlays) will Reset the the features to the IsReset state before creating the new feature, thus limiting the number of features to one. Also if this flag is set and the last feature is deleted from the overlay, then the McFeatures is placed in the IsReset state (rather than the IsEmpty state). For example, this flag is set to prevent the user from creating more than one AOI region. The flag is clear by default, so that multiple regions can be created by the user.

 mcofEmptyIsReset32

If set, any zero Count situation is reported as IsReset and never as IsEmpty. AOI McRegions have this bit set, otherwise it is clear by default.

 mcofClipToParentImage64

If set, and the McFeatures operator has an ancestor McImage, then CopyFrom, Merge or Intersect operations will clip the source McFeatures to the ancestor McImage's bounds before performing the operation. AOI McRegions have this bit set, otherwise it is clear by default.

 mcofAoiOptions96

McRegions objects used as AOI's have both the mcofEmptyIsReset and mcofClipToParentImage OptionFlags bits set.

 mcofDefaultXorOnMerge2048

If set, feature pixels are by default Xor'ed when merging, else they are Or'ed (see also mcfsfXorOnMerge). The effect is to create holes where regions overlap (see McRegions.Holes) This flag is clear by default.

 mcofDefaultPolyline4096

If set, McLines line features are always treated as polylines (type mcftPolyline) even if they have only one segment. If clear, line features with one line segment are treated as mcftLine type, while lines with more than one segment are treated as mcftPolyline. The major effect of this difference is that it determines the type of linked McGraphObj that will be used to display line features with one segment. Assigning a new value to this flag will not redisplay existing lines. This flag is clear by default.

 mcoDefaultDisplayAsBitmap8192

Not Implemented Yet. If set, region features are by default displayed as a bitmap. This is the only way to see filled regions with their holes visible (see also mcfsfDisplayAsBitmap for a way to display indidividual regions as bitmaps). This flag is clear by default.

 mcofDefaultCircle65536

Not Implemented Yet. If set, circular ellipses are by default treated as mcftCircle (see also mcfsfCircle)

 mcofDefaultFlatEllipse131072

Not Implemented Yet. If set, angle 0 ellipses are by default treated as mcftFlatEllipse (see also mcfsfFlatEllipse)

 mcofDefaultFlatRect262144

Not Implemented Yet. If set, angle 0 boxes are by default treated not free to rotate (see also mcfsfFlatRect)

 mcofDefaultSquare524288

Not Implemented Yet. If set, boxes are by default made squares (see also mcfsfSquare)

 mcofPrivateAppearance16777216

Used for AOI McRegions to note which have a privately assigned appearance

 mcofUserFlagsMask-268435456

User flags should use only these 4 bits

 mcofAllFlags-1

all flags

Remarks

A new Features collection is not mcofConnect8 by default unless it is an McLines, for which mcofConnect8 is set by default.

OptionFlags are copied by the GetFeatures, Duplicate and CopyFrom methods.

The mcofDefaultXorOnMerge flag can be set to cause overlapping regions to create holes in the union bit mask of all features. This can be used to create AOI's with holes in them (e.g., see the CreateAOIwithHoleInIt subroutine in the NestingAndHolesSamples.bas sample).