v2.42
 
IPlacement3D Interface Reference

Represents a local coordinate system in three-dimensional space. More...

Public Member Functions

HRESULT GetCopy ([out, retval] IPlacement3D **ppCopy)
 Returns a copy of the coordinate system.
 
HRESULT GetTransformFrom ([out, retval] ITransform3D **ppTransform)
 Returns the transform from the current coordinate system to the global (in relation to the current) coordinate system.
 
HRESULT GetTransformInto ([out, retval] ITransform3D **ppTransform)
 Returns the transform from the global (in relation to the current) coordinate system to the current coordinate system.
 
HRESULT IsLeft ([out, retval] VARIANT_BOOL *pResult)
 Checks whether the coordinate system is left.
 
HRESULT IsNormal ([out, retval] VARIANT_BOOL *pResult)
 Checks whether the coordinate system is normalized (axes are unit vectors).
 
HRESULT IsOrthogonal ([out, retval] VARIANT_BOOL *pResult)
 Checks whether the coordinate system is orthogonal (axes are perpendicular).
 
HRESULT Move ([in] Vector3D vector_)
 Moves the coordinate system by the given vector.
 
HRESULT Rotate ([in] Vector3D axis_, [in] double angle_)
 Rotates the coordinate system counterclockwise by a given angle around a given point. It is assumed that the origin of the axis is (0, 0, 0).
 
HRESULT Rotate2 ([in] Point3D axisOrigin_, [in] Vector3D axis_, [in] double angle_)
 Rotates the coordinate system counterclockwise by a given angle around a given axis, represented by the origin and the vector.
 
HRESULT Transform ([in] ITransform3D *pTransform)
 Transformes the coordinate system according to a given transform.
 

Properties

Vector3D AxisX [get]
 The X axis vector of the coordinate system.
 
Vector3D AxisY [get]
 The Y axis vector of the coordinate system.
 
Vector3D AxisZ [get]
 The Z axis vector of the coordinate system.
 
Point3D Origin [get]
 The origin of the coordinate system.
 
Placement3D Placement [get]
 The placement as a Placement3D struct.
 

Detailed Description

Represents a local coordinate system in three-dimensional space.

A local coordinate system is described by an origin point and three non-collinear axis vectors.

Member Function Documentation

◆ GetTransformFrom()

HRESULT GetTransformFrom ( [out, retval] ITransform3D ** ppTransform)

Returns the transform from the current coordinate system to the global (in relation to the current) coordinate system.

See also
ITransform3D

◆ GetTransformInto()

HRESULT GetTransformInto ( [out, retval] ITransform3D ** ppTransform)

Returns the transform from the global (in relation to the current) coordinate system to the current coordinate system.

See also
ITransform3D

◆ IsLeft()

HRESULT IsLeft ( [out, retval] VARIANT_BOOL * pResult)

Checks whether the coordinate system is left.

Returns
TRUE if coordinate system is left, FALSE otherwise.

◆ IsNormal()

HRESULT IsNormal ( [out, retval] VARIANT_BOOL * pResult)

Checks whether the coordinate system is normalized (axes are unit vectors).

Returns
TRUE if coordinate system is normalized, FALSE otherwise.

◆ IsOrthogonal()

HRESULT IsOrthogonal ( [out, retval] VARIANT_BOOL * pResult)

Checks whether the coordinate system is orthogonal (axes are perpendicular).

Returns
TRUE if coordinate system is orthogonal, FALSE otherwise.

◆ Move()

HRESULT Move ( [in] Vector3D vector_)

Moves the coordinate system by the given vector.

Parameters
[in]vector_The vector that the placement will be moved to.

◆ Rotate()

HRESULT Rotate ( [in] Vector3D axis_,
[in] double angle_ )

Rotates the coordinate system counterclockwise by a given angle around a given point. It is assumed that the origin of the axis is (0, 0, 0).

Parameters
[in]axis_The axis around which the placement will be rotated.
[in]angle_The rotation angle in radians.

◆ Rotate2()

HRESULT Rotate2 ( [in] Point3D axisOrigin_,
[in] Vector3D axis_,
[in] double angle_ )

Rotates the coordinate system counterclockwise by a given angle around a given axis, represented by the origin and the vector.

Parameters
[in]axisOrigin_The origin of given axis
[in]axis_The axis around which the placement will be rotated.
[in]angle_The rotation angle in radians.

◆ Transform()

HRESULT Transform ( [in] ITransform3D * pTransform)

Transformes the coordinate system according to a given transform.

Parameters
[in]pTransformThe transformation that will be applied to the placement.
See also
ITransform3D