Assembly: Cognex.VisionPro3D (in Cognex.VisionPro3D.dll) Version: 73.0.0.0
Property Value
Type: Cog3DPatMaxZoneAngleThe second Euler angle zone. Default value is a default constructed Cog3DPatMaxZoneAngle object.
You can specify the range of 3D rotations that are allowed for your results.
Remember that a single rotation about an arbitrary axis in 3D space can also be described by three angles known as Euler angles. The Euler angles decompose the single rotation (about the arbitrary axis) into a sequence of rotations about three known coordinate system axes. Applying these three rotations in sequence is equivalent to the single rotation about the arbitrary axis.
To specify the allowed range of 3D rotations you provide three Euler angle zones. Each zone describes a range of rotations about a known coordinate system axis. By applying these three rotation ranges in succession you describe the allowed range of rotations for your results.
To define the three Euler ranges follow these steps:
- Use the ZoneAngleDecomposition property to choose which set of Euler angle zones you wish to use.
- Use the ZoneAngleFirst, ZoneAngleSecond and ZoneAngleThird properties to specify the three angle zones.
The individual zone angles are always applied in the order indicated by their names: ZoneAngleFirst is first, ZoneAngleSecond is second and ZoneAngleThird is third.
If you choose the EulerXYZ decomposition mode:
- The angle zone returned by ZoneAngleFirst represents the range of allowed rotations about the X axis of the runtime vision data's 3D selected space.
- The angle zone returned by ZoneAngleSecond represents the range of allowed rotations about the Y axis of the runtime vision data's 3D selected space.
- The angle zone returned by ZoneAngleThird represents the range of allowed rotations about the Z axis of the runtime vision data's 3D selected space.
If you choose the EulerZYZMovingAxes decomposition mode:
- The angle zone returned by ZoneAngleFirst represents the range of allowed rotations about the Z axis of the runtime vision data's 3D selected space.
- The angle zone returned by ZoneAngleSecond represents the range of allowed rotations about the Y axis of the runtime vision data's 3D selected space -- after first rotating that coordinate space by the angle specified in ZoneAngleFirst.
- The angle zone returned by ZoneAngleThird represents the range of allowed rotations about the Z axis of the runtime vision data's 3D selected space -- after first rotating that coordinate space by the angle specified in ZoneAngleFirst, and then rotating the resulting coordinate space by the angle specified in ZoneAngleSecond.
The 3DPatMax zone angle class is always an integral part of the Cog3DPatMaxRunParams class. When a RunParams instance is constructed it automatically creates three instances of the zone angle class and holds them for the entire lifetime of the RunParams object. You can modify the properties of each zone angle instance, but can never create, destroy, serialize, or replace the instance itself.
A Cog3DPatMaxResult is returned only if all of the following conditions are met:
- Its Score is greater than or equal to AcceptThreshold.
- Its position satisfies the LocationConstraintMode that you specified.
- Its rotation (as reported by the Rotation property of the Cog3DTransformRigid returned by GetPose ) falls within the angle zone ranges you specified using ZoneAngleFirst, ZoneAngleSecond and ZoneAngleThird with your chosen ZoneAngleDecomposition mode.
- Its Score makes it one of the top-scoring results. Only the NumberToFind top-scoring results (that meet all of the other conditions) will be returned.