-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAnepie.pas
98 lines (80 loc) · 3.28 KB
/
Anepie.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
unit AnePIE;
interface
const ANE_PIE_VERSION = 1;
type
ANE_INT32 = LongInt;
ANE_INT16 = Smallint;
ANE_BOOL = Integer;
ANE_DOUBLE = double ;
ANE_STR = PChar;
ANE_PTR = Pointer;
GenericPIECall = procedure ; cdecl;
ANE_INT32_PTR = ^ANE_INT32 ;
ANE_STR_PTR = ^ANE_STR;
ANE_PTR_PTR = ^ANE_PTR;
ANE_DOUBLE_PTR = ^ANE_DOUBLE;
ANE_DOUBLE_PTR_PTR = ^ANE_DOUBLE_PTR;
ANE_INT32_PTR_PTR = ^ANE_INT32_PTR ;
{
typedef void (*GenericPIECall)(); /* generic PIE function call */
}
const kFunctionPIE = $0001; {/* type of PIE function */}
const kImportPIE = $0002;
const kRenumberPIE = $0004;
const kExportTemplatePIE = $0008;
const kProjectPIE = $0010;
const kInterpolationPIE = $0020;
//const EPIEType : set of kFunctionPIE..kInterpolationPIE = [kFunctionPIE, kImportPIE, kRenumberPIE, kExportTemplatePIE, kProjectPIE, kInterpolationPIE];
Type EPIEType = integer;
const kPIEBoolean = $0010;
const kPIEInteger = $0020;
const kPIEFloat = $0030;
const kPIEString = $1040;
//const EPIENumberType : set of kPIEBoolean..kPIEString = [kPIEBoolean, kPIEInteger, kPIEFloat, kPIEString];
Type EPIENumberType = integer;
EPIENumberType_PTR = ^EPIENumberType ;
const kPIETriMeshLayer = $1 ;
const kPIEQuadMeshLayer = $2 ;
const kPIEInformationLayer = $4 ;
const kPIEGridLayer = $8 ;
const kPIEDataLayer = $10 ;
const kPIEMapsLayer = $20 ;
const kPIEDomainLayer = $40 ;
const kPIEAnyLayer = $ffff; {/* since version 2 */}
//const EPIELayerType : set of kPIETriMeshLayer..kPIEAnyLayer = [kPIETriMeshLayer, kPIEQuadMeshLayer, kPIEInformationLayer, kPIEGridLayer, kPIEDataLayer, kPIEMapsLayer, kPIEDomainLayer, kPIEAnyLayer];
Type EPIELayerType = integer;
const kPIENullSubParam = $0000;
const kPIELayerSubParam = $0010;
const kPIEMeshLayerSubParam = $0011;
const kPIEGridLayerSubParam = $0012;
const kPIEContourLayerSubParam = $0013;
const kPIEPictLayerSubParam = $0014;
const kPIEElemSubParam = $0020;
const kPIENodeSubParam = $0040;
const kPIEBlockSubParam = $0080;
const kPIEVertexSubParam = $0100;
const kPIEGeneralSubParam = $7FFF;
//const EPIEParameterType : set of kPIENullSubParam..kPIEGeneralSubParam = [ kPIENullSubParam, kPIELayerSubParam, kPIEMeshLayerSubParam, kPIEGridLayerSubParam, kPIEContourLayerSubParam, kPIEPictLayerSubParam, kPIEElemSubParam, kPIENodeSubParam, kPIEBlockSubParam, kPIEVertexSubParam, kPIEGeneralSubParam];
Type EPIEParameterType = integer;
ANEPIEDesc = record
version : ANE_INT32 ;
vendor : ANE_STR ;
product : ANE_STR ;
name : ANE_STR ;
PieType : EPIEType ;
descriptor : ANE_PTR ;
end;
Type ANEPIEDescPtr = ^ANEPIEDesc ;
Type ANEPIEDescPtrPtr = ^ANEPIEDescPtr ;
Type ANEPIEDescPtrPtrPtr = ^ANEPIEDescPtrPtr ;
//#ifdef __cplusplus
//extern "C" {
//typedef void (*GetANEFunctionsPtr)(ANE_INT32& numNames, ANEPIEDesc**& descriptors);
//}
//#else
//typedef void (*GetANEFunctionsPtr)(ANE_INT32* numNames, struct ANEPIEDesc*** descriptors);
//#endif
type GetANEFunctionsPtr = procedure ( numNames : ANE_INT32_PTR;
var descriptors : ANEPIEDescPtrPtrPtr); cdecl;
implementation
end.