RotateAtTarget

MacroModule
authors Christian Schumann, Christian Rieder
package FMEstable/ReleaseMeVis
definition RotateAtTarget.def
keywords lookAt, upVector

Purpose

Computes orientation for given position, target point and up-vector.

Details

Computes a rotation that rotates a vector (0,0,1) such that it points from In Position to In Target. Since there are unlimited rotations yielding that result, an additional In Up Vector constraints the rotation in order to guide the the orientation of the local y-axis.

Windows

Default Panel

../../../Projects/RotateAtTarget/Modules/mhelp/Images/Screenshots/RotateAtTarget._default.png

Parameter Fields

Field Index

[]: Trigger Matrix: Matrix
Axis Angle: Vector4 On Input Change Behavior: Enum
Clear: Trigger Quaternion: Vector4
doNotClearOnFailedUpdate: Bool Status Code: Enum
Has Valid Output: Bool Status Message: String
In Position: Vector3 Update: Trigger
In Target: Vector3  
In Up Vector: Vector3  

Visible Fields

In Position

name: inPosition, type: Vector3, default: 0 0 0, deprecated name: position

Defines the position

In Target

name: inTarget, type: Vector3, default: 0 0 0, deprecated name: target

Defines the target

In Up Vector

name: inUpVector, type: Vector3, default: 0 1 0, deprecated name: upVector

Defines an upVector

Matrix

name: outRotationMatrix, type: Matrix, persistent: no, deprecated name: rotationMatrix

The result orientation (Matrix-Representation)

Axis Angle

name: outAxisAngleRotation, type: Vector4, persistent: no, deprecated name: axisAngleRotation

The result orientation (Axis-Angle-Representation)

Quaternion

name: outQuaternionRotation, type: Vector4, persistent: no, deprecated name: quaternionRotation

The result orientation (Quaternion-Representation)

Update

name: update, type: Trigger

Initiates update of all output field values.

Clear

name: clear, type: Trigger

Clears all output field values to a clean initial state.

On Input Change Behavior

name: onInputChangeBehavior, type: Enum, default: Clear, deprecated name: shouldAutoUpdate,shouldUpdateAutomatically

Declares how the module should react if a value of an input field changes.

Values:

Title Name Deprecated Name
Update Update TRUE
Clear Clear FALSE

[]

name: updateDone, type: Trigger, persistent: no

Notifies that an update was performed (Check status interface fields to identify success or failure).

Has Valid Output

name: hasValidOutput, type: Bool, persistent: no

Indicates validity of output field values (success of computation).

Status Code

name: statusCode, type: Enum, persistent: no

Reflects module’s status (successful or failed computations) as one of some predefined enumeration values.

Values:

Title Name
Ok Ok
Invalid input object Invalid input object
Invalid input parameter Invalid input parameter
Internal error Internal error

Status Message

name: statusMessage, type: String, persistent: no

Gives additional, detailed information about status code as human-readable message.

Hidden Fields

doNotClearOnFailedUpdate

name: doNotClearOnFailedUpdate, type: Bool, persistent: no

Prevents automated clear after update failed. This does not affect status fields. It enables the developer to analyze module’s state after failure.