FC_CommonPointsOfThreeSpheres - General Information
Type: |
Function |
Available as of: |
V1.0.3.0 |
Versions: |
Current version |
Calculates the intersections of three spheres in the 3-dimensional space.
Calculates the intersections of the spheres i_stSphere1, i_stSphere2 and i_stSphere3. The sphere centers must not lie on a straight line.
Input |
Data type |
Description |
---|---|---|
i_stSphere1 |
Sphere 1 |
|
i_stSphere2 |
Sphere 2 |
|
i_stSphere3 |
Sphere 3 |
Output |
Data type |
Description |
---|---|---|
q_etDiag |
General library-independent statement on the diagnostic. A value not equal to ET_Diag.Ok corresponds to an diagnostic message. |
|
q_etDiagExt |
POU-specific output on the diagnostic. q_etDiag = ET_Diag.Ok -> Status message q_etDiag <> ET_Diag.Ok -> Diagnostic message |
|
q_diNumberOfCommonPoints |
DINT |
Number of intersections of the three spheres. Possible values: 0, 1 or 2 |
q_astCommonPoints |
ARRAY [1..2] OF ST_Vector3D |
Intersections (only valid if q_diNumberOfCommonPoints > 0) |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
0 |
Ok |
|
InputParameterInvalid |
52 |
The centers are located on a straight line. |
|
InputParameterInvalid |
46 |
The centers are located on top of each other. |
|
InputParameterInvalid |
23 |
The radius of sphere 1 is outside the valid range. |
|
InputParameterInvalid |
24 |
The radius of sphere 2 is outside the valid range. |
|
InputParameterInvalid |
25 |
The radius of sphere 3 is outside the valid range. |
Enumeration name: |
CentresCollinear |
Enumeration value: |
52 |
Description: |
The centers are located on a straight line. |
Issue |
Cause |
Solution |
---|---|---|
- |
The three points i_stSphere1.stCentre, i_stSphere2.stCentre and i_stSphere3.stCentre lie on a straight line. |
The three points i_stSphere1.stCentre, i_stSphere2.stCentre and i_stSphere3.stCentre must no lie on a straight line. |
Enumeration name: |
CentresEqual |
Enumeration value: |
46 |
Description: |
The centers are located on top of each other. |
Issue |
Cause |
Solution |
---|---|---|
- |
The distance between at least two of the points i_stSphere1.StCentre, i_stSphere2.stCenter and i_stShpere3.stCenter is less than Gc_lrZeroTolerance. |
The spheres must not have a common center. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The intersections have been calculated successfully.
Enumeration name: |
RadiusRangeSphere1 |
Enumeration value: |
23 |
Description: |
The radius of sphere 1 is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
At the input i_stSphere1.lrRadius, a number <= 0 has been applied. |
The radius of the sphere must be greater than 0. |
Enumeration name: |
RadiusRangeSphere2 |
Enumeration value: |
24 |
Description: |
The radius of sphere 2 is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
At the input i_stSphere2.lrRadius, a number <= 0 has been applied. |
The radius of the sphere must be greater than 0. |
Enumeration name: |
RadiusRangeSphere3 |
Enumeration value: |
25 |
Description: |
The radius of sphere 3 is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
At the input i_stSphere3.lrRadius, a number <= 0 has been applied. |
The radius of the sphere must be greater than 0. |