Path Tracer
cimport.h
Go to the documentation of this file.
1 /*
2 ---------------------------------------------------------------------------
3 Open Asset Import Library (assimp)
4 ---------------------------------------------------------------------------
5 
6 Copyright (c) 2006-2020, assimp team
7 
8 All rights reserved.
9 
10 Redistribution and use of this software in source and binary forms,
11 with or without modification, are permitted provided that the following
12 conditions are met:
13 
14 * Redistributions of source code must retain the above
15  copyright notice, this list of conditions and the
16  following disclaimer.
17 
18 * Redistributions in binary form must reproduce the above
19  copyright notice, this list of conditions and the
20  following disclaimer in the documentation and/or other
21  materials provided with the distribution.
22 
23 * Neither the name of the assimp team, nor the names of its
24  contributors may be used to endorse or promote products
25  derived from this software without specific prior
26  written permission of the assimp team.
27 
28 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 ---------------------------------------------------------------------------
40 */
41 
45 #pragma once
46 #ifndef AI_ASSIMP_H_INC
47 #define AI_ASSIMP_H_INC
48 
49 #ifdef __GNUC__
50 #pragma GCC system_header
51 #endif
52 
53 #include <assimp/importerdesc.h>
54 #include <assimp/types.h>
55 
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
60 struct aiScene;
61 struct aiFileIO;
62 
63 typedef void (*aiLogStreamCallback)(const char * /* message */, char * /* user */);
64 
65 // --------------------------------------------------------------------------------
71 // --------------------------------------------------------------------------------
72 struct aiLogStream {
74  aiLogStreamCallback callback;
75 
77  char *user;
78 };
79 
80 // --------------------------------------------------------------------------------
90 // --------------------------------------------------------------------------------
92  char sentinel;
93 };
94 
96 typedef int aiBool;
97 
98 #define AI_FALSE 0
99 #define AI_TRUE 1
100 
101 // --------------------------------------------------------------------------------
117 ASSIMP_API const C_STRUCT aiScene *aiImportFile(
118  const char *pFile,
119  unsigned int pFlags);
120 
121 // --------------------------------------------------------------------------------
142 ASSIMP_API const C_STRUCT aiScene *aiImportFileEx(
143  const char *pFile,
144  unsigned int pFlags,
145  C_STRUCT aiFileIO *pFS);
146 
147 // --------------------------------------------------------------------------------
163 ASSIMP_API const C_STRUCT aiScene *aiImportFileExWithProperties(
164  const char *pFile,
165  unsigned int pFlags,
166  C_STRUCT aiFileIO *pFS,
167  const C_STRUCT aiPropertyStore *pProps);
168 
169 // --------------------------------------------------------------------------------
200 ASSIMP_API const C_STRUCT aiScene *aiImportFileFromMemory(
201  const char *pBuffer,
202  unsigned int pLength,
203  unsigned int pFlags,
204  const char *pHint);
205 
206 // --------------------------------------------------------------------------------
235  const char *pBuffer,
236  unsigned int pLength,
237  unsigned int pFlags,
238  const char *pHint,
239  const C_STRUCT aiPropertyStore *pProps);
240 
241 // --------------------------------------------------------------------------------
256 ASSIMP_API const C_STRUCT aiScene *aiApplyPostProcessing(
257  const C_STRUCT aiScene *pScene,
258  unsigned int pFlags);
259 
260 // --------------------------------------------------------------------------------
281  C_ENUM aiDefaultLogStream pStreams,
282  const char *file);
283 
284 // --------------------------------------------------------------------------------
294 ASSIMP_API void aiAttachLogStream(
295  const C_STRUCT aiLogStream *stream);
296 
297 // --------------------------------------------------------------------------------
304 ASSIMP_API void aiEnableVerboseLogging(aiBool d);
305 
306 // --------------------------------------------------------------------------------
315 ASSIMP_API C_ENUM aiReturn aiDetachLogStream(
316  const C_STRUCT aiLogStream *stream);
317 
318 // --------------------------------------------------------------------------------
326 ASSIMP_API void aiDetachAllLogStreams(void);
327 
328 // --------------------------------------------------------------------------------
334 ASSIMP_API void aiReleaseImport(
335  const C_STRUCT aiScene *pScene);
336 
337 // --------------------------------------------------------------------------------
344 ASSIMP_API const char *aiGetErrorString(void);
345 
346 // --------------------------------------------------------------------------------
354  const char *szExtension);
355 
356 // --------------------------------------------------------------------------------
364 ASSIMP_API void aiGetExtensionList(
365  C_STRUCT aiString *szOut);
366 
367 // --------------------------------------------------------------------------------
372 ASSIMP_API void aiGetMemoryRequirements(
373  const C_STRUCT aiScene *pIn,
374  C_STRUCT aiMemoryInfo *in);
375 
376 // --------------------------------------------------------------------------------
382 ASSIMP_API C_STRUCT aiPropertyStore *aiCreatePropertyStore(void);
383 
384 // --------------------------------------------------------------------------------
388 ASSIMP_API void aiReleasePropertyStore(C_STRUCT aiPropertyStore *p);
389 
390 // --------------------------------------------------------------------------------
403  C_STRUCT aiPropertyStore *store,
404  const char *szName,
405  int value);
406 
407 // --------------------------------------------------------------------------------
419 ASSIMP_API void aiSetImportPropertyFloat(
420  C_STRUCT aiPropertyStore *store,
421  const char *szName,
422  ai_real value);
423 
424 // --------------------------------------------------------------------------------
437  C_STRUCT aiPropertyStore *store,
438  const char *szName,
439  const C_STRUCT aiString *st);
440 
441 // --------------------------------------------------------------------------------
454  C_STRUCT aiPropertyStore *store,
455  const char *szName,
456  const C_STRUCT aiMatrix4x4 *mat);
457 
458 // --------------------------------------------------------------------------------
465  C_STRUCT aiQuaternion *quat,
466  const C_STRUCT aiMatrix3x3 *mat);
467 
468 // --------------------------------------------------------------------------------
478 ASSIMP_API void aiDecomposeMatrix(
479  const C_STRUCT aiMatrix4x4 *mat,
480  C_STRUCT aiVector3D *scaling,
481  C_STRUCT aiQuaternion *rotation,
482  C_STRUCT aiVector3D *position);
483 
484 // --------------------------------------------------------------------------------
488 ASSIMP_API void aiTransposeMatrix4(
489  C_STRUCT aiMatrix4x4 *mat);
490 
491 // --------------------------------------------------------------------------------
495 ASSIMP_API void aiTransposeMatrix3(
496  C_STRUCT aiMatrix3x3 *mat);
497 
498 // --------------------------------------------------------------------------------
503 ASSIMP_API void aiTransformVecByMatrix3(
504  C_STRUCT aiVector3D *vec,
505  const C_STRUCT aiMatrix3x3 *mat);
506 
507 // --------------------------------------------------------------------------------
512 ASSIMP_API void aiTransformVecByMatrix4(
513  C_STRUCT aiVector3D *vec,
514  const C_STRUCT aiMatrix4x4 *mat);
515 
516 // --------------------------------------------------------------------------------
521 ASSIMP_API void aiMultiplyMatrix4(
522  C_STRUCT aiMatrix4x4 *dst,
523  const C_STRUCT aiMatrix4x4 *src);
524 
525 // --------------------------------------------------------------------------------
530 ASSIMP_API void aiMultiplyMatrix3(
531  C_STRUCT aiMatrix3x3 *dst,
532  const C_STRUCT aiMatrix3x3 *src);
533 
534 // --------------------------------------------------------------------------------
538 ASSIMP_API void aiIdentityMatrix3(
539  C_STRUCT aiMatrix3x3 *mat);
540 
541 // --------------------------------------------------------------------------------
545 ASSIMP_API void aiIdentityMatrix4(
546  C_STRUCT aiMatrix4x4 *mat);
547 
548 // --------------------------------------------------------------------------------
552 ASSIMP_API size_t aiGetImportFormatCount(void);
553 
554 // --------------------------------------------------------------------------------
561 ASSIMP_API const C_STRUCT aiImporterDesc *aiGetImportFormatDescription(size_t pIndex);
562 
563 // --------------------------------------------------------------------------------
570 ASSIMP_API int aiVector2AreEqual(
571  const C_STRUCT aiVector2D *a,
572  const C_STRUCT aiVector2D *b);
573 
574 // --------------------------------------------------------------------------------
583  const C_STRUCT aiVector2D *a,
584  const C_STRUCT aiVector2D *b,
585  const float epsilon);
586 
587 // --------------------------------------------------------------------------------
592 ASSIMP_API void aiVector2Add(
593  C_STRUCT aiVector2D *dst,
594  const C_STRUCT aiVector2D *src);
595 
596 // --------------------------------------------------------------------------------
601 ASSIMP_API void aiVector2Subtract(
602  C_STRUCT aiVector2D *dst,
603  const C_STRUCT aiVector2D *src);
604 
605 // --------------------------------------------------------------------------------
610 ASSIMP_API void aiVector2Scale(
611  C_STRUCT aiVector2D *dst,
612  const float s);
613 
614 // --------------------------------------------------------------------------------
620 ASSIMP_API void aiVector2SymMul(
621  C_STRUCT aiVector2D *dst,
622  const C_STRUCT aiVector2D *other);
623 
624 // --------------------------------------------------------------------------------
629 ASSIMP_API void aiVector2DivideByScalar(
630  C_STRUCT aiVector2D *dst,
631  const float s);
632 
633 // --------------------------------------------------------------------------------
639 ASSIMP_API void aiVector2DivideByVector(
640  C_STRUCT aiVector2D *dst,
641  C_STRUCT aiVector2D *v);
642 
643 // --------------------------------------------------------------------------------
647 ASSIMP_API float aiVector2Length(
648  const C_STRUCT aiVector2D *v);
649 
650 // --------------------------------------------------------------------------------
654 ASSIMP_API float aiVector2SquareLength(
655  const C_STRUCT aiVector2D *v);
656 
657 // --------------------------------------------------------------------------------
661 ASSIMP_API void aiVector2Negate(
662  C_STRUCT aiVector2D *dst);
663 
664 // --------------------------------------------------------------------------------
670 ASSIMP_API float aiVector2DotProduct(
671  const C_STRUCT aiVector2D *a,
672  const C_STRUCT aiVector2D *b);
673 
674 // --------------------------------------------------------------------------------
678 ASSIMP_API void aiVector2Normalize(
679  C_STRUCT aiVector2D *v);
680 
681 // --------------------------------------------------------------------------------
688 ASSIMP_API int aiVector3AreEqual(
689  const C_STRUCT aiVector3D *a,
690  const C_STRUCT aiVector3D *b);
691 
692 // --------------------------------------------------------------------------------
701  const C_STRUCT aiVector3D *a,
702  const C_STRUCT aiVector3D *b,
703  const float epsilon);
704 
705 // --------------------------------------------------------------------------------
713 ASSIMP_API int aiVector3LessThan(
714  const C_STRUCT aiVector3D *a,
715  const C_STRUCT aiVector3D *b);
716 
717 // --------------------------------------------------------------------------------
722 ASSIMP_API void aiVector3Add(
723  C_STRUCT aiVector3D *dst,
724  const C_STRUCT aiVector3D *src);
725 
726 // --------------------------------------------------------------------------------
731 ASSIMP_API void aiVector3Subtract(
732  C_STRUCT aiVector3D *dst,
733  const C_STRUCT aiVector3D *src);
734 
735 // --------------------------------------------------------------------------------
740 ASSIMP_API void aiVector3Scale(
741  C_STRUCT aiVector3D *dst,
742  const float s);
743 
744 // --------------------------------------------------------------------------------
750 ASSIMP_API void aiVector3SymMul(
751  C_STRUCT aiVector3D *dst,
752  const C_STRUCT aiVector3D *other);
753 
754 // --------------------------------------------------------------------------------
759 ASSIMP_API void aiVector3DivideByScalar(
760  C_STRUCT aiVector3D *dst,
761  const float s);
762 
763 // --------------------------------------------------------------------------------
769 ASSIMP_API void aiVector3DivideByVector(
770  C_STRUCT aiVector3D *dst,
771  C_STRUCT aiVector3D *v);
772 
773 // --------------------------------------------------------------------------------
777 ASSIMP_API float aiVector3Length(
778  const C_STRUCT aiVector3D *v);
779 
780 // --------------------------------------------------------------------------------
784 ASSIMP_API float aiVector3SquareLength(
785  const C_STRUCT aiVector3D *v);
786 
787 // --------------------------------------------------------------------------------
791 ASSIMP_API void aiVector3Negate(
792  C_STRUCT aiVector3D *dst);
793 
794 // --------------------------------------------------------------------------------
800 ASSIMP_API float aiVector3DotProduct(
801  const C_STRUCT aiVector3D *a,
802  const C_STRUCT aiVector3D *b);
803 
804 // --------------------------------------------------------------------------------
811 ASSIMP_API void aiVector3CrossProduct(
812  C_STRUCT aiVector3D *dst,
813  const C_STRUCT aiVector3D *a,
814  const C_STRUCT aiVector3D *b);
815 
816 // --------------------------------------------------------------------------------
820 ASSIMP_API void aiVector3Normalize(
821  C_STRUCT aiVector3D *v);
822 
823 // --------------------------------------------------------------------------------
827 ASSIMP_API void aiVector3NormalizeSafe(
828  C_STRUCT aiVector3D *v);
829 
830 // --------------------------------------------------------------------------------
836  C_STRUCT aiVector3D *v,
837  const C_STRUCT aiQuaternion *q);
838 
839 // --------------------------------------------------------------------------------
844 ASSIMP_API void aiMatrix3FromMatrix4(
845  C_STRUCT aiMatrix3x3 *dst,
846  const C_STRUCT aiMatrix4x4 *mat);
847 
848 // --------------------------------------------------------------------------------
853 ASSIMP_API void aiMatrix3FromQuaternion(
854  C_STRUCT aiMatrix3x3 *mat,
855  const C_STRUCT aiQuaternion *q);
856 
857 // --------------------------------------------------------------------------------
864 ASSIMP_API int aiMatrix3AreEqual(
865  const C_STRUCT aiMatrix3x3 *a,
866  const C_STRUCT aiMatrix3x3 *b);
867 
868 // --------------------------------------------------------------------------------
877  const C_STRUCT aiMatrix3x3 *a,
878  const C_STRUCT aiMatrix3x3 *b,
879  const float epsilon);
880 
881 // --------------------------------------------------------------------------------
885 ASSIMP_API void aiMatrix3Inverse(
886  C_STRUCT aiMatrix3x3 *mat);
887 
888 // --------------------------------------------------------------------------------
892 ASSIMP_API float aiMatrix3Determinant(
893  const C_STRUCT aiMatrix3x3 *mat);
894 
895 // --------------------------------------------------------------------------------
900 ASSIMP_API void aiMatrix3RotationZ(
901  C_STRUCT aiMatrix3x3 *mat,
902  const float angle);
903 
904 // --------------------------------------------------------------------------------
911  C_STRUCT aiMatrix3x3 *mat,
912  const C_STRUCT aiVector3D *axis,
913  const float angle);
914 
915 // --------------------------------------------------------------------------------
920 ASSIMP_API void aiMatrix3Translation(
921  C_STRUCT aiMatrix3x3 *mat,
922  const C_STRUCT aiVector2D *translation);
923 
924 // --------------------------------------------------------------------------------
930 ASSIMP_API void aiMatrix3FromTo(
931  C_STRUCT aiMatrix3x3 *mat,
932  const C_STRUCT aiVector3D *from,
933  const C_STRUCT aiVector3D *to);
934 
935 // --------------------------------------------------------------------------------
940 ASSIMP_API void aiMatrix4FromMatrix3(
941  C_STRUCT aiMatrix4x4 *dst,
942  const C_STRUCT aiMatrix3x3 *mat);
943 
944 // --------------------------------------------------------------------------------
952  C_STRUCT aiMatrix4x4 *mat,
953  const C_STRUCT aiVector3D *scaling,
954  const C_STRUCT aiQuaternion *rotation,
955  const C_STRUCT aiVector3D *position);
956 
957 // --------------------------------------------------------------------------------
962 ASSIMP_API void aiMatrix4Add(
963  C_STRUCT aiMatrix4x4 *dst,
964  const C_STRUCT aiMatrix4x4 *src);
965 
966 // --------------------------------------------------------------------------------
973 ASSIMP_API int aiMatrix4AreEqual(
974  const C_STRUCT aiMatrix4x4 *a,
975  const C_STRUCT aiMatrix4x4 *b);
976 
977 // --------------------------------------------------------------------------------
986  const C_STRUCT aiMatrix4x4 *a,
987  const C_STRUCT aiMatrix4x4 *b,
988  const float epsilon);
989 
990 // --------------------------------------------------------------------------------
994 ASSIMP_API void aiMatrix4Inverse(
995  C_STRUCT aiMatrix4x4 *mat);
996 
997 // --------------------------------------------------------------------------------
1002 ASSIMP_API float aiMatrix4Determinant(
1003  const C_STRUCT aiMatrix4x4 *mat);
1004 
1005 // --------------------------------------------------------------------------------
1011 ASSIMP_API int aiMatrix4IsIdentity(
1012  const C_STRUCT aiMatrix4x4 *mat);
1013 
1014 // --------------------------------------------------------------------------------
1024  const C_STRUCT aiMatrix4x4 *mat,
1025  C_STRUCT aiVector3D *scaling,
1026  C_STRUCT aiVector3D *rotation,
1027  C_STRUCT aiVector3D *position);
1028 
1029 // --------------------------------------------------------------------------------
1041  const C_STRUCT aiMatrix4x4 *mat,
1042  C_STRUCT aiVector3D *scaling,
1043  C_STRUCT aiVector3D *axis,
1044  ai_real *angle,
1045  C_STRUCT aiVector3D *position);
1046 
1047 // --------------------------------------------------------------------------------
1056  const C_STRUCT aiMatrix4x4 *mat,
1057  C_STRUCT aiQuaternion *rotation,
1058  C_STRUCT aiVector3D *position);
1059 
1060 // --------------------------------------------------------------------------------
1068  C_STRUCT aiMatrix4x4 *mat,
1069  float x, float y, float z);
1070 
1071 // --------------------------------------------------------------------------------
1076 ASSIMP_API void aiMatrix4RotationX(
1077  C_STRUCT aiMatrix4x4 *mat,
1078  const float angle);
1079 
1080 // --------------------------------------------------------------------------------
1085 ASSIMP_API void aiMatrix4RotationY(
1086  C_STRUCT aiMatrix4x4 *mat,
1087  const float angle);
1088 
1089 // --------------------------------------------------------------------------------
1094 ASSIMP_API void aiMatrix4RotationZ(
1095  C_STRUCT aiMatrix4x4 *mat,
1096  const float angle);
1097 
1098 // --------------------------------------------------------------------------------
1105  C_STRUCT aiMatrix4x4 *mat,
1106  const C_STRUCT aiVector3D *axis,
1107  const float angle);
1108 
1109 // --------------------------------------------------------------------------------
1114 ASSIMP_API void aiMatrix4Translation(
1115  C_STRUCT aiMatrix4x4 *mat,
1116  const C_STRUCT aiVector3D *translation);
1117 
1118 // --------------------------------------------------------------------------------
1123 ASSIMP_API void aiMatrix4Scaling(
1124  C_STRUCT aiMatrix4x4 *mat,
1125  const C_STRUCT aiVector3D *scaling);
1126 
1127 // --------------------------------------------------------------------------------
1133 ASSIMP_API void aiMatrix4FromTo(
1134  C_STRUCT aiMatrix4x4 *mat,
1135  const C_STRUCT aiVector3D *from,
1136  const C_STRUCT aiVector3D *to);
1137 
1138 // --------------------------------------------------------------------------------
1146  C_STRUCT aiQuaternion *q,
1147  float x, float y, float z);
1148 
1149 // --------------------------------------------------------------------------------
1156  C_STRUCT aiQuaternion *q,
1157  const C_STRUCT aiVector3D *axis,
1158  const float angle);
1159 
1160 // --------------------------------------------------------------------------------
1167  C_STRUCT aiQuaternion *q,
1168  const C_STRUCT aiVector3D *normalized);
1169 
1170 // --------------------------------------------------------------------------------
1177 ASSIMP_API int aiQuaternionAreEqual(
1178  const C_STRUCT aiQuaternion *a,
1179  const C_STRUCT aiQuaternion *b);
1180 
1181 // --------------------------------------------------------------------------------
1190  const C_STRUCT aiQuaternion *a,
1191  const C_STRUCT aiQuaternion *b,
1192  const float epsilon);
1193 
1194 // --------------------------------------------------------------------------------
1198 ASSIMP_API void aiQuaternionNormalize(
1199  C_STRUCT aiQuaternion *q);
1200 
1201 // --------------------------------------------------------------------------------
1206 ASSIMP_API void aiQuaternionConjugate(
1207  C_STRUCT aiQuaternion *q);
1208 
1209 // --------------------------------------------------------------------------------
1214 ASSIMP_API void aiQuaternionMultiply(
1215  C_STRUCT aiQuaternion *dst,
1216  const C_STRUCT aiQuaternion *q);
1217 
1218 // --------------------------------------------------------------------------------
1225 ASSIMP_API void aiQuaternionInterpolate(
1226  C_STRUCT aiQuaternion *dst,
1227  const C_STRUCT aiQuaternion *start,
1228  const C_STRUCT aiQuaternion *end,
1229  const float factor);
1230 
1231 #ifdef __cplusplus
1232 }
1233 #endif
1234 
1235 #endif // AI_ASSIMP_H_INC
aiMatrix4DecomposeIntoScalingAxisAnglePosition
ASSIMP_API void aiMatrix4DecomposeIntoScalingAxisAnglePosition(const C_STRUCT aiMatrix4x4 *mat, C_STRUCT aiVector3D *scaling, C_STRUCT aiVector3D *axis, ai_real *angle, C_STRUCT aiVector3D *position)
aiMatrix4Scaling
ASSIMP_API void aiMatrix4Scaling(C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *scaling)
aiEnableVerboseLogging
ASSIMP_API void aiEnableVerboseLogging(aiBool d)
aiVector3NormalizeSafe
ASSIMP_API void aiVector3NormalizeSafe(C_STRUCT aiVector3D *v)
aiVector3SquareLength
ASSIMP_API float aiVector3SquareLength(const C_STRUCT aiVector3D *v)
aiTransformVecByMatrix4
ASSIMP_API void aiTransformVecByMatrix4(C_STRUCT aiVector3D *vec, const C_STRUCT aiMatrix4x4 *mat)
aiGetMemoryRequirements
ASSIMP_API void aiGetMemoryRequirements(const C_STRUCT aiScene *pIn, C_STRUCT aiMemoryInfo *in)
aiMatrix3FromMatrix4
ASSIMP_API void aiMatrix3FromMatrix4(C_STRUCT aiMatrix3x3 *dst, const C_STRUCT aiMatrix4x4 *mat)
aiVector3RotateByQuaternion
ASSIMP_API void aiVector3RotateByQuaternion(C_STRUCT aiVector3D *v, const C_STRUCT aiQuaternion *q)
aiVector3Normalize
ASSIMP_API void aiVector3Normalize(C_STRUCT aiVector3D *v)
aiVector3D
Definition: vector3.h:136
types.h
aiQuaternionMultiply
ASSIMP_API void aiQuaternionMultiply(C_STRUCT aiQuaternion *dst, const C_STRUCT aiQuaternion *q)
aiQuaternionAreEqualEpsilon
ASSIMP_API int aiQuaternionAreEqualEpsilon(const C_STRUCT aiQuaternion *a, const C_STRUCT aiQuaternion *b, const float epsilon)
aiFileIO
C-API: File system callbacks.
Definition: cfileio.h:86
aiVector2Length
ASSIMP_API float aiVector2Length(const C_STRUCT aiVector2D *v)
aiReleasePropertyStore
ASSIMP_API void aiReleasePropertyStore(C_STRUCT aiPropertyStore *p)
aiImportFileFromMemoryWithProperties
ASSIMP_API const C_STRUCT aiScene * aiImportFileFromMemoryWithProperties(const char *pBuffer, unsigned int pLength, unsigned int pFlags, const char *pHint, const C_STRUCT aiPropertyStore *pProps)
aiGetExtensionList
ASSIMP_API void aiGetExtensionList(C_STRUCT aiString *szOut)
aiMatrix4Determinant
ASSIMP_API float aiMatrix4Determinant(const C_STRUCT aiMatrix4x4 *mat)
aiMatrix4Translation
ASSIMP_API void aiMatrix4Translation(C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *translation)
aiMatrix3AreEqualEpsilon
ASSIMP_API int aiMatrix3AreEqualEpsilon(const C_STRUCT aiMatrix3x3 *a, const C_STRUCT aiMatrix3x3 *b, const float epsilon)
aiLogStream::user
char * user
Definition: cimport.h:77
aiVector3AreEqual
ASSIMP_API int aiVector3AreEqual(const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b)
aiMatrix4FromRotationAroundAxis
ASSIMP_API void aiMatrix4FromRotationAroundAxis(C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *axis, const float angle)
aiMatrix3FromTo
ASSIMP_API void aiMatrix3FromTo(C_STRUCT aiMatrix3x3 *mat, const C_STRUCT aiVector3D *from, const C_STRUCT aiVector3D *to)
aiQuaternionConjugate
ASSIMP_API void aiQuaternionConjugate(C_STRUCT aiQuaternion *q)
aiVector3DotProduct
ASSIMP_API float aiVector3DotProduct(const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b)
aiPropertyStore
Definition: cimport.h:91
aiQuaternionFromNormalizedQuaternion
ASSIMP_API void aiQuaternionFromNormalizedQuaternion(C_STRUCT aiQuaternion *q, const C_STRUCT aiVector3D *normalized)
aiMatrix3FromQuaternion
ASSIMP_API void aiMatrix3FromQuaternion(C_STRUCT aiMatrix3x3 *mat, const C_STRUCT aiQuaternion *q)
aiVector3Scale
ASSIMP_API void aiVector3Scale(C_STRUCT aiVector3D *dst, const float s)
aiMatrix4RotationY
ASSIMP_API void aiMatrix4RotationY(C_STRUCT aiMatrix4x4 *mat, const float angle)
aiReturn
aiReturn
Definition: types.h:397
aiMatrix4Add
ASSIMP_API void aiMatrix4Add(C_STRUCT aiMatrix4x4 *dst, const C_STRUCT aiMatrix4x4 *src)
aiBool
int aiBool
Definition: cimport.h:96
aiVector2Normalize
ASSIMP_API void aiVector2Normalize(C_STRUCT aiVector2D *v)
aiSetImportPropertyInteger
ASSIMP_API void aiSetImportPropertyInteger(C_STRUCT aiPropertyStore *store, const char *szName, int value)
aiImportFileFromMemory
ASSIMP_API const C_STRUCT aiScene * aiImportFileFromMemory(const char *pBuffer, unsigned int pLength, unsigned int pFlags, const char *pHint)
aiVector2DivideByVector
ASSIMP_API void aiVector2DivideByVector(C_STRUCT aiVector2D *dst, C_STRUCT aiVector2D *v)
aiSetImportPropertyFloat
ASSIMP_API void aiSetImportPropertyFloat(C_STRUCT aiPropertyStore *store, const char *szName, ai_real value)
aiGetPredefinedLogStream
ASSIMP_API C_STRUCT aiLogStream aiGetPredefinedLogStream(C_ENUM aiDefaultLogStream pStreams, const char *file)
aiVector2SymMul
ASSIMP_API void aiVector2SymMul(C_STRUCT aiVector2D *dst, const C_STRUCT aiVector2D *other)
aiAttachLogStream
ASSIMP_API void aiAttachLogStream(const C_STRUCT aiLogStream *stream)
aiVector2DivideByScalar
ASSIMP_API void aiVector2DivideByScalar(C_STRUCT aiVector2D *dst, const float s)
aiMatrix3Translation
ASSIMP_API void aiMatrix3Translation(C_STRUCT aiMatrix3x3 *mat, const C_STRUCT aiVector2D *translation)
aiVector2AreEqual
ASSIMP_API int aiVector2AreEqual(const C_STRUCT aiVector2D *a, const C_STRUCT aiVector2D *b)
aiGetImportFormatDescription
ASSIMP_API const C_STRUCT aiImporterDesc * aiGetImportFormatDescription(size_t pIndex)
aiGetImportFormatCount
ASSIMP_API size_t aiGetImportFormatCount(void)
aiImportFileExWithProperties
ASSIMP_API const C_STRUCT aiScene * aiImportFileExWithProperties(const char *pFile, unsigned int pFlags, C_STRUCT aiFileIO *pFS, const C_STRUCT aiPropertyStore *pProps)
aiQuaternion
Definition: quaternion.h:128
aiMatrix3AreEqual
ASSIMP_API int aiMatrix3AreEqual(const C_STRUCT aiMatrix3x3 *a, const C_STRUCT aiMatrix3x3 *b)
aiSetImportPropertyString
ASSIMP_API void aiSetImportPropertyString(C_STRUCT aiPropertyStore *store, const char *szName, const C_STRUCT aiString *st)
aiDetachLogStream
ASSIMP_API C_ENUM aiReturn aiDetachLogStream(const C_STRUCT aiLogStream *stream)
aiVector3DivideByVector
ASSIMP_API void aiVector3DivideByVector(C_STRUCT aiVector3D *dst, C_STRUCT aiVector3D *v)
aiDefaultLogStream
aiDefaultLogStream
Enumerates predefined log streaming destinations. Logging to these streams can be enabled with a sing...
Definition: types.h:449
aiLogStream::callback
aiLogStreamCallback callback
Definition: cimport.h:74
aiTransposeMatrix3
ASSIMP_API void aiTransposeMatrix3(C_STRUCT aiMatrix3x3 *mat)
aiVector3SymMul
ASSIMP_API void aiVector3SymMul(C_STRUCT aiVector3D *dst, const C_STRUCT aiVector3D *other)
aiMultiplyMatrix3
ASSIMP_API void aiMultiplyMatrix3(C_STRUCT aiMatrix3x3 *dst, const C_STRUCT aiMatrix3x3 *src)
aiImporterDesc
Definition: importerdesc.h:91
aiVector2Subtract
ASSIMP_API void aiVector2Subtract(C_STRUCT aiVector2D *dst, const C_STRUCT aiVector2D *src)
aiMatrix3Determinant
ASSIMP_API float aiMatrix3Determinant(const C_STRUCT aiMatrix3x3 *mat)
aiMatrix3RotationZ
ASSIMP_API void aiMatrix3RotationZ(C_STRUCT aiMatrix3x3 *mat, const float angle)
aiMultiplyMatrix4
ASSIMP_API void aiMultiplyMatrix4(C_STRUCT aiMatrix4x4 *dst, const C_STRUCT aiMatrix4x4 *src)
aiQuaternionFromAxisAngle
ASSIMP_API void aiQuaternionFromAxisAngle(C_STRUCT aiQuaternion *q, const C_STRUCT aiVector3D *axis, const float angle)
aiVector3Negate
ASSIMP_API void aiVector3Negate(C_STRUCT aiVector3D *dst)
aiMatrix4Inverse
ASSIMP_API void aiMatrix4Inverse(C_STRUCT aiMatrix4x4 *mat)
aiMatrix4FromScalingQuaternionPosition
ASSIMP_API void aiMatrix4FromScalingQuaternionPosition(C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *scaling, const C_STRUCT aiQuaternion *rotation, const C_STRUCT aiVector3D *position)
aiMatrix4IsIdentity
ASSIMP_API int aiMatrix4IsIdentity(const C_STRUCT aiMatrix4x4 *mat)
aiIsExtensionSupported
ASSIMP_API aiBool aiIsExtensionSupported(const char *szExtension)
aiVector2Add
ASSIMP_API void aiVector2Add(C_STRUCT aiVector2D *dst, const C_STRUCT aiVector2D *src)
aiVector2SquareLength
ASSIMP_API float aiVector2SquareLength(const C_STRUCT aiVector2D *v)
aiImportFile
ASSIMP_API const C_STRUCT aiScene * aiImportFile(const char *pFile, unsigned int pFlags)
aiString
Definition: types.h:266
aiMatrix3x3
Definition: matrix3x3.h:172
aiCreateQuaternionFromMatrix
ASSIMP_API void aiCreateQuaternionFromMatrix(C_STRUCT aiQuaternion *quat, const C_STRUCT aiMatrix3x3 *mat)
aiVector2D
Definition: vector2.h:105
aiVector3LessThan
ASSIMP_API int aiVector3LessThan(const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b)
aiMatrix3Inverse
ASSIMP_API void aiMatrix3Inverse(C_STRUCT aiMatrix3x3 *mat)
aiVector3Add
ASSIMP_API void aiVector3Add(C_STRUCT aiVector3D *dst, const C_STRUCT aiVector3D *src)
aiVector3CrossProduct
ASSIMP_API void aiVector3CrossProduct(C_STRUCT aiVector3D *dst, const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b)
aiMatrix4RotationZ
ASSIMP_API void aiMatrix4RotationZ(C_STRUCT aiMatrix4x4 *mat, const float angle)
aiMatrix4AreEqualEpsilon
ASSIMP_API int aiMatrix4AreEqualEpsilon(const C_STRUCT aiMatrix4x4 *a, const C_STRUCT aiMatrix4x4 *b, const float epsilon)
aiIdentityMatrix3
ASSIMP_API void aiIdentityMatrix3(C_STRUCT aiMatrix3x3 *mat)
aiQuaternionInterpolate
ASSIMP_API void aiQuaternionInterpolate(C_STRUCT aiQuaternion *dst, const C_STRUCT aiQuaternion *start, const C_STRUCT aiQuaternion *end, const float factor)
aiMatrix4AreEqual
ASSIMP_API int aiMatrix4AreEqual(const C_STRUCT aiMatrix4x4 *a, const C_STRUCT aiMatrix4x4 *b)
aiMatrix3FromRotationAroundAxis
ASSIMP_API void aiMatrix3FromRotationAroundAxis(C_STRUCT aiMatrix3x3 *mat, const C_STRUCT aiVector3D *axis, const float angle)
aiVector3AreEqualEpsilon
ASSIMP_API int aiVector3AreEqualEpsilon(const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b, const float epsilon)
aiApplyPostProcessing
ASSIMP_API const C_STRUCT aiScene * aiApplyPostProcessing(const C_STRUCT aiScene *pScene, unsigned int pFlags)
aiVector3Length
ASSIMP_API float aiVector3Length(const C_STRUCT aiVector3D *v)
aiReleaseImport
ASSIMP_API void aiReleaseImport(const C_STRUCT aiScene *pScene)
aiTransformVecByMatrix3
ASSIMP_API void aiTransformVecByMatrix3(C_STRUCT aiVector3D *vec, const C_STRUCT aiMatrix3x3 *mat)
aiCreatePropertyStore
ASSIMP_API C_STRUCT aiPropertyStore * aiCreatePropertyStore(void)
aiTransposeMatrix4
ASSIMP_API void aiTransposeMatrix4(C_STRUCT aiMatrix4x4 *mat)
aiVector3DivideByScalar
ASSIMP_API void aiVector3DivideByScalar(C_STRUCT aiVector3D *dst, const float s)
aiVector2DotProduct
ASSIMP_API float aiVector2DotProduct(const C_STRUCT aiVector2D *a, const C_STRUCT aiVector2D *b)
aiGetErrorString
ASSIMP_API const char * aiGetErrorString(void)
aiVector2AreEqualEpsilon
ASSIMP_API int aiVector2AreEqualEpsilon(const C_STRUCT aiVector2D *a, const C_STRUCT aiVector2D *b, const float epsilon)
aiMatrix4FromTo
ASSIMP_API void aiMatrix4FromTo(C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *from, const C_STRUCT aiVector3D *to)
aiLogStream
Definition: cimport.h:72
aiDetachAllLogStreams
ASSIMP_API void aiDetachAllLogStreams(void)
aiMatrix4FromEulerAngles
ASSIMP_API void aiMatrix4FromEulerAngles(C_STRUCT aiMatrix4x4 *mat, float x, float y, float z)
aiMatrix4x4
Definition: matrix4x4.h:266
aiMatrix4RotationX
ASSIMP_API void aiMatrix4RotationX(C_STRUCT aiMatrix4x4 *mat, const float angle)
aiMemoryInfo
Definition: types.h:482
aiMatrix4DecomposeNoScaling
ASSIMP_API void aiMatrix4DecomposeNoScaling(const C_STRUCT aiMatrix4x4 *mat, C_STRUCT aiQuaternion *rotation, C_STRUCT aiVector3D *position)
aiImportFileEx
ASSIMP_API const C_STRUCT aiScene * aiImportFileEx(const char *pFile, unsigned int pFlags, C_STRUCT aiFileIO *pFS)
importerdesc.h
aiImporterFlags, aiImporterDesc implementation.
aiQuaternionNormalize
ASSIMP_API void aiQuaternionNormalize(C_STRUCT aiQuaternion *q)
aiMatrix4FromMatrix3
ASSIMP_API void aiMatrix4FromMatrix3(C_STRUCT aiMatrix4x4 *dst, const C_STRUCT aiMatrix3x3 *mat)
aiSetImportPropertyMatrix
ASSIMP_API void aiSetImportPropertyMatrix(C_STRUCT aiPropertyStore *store, const char *szName, const C_STRUCT aiMatrix4x4 *mat)
aiQuaternionAreEqual
ASSIMP_API int aiQuaternionAreEqual(const C_STRUCT aiQuaternion *a, const C_STRUCT aiQuaternion *b)
aiMatrix4DecomposeIntoScalingEulerAnglesPosition
ASSIMP_API void aiMatrix4DecomposeIntoScalingEulerAnglesPosition(const C_STRUCT aiMatrix4x4 *mat, C_STRUCT aiVector3D *scaling, C_STRUCT aiVector3D *rotation, C_STRUCT aiVector3D *position)
aiVector3Subtract
ASSIMP_API void aiVector3Subtract(C_STRUCT aiVector3D *dst, const C_STRUCT aiVector3D *src)
aiQuaternionFromEulerAngles
ASSIMP_API void aiQuaternionFromEulerAngles(C_STRUCT aiQuaternion *q, float x, float y, float z)
aiScene
Definition: scene.h:247
aiIdentityMatrix4
ASSIMP_API void aiIdentityMatrix4(C_STRUCT aiMatrix4x4 *mat)
aiVector2Scale
ASSIMP_API void aiVector2Scale(C_STRUCT aiVector2D *dst, const float s)
aiVector2Negate
ASSIMP_API void aiVector2Negate(C_STRUCT aiVector2D *dst)
aiDecomposeMatrix
ASSIMP_API void aiDecomposeMatrix(const C_STRUCT aiMatrix4x4 *mat, C_STRUCT aiVector3D *scaling, C_STRUCT aiQuaternion *rotation, C_STRUCT aiVector3D *position)