All transformations receive the event from a single child node, transform it and pass it on. To work with all interface types each transformation has three different configuration elements whose outputs and inputs are typed with the same interface. The configuration elements are distinguished by the following prefixes :
Event - the child node and the output interface are of type EventGenerator Queue - the child node and the output interface are of type EventQueue Time - the child node and the output interface are of type Timedependend The transformation nodes act transparently and actually exhibit the same type as their child node.DynamicTransform , by prepending the prefixes above, one receives the actual element names. The TransformBase child must always be an EventGenerator.
The confidence value of the result event is the product of the confidence values of the two input events. Button event is only passed from the child, never from the TransformBase child. If you want to merge the button event you must use an additional ButtonOp to do that. The timestamp is always of the last event that triggers an output (see baseevent).
The elements may have the following attribute.
baseevent (true|false) flag to define whether a change in the base generates an event. If set to true, a new event is also generated whenever the TransformBase child passes an event on.<EventDynamicTransform baseevent="true"> <Any EventGenerator element type> <TransformBase> <Any EventGenerator element type> </TransformBase> </EventDynamicTransform>
The configuration elements are obtained by using the base name EllipsoidTransform and prepending it with one of the prefixes Event | Queue | Time as described in the Transformation node.
It has the following attributes:
a the first semi diameter given in meters. This is required b the second semi diameter given in meters. If not specified it is set to the value of a (toCartesian | toEllipsoid) specifies whether to transform to cartesian or ellipsoid coordinates. The default is toCartesian.<EventEllipsoidTransform a="6378137" b="6356752.31424523" mode="toCartesian"> <Any EventGenerator element type> </EventEllipsoidTransform>
The configuration elements are obtained by using the base name GKTransform and prepending it with one of the prefixes Event | Queue | Time as described in the Transformation node.
It has the following attributes:
a the first semi diameter given in meters. This is required b the second semi diameter given in meters. If not specified it is set to the value of a meridian the meridian of the GK projection to use. This is given in degree rather than radiants ! the default value is 34 which is used around Vienna, Austria alpha a required transformation parameter beta a required transformation parameter gamma a required transformation parameter delta a required transformation parameter mode (to | from) specifies whether to transform to or from GK coordinates. The default is to.meridian = 28 | 31 | 34, 34 is best for Vienna and east Austria. alpha = 111120.6196 beta = 15988.6385 gamma = 16.73 delta = 0.0218<EventGKTransform a="6377397.155" b="6356078.963" mode="to" meridian="34" alpha="111120.6196" beta="15988.6385" gamma="16.73" delta="0.0218"> <Any EventGenerator element type> </EventGKTransform>
There are again three flavours, one for each interface type. The configuration elements are obtained by using the base name InvertTransform and prepending it with one of the prefixes described before.
An example element looks like this :
<EventInvertTransform> <Any EventGenerator element type> </EventInvertTransform>
The configuration elements are obtained by using the base name MatrixTransformation and prepending it with one of the prefixes described before. They have the following attribute:
matrix a 3x4 matrix specifying an affine transformation<EventMatrixTransform matrix="1 0 1 1 0 0 1 1 1 1 1 2"> <Any EventGenerator element type> </EventMatrixTransform>
There are three variants of this transformation. The PositionTransform element acts only on the position data and all attributes can be specified. OrientationTransform acts only on the orientation data and therefore only a rotation can be specified. Finally the simple Transform acts on both and again a full transformation can be specified.
The configuration elements are obtained by using one of the base names PositionTransform|OrientationTransform|Transform and prepending it with one of the prefixes described before. They have the following attributes:
translation 0 0 0 scale 1 1 1 rotationtype (quaternion|matrix|euler) quaternion rotation 0 0 0 1<EventTransform rotationtype="euler" rotation="1 2 3" translation="0 0 0"> <Any EventGenerator element type> </EventTransform>
There are three variants of this transformation. The VirtualPositionTransform element configures only a translational offset and accordingly only the translation attribute can be specified. VirtualOrientationTransform configures a rotational offset and again only the rotation attributes can be specified. Finally the simple VirtualTransform acts on both and again a full transformation can be specified.
The configuration elements are obtained by using one of the base names VirtualPositionTransform|VirtualOrientationTransform|VirtualTransform and prepending it with one of the prefixes described before. They have the following attributes:
translation 0 0 0 (T) rotationtype (quaternion|matrix|euler) quaternion rotation 0 0 0 1 (R)<EventVirtualTransform rotationtype="euler" rotation="1 2 3" translation="0 0 0"> <Any EventGenerator element type> </EventVirtualTransform>
1.4.6