PolarToCartesian (FB) ¶ FUNCTION_BLOCK PolarToCartesian This function block will change the polar coordinates of the two dimensional space \((r, \varphi) \in \mathbb{R_{0}^{+}} \times \left( -\pi, \pi\right]\) to Cartesian coordinates \((x,y) \in \mathbb{R^{2}}\) , which are connected via: \[ \begin{align}\begin{aligned}x = \cos(\varphi) \cdot r\\y = \sin(\varphi) \cdot r\end{aligned}\end{align} \] InOut: Scope Name Type Comment Input lrAngle LREAL Angular coordinate \(\varphi\) (azimuth) lrDistance LREAL Radius \(r\) Output lrX LREAL X coordinate \(x\) lrY LREAL Y coordinate \(y\)
AddMultiplicatedVector (FUN) ¶ FUNCTION AddMultiplicatedVector : BOOL This function will multiply the input vector \(v_{2} \in \mathbb{R}\) by a scalar \(a \in \mathbb{R}\) and will add this product to the input vector \(v_{1} \in \mathbb{R}\) : \[b = v_{1} + a \cdot v_{2}\] InOut: Scope Name Type Comment Return AddMultiplicatedVector BOOL The return value is not used. Input pv1 POINTER TO Vector3d Pointer to input vector \(v_{1} \in \mathbb{R}\) pv2 POINTER TO Vector3d Pointer to input vector \(v_{2} \in \mathbb{R}\) lrFactor LREAL Scalar multiplier \(a \in \mathbb{R}\) pv POINTER TO Vector3D Pointer to result \(b\)
CrossProduct (FB) ¶ FUNCTION_BLOCK CrossProduct This function will calculate the Cartesian product (outer product) of two vectors \(v_{1}, v_{2} \in \mathbb{R^{3}}\) . The result will be returned in vector \(v = v_{1} \times v_{2} \in \mathbb{R^{3}}\) . Note Keep in mind that, due to rounding errors, the input of two collinear vectors will not necessarily result in the null vector. InOut: Scope Name Type Comment Input v1 Vector3d Input vector \(v_{1} \in \mathbb{R}\) v2 Vector3d Input vector \(v_{2} \in \mathbb{R}\) Output v Vector3D Cartesian product \(v_{1} \times v_{2} \in \mathbb{R^{3}}\)
CrossProductNormed (FB) ¶ FUNCTION_BLOCK CrossProductNormed This function will calculate the Cartesian product of two vectors \(v_{1}, v_{2} \in \mathbb{R^{3}}\) . The result will be returned in vector \(v = \frac{v_{1} \times v_{2}}{\left \| v_{1} \times v_{2}\right \|} \in \mathbb{R^{3}}\) . Note Keep in mind that, due to rounding errors, the input of two collinear vectors will not necessarily result in the null vector. InOut: Scope Name Type Comment Input v1 Vector3d Input vector \(v_{1} \in \mathbb{R}\) v2 Vector3d Input vector \(v_{2} \in \mathbb{R}\) Output v Vector3D Normed outer product \(v \in \mathbb{R^{3}}\) xError BOOL Error flag TRUE : If the calculated outer product yields the null vector so that scaling is not possible
PoolClass.Close (METH) ¶ METHOD Close : RSM.ERROR InOut: Scope Name Type Return Close RSM.ERROR Input hHandle CAA.HANDLE
RLstClass (FB) ¶ FUNCTION_BLOCK RLstClass EXTENDS RSM.RSMClass Methods: Close Structure: Close (Method)
RLstClass.Close (METH) ¶ METHOD Close : RSM.ERROR InOut: Scope Name Type Return Close RSM.ERROR Input hHandle CAA.HANDLE
RSHandling (GVL) ¶ init before other GVLs (slot = 49990) to avoid crashes on init if a managed ressource is created in FB_Init Attributes: qualified_only InOut: Name Type g_XChgClass XChgClass g_FlatClass FlatClass g_MsgClass MsgClass g_RefClass MsgClass g_PoolClass PoolClass g_BlkClass BlkClass g_RLstClass RLstClass
XChgClass (FB) ¶ FUNCTION_BLOCK XChgClass EXTENDS RSM.RSMClass Methods: Close Structure: Close (Method)
XChgClass.Close (METH) ¶ METHOD Close : RSM.ERROR InOut: Scope Name Type Return Close RSM.ERROR Input hHandle CAA.HANDLE