Click or drag to resize
DigitalRunePose Structure
A pose defines the position and orientation of a shape in world space (or the parent coordinate space).

Namespace: DigitalRune.Geometry
Assembly: DigitalRune.Geometry (in DigitalRune.Geometry.dll) Version: 1.18.0.0 (1.18.2.14427)
Syntax
[SerializableAttribute]
[DataContractAttribute]
public struct Pose : IEquatable<Pose>

The Pose type exposes the following members.

Constructors
  NameDescription
Public methodPose(Matrix33F)
Initializes a new instance of the Pose class from orientation.
Public methodPose(QuaternionF)
Initializes a new instance of the Pose class from orientation.
Public methodPose(Vector3F)
Initializes a new instance of the Pose class from position.
Public methodPose(Vector3F, Matrix33F)
Initializes a new instance of the Pose class from position and orientation.
Public methodPose(Vector3F, QuaternionF)
Initializes a new instance of the Pose class from position and orientation.
Top
Methods
  NameDescription
Public methodStatic memberAreNumericallyEqual(Pose, Pose)
Determines whether two poses are equal (regarding the tolerance EpsilonF).
Public methodStatic memberAreNumericallyEqual(Pose, Pose, Single)
Determines whether two poses are equal (regarding a specific tolerance).
Public methodEquals(Object)
Indicates whether this instance and a specified object are equal.
(Overrides ValueTypeEquals(Object).)
Public methodEquals(Pose)
Indicates whether the current object is equal to another object of the same type.
Public methodStatic memberFromMatrix(Matrix)
Creates a Pose from a Matrix (XNA Framework) that contains a translation and a rotation. (Only available in the XNA-compatible build.)
Public methodStatic memberFromMatrix(Matrix44F)
Creates a Pose from a matrix that contains a translation and a rotation.
Public methodGetHashCode
Returns the hash code for this instance.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberInterpolate
Interpolates two poses.
Public methodInvert
Inverts the pose.
Public methodStatic memberIsValid
Determines whether the specified matrix is a valid pose matrix.
Public methodStatic memberMultiply(Pose, Pose)
Multiplies two poses.
Public methodStatic memberMultiply(Pose, Vector4F)
Multiplies the pose with a vector.
Public methodToLocalDirection
Converts a direction vector from world space (or the parent space for nested coordinate spaces) to local space.
Public methodToLocalPosition
Converts a direction vector from world space (or the parent space for nested coordinate spaces) to local space.
Public methodToMatrix44F
Converts this pose to a 4x4 transformation matrix.
Public methodToPoseD
Converts this single-precision pose to a double-precision pose.
Public methodToString
Returns the string representation of this pose.
(Overrides ValueTypeToString.)
Public methodToString(IFormatProvider)
Returns the string representation of this pose using the specified culture-specific format information.
Public methodToWorldDirection
Converts a direction vector from local space to world space (or the parent space for nested coordinate spaces).
Public methodToWorldPosition
Converts a position vector from local space to world space (or the parent space for nested coordinate spaces).
Public methodToXna
Converts a pose to a 4x4 transformation matrix (XNA Framework). (Only available in the XNA-compatible build.)
Top
Operators
  NameDescription
Public operatorStatic memberEquality
Compares two Poses to determine whether they are the same.
Public operatorStatic member(Pose to PoseD)
Converts a single-precision pose to a double-precision pose.
Public operatorStatic member(Pose to Matrix44F)
Converts a pose to a 4x4 transformation matrix.
Public operatorStatic member(Pose to Matrix)
Converts a pose to a 4x4 transformation matrix (XNA Framework). (Only available in the XNA-compatible build.)
Public operatorStatic memberInequality
Compares two Poses to determine whether they are different.
Public operatorStatic memberMultiply(Pose, Pose)
Multiplies two poses.
Public operatorStatic memberMultiply(Pose, Vector4F)
Multiplies the pose with a vector.
Top
Fields
  NameDescription
Public fieldStatic memberIdentity
A pose with no translation and no rotation.
Public fieldOrientation
The orientation.
Public fieldPosition
The position.
Top
Properties
  NameDescription
Public propertyHasRotation
Gets a value indicating whether the orientation is not the default rotation.
Public propertyHasTranslation
Gets a value indicating whether the position is not 0.
Public propertyInverse
Gets the inverse of this pose.
Top
Remarks

This type represents an affine transformation consisting only of a rotation followed by a translation - no scaling. This transformation transforms coordinates from local space to world space (or a parent space). Every IGeometricObject has a Pose which defines position and orientation of the figure in the parent's space which is usually the world space.

For hierarchical objects, like CompositeShapes, a pose defines the relationship of a local coordinates system to a parent coordinate system. For example: The children of a CompositeShape are of type IGeometricObject. So each child of a CompositeShape has a Pose which defines the position and orientation of the child in the local space of the CompositeShape. The local space of the CompositeShape is the parent space of the child.

Important: When creating a new Pose do not use Pose p = new Pose(); instead use Pose p = Pose.Identity. The constructor new Pose() initializes the orientation quaternion elements with 0 and thus is not a valid transformation.

Notes: The name "pose" comes from the definition: "to pose = to put or set in place".

See Also