FC_CommonPointsOfThreeSpheres

 

FC_CommonPointsOfThreeSpheres - General Information

Overview

Type:

Function

Available as of:

V1.0.3.0

Versions:

Current version

Task

Calculates the intersections of three spheres in the 3-dimensional space.

Description

Calculates the intersections of the spheres i_stSphere1, i_stSphere2 and i_stSphere3. The sphere centers must not lie on a straight line.

Interface

Input

Data type

Description

i_stSphere1

ST_Sphere

Sphere 1

i_stSphere2

ST_Sphere

Sphere 2

i_stSphere3

ST_Sphere

Sphere 3

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic.

A value not equal to ET_Diag.Ok corresponds to an diagnostic message.

q_etDiagExt

ET_DiagExt

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)

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Ok

0

Ok

InputParameterInvalid

CentresCollinear

52

The centers are located on a straight line.

InputParameterInvalid

CentresEqual

46

The centers are located on top of each other.

InputParameterInvalid

RadiusRangeSphere1

23

The radius of sphere 1 is outside the valid range.

InputParameterInvalid

RadiusRangeSphere2

24

The radius of sphere 2 is outside the valid range.

InputParameterInvalid

RadiusRangeSphere3

25

The radius of sphere 3 is outside the valid range.

CentresCollinear

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.

CentresEqual

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.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The intersections have been calculated successfully.

RadiusRangeSphere1

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.

RadiusRangeSphere2

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.

RadiusRangeSphere3

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.