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

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining orientations by direction angles, i.e. the angles between the direction to be defined and each of the Cartesian axis respectively. More...

Inheritance diagram for OrientationByDirectionAngles:
OrientationDefinitionBase

Public Member Functions

override object Clone ()
 Creates a new object that is a copy of the current instance.
 
override Quaternion CorrespondingQuaternion ()
 Gets the quaternion corresponding to this orientation definition.
 
override bool Equals (object otherObject, EqualityIntent equalityIntent)
 Determines whether the specified Object is equal to this instance. Please note: If just the resulting orientation of this and the otherObject shall be compared, the method IsEquivalent of the base class should be used.
 
 OrientationByDirectionAngles ()
 Default constructor. Sets rho and sigma to 90° and tau to 0. So the defined direction is equal to the z-axis.
 
 OrientationByDirectionAngles (double firstAngle, double secondAngle, IndependentDirectionAngles independentAngles, bool positiveZ)
 Constructor with two direction angles. The third one is calculated automatically.
 
 OrientationByDirectionAngles (double firstAngle, double secondAngle, IndependentDirectionAngles independentAngles, bool positiveZ, double zeta, bool directionAnglesApplicationBeforeZetaRotation)
 Constructor with all two independent angles and all other parameters.
 
 OrientationByDirectionAngles (double rho, double sigma, double tau)
 Constructor with direction angles only.
 
 OrientationByDirectionAngles (double rho, double sigma, double tau, double zeta)
 Constructor with all angles.
 
 OrientationByDirectionAngles (double rho, double sigma, double tau, double zeta, bool directionAnglesApplicationBeforeZetaRotation)
 Constructor with all parameters.
 
 OrientationByDirectionAngles (OrientationByDirectionAngles orientationToCopy)
 Copy constructor.
 
void SetDirectionAngles (double firstAngle, double secondAngle, IndependentDirectionAngles independentAngles, bool positiveHalfSpaceForThirdAngle)
 Sets the direction angles rho, sigma and tau. The squared cosines of rho, sigma and tau have to sum to 1.
 
void SetDirectionAngles (double rho, double sigma, double tau)
 Sets the direction angles rho, sigma and tau. The squared cosines of rho, sigma and tau have to sum to 1.
 
override string ToString ()
 Overridden ToString method.
 
- Public Member Functions inherited from OrientationDefinitionBase
Quaternion CorrespondingQuaternion ()
 Gets the quaternion corresponding to this orientation definition.
 
virtual bool IsEquivalent (OrientationDefinitionBase orientationDefinitionToCompare)
 Determines whether another orientation definition is equivalent.
 
 OrientationDefinitionBase ()
 Default constructor.
 

Properties

double AngleRho [get]
 Gets and sets the direction angle rho, which is the angle between the x-axis and the direction to define. The squared cosines of rho, sigma and tau have to sum to 1.
 
double AngleSigma [get]
 Gets and sets the direction angle sigma, which is the angle between the y-axis and the direction to define. The squared cosines of rho, sigma and tau have to sum to 1.
 
double AngleTau [get]
 Gets and sets the direction angle tau, which is the angle between the z-axis and the direction to define. The squared cosines of rho, sigma and tau have to sum to 1.
 
double AngleZeta [get, set]
 Gets and sets the angle zeta which is a rotation about the z-axis. This rotation can be performed either before or after applying the direction angles, which is defined by DirectionAnglesApplicationBeforeZetaRotation. If this rotation is performed first, the flag AnglesReferToCSRotatedByZeta indicates, if the direction angles refer to the not rotated CS anyway.
 
override OrientationDefinitionType DefinitionType [get]
 Gets the OrientationDefinitionType associated with the current implementation of IOrientationDefinition.
 
bool DirectionAnglesApplicationBeforeZetaRotation [get, set]
 Gets or sets if the inclination of the z-axis by applying the direction angles shall be done before the rotation about the z-axis (by AngleZeta).
 
IndependentDirectionAngles IndependentAngles [get]
 Gets an information which of the three angles are independent and are used to calculate the third one.
 
override List< SimpleRotationListOfRotations [get]
 Gets a list of simple rotations, describing the complete rotation as a sequence.
 
override List< Parameter > ParameterRunParameters [get]
 
- Properties inherited from OrientationDefinitionBase
OrientationDefinitionType DefinitionType [get]
 Gets the OrientationDefinitionType associated with the current implementation of IOrientationDefinition.
 
List< SimpleRotationListOfRotations [get]
 Gets a list of simple rotations, describing the complete rotation as a sequence.
 
virtual List< Parameter > ParameterRunParameters [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from OrientationDefinitionBase
static OrientationDefinitionBase ConvertOrientationDefinition (OrientationDefinitionBase sourceOrientation, OrientationDefinitionType targetType)
 Help method which converts any orientation definition object into an equivalent definition object of another type.
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining orientations by direction angles, i.e. the angles between the direction to be defined and each of the Cartesian axis respectively.

Constructor & Destructor Documentation

◆ OrientationByDirectionAngles() [1/6]

OrientationByDirectionAngles ( double  firstAngle,
double  secondAngle,
IndependentDirectionAngles  independentAngles,
bool  positiveZ 
)

Constructor with two direction angles. The third one is calculated automatically.

Parameters
firstAngleAngle between first axis and the direction to define.
secondAngleAngle between second axis and the direction to define.
independentAnglesFlag that indicates the meaning of the parameters firstAngle and secondAngle.
positiveZIf true, the z-axis will lie inside the +z half space, if false, inside the -z half space

◆ OrientationByDirectionAngles() [2/6]

OrientationByDirectionAngles ( double  rho,
double  sigma,
double  tau 
)

Constructor with direction angles only.

Parameters
rhoAngle between x-axis and the direction to define.
sigmaAngle between y-axis and the direction to define.
tauAngle between z-axis and the direction to define.

◆ OrientationByDirectionAngles() [3/6]

OrientationByDirectionAngles ( double  rho,
double  sigma,
double  tau,
double  zeta 
)

Constructor with all angles.

Parameters
rhoAngle between x-axis and the direction to define.
sigmaAngle between y-axis and the direction to define.
tauAngle between z-axis and the direction to define.
zetaangle zeta which is a rotation about the z-axis.

◆ OrientationByDirectionAngles() [4/6]

OrientationByDirectionAngles ( double  firstAngle,
double  secondAngle,
IndependentDirectionAngles  independentAngles,
bool  positiveZ,
double  zeta,
bool  directionAnglesApplicationBeforeZetaRotation 
)

Constructor with all two independent angles and all other parameters.

Parameters
firstAngleAngle between first axis and the direction to define.
secondAngleAngle between second axis and the direction to define.
independentAnglesFlag that indicates the meaning of the parameters firstAngle and secondAngle.
positiveZIf true, the z-axis will lie inside the +z half space, if false, inside the -z half space
zetaangle zeta which is a rotation about the z-axis.
directionAnglesApplicationBeforeZetaRotationflag, if the inclination of the z-axis by applying the direction angles shall be done before the rotation about the z-axis (by AngleZeta).

◆ OrientationByDirectionAngles() [5/6]

OrientationByDirectionAngles ( double  rho,
double  sigma,
double  tau,
double  zeta,
bool  directionAnglesApplicationBeforeZetaRotation 
)

Constructor with all parameters.

Parameters
rhoAngle between x-axis and the direction to define.
sigmaAngle between y-axis and the direction to define.
tauAngle between z-axis and the direction to define.
zetaangle zeta which is a rotation about the z-axis.
directionAnglesApplicationBeforeZetaRotationflag, if the inclination of the z-axis by applying the direction angles shall be done before the rotation about the z-axis (by AngleZeta).

◆ OrientationByDirectionAngles() [6/6]

Copy constructor.

Parameters
orientationToCopyorientation object to copy

Member Function Documentation

◆ Clone()

override object Clone ( )

Creates a new object that is a copy of the current instance.

Returns
A new object that is a copy of this instance.

◆ CorrespondingQuaternion()

override Quaternion CorrespondingQuaternion ( )

Gets the quaternion corresponding to this orientation definition.

Returns
The quaternion corresponding to this orientation definition.

◆ Equals()

override bool Equals ( object  otherObject,
EqualityIntent  equalityIntent 
)

Determines whether the specified Object is equal to this instance. Please note: If just the resulting orientation of this and the otherObject shall be compared, the method IsEquivalent of the base class should be used.

Parameters
otherObjectThe Object to compare with this instance.
equalityIntentDefines what kind of equality you want to check when comparing two objects, for example all values or physical equality.
Returns
true if the specified Object is equal to this instance; otherwise, false.

◆ SetDirectionAngles() [1/2]

void SetDirectionAngles ( double  firstAngle,
double  secondAngle,
IndependentDirectionAngles  independentAngles,
bool  positiveHalfSpaceForThirdAngle 
)

Sets the direction angles rho, sigma and tau. The squared cosines of rho, sigma and tau have to sum to 1.

Parameters
firstAngleAngle between first axis and the direction to define.
secondAngleAngle between second axis and the direction to define.
independentAnglesFlag that indicates the meaning of the parameters firstAngle and secondAngle.
positiveHalfSpaceForThirdAngleIf true, the z-axis will lie inside the positive half space of that axis which corresponds to the independent angle, if false, inside the negative half space.

◆ SetDirectionAngles() [2/2]

void SetDirectionAngles ( double  rho,
double  sigma,
double  tau 
)

Sets the direction angles rho, sigma and tau. The squared cosines of rho, sigma and tau have to sum to 1.

Parameters
rhoAngle between x-axis and the direction to define.
sigmaAngle between y-axis and the direction to define.
tauAngle between z-axis and the direction to define.

◆ ToString()

override string ToString ( )

Overridden ToString method.

Returns
A System.String that represents this instance.