Programming Reference for VirtualLab Fusion  2025.1
Loading...
Searching...
No Matches
CoordinateTransformations Class Reference

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Provides static conversion functions from one coordinate system to another one, among others More...

Static Public Member Functions

static VectorD ConvertWalkParameterTo2DPosition (double walkParameter, VectorD sizeOfAperture, bool isEllipticAperture)
 Converts a one-dimensional “walk parameter” to a 2D position either on an ellipse or a rectangle.
 
static double CoordinateWithinPeriod (double coordinate, double period, double centerOfPeriod=0)
 Ensures that the given coordinate lies within -period/2 ... +period.X/2. If not it is "wrapped" into this range.
 
static Vector3D CoordinateWithinPeriod (Vector3D coordinate, Vector3D period)
 Ensures that the given coordinate lies within (-period.X/2, -period.Y/2, 0) ... (+period.X/2, +period.Y/2, +period.Z). If not it is "wrapped" into this range.
 
static VectorD CoordinateWithinPeriod (VectorD coordinate, VectorD period, VectorD centerOfPeriod=new VectorD())
 Ensures that the given coordinate lies within (-period.X/2, -period.Y/2) ... (+period.X/2, +period.Y/2). If not it is "wrapped" into this range.
 
static Vector GetCentralPixel (SamplingParameters samplingParameters)
 This method gives the central pixel, i.e. that pixel having the physical coordinate (0; 0). This implicitly assumes that the physical center is in the center of a pixel; for even sampling the pixel top right from the actual center is returned.
 
static Quaternion GetRotationQuaternionForRotatingOneDirectionVectorToAnother (Vector3D sourceVector, Vector3D targetVector)
 The method calculates a rotation quaternion for rotating one direction vector to another. If the source vector v1 and the target vector v2 are normalized, the resulting quaternion m fulfills the equation m*v1 = v2. If the vectors are not normalized, the product of m and v1 will give a new vector with the direction of v2 and the length of v1.
 
static Quaternion GetRotationQuaternionFromAnyCStoAnyOtherCS (CartesianCoordinateSystem sourceCS, CartesianCoordinateSystem targetCS)
 Calculates the rotation quaternion Q that transforms a coordinate x1 from one coordinate system to another via x2 = Q * x1.
 
static VectorD PointFromPhysicalToDoublePixelCoordinates (VectorD pointInPhysical, SamplingParameters samplingParameters)
 Converts a given point in physical coordinates into a point in (double valued) pixel coordinates.
 
static Vector PointFromPhysicalToPixelCoordinates (VectorD pointInMeters, SamplingParameters samplingParameters)
 Converts a given point in physical coordinates into a point in pixel coordinates.
 
static VectorD PointFromPhysicalToPixelCoordinates (VectorD pointInPhysical, SamplingParameters samplingParameters, bool zeroPointInPixel)
 Converts a given point in physical coordinates into a point in (double valued) pixel coordinates. It is assumed that the physical coordinate 0 is in the center of the data.
 
static double PointFromPixelToPhysicalCoordinates (int pointInPixels, int numberOfSamplingPoints, double samplingDistance)
 Converts a given one-dimensional point in pixel coordinates into a position in physical coordinates.
 
static double PointFromPixelToPhysicalCoordinates (int pointInPixels, int numberOfSamplingPoints, double samplingDistance, bool zeroPointInPixel)
 Converts a given one-dimensional point in pixel coordinates into a position in physical coordinates. It is assumed that the physical coordinate 0 is in the center of the data.
 
static VectorD PointFromPixelToPhysicalCoordinates (Vector pointInPixels, SamplingParameters samplingParameters)
 Converts a given point in pixel coordinates into a point in physical coordinates.
 
static VectorD PointFromPixelToPhysicalCoordinates (VectorD pointInPixels, SamplingParameters samplingParameters, bool zeroPointInPixel, LocationFixation2D vertexToReturn=LocationFixation2D.Center)
 Converts a given point in (double valued) pixel coordinates into a point in physical coordinates. It is assumed that the physical coordinate 0 is in the center of the data.
 
static VectorD PointFromPixelToPhysicalCoordinates (VectorD pointInPixels, SamplingParameters samplingParameters, LocationFixation2D vertexToReturn=LocationFixation2D.Center)
 Converts a given point in (double valued) pixel coordinates into a point in physical coordinates.
 
static Rectangle RectangleFromPhysicalToPixelCoordinates (RectangleF rectangleInMeters, SamplingParameters samplingParameters)
 Converts a given RectangleF in physical coordinates into a Rectangle in pixel coordinates.
 
static RectangleF RectangleFromPixelToPhysicalCoordinates (Rectangle rectangleInPixels, SamplingParameters samplingParameters)
 Converts a given Rectangle in pixel coordinates into a RectangleF in physical coordinates.
 
static RectangleF RectangleFromPixelToPhysicalCoordinates (RectangleF rectangleInPixels, SamplingParameters samplingParameters)
 Converts a given RectangleF in pixel coordinates into a RectangleF in physical coordinates.
 
static CartesianCoordinateSystem RotateExcentrical (CartesianCoordinateSystem csToBeRotated, Quaternion rotationQuaternion, Position rotationCenterInReferenceCS)
 Method to do a rotation of a coordinate system, but not about its own origin but about another center of rotation.
 
static SamplingParameters SpatialSamplingToSpectralSampling (SamplingParameters samplingParameters)
 Converts a spatial sampling to a spectral sampling. Therefor, the resulting sampling is calculated from the original field size via the Fourier theorem. Works also for conversion from spectral to spatial.
 
static Vector3D TransformAny3DCoordinates2CoordinatesDefinedInAnyOtherCS (Vector3D coordinates2Btransformed, CartesianCoordinateSystem sourceCS, CartesianCoordinateSystem targetCS)
 Transforms a given coordinate in R^3 from one coordinate system to another.
 
static CartesianCoordinateSystem TransformAnyCS2CSdefinedInAnyOtherCS (CartesianCoordinateSystem cs2Btransformed, IProvidesPositioningReferences newPositioningReferenceProvider, string newPositioningReferenceKey)
 Transforms a given coordinate system into any other coordinate system.
 
static Vector3C TransformAnyDirectionVector3C2DirectionVector3CDefinedInAnyOtherCS (Vector3C directionVector2Btransformed, CartesianCoordinateSystem sourceCS, CartesianCoordinateSystem targetCS)
 Transforms a given direction vector in C^3 from one coordinate system to another. Important: This operation will be restricted to a rotation of the vector and will NOT take the new coordinate system's origin into account. So the length of the vector will be kept.
 
static Vector3D TransformAnyDirectionVector3D2DirectionVector3DDefinedInAnyOtherCS (Vector3D directionVector2Btransformed, CartesianCoordinateSystem sourceCS, CartesianCoordinateSystem targetCS)
 Transforms a given direction vector in R^3 from one coordinate system to another. Important: This operation will be restricted to a rotation of the vector and will NOT take the new coordinate system's origin into account. So the length of the vector will be kept.
 
static Position TransformAnyPosition2PositionDefinedInAnyOtherCS (Position pos2Btransformed, IProvidesPositioningReferences newPositioningReferenceProvider, string newPositioningReferenceKey)
 Transforms a given position into any other coordinate system.
 
static Vector3D TransformAnyPositionVector3D2PositionVector3DDefinedInAnyOtherCS (Vector3D positionVector2Btransformed, CartesianCoordinateSystem sourceCS, CartesianCoordinateSystem targetCS)
 Transforms a given position vector in R^3 from one coordinate system to another. Important: This operation will NOT be restricted to a rotation of the vector but will take the new coordinate system's origin into account. So the length of the vector may be changed.
 
static CoordinateSystemBaseVectors TransformBasevectorsFromOneCStoAnyOtherCS (CoordinateSystemBaseVectors baseVectors, CartesianCoordinateSystem sourceCS, CartesianCoordinateSystem targetCS)
 Transforms a set of coordinate system base vectors from one CS into another.
 
static CartesianCoordinateSystem TransformCSdefinedInGlobalsCS2LocalCS (CartesianCoordinateSystem csInGlobal, IProvidesPositioningReferences positioningReferenceProvider, string positioningReferenceKey)
 Transforms a coordinate system, given in relation to the global coordinate system, to one defined relative to a given reference coordinate system.
 
static PositionedLine TransformInternalLine2LineInGlobalCS (PositionedLine localLine)
 Transforms a positioned line, given in relation to its reference coordinate system to the global coordinate system.
 
static Position TransformInternalPosition2PositionInGlobalCS (Position internalPosition)
 Transforms a position, given in relation to its reference coordinate system to the global coordinate system (For repeated calls try to use an object of type TransformationsForCartesianCoordinateSystems.)
 
static Position TransformInternalPosition2PositionInHigherReferenceCS (Position internalPosition)
 Transforms a position, given in relation to its reference coordinate system to the next higher reference coordinate system (For repeated calls try to use an object of type TransformationsForCartesianCoordinateSystems.)
 
static PositionedLine TransformLineInGlobalCS2InternalLine (PositionedLine globalLine, IProvidesPositioningReferences positioningReferenceProvider, string positioningReferenceKey)
 Transforms a positioned line, given in relation to the global coordinate system to a reference coordinate system.
 
static CartesianCoordinateSystem TransformLocalCS2CSdefinedInGlobalCS (CartesianCoordinateSystem localCS)
 Transforms a coordinate system, given in relation to its reference coordinate system, to one defined relative to the global coordinate system.
 
static Position TransformPositionInGlobalCS2InternalPosition (Position externalPosition, IProvidesPositioningReferences positioningReferenceProvider, string positioningReferenceKey)
 Transforms a position, given in relation to the global coordinate system to a reference coordinate system. (For repeated calls try to use an object of type TransformationsForCartesianCoordinateSystems.)
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Provides static conversion functions from one coordinate system to another one, among others

  • from pixel to physical coordinates and vice versa,
  • from spatial to spectral sampling and vice versa, and
  • from an arbitrary coordinate to a coordinate within a period

But be aware that in case the physical coordinate (0; 0) is not bound to the center of a pixel (which is the case for data arrays, but not for complex amplitudes), the SamplingConversions class should be used to convert between pixel and physical coordinates and vice versa.

Member Function Documentation

◆ ConvertWalkParameterTo2DPosition()

static VectorD ConvertWalkParameterTo2DPosition ( double  walkParameter,
VectorD  sizeOfAperture,
bool  isEllipticAperture 
)
static

Converts a one-dimensional “walk parameter” to a 2D position either on an ellipse or a rectangle.

Parameters
walkParameterThe (relative) walk parameter: 0 means the starting point (x_max; 0), 1 means we walked one round counterclockwise around the circumference .
sizeOfApertureThe size of the elliptic or rectangular aperture.
isEllipticApertureIf set to true an elliptic aperture is assumed, otherwise a rectangular one.
Returns
The matching 2D position on the circumference of the aperture.

◆ CoordinateWithinPeriod() [1/3]

static double CoordinateWithinPeriod ( double  coordinate,
double  period,
double  centerOfPeriod = 0 
)
static

Ensures that the given coordinate lies within -period/2 ... +period.X/2. If not it is "wrapped" into this range.

Parameters
coordinateThe coordinate to convert.
periodThe period which gives the range the coordinate must fit in.
centerOfPeriodThe center of the period to get the coordinate within.
Returns
The converted period.

◆ CoordinateWithinPeriod() [2/3]

static Vector3D CoordinateWithinPeriod ( Vector3D  coordinate,
Vector3D  period 
)
static

Ensures that the given coordinate lies within (-period.X/2, -period.Y/2, 0) ... (+period.X/2, +period.Y/2, +period.Z). If not it is "wrapped" into this range.

Parameters
coordinateThe coordinate to convert.
periodThe period which gives the range the coordinate must fit in.
Returns
The converted period.

◆ CoordinateWithinPeriod() [3/3]

static VectorD CoordinateWithinPeriod ( VectorD  coordinate,
VectorD  period,
VectorD  centerOfPeriod = new VectorD() 
)
static

Ensures that the given coordinate lies within (-period.X/2, -period.Y/2) ... (+period.X/2, +period.Y/2). If not it is "wrapped" into this range.

Parameters
coordinateThe coordinate to convert.
periodThe period which gives the range the coordinate must fit in.
centerOfPeriodThe center of the period to get the coordinate within.
Returns
The converted period.

◆ GetCentralPixel()

static Vector GetCentralPixel ( SamplingParameters  samplingParameters)
static

This method gives the central pixel, i.e. that pixel having the physical coordinate (0; 0). This implicitly assumes that the physical center is in the center of a pixel; for even sampling the pixel top right from the actual center is returned.

Parameters
samplingParametersThe sampling parameters (needed for conversion).
Returns
The central pixel in whose center the physical coordinate (0; 0) [e.g. (0 m; 0 m)] is located.

◆ GetRotationQuaternionForRotatingOneDirectionVectorToAnother()

static Quaternion GetRotationQuaternionForRotatingOneDirectionVectorToAnother ( Vector3D  sourceVector,
Vector3D  targetVector 
)
static

The method calculates a rotation quaternion for rotating one direction vector to another. If the source vector v1 and the target vector v2 are normalized, the resulting quaternion m fulfills the equation m*v1 = v2. If the vectors are not normalized, the product of m and v1 will give a new vector with the direction of v2 and the length of v1.

Parameters
sourceVectorVector to be rotated.
targetVectorVector to be the target of the rotation.
Returns
A rotation quaternion for rotating sourceVector to targetVector.

◆ GetRotationQuaternionFromAnyCStoAnyOtherCS()

static Quaternion GetRotationQuaternionFromAnyCStoAnyOtherCS ( CartesianCoordinateSystem  sourceCS,
CartesianCoordinateSystem  targetCS 
)
static

Calculates the rotation quaternion Q that transforms a coordinate x1 from one coordinate system to another via x2 = Q * x1.

Parameters
sourceCSSource coordinate system.
targetCSTarget coordinate system.
Returns
The quaternion which describes the rotation from one CS to another.

◆ PointFromPhysicalToDoublePixelCoordinates()

static VectorD PointFromPhysicalToDoublePixelCoordinates ( VectorD  pointInPhysical,
SamplingParameters  samplingParameters 
)
static

Converts a given point in physical coordinates into a point in (double valued) pixel coordinates.

Parameters
pointInPhysicalThe point given in physical coordinates
samplingParametersThe sampling parameters (needed for conversion)
Returns
the point in pixel coordinates

◆ PointFromPhysicalToPixelCoordinates() [1/2]

static Vector PointFromPhysicalToPixelCoordinates ( VectorD  pointInMeters,
SamplingParameters  samplingParameters 
)
static

Converts a given point in physical coordinates into a point in pixel coordinates.

Parameters
pointInMetersThe point given in physical coordinates.
samplingParametersThe sampling parameters (needed for conversion).
Returns
The point in pixel coordinates.

◆ PointFromPhysicalToPixelCoordinates() [2/2]

static VectorD PointFromPhysicalToPixelCoordinates ( VectorD  pointInPhysical,
SamplingParameters  samplingParameters,
bool  zeroPointInPixel 
)
static

Converts a given point in physical coordinates into a point in (double valued) pixel coordinates. It is assumed that the physical coordinate 0 is in the center of the data.

Parameters
pointInPhysicalThe point given in physical coordinates
samplingParametersThe sampling parameters (needed for conversion)
zeroPointInPixelIf set to true the physical coordinate 0 is in the center of a pixel. This is mandatory for ComplexAmplitude and HarmonicFieldsSet objects. If set to false, this coordinate can also lie between pixels (in case of even sampling).
Returns
the point in (double valued) pixel coordinates

◆ PointFromPixelToPhysicalCoordinates() [1/5]

static double PointFromPixelToPhysicalCoordinates ( int  pointInPixels,
int  numberOfSamplingPoints,
double  samplingDistance 
)
static

Converts a given one-dimensional point in pixel coordinates into a position in physical coordinates.

Parameters
pointInPixelsThe one-dimensional point given in pixel coordinates
numberOfSamplingPointsThe number of sampling points (needed for conversion).
samplingDistanceThe sampling distance (needed for conversion).
Returns
the point in physical coordinates

◆ PointFromPixelToPhysicalCoordinates() [2/5]

static double PointFromPixelToPhysicalCoordinates ( int  pointInPixels,
int  numberOfSamplingPoints,
double  samplingDistance,
bool  zeroPointInPixel 
)
static

Converts a given one-dimensional point in pixel coordinates into a position in physical coordinates. It is assumed that the physical coordinate 0 is in the center of the data.

Parameters
pointInPixelsThe one-dimensional point given in pixel coordinates
numberOfSamplingPointsThe number of sampling points (needed for conversion).
samplingDistanceThe sampling distance (needed for conversion).
zeroPointInPixelIf set to true the physical coordinate 0 is in the center of a pixel. This is mandatory for ComplexAmplitude and HarmonicFieldsSet objects. If set to false, this coordinate can also lie between pixels (in case of even sampling).
Returns
The point in physical coordinates.

◆ PointFromPixelToPhysicalCoordinates() [3/5]

static VectorD PointFromPixelToPhysicalCoordinates ( Vector  pointInPixels,
SamplingParameters  samplingParameters 
)
static

Converts a given point in pixel coordinates into a point in physical coordinates.

Parameters
pointInPixelsThe point given in pixel coordinates
samplingParametersThe sampling parameters (needed for conversion)
Returns
the point in physical coordinates

◆ PointFromPixelToPhysicalCoordinates() [4/5]

static VectorD PointFromPixelToPhysicalCoordinates ( VectorD  pointInPixels,
SamplingParameters  samplingParameters,
bool  zeroPointInPixel,
LocationFixation2D  vertexToReturn = LocationFixation2D::Center 
)
static

Converts a given point in (double valued) pixel coordinates into a point in physical coordinates. It is assumed that the physical coordinate 0 is in the center of the data.

Parameters
pointInPixelsThe point given in (double valued) pixel coordinates
samplingParametersThe sampling parameters (needed for conversion)
vertexToReturnOptional parameter to specify which vertex of a pixel is returned. By default the center of the pixel is returned.
zeroPointInPixelIf set to true the physical coordinate (0; 0) is always in the center of a pixel. This is mandatory for ComplexAmplitude and HarmonicFieldsSet objects. If set to false, this coordinate can also lie between pixels (in case of even sampling).
Returns
The point in physical coordinates.

◆ PointFromPixelToPhysicalCoordinates() [5/5]

static VectorD PointFromPixelToPhysicalCoordinates ( VectorD  pointInPixels,
SamplingParameters  samplingParameters,
LocationFixation2D  vertexToReturn = LocationFixation2D::Center 
)
static

Converts a given point in (double valued) pixel coordinates into a point in physical coordinates.

Parameters
pointInPixelsThe point given in pixel coordinates
samplingParametersThe sampling parameters (needed for conversion)
vertexToReturnOptional parameter to specify which vertex of a pixel is returned. By default the center of the pixel is returned.
Returns
the point in physical coordinates

◆ RectangleFromPhysicalToPixelCoordinates()

static Rectangle RectangleFromPhysicalToPixelCoordinates ( RectangleF  rectangleInMeters,
SamplingParameters  samplingParameters 
)
static

Converts a given RectangleF in physical coordinates into a Rectangle in pixel coordinates.

Parameters
rectangleInMetersThe RectangleF given in physical coordinates.
samplingParametersThe sampling parameters (needed for conversion).
Returns
The Rectangle in pixel coordinates. The width and the height of the rectangle are at least 1 pixel.

◆ RectangleFromPixelToPhysicalCoordinates() [1/2]

static RectangleF RectangleFromPixelToPhysicalCoordinates ( Rectangle  rectangleInPixels,
SamplingParameters  samplingParameters 
)
static

Converts a given Rectangle in pixel coordinates into a RectangleF in physical coordinates.

Parameters
rectangleInPixels
samplingParametersThe sampling parameters (needed for conversion)
Returns
The rectangle in physical coordinates

◆ RectangleFromPixelToPhysicalCoordinates() [2/2]

static RectangleF RectangleFromPixelToPhysicalCoordinates ( RectangleF  rectangleInPixels,
SamplingParameters  samplingParameters 
)
static

Converts a given RectangleF in pixel coordinates into a RectangleF in physical coordinates.

Parameters
rectangleInPixels
samplingParametersThe sampling parameters (needed for conversion)
Returns
the rectangle in physical coordinates

◆ RotateExcentrical()

static CartesianCoordinateSystem RotateExcentrical ( CartesianCoordinateSystem  csToBeRotated,
Quaternion  rotationQuaternion,
Position  rotationCenterInReferenceCS 
)
static

Method to do a rotation of a coordinate system, but not about its own origin but about another center of rotation.

Parameters
csToBeRotatedCoordinate system to be rotated
rotationQuaternionQuaternion that describes the rotation
rotationCenterInReferenceCSCenter of rotation, defined in the reference coordinate system of the cs to be rotated.
Returns
rotated coordinate system

◆ SpatialSamplingToSpectralSampling()

static SamplingParameters SpatialSamplingToSpectralSampling ( SamplingParameters  samplingParameters)
static

Converts a spatial sampling to a spectral sampling. Therefor, the resulting sampling is calculated from the original field size via the Fourier theorem. Works also for conversion from spectral to spatial.

Parameters
samplingParametersThe original sampling parameters.
Returns
The resulting sampling parameters.

◆ TransformAny3DCoordinates2CoordinatesDefinedInAnyOtherCS()

static Vector3D TransformAny3DCoordinates2CoordinatesDefinedInAnyOtherCS ( Vector3D  coordinates2Btransformed,
CartesianCoordinateSystem  sourceCS,
CartesianCoordinateSystem  targetCS 
)
static

Transforms a given coordinate in R^3 from one coordinate system to another.

Parameters
coordinates2BtransformedVector to be transformed.
sourceCSSource coordinate system.
targetCSTarget coordinate system.
Returns
The coordinate in reference to targetCS.

◆ TransformAnyCS2CSdefinedInAnyOtherCS()

static CartesianCoordinateSystem TransformAnyCS2CSdefinedInAnyOtherCS ( CartesianCoordinateSystem  cs2Btransformed,
IProvidesPositioningReferences  newPositioningReferenceProvider,
string  newPositioningReferenceKey 
)
static

Transforms a given coordinate system into any other coordinate system.

Parameters
cs2Btransformedcoordinate system to be transformed
newPositioningReferenceProviderreference provider of the coordinate system that shall be used as new reference
newPositioningReferenceKeykey that identifies the coordinate system that shall be used as new reference in the reference provider class
Returns
Coordinate system with reference to the coordinate system which is given by the reference provider object.

◆ TransformAnyDirectionVector3C2DirectionVector3CDefinedInAnyOtherCS()

static Vector3C TransformAnyDirectionVector3C2DirectionVector3CDefinedInAnyOtherCS ( Vector3C  directionVector2Btransformed,
CartesianCoordinateSystem  sourceCS,
CartesianCoordinateSystem  targetCS 
)
static

Transforms a given direction vector in C^3 from one coordinate system to another. Important: This operation will be restricted to a rotation of the vector and will NOT take the new coordinate system's origin into account. So the length of the vector will be kept.

Parameters
directionVector2BtransformedComplex vector to be transformed.
sourceCSSource coordinate system.
targetCSTarget coordinate system.
Returns
The coordinate in reference to targetCS.

◆ TransformAnyDirectionVector3D2DirectionVector3DDefinedInAnyOtherCS()

static Vector3D TransformAnyDirectionVector3D2DirectionVector3DDefinedInAnyOtherCS ( Vector3D  directionVector2Btransformed,
CartesianCoordinateSystem  sourceCS,
CartesianCoordinateSystem  targetCS 
)
static

Transforms a given direction vector in R^3 from one coordinate system to another. Important: This operation will be restricted to a rotation of the vector and will NOT take the new coordinate system's origin into account. So the length of the vector will be kept.

Parameters
directionVector2BtransformedVector to be transformed.
sourceCSSource coordinate system.
targetCSTarget coordinate system.
Returns
The coordinate in reference to targetCS.

◆ TransformAnyPosition2PositionDefinedInAnyOtherCS()

static Position TransformAnyPosition2PositionDefinedInAnyOtherCS ( Position  pos2Btransformed,
IProvidesPositioningReferences  newPositioningReferenceProvider,
string  newPositioningReferenceKey 
)
static

Transforms a given position into any other coordinate system.

Parameters
pos2Btransformedposition to be transformed
newPositioningReferenceProviderreference provider of the coordinate system that shall be used as new reference
newPositioningReferenceKeykey that identifies the coordinate system that shall be used as new reference in the reference provider class
Returns
Position with reference to the coordinate system which is given by the reference provider object.

◆ TransformAnyPositionVector3D2PositionVector3DDefinedInAnyOtherCS()

static Vector3D TransformAnyPositionVector3D2PositionVector3DDefinedInAnyOtherCS ( Vector3D  positionVector2Btransformed,
CartesianCoordinateSystem  sourceCS,
CartesianCoordinateSystem  targetCS 
)
static

Transforms a given position vector in R^3 from one coordinate system to another. Important: This operation will NOT be restricted to a rotation of the vector but will take the new coordinate system's origin into account. So the length of the vector may be changed.

Parameters
positionVector2BtransformedVector to be transformed.
sourceCSSource coordinate system.
targetCSTarget coordinate system.
Returns
The coordinate in reference to targetCS.

◆ TransformBasevectorsFromOneCStoAnyOtherCS()

static CoordinateSystemBaseVectors TransformBasevectorsFromOneCStoAnyOtherCS ( CoordinateSystemBaseVectors  baseVectors,
CartesianCoordinateSystem  sourceCS,
CartesianCoordinateSystem  targetCS 
)
static

Transforms a set of coordinate system base vectors from one CS into another.

Parameters
baseVectorsSet of base vectors to be transformed.
sourceCSSource coordinate system.
targetCSTarget coordinate system.
Returns
The transformed set of base vectors.

◆ TransformCSdefinedInGlobalsCS2LocalCS()

static CartesianCoordinateSystem TransformCSdefinedInGlobalsCS2LocalCS ( CartesianCoordinateSystem  csInGlobal,
IProvidesPositioningReferences  positioningReferenceProvider,
string  positioningReferenceKey 
)
static

Transforms a coordinate system, given in relation to the global coordinate system, to one defined relative to a given reference coordinate system.

Parameters
csInGlobalCoordinate system (given in relation to the global coordinate system) to be transformed.
positioningReferenceProviderObject which provides the coordinate system that serves as reference for this position.
positioningReferenceKeyKey for the coordinate system (contained by PositioningReferenceProvider) which shall serve as reference for this position
Returns
Coordinate system defined relative to a given reference coordinate system.

◆ TransformInternalLine2LineInGlobalCS()

static PositionedLine TransformInternalLine2LineInGlobalCS ( PositionedLine  localLine)
static

Transforms a positioned line, given in relation to its reference coordinate system to the global coordinate system.

Parameters
localLinePositioned line (in relation to its reference coordinate system) to be transformed.
Returns
Positioned line in relation to the global coordinate system.

◆ TransformInternalPosition2PositionInGlobalCS()

static Position TransformInternalPosition2PositionInGlobalCS ( Position  internalPosition)
static

Transforms a position, given in relation to its reference coordinate system to the global coordinate system (For repeated calls try to use an object of type TransformationsForCartesianCoordinateSystems.)

Parameters
internalPositionPosition (in relation to its reference coordinate system) to be transformed.
Returns
Position in relation to the global coordinate system.

◆ TransformInternalPosition2PositionInHigherReferenceCS()

static Position TransformInternalPosition2PositionInHigherReferenceCS ( Position  internalPosition)
static

Transforms a position, given in relation to its reference coordinate system to the next higher reference coordinate system (For repeated calls try to use an object of type TransformationsForCartesianCoordinateSystems.)

Parameters
internalPositionPosition (in relation to its reference coordinate system) to be transformed.
Returns
Position in relation to the reference coordinate system of the former reference coordinate system

◆ TransformLineInGlobalCS2InternalLine()

static PositionedLine TransformLineInGlobalCS2InternalLine ( PositionedLine  globalLine,
IProvidesPositioningReferences  positioningReferenceProvider,
string  positioningReferenceKey 
)
static

Transforms a positioned line, given in relation to the global coordinate system to a reference coordinate system.

Parameters
globalLinePositioned line (in relation to the global coordinate system) to be transformed.
positioningReferenceProviderObject which provides the coordinate system that serves as reference for this position.
positioningReferenceKeyKey for the coordinate system (contained by PositioningReferenceProvider) which shall serve as reference for this position
Returns
Positioned line in relation to the new reference coordinate system.

◆ TransformLocalCS2CSdefinedInGlobalCS()

static CartesianCoordinateSystem TransformLocalCS2CSdefinedInGlobalCS ( CartesianCoordinateSystem  localCS)
static

Transforms a coordinate system, given in relation to its reference coordinate system, to one defined relative to the global coordinate system.

Parameters
localCSCoordinate system (given in relation to its reference coordinate system) to be transformed.
Returns
Coordinate system defined relative to the global coordinate system.

◆ TransformPositionInGlobalCS2InternalPosition()

static Position TransformPositionInGlobalCS2InternalPosition ( Position  externalPosition,
IProvidesPositioningReferences  positioningReferenceProvider,
string  positioningReferenceKey 
)
static

Transforms a position, given in relation to the global coordinate system to a reference coordinate system. (For repeated calls try to use an object of type TransformationsForCartesianCoordinateSystems.)

Parameters
externalPositionPosition (in relation to the global coordinate system) to be transformed.
positioningReferenceProviderObject which provides the coordinate system that serves as reference for this position.
positioningReferenceKeyKey for the coordinate system (contained by PositioningReferenceProvider) which shall serve as reference for this position
Returns
Position in relation to the new reference coordinate system.