Description
CoordinateSystems can be used to set the orientation of ThreeDModels, ProximityZones, Sensors, and Spacecraft objects. CoordinateSystem objects can be built using two vectors, a direction cosine matrix, Euler angles, quaternions, a chain of existing coordinate systems, or using the Body Coordinate System of Spacecraft, CelestialObject, or Sensor objects. See the Vectors and Coordinate Systems Guide for more information.
Inheritance Hierarchy: Object->CoordinateSystem
Available In Editions:
Engineer
Mission
Timing Precision Mode
This page describes functionality in millisecond timing precision mode. Millisecond timing precision mode is deprecated and will be removed in a future release. We recommend that you migrate your Mission Plans to nanosecond timing precision mode.
Click here to see the documentation for this object in nanosecond timing precision mode.
Name
|
Description
|
Attributes
|
CentralBody
|
The celestial object which defines the origin for the position of the CoordinateSystem.
|
Type: String
Access: Read/Write
|
CentralBodyObject
|
The celestial object which defines the origin for the position of the CoordinateSystem.
|
Type: CelestialObject
Access: Read-Only
|
CoordinateSystemType
|
The type of Coordinate System.
|
Type: Variable
Access: Read/Write
|
DeclaredName
|
The name of the object as declared.
|
Type: String
Access: Read-Only
|
Epoch
|
For CoordinateSystem objects built on vectors which are relative to the position of bodies that move in space over time, the Epoch property indicates the time at which the CoordinateSystem is defined or re-evaluated. The Epoch property can therefore serve as a means for updating a time-dependent coordinate system. To model a coordinate system that rotates in time, the CoordinateSystem object should be updated any time the spacecraft state is updated. Setting the Epoch property to the spacecraft (or celestial object) epoch will "re-evaluate" both the coordinate system and the underlying vectors used to build the coordinate system for the "current" epoch. Therefore, the user should add a line inside the control loop of the script to synchronize the Coordinate System with the Spacecraft, such as CoordinateSystem1.Epoch = Spacecraft1.Epoch; The Epoch property can also be set to a time, in GSFC MJD Format.
|
Type: Variable
Access: Read/Write
Units: day
|
Name
|
The name displayed for this object in output windows such as views, plots, and reports.
|
Type: String
Access: Read/Write
|
ObjectId
|
The unique identifier for the object.
|
Type: Variable
Access: Read-Only
|
ObjectType
|
The type of the object.
|
Type: String
Access: Read-Only
|
Vector1Axis
|
Number or Variable that specifies which axis of the coordinate system (1 = X-axis, 2 = Y-axis, or 3 = Z-axis) will be defined by vector1.
Vector1 will always be colinear with the axis specified by the vector1Axis property. The next axis is computed using the cross product of the two vectors. A third vector is computed using the cross product of the first two axes, and vector2Axis specifies which axis of the new coordinate system (X, Y, or Z) will be defined by this new vector. If vector1 and vector2 are orthogonal, then vector2 will be colinear with the axis specified by the vector2Axis property.
Example 1: CoordinateSystem1.BuildCoordinateSystem(1, EastVector, 3, ZenithVector);
The X-axis of the new coordinate system is defined by EastVector. The Y-axis is defined by Y = CrossProduct(ZenithVector, EastVector). The Z-axis is defined by Z = CrossProduct(EastVector, Y). Note that Z does not necessarily equal ZenithVector.
Example 2: CoordinateSystem1.BuildCoordinateSystem(3, ZenithVector, 1, EastVector);
The Z-axis of the new coordinate system is defined by ZenithVector. The Y-axis is defined by Y = CrossProduct(ZenithVector, EastVector). The X-axis is defined by X = CrossProduct(Y, ZenithVector). Note that X does not necessarily equal EastVector.
|
Type: Variable
Access: Read/Write
|
Vector2Axis
|
Number or Variable that specifies which axis (X, Y, or Z) will be defined by vector2 in the cross product calculation with vector1.
Vector1 will always be colinear with the axis specified by the vector1Axis property. The next axis is computed using the cross product of the two vectors. A third vector is computed using the cross product of the first two axes, and vector2Axis specifies which axis of the new coordinate system (X, Y, or Z) will be defined by this new vector. If vector1 and vector2 are orthogonal, then vector2 will be colinear with the axis specified by the vector2Axis property.
Example 1: CoordinateSystem1.BuildCoordinateSystem(1, EastVector, 3, ZenithVector);
The X-axis of the new coordinate system is defined by EastVector. The Y-axis is defined by Y = CrossProduct(ZenithVector, EastVector). The Z-axis is defined by Z = CrossProduct(EastVector, Y). Note that Z does not necessarily equal ZenithVector.
Example 2: CoordinateSystem1.BuildCoordinateSystem(3, ZenithVector, 1, EastVector);
The Z-axis of the new coordinate system is defined by ZenithVector. The Y-axis is defined by Y = CrossProduct(ZenithVector, EastVector). The X-axis is defined by X = CrossProduct(Y, ZenithVector). Note that X does not necessarily equal EastVector.
|
Type: Variable
Access: Read/Write
|
VisualScale
|
The size at which to represent the CoordinateSystem when viewed in a Mission View.
|
Type: Variable
Access: Read/Write
Units: km
|
X
|
Cartesian x coordinate of the origin of the Coordinate System.
|
Type: Variable
Access: Read-Only
Units: km
|
Y
|
Cartesian y coordinate of the origin of the Coordinate System.
|
Type: Variable
Access: Read-Only
Units: km
|
Z
|
Cartesian z coordinate of the origin of the Coordinate System.
|
Type: Variable
Access: Read-Only
Units: km
|
|
Name
|
Description
|
BuildCoordinateSystem
|
Uses the specified input arguments to set the origin and attitude matrix information for the custom Coordinate System.
|
ClearSavedStates
|
Clears previous saved states for this object.
|
FixedVectorToObject
|
Returns an Array containing the components of the vector originating at the location of the prefix object and terminating at the location of the argument object, in the body fixed coordinate frame of the prefix object.
|
GetAttitudeMatrix
|
Retrieves the attitude matrix held within the CoordinateSystem object.
|
GetEulerAngles
|
Retrieves a set of Euler Angles that reflect the AttitudeMatrix held within the CoordinateSystem object.
|
GetFromFile
|
Load the object state from the specified FreeFlyer object file.
|
GetFromString
|
Load the object state from the specified string.
|
GetQuaternion
|
Retrieves the quaternion that reflects the AttitudeMatrix held within the CoordinateSystem object.
|
PutToFile
|
Convert the object state to FreeFlyer object xml and write to a file.
|
PutToString
|
Convert the object state to FreeFlyer object xml and return as a string.
|
ReferenceEquals
|
Returns 1 if the argument refers to the calling object and 0 otherwise.
|
ResetPositionVector
|
If a position vector has been specified, this sets it back to none.
|
Restore
|
Restore an object's state from a previously saved state.
|
Save
|
Save the object's state so that it can be restored later.
|
SetAttitudeMatrix
|
Initializes the CoordinateSystem object using the orientation derived from the Direction-Cosine-Matrix.
|
SetEulerAngles
|
Initializes the CoordinateSystem object using the orientation derived from the Euler Angles.
|
SetPositionVector
|
Sets the position of the CoordinateSystem relative to the Central Body.
|
SetQuaternion
|
Initializes the CoordinateSystem object using the orientation specified by the quaternion.
|
VectorToObject
|
Returns an Array containing the components of the vector originating at the location of the prefix object and terminating at the location of the argument object, in the ICRF.
|
|
Name
|
Description
|
Attributes
|
AttitudeMatrix11
|
The (1,1) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
AttitudeMatrix12
|
The (1,2) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
AttitudeMatrix13
|
The (1,3) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
AttitudeMatrix21
|
The (2,1) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
AttitudeMatrix22
|
The (2,2) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
AttitudeMatrix23
|
The (2,3) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
AttitudeMatrix31
|
The (3,1) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
AttitudeMatrix32
|
The (3,2) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
AttitudeMatrix33
|
The (3,3) component of the direction cosine matrix that moves a vector from the ICRF to the coordinate system represented by the calling CoordinateSystem object.
This property has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix instead, using indices to access elements of the matrix.
|
Type: Variable
Access: Read-Only
|
Update
|
A flag that determines whether or not the CoordinateSystem Object is to be re-evaluated. If Update is set to 1, the Coordinate System will be re-evaluated; if Update is set to 0, the Coordinate System will not be re-evaluated. The Update property is essentially a short-cut way of allowing the user to re-evaluate the CoordinateSystem Object when the underlying vectors that built the coordinate system have changed, but are not based on time. For time-dependent vectors, use the Epoch property instead.
This property has been Deprecated. This property is unnecessary as the CoordinateSystem now gets updated automatically.
|
Type: Variable
Access: Write-Only
|
|
Name
|
Description
|
GetDCM
|
Retrieves the nine elements of the AttitudeMatrix held within the CoordinateSystem object.
This method has been Deprecated. Please use CoordinateSystem.GetAttitudeMatrix() instead, using indices to access elements of the matrix.
|
SetDCM
|
Initializes the CoordinateSystem object using the orientation derived from the Direction-Cosine-Matrix.
This method has been Deprecated. Please use CoordinateSystem.SetAttitudeMatrix(Matrix) instead.
|
|
See also
Orbit Reference Frames
Vectors and Coordinate Systems Guide
Orbit Reference Frames Guide
Attitude Reference Frames Guide
Matrix, Array, and Variable Math Guide
|