GetConceptualFaceMatrix

This function returns the transformation matrix of the conceptual face. The matrix is defined as a 12 element matrix. In case matrix is not allocated by the host the matrix is outdated the moment the same call is called again.

Syntax

//
//   Strong typing definition
//
double          * GetConceptualFaceMatrix(
                        OwlInstance             owlInstance,
                        int64_t                 index,
                        double                  * matrix
                    );

static  inline  double  * GetConceptualFaceMatrix(
                                OwlInstance             owlInstance,
                                int64_t                 index
                            )
{
    return  GetConceptualFaceMatrix(
                    owlInstance,
                    index,
                    nullptr                             //    matrix
                );
}


//
//   Weak typing definition
//
double  __declspec(dllexport) * __stdcall   GetConceptualFaceMatrix(
                                                    int64_t                 owlInstance,
                                                    int64_t                 index,
                                                    double                  * matrix
                                                );

static  inline  double  * GetConceptualFaceMatrix(
                                int64_t                 owlInstance,
                                int64_t                 index
                            )
{
    return  GetConceptualFaceMatrix(
                    owlInstance,
                    index,
                    nullptr                             //    matrix
                );
}
    

Property owlInstance

Size: 64 bit / 8 byte (value)
The handle to the specific instance in the design tree. The instance handle is static within one open model but is most probably different when the same instance is opened in another model. The instance is always exactly of one unique class.

Property index

Size: 64 bit / 8 byte (value)
This is the index (0 based) of the face in the set of conceptual faces available.

Property matrix

Size: 32 bit / 4 byte (reference)
The matrix is expected to be nullptr or a 12 element double value allocated by the host (i.e. 96 bytes/12 doubles). The matrix values are defined column by column as is common for DirectX, OpenGL and VULKAN, i.e. _11, _12, _13, _21, ... _42, _43.