# Cartesian Transformation

Functions and structures for defining combinations of transformations (without the use of a matrix)

Entity type is `kA3DTypeMiscCartesianTransformation`.

This entity describes combinations of transformations such as relocation to a new 3D Cartesian coordinate system, scaling, and rotation. The `A3DMiscCartesianTransformationData`structure provides parameters for the transformation. The behaviour mask specified by the `A3DMiscCartesianTransformationData::m_ucBehaviour`member specifies the transformations that apply. Those transformations must be consistent with the actual data provided in other fields as described here:

- If the `m_sOrigin`member is null vector, translation is disabled.
- If the `m_sXVector`member is (1,0,0) and `m_sYVector`member is (0,1,0), rotation is disabled.
- If the `m_sScale`member is (1,1,1), scaling is disabled.
- If the `m_sXVector`and `m_sYVector`members are not perpendicular or if they are not unit vectors, the data is invalid.

## Sample code

    A3DMiscCartesianTransformationDatasData=A3D_MAKE_DATA(A3DMiscCartesianTransformationData);
    A3DUns32iErr=A3DMiscCartesianTransformationGet(pCsys,&sData);
    if(iErr==A3D_SUCCESS)
    {
    /*InserthereyourowncodetoparsethroughmembersofCartesianTransformation3d*/
    iErr=A3DMiscCartesianTransformationGet(A3D_NULL_HANDLE,&sData);
    }

    2.3

    Some particular formats do not support Cartesian transformations directly, but define general ones instead. When possible, the associated readers try to make cartesian tranformations out of them, setting this Behaviour flag. In all cases, except for Mirror, direct use of transformation members is valid, where behavior is just informational.

Returns

> `A3D_SUCCESS`on success, or an error code on failure

Topics

- Cartesian Transformation Types

Structures

- `A3DMiscCartesianTransformationData`

Functions

- `A3DMiscCartesianTransformationGet()`
- `A3DMiscCartesianTransformationCreate()`

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...