The three methods are “initWithOV1V2”, “initWithOV2V3”, “initWithOV3V1”, “initWithOV2V1”, “initWithOV3V2” and “initWithOV1V3”. They produce CoordSys objects defined by their origin and two direction vectors corresponding to vector and to the orientation of vector respectively.
The six arguments of these methods are:
A string argument corresponding to the type of coordinate system being build. Three values are accepted: ‘CORDC”, “CORDR” and “CORDS”.
A DataBase argument that provides the information needed to complete the definition of the coordinate system.
An integer argument corresponding to the reference coordinate system (coordinate system wrt which the origin and direction vectors are specified).
A vector containing the coordinates of the origin. This origin is specified with an Array of three real values corresponding to the components of O wrt the reference coordinate system identified with the integer argument.
A vector (Array of three real values) corresponding to the direction of the coordinate system. The components of the vector are given wrt to the reference coordinate system (estimated at point if the reference coordinate system is curvilinear).
A vector (Array of three real values) corresponding to the orientation of base vector of the coordinate system. The components of the vector are given wrt to the reference coordinate system (estimated at point if the reference coordinate system is curvilinear).
Note that the orientation vector is not necessarily orthogonal to . If the vectors are not orthogonal, then is a unit vector parallel to , and vector is the unit vector perpendicular to closest to . The last vector of the coordinate system is a unit vector perpendicular to both and .
Here again, no check is made in a DataBase to ensure that the data are consistent. (For example, checking that the reference coordinate system exists.)