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.