Cog3DAlignZoneAngle ClassCognex VisionPro
Class that specifies a zone of allowed rotation angles. Three instances of this class, interpreted as a sequence of Euler angles, are used to specify the range of 3D rotations at which runtime patterns may be found.
Inheritance Hierarchy

System Object
  System MarshalByRefObject
    Cognex.VisionPro.Implementation CogObjectBase
      Cognex.VisionPro.Implementation CogChangedEventBase
        Cognex.VisionPro3D Cog3DAlignZoneAngle

Namespace: Cognex.VisionPro3D
Assembly: Cognex.VisionPro3D (in Cognex.VisionPro3D.dll) Version: 65.1.0.0
Syntax

public class Cog3DAlignZoneAngle : CogChangedEventBase

The Cog3DAlignZoneAngle type exposes the following members.

Methods

  NameDescription
Public methodCreateObjRef
Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.
(Inherited from MarshalByRefObject.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Protected methodGetAttributes
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetClassName
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetComponentName
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetConverter
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetDefaultEvent
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetDefaultProperty
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetEditor
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetEvents 
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetEvents( Attribute )
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetLifetimeService
Retrieves the current lifetime service object that controls the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
Protected methodGetProperties 
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetProperties( Attribute )
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Protected methodGetPropertyOwner
Implements the corresponding member of the ICustomTypeDescriptor interface. May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInitializeLifetimeService
Obtains a lifetime service object to control the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
Protected methodMemberwiseClone 
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodMemberwiseClone(Boolean)
Creates a shallow copy of the current MarshalByRefObject object.
(Inherited from MarshalByRefObject.)
Protected methodOnChanged(Int64)
This method should be called internally whenever the object's state may have changed.
(Inherited from CogChangedEventBase.)
Protected methodOnChanged(CogChangedEventArgs)
This method may be called internally whenever a derived object's state may have changed and the derived object expresses this change via a derived CogChangedEventArgs class.
(Inherited from CogChangedEventBase.)
Public methodResumeAndRaiseChangedEvent
Re-enables raising of the Changed event after SuspendChangedEvent has been called, and raises the Changed event if the ChangedEventSuspended count is reduced to zero and any changes were made while events were suspended. Must be called once for each call to SuspendChangedEvent.
(Inherited from CogChangedEventBase.)
Public methodSuspendChangedEvent
Temporarily suspends the raising of the Changed event. May be called more than once, and a corresponding call to ResumeAndRaiseChangedEvent must be made for each call to SuspendChangedEvent.
(Inherited from CogChangedEventBase.)
Public methodToString
Returns a String that represents the current Object.
(Inherited from Object.)
Top
Fields

  NameDescription
Public fieldStatic memberSfHigh
This bit will be set in the EventArgs of a Changed event every time the value returned by High may have changed.
Public fieldStatic memberSfLow
This bit will be set in the EventArgs of a Changed event every time the value returned by Low may have changed.
Protected fieldStatic memberSfNextSf
Public fieldStatic memberSfOverlap
This bit will be set in the EventArgs of a Changed event every time the value returned by Overlap may have changed.
Top
Properties

  NameDescription
Public propertyChangedEventSuspended
If nonzero, indicates that the raising of the Changed event has been suspended. This value is incremented when SuspendChangedEvent is called and decremented when ResumeAndRaiseChangedEvent is called.
(Inherited from CogChangedEventBase.)
Public propertyHigh
Gets or sets the high limit (in radians) for this angle zone.
Public propertyLow
Gets or sets the low limit (in radians) for this angle zone.
Public propertyOverlap
Gets or sets the overlap threshold (in radians) for this angle zone.
Public propertyStateFlags
Returns the complete set of state flags supported on this object. The flags may be indexed by name as shown in the following C# code snippet: if (changedObject.StateFlags["Color"] & eventArgs.StateFlags) { ... }
(Inherited from CogChangedEventBase.)
Top
Events

  NameDescription
Public eventChanged
This event is raised when one or more parts of the object's state may have changed.
(Inherited from CogChangedEventBase.)
Top
Remarks

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:

  1. Use the ZoneAngleDecomposition property to choose which set of Euler angle zones you wish to use.
  2. 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 image's 3D selected space.
  • The angle zone returned by ZoneAngleSecond represents the range of allowed rotations about the Y axis of the runtime image's 3D selected space.
  • The angle zone returned by ZoneAngleThird represents the range of allowed rotations about the Z axis of the runtime image'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 image's 3D selected space.
  • The angle zone returned by ZoneAngleSecond represents the range of allowed rotations about the Y axis of the runtime image'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 image'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.

This class lets you specify a range of angle values for one Euler angle zone. The results returned by the tool will have an angle between the Low and High angles that you specify.

All angles are specified in radians.

The 3DAlign zone angle class is always an integral part of the Cog3DAlignRunParams 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.

See Also