Click or drag to resize

MotorAspectLimit Class

Represents a set of limiting range for a MotorAspect property.
Inheritance Hierarchy
SystemObject
  Demo3D.Visuals.MotorMotorAspectLimit

Namespace:  Demo3D.Visuals.Motor
Assembly:  Demo3D.Core (in Demo3D.Core.dll) Version: 15.0.2.11458
Syntax
C#
public sealed class Limit : IDisposable

The MotorAspectLimit type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyCount
The number of restrictive ranges.
Public propertyMax
The most restrictive maximum value from the set of limiting ranges.
Public propertyMin
The most restrictive minimum value from the set of limiting ranges.
Top
Methods
  NameDescription
Public methodAdd
Adds a restricting range to the limit.
Public methodClear
Clears all restrictive ranges from the limit.
Public methodDispose
Releases all resources used by the MotorAspectLimit
Top
Events
  NameDescription
Public eventOnChanged
An event that is triggered when the minimum and/or maximum values for the permitted range change.
Top
Remarks
The value for a property may be limited by a finite set of potentially overlapping ranges. The MotorAspectLimit stores the set of ranges and allows for querying the minimum and maximum allowable value for a property. For example, given the pair of ranges [-4, 7] and [0.5, 12], the most restrictive minimum value is 0.5 and the most restructive maximum value is 7. This is used to allow a single motor to be attached to multiple joints. Each joint may impose a limiting range on the motor. The motor's range of motion should then be restricted to the most restrictive minimum and maximum values, ensuring that the motor doesn't attempt to drive any joint beyond its limits. One caveat is that disjoint ranges may result in an infeasible permitted range. This is the case when the maximum of one range is less than the minimum for another. In such cases there is no allowable value. An exception will be triggered when such a case is detected and the range won't be added.
See Also