CalcHesseRepresentation (FB) ¶ FUNCTION_BLOCK CalcHesseRepresentation This function block will retrieve the normal form (due to Hesse) of a plane \(E\) in the three dimensional space: \(E\colon(x-p)\cdot n = 0\) , where \(n\) is the normed normal on the plane and \(p\) a point on the plane. The plane is originally specified by three of its points. InOut: Scope Name Type Comment Input vP1 POINTER TO Vector3D point on plane \(E\) vP2 POINTER TO Vector3D point on plane \(E\) vP3 POINTER TO Vector3D point on plane \(E\) Output plane PLANE_H normal form of plane \(E\) xError BOOL Error flag TRUE : If input points are collinear
ProjectPointOnPlane (FUN) ¶ FUNCTION ProjectPointOnPlane : LREAL This function will project a point \(x \in \mathbb{R^{3}}\) onto a plane in direction of the normal vector. The return is the distance of the point \(x\) to the plane. InOut: Scope Name Type Comment Return ProjectPointOnPlane LREAL Input pplane POINTER TO Plane_H Pointer on plane description pvOrig POINTER TO VECTOR3D Pointer on point \(x \in \mathbb{R^{3}}\) to be projected pvProj POINTER TO VECTOR3D Pointer on projection of \(x\) onto plane
CartesianToPolar (FB) ¶ FUNCTION_BLOCK CartesianToPolar This function block will change the Cartesian coordinates of the two dimensional space \((x,y) \in \mathbb{R^{2}}\) , to polar coordinates \((r, \varphi) \in \mathbb{R_{0}^{+}} \times \left( -\pi, \pi\right]\) , which are connected via: \[ \begin{align}\begin{aligned}r=\sqrt{x^{2} + y^{2}}\\\varphi = \arctan\left(y, x\right)\end{aligned}\end{align} \] InOut: Scope Name Type Comment Input lrX LREAL X coordinate \(x\) lrY LREAL Y coordinate \(y\) Output lrAngle LREAL Angular coordinate \(\varphi\) (azimuth) lrDistance LREAL Radius \(r\)
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