Using General Transforms

public  void  general_transform_point(
    General_transform   *transform,
    Real                x,
    Real                y,
    Real                z,
    Real                *x_transformed,
    Real                *y_transformed,
    Real                *z_transformed )

Transforms a three dimensional point by a general transform, passing back the result in the last three arguments.

public  void  general_inverse_transform_point(
    General_transform   *transform,
    Real                x,
    Real                y,
    Real                z,
    Real                *x_transformed,
    Real                *y_transformed,
    Real                *z_transformed )

Transforms a three dimensional point by the inverse of the general transform, passing back the result in the last three arguments.

public  void  copy_general_transform(
    General_transform   *transform,
    General_transform   *copy )

Creates a copy of the general transform, allocating memory within the structure as required.

public  void  create_inverse_general_transform(
    General_transform   *transform,
    General_transform   *inverse )

Creates a new general transform that is the inverse of the given one.

public  void  invert_general_transform(
    General_transform   *transform )

Changes the transform to be its inverse. Calling it twice on the same transform is equivalent to not calling the function at all.