XMarkerListMaxDistance¶
-
MLModule
¶ genre Marker
author Frank Heckel
package FMEstable/ReleaseMeVis
dll MLXMarkerUtilsStable
definition MLXMarkerUtilsStable.def see also DistanceFromXMarkerList
keywords xmarker
,marker
,distance
,measurement
,OpenMP
,SSE
Purpose¶
The module XMarkerListMaxDistance
computes the maximum distance between all markers of an XMarkerList and shows the maximal maximum distance and the according positions.
The module outputs an XMarkerList containing one vector that spans between the computed maximal positions.
Details¶
Note that, if multiple threads are used, the result is not deterministic, i.e., different markers at different positions might be returned if multiple configurations exist with the same maximum distance and these configurations are processed by different threads. In this case, the result depends on the order in which the threads are executed.
Parameter Fields¶
Field Index¶
Auto update : Bool |
Position (p2) : Vector3 |
calculationTime : Float |
Update : Trigger |
Code Path : Enum |
Use Local Array : Bool |
Marker 1 : Integer |
|
Marker 2 : Integer |
|
Maximum Distance in mm : Float |
|
Num Threads : Integer |
|
Position (p1) : Vector3 |
Visible Fields¶
Maximum Distance in mm¶
-
name:
maxDistance
, type:
Float
, persistent:
no
¶ Shows the computed maximal distance in mm.
Position (p1)¶
-
name:
p1
, type:
Vector3
, persistent:
no
¶ Shows the first computed point of the computed maximum distance.
Position (p2)¶
-
name:
p2
, type:
Vector3
, persistent:
no
¶ Shows the second computed point of the computed maximum distance.
Marker 1¶
-
name:
i1
, type:
Integer
, persistent:
no
¶ Index of the first marker corresponding to the maximum distance.
Marker 2¶
-
name:
i2
, type:
Integer
, persistent:
no
¶ Index of the first marker corresponding to the maximum distance.
Auto update¶
-
name:
autoUpdate
, type:
Bool
, default:
FALSE
¶ If checked, the module computes anew when its input changes.
Num Threads¶
-
name:
numThreads
, type:
Integer
, default:
2
¶ Sets the number of used threads.
It is recommended to use as many threads as the CPU can process in hardware.
Code Path¶
-
name:
codePath
, type:
Enum
, default:
SSE2
¶ Defines where the maximum distance should be computed.
If SSE2 is not available on the system, the module switches automatically to FPU.
Values:
Title | Name | Description |
---|---|---|
Fpu | FPU | |
Sse2 | SSE2 | Streaming SIMD Extensions 2 should be used as default. SSE2 is supported on Intel CPUs since Pentium 4 and on AMD CPUs since Athlon64. |
Use Local Array¶
-
name:
useLocalArray
, type:
Bool
, default:
TRUE
¶ If checked, the module can compute more efficient if in SSE2 mode.
The positions of the markers in the XMarkerList are copied to a temporary local array which uses some additional memory but results in faster computation because of less cache misses and because the SSE2 code path can access this array more efficient than the values in the XMarkerList.