GetConceptualFaceUV2XYZ
The UV coordinates are expected to be both (inclusive) between 0. and 1., i.e. [0..1].
Note: the returned value is the exact location within the 3D model space
according to the internal definition. This can slightly differ from the
generated geometry because of segmentation.
Therefore the following code returns the same values for u and v (if proper values, i.e. both within range [0..1]):
double u = .., v = ..;
double x, y, z;
GetConceptualFaceUV2XYZ(conceptualFace, &x, &y, &z, u, v);
GetConceptualFaceUV2XYZ(conceptualFace, &u, &v, x, y, z);
The following code returns potentially not exactly the same values for x, y, z (if values are from resutling geometry):
double x = .., y = .., z = ..;
double u, v;
GetConceptualFaceUV2XYZ(conceptualFace, &u, &v, x, y, z);
GetConceptualFaceUV2XYZ(conceptualFace, &x, &y, &z, u, v);
Syntax
public const string enginedll = @"engine.dll"; [DllImport(enginedll, EntryPoint = "GetConceptualFaceUV2XYZ")] public static extern byte GetConceptualFaceUV2XYZ(Int64 owlInstance, Int64 index, out double x, out double y, out double z, out double Nx, out double Ny, out double Nz, double u, double v);
Property owlInstance
Size: 64 bit / 8 byte (value)Property index
Size: 64 bit / 8 byte (value)Property x
Size: 32 bit / 4 byte (reference)Property y
Size: 32 bit / 4 byte (reference)Property z
Size: 32 bit / 4 byte (reference)Property Nx
Size: 32 bit / 4 byte (reference)???.
Property Ny
Size: 32 bit / 4 byte (reference)???.
Property Nz
Size: 32 bit / 4 byte (reference)???.
Property u
Size: 64 bit / 8 byte (value)???.
Property v
Size: 64 bit / 8 byte (value)???.