~jtaylor/ubuntu/oneiric/soya/fix-780305

« back to all changes in this revision

Viewing changes to c_src/cal3d_wrapper.h

  • Committer: Bazaar Package Importer
  • Author(s): Marc Dequènes (Duck)
  • Date: 2005-01-30 09:55:06 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 hoary)
  • Revision ID: james.westby@ubuntu.com-20050130095506-f21p6v6cgaobhn5j
Tags: 0.9.2-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//****************************************************************************//
2
 
// cal3d_wrapper.h                                                            //
3
 
// Copyright (C) 2002 Bruno 'Beosil' Heidelberger                             //
4
 
//****************************************************************************//
5
 
// This library is free software; you can redistribute it and/or modify it    //
6
 
// under the terms of the GNU Lesser General Public License as published by   //
7
 
// the Free Software Foundation; either version 2.1 of the License, or (at    //
8
 
// your option) any later version.                                            //
9
 
//****************************************************************************//
10
 
 
11
 
#ifndef CAL_CAL3D_WRAPPER_H
12
 
#define CAL_CAL3D_WRAPPER_H
13
 
 
14
 
#ifdef __cplusplus
15
 
#include "global.h"
16
 
#endif
17
 
 
18
 
//****************************************************************************//
19
 
// Defines for Win32 and MingW32                                              //
20
 
//****************************************************************************//
21
 
 
22
 
#ifdef _WIN32
23
 
 
24
 
#ifdef __MINGW32__
25
 
 
26
 
#define CAL3D_WRAPPER_API
27
 
 
28
 
#else
29
 
 
30
 
#pragma warning(disable : 4251)
31
 
#pragma warning(disable : 4786)
32
 
#pragma warning(disable : 4099)
33
 
 
34
 
#ifdef CAL3D_WRAPPER_EXPORTS
35
 
#define CAL3D_WRAPPER_API __declspec(dllexport)
36
 
#else
37
 
#define CAL3D_WRAPPER_API __declspec(dllimport)
38
 
#endif
39
 
 
40
 
#endif
41
 
 
42
 
#endif
43
 
 
44
 
//****************************************************************************//
45
 
// Defines for Linux, Cygwin, FreeBSD Sun and Mips                            //
46
 
//****************************************************************************//
47
 
 
48
 
#if defined(__linux__)  \
49
 
        || (__CYGWIN__) \
50
 
        || (sun) \
51
 
        || (mips) \
52
 
        || (__FreeBSD__) \
53
 
        || defined(__APPLE__)
54
 
 
55
 
#define CAL3D_WRAPPER_API
56
 
 
57
 
#endif 
58
 
 
59
 
//****************************************************************************//
60
 
// Forward declarations                                                       //
61
 
//****************************************************************************//
62
 
 
63
 
#ifndef CAL3D_WRAPPER_EXPORTS
64
 
 
65
 
struct CalAnimation;
66
 
struct CalAnimationAction;
67
 
struct CalAnimationCycle;
68
 
struct CalBone;
69
 
struct CalCoreAnimation;
70
 
struct CalCoreBone;
71
 
struct CalCoreKeyframe;
72
 
struct CalCoreMaterial;
73
 
struct CalCoreMesh;
74
 
struct CalCoreModel;
75
 
struct CalCoreSkeleton;
76
 
struct CalCoreSubmesh;
77
 
struct CalCoreTrack;
78
 
struct CalLoader;
79
 
struct CalMatrix;
80
 
struct CalMesh;
81
 
struct CalMixer;
82
 
struct CalModel;
83
 
struct CalPhysique;
84
 
struct CalPlatform;
85
 
struct CalQuaternion;
86
 
struct CalRenderer;
87
 
struct CalSaver;
88
 
struct CalSkeleton;
89
 
struct CalSpringSystem;
90
 
struct CalSubmesh;
91
 
struct CalVector;
92
 
 
93
 
#ifndef __cplusplus
94
 
typedef int CalIndex; 
95
 
#endif
96
 
 
97
 
#endif
98
 
 
99
 
 
100
 
 
101
 
typedef void *CalUserData;
102
 
 
103
 
//****************************************************************************//
104
 
// Substitute for the C++ 'bool' type                                         //
105
 
//****************************************************************************//
106
 
 
107
 
enum Boolean
108
 
{
109
 
  False = 0,
110
 
  True = 1
111
 
};
112
 
 
113
 
//****************************************************************************//
114
 
// "C" wrapper functions declaration                                          //
115
 
//****************************************************************************//
116
 
 
117
 
#ifdef __cplusplus
118
 
extern "C"
119
 
{
120
 
#endif
121
 
 
122
 
//****************************************************************************//
123
 
// CalAnimation wrapper functions declaration                                 //
124
 
//****************************************************************************//
125
 
 
126
 
  CAL3D_WRAPPER_API enum CalAnimationType
127
 
  {
128
 
    ANIMATION_TYPE_NONE = 0,
129
 
    ANIMATION_TYPE_CYCLE,
130
 
    ANIMATION_TYPE_POSE,
131
 
    ANIMATION_TYPE_ACTION
132
 
  };
133
 
 
134
 
  CAL3D_WRAPPER_API enum CalAnimationState
135
 
  {
136
 
    ANIMATION_STATE_NONE = 0,
137
 
    ANIMATION_STATE_SYNC,
138
 
    ANIMATION_STATE_ASYNC,
139
 
    ANIMATION_STATE_IN,
140
 
    ANIMATION_STATE_STEADY,
141
 
    ANIMATION_STATE_OUT
142
 
  };
143
 
 
144
 
  CAL3D_WRAPPER_API enum Boolean CalAnimation_Create(struct CalAnimation *self, struct  CalCoreAnimation *pCoreAnimation);
145
 
  CAL3D_WRAPPER_API void CalAnimation_Delete(struct CalAnimation *self);
146
 
  CAL3D_WRAPPER_API void CalAnimation_Destroy(struct CalAnimation *self);
147
 
  CAL3D_WRAPPER_API struct CalCoreAnimation *CalAnimation_GetCoreAnimation(struct CalAnimation *self);
148
 
  CAL3D_WRAPPER_API enum CalAnimationState CalAnimation_GetState(struct CalAnimation *self);
149
 
  CAL3D_WRAPPER_API float CalAnimation_GetTime(struct CalAnimation *self);
150
 
  CAL3D_WRAPPER_API enum CalAnimationType CalAnimation_GetType(struct CalAnimation *self);
151
 
  CAL3D_WRAPPER_API float CalAnimation_GetWeight(struct CalAnimation *self);
152
 
 
153
 
//****************************************************************************//
154
 
// CalAnimationAction wrapper functions declaration                           //
155
 
//****************************************************************************//
156
 
 
157
 
  CAL3D_WRAPPER_API enum Boolean CalAnimationAction_Create(struct CalAnimationAction *self, struct  CalCoreAnimation *pCoreAnimation);
158
 
  CAL3D_WRAPPER_API void CalAnimationAction_Delete(struct CalAnimationAction *self);
159
 
  CAL3D_WRAPPER_API void CalAnimationAction_Destroy(struct CalAnimationAction *self);
160
 
  CAL3D_WRAPPER_API enum Boolean CalAnimationAction_Execute(struct CalAnimationAction *self, float delayIn, float delayOut);
161
 
  CAL3D_WRAPPER_API struct CalAnimationAction *CalAnimationAction_New(void);
162
 
  CAL3D_WRAPPER_API enum Boolean CalAnimationAction_Update(struct CalAnimationAction *self, float deltaTime);
163
 
 
164
 
//****************************************************************************//
165
 
// CalAnimationCycle wrapper functions declaration                            //
166
 
//****************************************************************************//
167
 
 
168
 
  CAL3D_WRAPPER_API enum Boolean CalAnimationCycle_Blend(struct CalAnimationCycle *self, float weight, float delay);
169
 
  CAL3D_WRAPPER_API enum Boolean CalAnimationCycle_Create(struct CalAnimationCycle *self, struct  CalCoreAnimation *pCoreAnimation);
170
 
  CAL3D_WRAPPER_API void CalAnimationCycle_Delete(struct CalAnimationCycle *self);
171
 
  CAL3D_WRAPPER_API void CalAnimationCycle_Destroy(struct CalAnimationCycle *self);
172
 
  CAL3D_WRAPPER_API struct CalAnimationCycle *CalAnimationCycle_New(void);
173
 
  CAL3D_WRAPPER_API void CalAnimationCycle_SetAsync(struct CalAnimationCycle *self, float time, float duration);
174
 
  CAL3D_WRAPPER_API enum Boolean CalAnimationCycle_Update(struct CalAnimationCycle *self, float deltaTime);
175
 
 
176
 
//****************************************************************************//
177
 
// CalBone wrapper functions declaration                                      //
178
 
//****************************************************************************//
179
 
 
180
 
  CAL3D_WRAPPER_API void CalBone_BlendState(struct CalBone *self, float weight, struct CalVector *pTranslation, struct CalQuaternion *pRotation);
181
 
  CAL3D_WRAPPER_API void CalBone_CalculateState(struct CalBone *self);
182
 
  CAL3D_WRAPPER_API void CalBone_ClearState(struct CalBone *self);
183
 
  CAL3D_WRAPPER_API enum Boolean CalBone_Create(struct CalBone *self, struct CalCoreBone *pCoreBone);
184
 
  CAL3D_WRAPPER_API void CalBone_Delete(struct CalBone *self);
185
 
  CAL3D_WRAPPER_API void CalBone_Destroy(struct CalBone *self);
186
 
  CAL3D_WRAPPER_API struct CalCoreBone *CalBone_GetCoreBone(struct CalBone *self);
187
 
  CAL3D_WRAPPER_API struct CalQuaternion *CalBone_GetRotation(struct CalBone *self);
188
 
  CAL3D_WRAPPER_API struct CalQuaternion *CalBone_GetRotationAbsolute(struct CalBone *self);
189
 
  CAL3D_WRAPPER_API struct CalQuaternion *CalBone_GetRotationBoneSpace(struct CalBone *self);
190
 
  CAL3D_WRAPPER_API struct CalVector *CalBone_GetTranslation(struct CalBone *self);
191
 
  CAL3D_WRAPPER_API struct CalVector *CalBone_GetTranslationAbsolute(struct CalBone *self);
192
 
  CAL3D_WRAPPER_API struct CalVector *CalBone_GetTranslationBoneSpace(struct CalBone *self);
193
 
  CAL3D_WRAPPER_API void CalBone_LockState(struct CalBone *self);
194
 
  CAL3D_WRAPPER_API struct CalBone *CalBone_New(void);
195
 
  CAL3D_WRAPPER_API void CalBone_SetSkeleton(struct CalBone *self, struct CalSkeleton *pSkeleton);
196
 
  CAL3D_WRAPPER_API void CalBone_SetTranslation(struct CalBone *self, struct CalVector *pTranslation);
197
 
  CAL3D_WRAPPER_API void CalBone_SetRotation(struct CalBone *self, struct CalQuaternion *pRotation);
198
 
  CAL3D_WRAPPER_API void CalBone_SetCoreState(struct CalBone *self);
199
 
  CAL3D_WRAPPER_API void CalBone_SetCoreStateRecursive(struct CalBone *self);
200
 
 
201
 
 
202
 
//****************************************************************************//
203
 
// CalCoreAnimation wrapper functions declaration                             //
204
 
//****************************************************************************//
205
 
 
206
 
  CAL3D_WRAPPER_API enum Boolean CalCoreAnimation_AddCoreTrack(struct CalCoreAnimation *self, struct CalCoreTrack *pCoreTrack);
207
 
  CAL3D_WRAPPER_API enum Boolean CalCoreAnimation_Create(struct CalCoreAnimation *self);
208
 
  CAL3D_WRAPPER_API void CalCoreAnimation_Delete(struct CalCoreAnimation *self);
209
 
  CAL3D_WRAPPER_API void CalCoreAnimation_Destroy(struct CalCoreAnimation *self);
210
 
  CAL3D_WRAPPER_API struct CalCoreTrack *CalCoreAnimation_GetCoreTrack(struct CalCoreAnimation *self, int coreBoneId);
211
 
  CAL3D_WRAPPER_API float CalCoreAnimation_GetDuration(struct CalCoreAnimation *self);
212
 
//  CAL3D_WRAPPER_API std::list<CalCoreTrack *>& CalCoreAnimation_GetListCoreTrack(struct CalCoreAnimation *self);
213
 
  CAL3D_WRAPPER_API struct CalCoreAnimation *CalCoreAnimation_New(void);
214
 
  CAL3D_WRAPPER_API void CalCoreAnimation_SetDuration(struct CalCoreAnimation *self, float duration);
215
 
 
216
 
//****************************************************************************//
217
 
// CalCoreBone wrapper functions declaration                                  //
218
 
//****************************************************************************//
219
 
 
220
 
  CAL3D_WRAPPER_API enum Boolean CalCoreBone_AddChildId(struct CalCoreBone *self, int childId);
221
 
  CAL3D_WRAPPER_API void CalCoreBone_CalculateState(struct CalCoreBone *self);
222
 
  CAL3D_WRAPPER_API enum Boolean CalCoreBone_Create(struct CalCoreBone *self, char *strName);
223
 
  CAL3D_WRAPPER_API void CalCoreBone_Delete(struct CalCoreBone *self);
224
 
  CAL3D_WRAPPER_API void CalCoreBone_Destroy(struct CalCoreBone *self);
225
 
//  CAL3D_WRAPPER_API std::list<int>& CalCoreBone_GetListChildId(struct CalCoreBone *self);
226
 
  CAL3D_WRAPPER_API char *CalCoreBone_GetName(struct CalCoreBone *self);
227
 
  CAL3D_WRAPPER_API int CalCoreBone_GetParentId(struct CalCoreBone *self);
228
 
  CAL3D_WRAPPER_API struct CalQuaternion *CalCoreBone_GetRotation(struct CalCoreBone *self);
229
 
  CAL3D_WRAPPER_API struct CalQuaternion *CalCoreBone_GetRotationAbsolute(struct CalCoreBone *self);
230
 
  CAL3D_WRAPPER_API struct CalQuaternion *CalCoreBone_GetRotationBoneSpace(struct CalCoreBone *self);
231
 
  CAL3D_WRAPPER_API struct CalVector *CalCoreBone_GetTranslation(struct CalCoreBone *self);
232
 
  CAL3D_WRAPPER_API struct CalVector *CalCoreBone_GetTranslationAbsolute(struct CalCoreBone *self);
233
 
  CAL3D_WRAPPER_API struct CalVector *CalCoreBone_GetTranslationBoneSpace(struct CalCoreBone *self);
234
 
  CAL3D_WRAPPER_API CalUserData CalCoreBone_GetUserData(struct CalCoreBone *self);
235
 
  CAL3D_WRAPPER_API struct CalCoreBone *CalCoreBone_New(void);
236
 
  CAL3D_WRAPPER_API void CalCoreBone_SetCoreSkeleton(struct CalCoreBone *self, struct CalCoreSkeleton *pCoreSkeleton);
237
 
  CAL3D_WRAPPER_API void CalCoreBone_SetParentId(struct CalCoreBone *self, int parentId);
238
 
  CAL3D_WRAPPER_API void CalCoreBone_SetRotation(struct CalCoreBone *self, struct CalQuaternion *pRotation);
239
 
  CAL3D_WRAPPER_API void CalCoreBone_SetRotationBoneSpace(struct CalCoreBone *self, struct CalQuaternion *pRotation);
240
 
  CAL3D_WRAPPER_API void CalCoreBone_SetTranslation(struct CalCoreBone *self, struct CalVector *pTranslation);
241
 
  CAL3D_WRAPPER_API void CalCoreBone_SetTranslationBoneSpace(struct CalCoreBone *self, struct CalVector *pTranslation);
242
 
  CAL3D_WRAPPER_API void CalCoreBone_SetUserData(struct CalCoreBone *self, CalUserData userData);
243
 
 
244
 
//****************************************************************************//
245
 
// CalCoreKeyframe wrapper functions declaration                              //
246
 
//****************************************************************************//
247
 
 
248
 
  CAL3D_WRAPPER_API enum Boolean CalCoreKeyframe_Create(struct CalCoreKeyframe *self);
249
 
  CAL3D_WRAPPER_API void CalCoreKeyframe_Delete(struct CalCoreKeyframe *self);
250
 
  CAL3D_WRAPPER_API void CalCoreKeyframe_Destroy(struct CalCoreKeyframe *self);
251
 
  CAL3D_WRAPPER_API struct CalQuaternion *CalCoreKeyframe_GetRotation(struct CalCoreKeyframe *self);
252
 
  CAL3D_WRAPPER_API float CalCoreKeyframe_GetTime(struct CalCoreKeyframe *self);
253
 
  CAL3D_WRAPPER_API struct CalVector *CalCoreKeyframe_GetTranslation(struct CalCoreKeyframe *self);
254
 
  CAL3D_WRAPPER_API struct CalCoreKeyframe *CalCoreKeyframe_New(void);
255
 
  CAL3D_WRAPPER_API void CalCoreKeyframe_SetRotation(struct CalCoreKeyframe *self, struct CalQuaternion *pRotation);
256
 
  CAL3D_WRAPPER_API void CalCoreKeyframe_SetTime(struct CalCoreKeyframe *self, float time);
257
 
  CAL3D_WRAPPER_API void CalCoreKeyframe_SetTranslation(struct CalCoreKeyframe *self, struct CalVector *pTranslation);
258
 
 
259
 
//****************************************************************************//
260
 
// CalCoreMaterial wrapper functions declaration                              //
261
 
//****************************************************************************//
262
 
 
263
 
  CAL3D_WRAPPER_API enum Boolean CalCoreMaterial_Create(struct CalCoreMaterial *self);
264
 
  CAL3D_WRAPPER_API void CalCoreMaterial_Delete(struct CalCoreMaterial *self);
265
 
  CAL3D_WRAPPER_API void CalCoreMaterial_Destroy(struct CalCoreMaterial *self);
266
 
//  CAL3D_WRAPPER_API CalCoreMaterial::Color *CalCoreMaterial_GetAmbientColor(struct CalCoreMaterial *self);
267
 
//  CAL3D_WRAPPER_API CalCoreMaterial::Color *CalCoreMaterial_GetDiffuseColor(struct CalCoreMaterial *self);
268
 
  CAL3D_WRAPPER_API int CalCoreMaterial_GetMapCount(struct CalCoreMaterial *self);
269
 
  CAL3D_WRAPPER_API char *CalCoreMaterial_GetMapFilename(struct CalCoreMaterial *self, int mapId);
270
 
  CAL3D_WRAPPER_API CalUserData CalCoreMaterial_GetMapUserData(struct CalCoreMaterial *self, int mapId);
271
 
  CAL3D_WRAPPER_API float CalCoreMaterial_GetShininess(struct CalCoreMaterial *self);
272
 
//  CAL3D_WRAPPER_API CalCoreMaterial::Color *CalCoreMaterial_GetSpecularColor(struct CalCoreMaterial *self);
273
 
  CAL3D_WRAPPER_API CalUserData CalCoreMaterial_GetUserData(struct CalCoreMaterial *self);
274
 
//  CAL3D_WRAPPER_API std::vector<Map>& CalCoreMaterial_GetVectorMap(struct CalCoreMaterial *self);
275
 
  CAL3D_WRAPPER_API struct CalCoreMaterial *CalCoreMaterial_New(void);
276
 
  CAL3D_WRAPPER_API enum Boolean CalCoreMaterial_Reserve(struct CalCoreMaterial *self, int mapCount);
277
 
//  CAL3D_WRAPPER_API void CalCoreMaterial_SetAmbientColor(struct CalCoreMaterial *self, struct CalCoreMaterial::Color *pAmbientColor);
278
 
//  CAL3D_WRAPPER_API void CalCoreMaterial_SetDiffuseColor(struct CalCoreMaterial *self, struct CalCoreMaterial::Color *pDiffuseColor);
279
 
//  CAL3D_WRAPPER_API enum Boolean CalCoreMaterial_SetMap(struct CalCoreMaterial *self, int mapId, struct CalCoreMaterial::Map *pMap);
280
 
  CAL3D_WRAPPER_API enum Boolean CalCoreMaterial_SetMapUserData(struct CalCoreMaterial *self, int mapId, CalUserData userData);
281
 
  CAL3D_WRAPPER_API void CalCoreMaterial_SetShininess(struct CalCoreMaterial *self, float shininess);
282
 
//  CAL3D_WRAPPER_API void CalCoreMaterial_SetSpecularColor(struct CalCoreMaterial *self, struct CalCoreMaterial::Color *pSpecularColor);
283
 
  CAL3D_WRAPPER_API void CalCoreMaterial_SetUserData(struct CalCoreMaterial *self, CalUserData userData);
284
 
 
285
 
//****************************************************************************//
286
 
// CalCoreMesh wrapper functions declaration                                  //
287
 
//****************************************************************************//
288
 
 
289
 
  CAL3D_WRAPPER_API int CalCoreMesh_AddCoreSubmesh(struct CalCoreMesh *self, struct CalCoreSubmesh *pCoreSubmesh);
290
 
  CAL3D_WRAPPER_API enum Boolean CalCoreMesh_Create(struct CalCoreMesh *self);
291
 
  CAL3D_WRAPPER_API void CalCoreMesh_Delete(struct CalCoreMesh *self);
292
 
  CAL3D_WRAPPER_API void CalCoreMesh_Destroy(struct CalCoreMesh *self);
293
 
  CAL3D_WRAPPER_API struct CalCoreSubmesh *CalCoreMesh_GetCoreSubmesh(struct CalCoreMesh *self, int id);
294
 
  CAL3D_WRAPPER_API int CalCoreMesh_GetCoreSubmeshCount(struct CalCoreMesh *self);
295
 
//  CAL3D_WRAPPER_API std::vector<CalCoreSubmesh *>& CalCoreMesh_GetVectorCoreSubmesh(struct CalCoreMesh *self);
296
 
  CAL3D_WRAPPER_API struct CalCoreMesh *CalCoreMesh_New(void);
297
 
 
298
 
//****************************************************************************//
299
 
// CalCoreModel wrapper functions declaration                                 //
300
 
//****************************************************************************//
301
 
 
302
 
  CAL3D_WRAPPER_API int CalCoreModel_AddCoreAnimation(struct CalCoreModel *self, struct  CalCoreAnimation *pCoreAnimation);
303
 
  CAL3D_WRAPPER_API int CalCoreModel_AddCoreMaterial(struct CalCoreModel *self, struct CalCoreMaterial *pCoreMaterial);
304
 
  CAL3D_WRAPPER_API int CalCoreModel_AddCoreMesh(struct CalCoreModel *self, struct CalCoreMesh *pCoreMesh);
305
 
  CAL3D_WRAPPER_API enum Boolean CalCoreModel_Create(struct CalCoreModel *self, char *strName);
306
 
  CAL3D_WRAPPER_API enum Boolean CalCoreModel_CreateCoreMaterialThread(struct CalCoreModel *self, int coreMaterialThreadId);
307
 
  CAL3D_WRAPPER_API void CalCoreModel_Delete(struct CalCoreModel *self);
308
 
  CAL3D_WRAPPER_API void CalCoreModel_Destroy(struct CalCoreModel *self);
309
 
  CAL3D_WRAPPER_API struct CalCoreAnimation *CalCoreModel_GetCoreAnimation(struct CalCoreModel *self, int coreAnimationId);
310
 
  CAL3D_WRAPPER_API int CalCoreModel_GetCoreAnimationCount(struct CalCoreModel *self);
311
 
  CAL3D_WRAPPER_API struct CalCoreMaterial *CalCoreModel_GetCoreMaterial(struct CalCoreModel *self, int coreMaterialId);
312
 
  CAL3D_WRAPPER_API int CalCoreModel_GetCoreMaterialCount(struct CalCoreModel *self);
313
 
  CAL3D_WRAPPER_API int CalCoreModel_GetCoreMaterialId(struct CalCoreModel *self, int coreMaterialThreadId, int coreMaterialSetId);
314
 
  CAL3D_WRAPPER_API struct CalCoreMesh *CalCoreModel_GetCoreMesh(struct CalCoreModel *self, int coreMeshId);
315
 
  CAL3D_WRAPPER_API int CalCoreModel_GetCoreMeshCount(struct CalCoreModel *self);
316
 
  CAL3D_WRAPPER_API struct CalCoreSkeleton *CalCoreModel_GetCoreSkeleton(struct CalCoreModel *self);
317
 
  CAL3D_WRAPPER_API CalUserData CalCoreModel_GetUserData(struct CalCoreModel *self);
318
 
  CAL3D_WRAPPER_API int CalCoreModel_LoadCoreAnimation(struct CalCoreModel *self, char *strFilename);
319
 
  CAL3D_WRAPPER_API int CalCoreModel_LoadCoreMaterial(struct CalCoreModel *self, char *strFilename);
320
 
  CAL3D_WRAPPER_API int CalCoreModel_LoadCoreMesh(struct CalCoreModel *self, char *strFilename);
321
 
  CAL3D_WRAPPER_API enum Boolean CalCoreModel_LoadCoreSkeleton(struct CalCoreModel *self, char *strFilename);
322
 
  CAL3D_WRAPPER_API struct CalCoreModel *CalCoreModel_New(void);
323
 
  CAL3D_WRAPPER_API enum Boolean CalCoreModel_SaveCoreAnimation(struct CalCoreModel *self, char *strFilename, int coreAnimtionId);
324
 
  CAL3D_WRAPPER_API enum Boolean CalCoreModel_SaveCoreMaterial(struct CalCoreModel *self, char *strFilename, int coreMaterialId);
325
 
  CAL3D_WRAPPER_API enum Boolean CalCoreModel_SaveCoreMesh(struct CalCoreModel *self, char *strFilename, int coreMeshId);
326
 
  CAL3D_WRAPPER_API enum Boolean CalCoreModel_SaveCoreSkeleton(struct CalCoreModel *self, char *strFilename);
327
 
  CAL3D_WRAPPER_API enum Boolean CalCoreModel_SetCoreMaterialId(struct CalCoreModel *self, int coreMaterialThreadId, int coreMaterialSetId, int coreMaterialId);
328
 
  CAL3D_WRAPPER_API void CalCoreModel_SetCoreSkeleton(struct CalCoreModel *self, struct CalCoreSkeleton *pCoreSkeleton);
329
 
  CAL3D_WRAPPER_API void CalCoreModel_SetUserData(struct CalCoreModel *self, CalUserData userData);
330
 
 
331
 
//****************************************************************************//
332
 
// CalCoreSkeleton wrapper functions declaration                              //
333
 
//****************************************************************************//
334
 
 
335
 
  CAL3D_WRAPPER_API int CalCoreSkeleton_AddCoreBone(struct CalCoreSkeleton *self, struct CalCoreBone *pCoreBone);
336
 
  CAL3D_WRAPPER_API void CalCoreSkeleton_CalculateState(struct CalCoreSkeleton *self);
337
 
  CAL3D_WRAPPER_API enum Boolean CalCoreSkeleton_Create(struct CalCoreSkeleton *self);
338
 
  CAL3D_WRAPPER_API void CalCoreSkeleton_Delete(struct CalCoreSkeleton *self);
339
 
  CAL3D_WRAPPER_API void CalCoreSkeleton_Destroy(struct CalCoreSkeleton *self);
340
 
  CAL3D_WRAPPER_API struct CalCoreBone *CalCoreSkeleton_GetCoreBone(struct CalCoreSkeleton *self, int coreBoneId);
341
 
  CAL3D_WRAPPER_API int CalCoreSkeleton_GetCoreBoneId(struct CalCoreSkeleton *self, char *strName);
342
 
//  CAL3D_WRAPPER_API std::list<int>& CalCoreSkeleton_GetListRootCoreBoneId(struct CalCoreSkeleton *self);
343
 
//  CAL3D_WRAPPER_API std::vector<CalCoreBone *>& CalCoreSkeleton_GetVectorCoreBone(struct CalCoreSkeleton *self);
344
 
  CAL3D_WRAPPER_API struct CalCoreSkeleton *CalCoreSkeleton_New(void);
345
 
 
346
 
//****************************************************************************//
347
 
// CalCoreSubmesh wrapper functions declaration                               //
348
 
//****************************************************************************//
349
 
 
350
 
  CAL3D_WRAPPER_API enum Boolean CalCoreSubmesh_Create(struct CalCoreSubmesh *self);
351
 
  CAL3D_WRAPPER_API void CalCoreSubmesh_Delete(struct CalCoreSubmesh *self);
352
 
  CAL3D_WRAPPER_API void CalCoreSubmesh_Destroy(struct CalCoreSubmesh *self);
353
 
  CAL3D_WRAPPER_API int CalCoreSubmesh_GetCoreMaterialThreadId(struct CalCoreSubmesh *self);
354
 
  CAL3D_WRAPPER_API int CalCoreSubmesh_GetFaceCount(struct CalCoreSubmesh *self);
355
 
  CAL3D_WRAPPER_API int CalCoreSubmesh_GetLodCount(struct CalCoreSubmesh *self);
356
 
  CAL3D_WRAPPER_API int CalCoreSubmesh_GetSpringCount(struct CalCoreSubmesh *self);
357
 
//  CAL3D_WRAPPER_API std::vector<CalCoreSubmesh::Face>& CalCoreSubmesh_GetVectorFace(struct CalCoreSubmesh *self);
358
 
//  CAL3D_WRAPPER_API std::vector<CalCoreSubmesh::PhysicalProperty>& CalCoreSubmesh_GetVectorPhysicalProperty(struct CalCoreSubmesh *self);
359
 
//  CAL3D_WRAPPER_API std::vector<CalCoreSubmesh::Spring>& CalCoreSubmesh_GetVectorSpring(struct CalCoreSubmesh *self);
360
 
//  CAL3D_WRAPPER_API std::vector<std::vector<CalCoreSubmesh::TextureCoordinate> >& CalCoreSubmesh_GetVectorVectorTextureCoordinate(struct CalCoreSubmesh *self);
361
 
//  CAL3D_WRAPPER_API std::vector<CalCoreSubmesh::Vertex>& CalCoreSubmesh_GetVectorVertex(struct CalCoreSubmesh *self);
362
 
  CAL3D_WRAPPER_API int CalCoreSubmesh_GetVertexCount(struct CalCoreSubmesh *self);
363
 
  CAL3D_WRAPPER_API struct CalCoreSubmesh *CalCoreSubmesh_New(void);
364
 
  CAL3D_WRAPPER_API enum Boolean CalCoreSubmesh_Reserve(struct CalCoreSubmesh *self, int vertexCount, int textureCoordinateCount, int faceCount, int springCount);
365
 
  CAL3D_WRAPPER_API void CalCoreSubmesh_SetCoreMaterialThreadId(struct CalCoreSubmesh *self, int coreMaterialThreadId);
366
 
//  CAL3D_WRAPPER_API enum Boolean CalCoreSubmesh_SetFace(struct CalCoreSubmesh *self, int faceId, struct CalCoreSubmesh::Face *pFace);
367
 
  CAL3D_WRAPPER_API void CalCoreSubmesh_SetLodCount(struct CalCoreSubmesh *self, int lodCount);
368
 
//  CAL3D_WRAPPER_API enum Boolean CalCoreSubmesh_SetPhysicalProperty(struct CalCoreSubmesh *self, int vertexId, struct CalCoreSubmesh::PhysicalProperty *pPhysicalProperty);
369
 
//  CAL3D_WRAPPER_API enum Boolean CalCoreSubmesh_SetSpring(struct CalCoreSubmesh *self, int springId, struct CalCoreSubmesh::Spring *pSpring);
370
 
//  CAL3D_WRAPPER_API enum Boolean CalCoreSubmesh_SetTextureCoordinate(struct CalCoreSubmesh *self, int vertexId, int textureCoordinateId, struct CalCoreSubmesh::TextureCoordinate *pTextureCoordinate);
371
 
//  CAL3D_WRAPPER_API enum Boolean CalCoreSubmesh_SetVertex(struct CalCoreSubmesh *self, int vertexId, struct CalCoreSubmesh::Vertex *pVertex);
372
 
CAL3D_WRAPPER_API enum Boolean  CalCoreSubmesh_IsTangentsEnabled(struct CalCoreSubmesh *self, int mapId);
373
 
  //CAL3D_WRAPPER_API enum Boolean  CalCoreSubmesh_EnableTangents(struct CalCoreSubmesh *self, int mapId, bool enabled);
374
 
CAL3D_WRAPPER_API enum Boolean  CalCoreSubmesh_EnableTangents(struct CalCoreSubmesh *self, int mapId, enum Boolean enabled);
375
 
 
376
 
//****************************************************************************//
377
 
// CalCoreTrack wrapper functions declaration                                 //
378
 
//****************************************************************************//
379
 
 
380
 
  CAL3D_WRAPPER_API enum Boolean CalCoreTrack_AddCoreKeyframe(struct CalCoreTrack *self, struct CalCoreKeyframe *pCoreKeyframe);
381
 
  CAL3D_WRAPPER_API enum Boolean CalCoreTrack_Create(struct CalCoreTrack *self);
382
 
  CAL3D_WRAPPER_API void CalCoreTrack_Delete(struct CalCoreTrack *self);
383
 
  CAL3D_WRAPPER_API void CalCoreTrack_Destroy(struct CalCoreTrack *self);
384
 
  CAL3D_WRAPPER_API int CalCoreTrack_GetCoreBoneId(struct CalCoreTrack *self);
385
 
//  CAL3D_WRAPPER_API std::map<float, CalCoreKeyframe *>& CalCoreTrack_GetMapCoreKeyframe(struct CalCoreTrack *self);
386
 
  CAL3D_WRAPPER_API enum Boolean CalCoreTrack_GetState(struct CalCoreTrack *self, float time, struct CalVector *pTranslation, struct CalQuaternion *pRotation);
387
 
  CAL3D_WRAPPER_API struct CalCoreTrack *CalCoreTrack_New(void);
388
 
  CAL3D_WRAPPER_API enum Boolean CalCoreTrack_SetCoreBoneId(struct CalCoreTrack *self, int coreBoneId);
389
 
 
390
 
//****************************************************************************//
391
 
// CalError wrapper functions declaration                                     //
392
 
//****************************************************************************//
393
 
 
394
 
  CAL3D_WRAPPER_API enum CalErrorCode
395
 
  {
396
 
    ERROR_CODE_OK = 0,
397
 
    ERROR_CODE_INTERNAL,
398
 
    ERROR_CODE_INVALID_HANDLE,
399
 
    ERROR_CODE_MEMORY_ALLOCATION_FAILED,
400
 
    ERROR_CODE_FILE_NOT_FOUND,
401
 
    ERROR_CODE_INVALID_FILE_FORMAT,
402
 
    ERROR_CODE_FILE_PARSER_FAILED,
403
 
    ERROR_CODE_INDEX_BUILD_FAILED,
404
 
    ERROR_CODE_NO_PARSER_DOCUMENT,
405
 
    ERROR_CODE_INVALID_ANIMATION_DURATION,
406
 
    ERROR_CODE_BONE_NOT_FOUND,
407
 
    ERROR_CODE_INVALID_ATTRIBUTE_VALUE,
408
 
    ERROR_CODE_INVALID_KEYFRAME_COUNT,
409
 
    ERROR_CODE_INVALID_ANIMATION_TYPE,
410
 
    ERROR_CODE_FILE_CREATION_FAILED,
411
 
    ERROR_CODE_FILE_WRITING_FAILED,
412
 
    ERROR_CODE_INCOMPATIBLE_FILE_VERSION,
413
 
    ERROR_CODE_NO_MESH_IN_MODEL,
414
 
    ERROR_CODE_MAX_ERROR_CODE
415
 
  };
416
 
 
417
 
  CAL3D_WRAPPER_API enum CalErrorCode CalError_GetLastErrorCode(void);
418
 
  CAL3D_WRAPPER_API char *CalError_GetLastErrorDescription(void);
419
 
  CAL3D_WRAPPER_API char *CalError_GetLastErrorFile(void);
420
 
  CAL3D_WRAPPER_API int CalError_GetLastErrorLine(void);
421
 
  CAL3D_WRAPPER_API char *CalError_GetLastErrorText(void);
422
 
  CAL3D_WRAPPER_API void CalError_PrintLastError(void);
423
 
//  CAL3D_WRAPPER_API void CalError_SetLastError(enum CalErrorCode code, char *strFile, int line, char *strText);
424
 
 
425
 
//****************************************************************************//
426
 
// CalLoader wrapper functions declaration                                    //
427
 
//****************************************************************************//
428
 
 
429
 
  CAL3D_WRAPPER_API void CalLoader_Delete(struct CalLoader *self);
430
 
  CAL3D_WRAPPER_API struct CalCoreAnimation *CalLoader_LoadCoreAnimation(struct CalLoader *self, char *strFilename);
431
 
  CAL3D_WRAPPER_API struct CalCoreMaterial *CalLoader_LoadCoreMaterial(struct CalLoader *self, char *strFilename);
432
 
  CAL3D_WRAPPER_API struct CalCoreMesh *CalLoader_LoadCoreMesh(struct CalLoader *self, char *strFilename);
433
 
  CAL3D_WRAPPER_API struct CalCoreSkeleton *CalLoader_LoadCoreSkeleton(struct CalLoader *self, char *strFilename);
434
 
  CAL3D_WRAPPER_API struct CalLoader *CalLoader_New(void);
435
 
 
436
 
//****************************************************************************//
437
 
// CalMesh wrapper functions declaration                                      //
438
 
//****************************************************************************//
439
 
 
440
 
  CAL3D_WRAPPER_API enum Boolean CalMesh_Create(struct CalMesh *self, struct CalCoreMesh *pCoreMesh);
441
 
  CAL3D_WRAPPER_API void CalMesh_Delete(struct CalMesh *self);
442
 
  CAL3D_WRAPPER_API void CalMesh_Destroy(struct CalMesh *self);
443
 
  CAL3D_WRAPPER_API struct CalCoreMesh *CalMesh_GetCoreMesh(struct CalMesh *self);
444
 
  CAL3D_WRAPPER_API struct CalSubmesh *CalMesh_GetSubmesh(struct CalMesh *self, int id);
445
 
  CAL3D_WRAPPER_API int CalMesh_GetSubmeshCount(struct CalMesh *self);
446
 
//  CAL3D_WRAPPER_API std::vector<CalSubmesh *>& CalMesh_GetVectorSubmesh(struct CalMesh *self);
447
 
  CAL3D_WRAPPER_API struct CalMesh *CalMesh_New(void);
448
 
  CAL3D_WRAPPER_API void CalMesh_SetLodLevel(struct CalMesh *self, float lodLevel);
449
 
  CAL3D_WRAPPER_API void CalMesh_SetMaterialSet(struct CalMesh *self, int setId);
450
 
  CAL3D_WRAPPER_API void CalMesh_SetModel(struct CalMesh *self, struct CalModel *pModel);
451
 
 
452
 
//****************************************************************************//
453
 
// CalMixer wrapper functions declaration                                     //
454
 
//****************************************************************************//
455
 
 
456
 
  CAL3D_WRAPPER_API enum Boolean CalMixer_BlendCycle(struct CalMixer *self, int id, float weight, float delay);
457
 
  CAL3D_WRAPPER_API enum Boolean CalMixer_ClearCycle(struct CalMixer *self, int id, float delay);
458
 
  CAL3D_WRAPPER_API enum Boolean CalMixer_Create(struct CalMixer *self, struct CalModel *pModel);
459
 
  CAL3D_WRAPPER_API void CalMixer_Delete(struct CalMixer *self);
460
 
  CAL3D_WRAPPER_API void CalMixer_Destroy(struct CalMixer *self);
461
 
  CAL3D_WRAPPER_API enum Boolean CalMixer_ExecuteAction(struct CalMixer *self, int id, float delayIn, float delayOut);
462
 
  CAL3D_WRAPPER_API struct CalMixer *CalMixer_New(void);
463
 
  CAL3D_WRAPPER_API void CalMixer_UpdateAnimation(struct CalMixer *self, float deltaTime);
464
 
  CAL3D_WRAPPER_API void CalMixer_UpdateSkeleton(struct CalMixer *self);
465
 
 
466
 
//****************************************************************************//
467
 
// CalModel wrapper functions declaration                                     //
468
 
//****************************************************************************//
469
 
 
470
 
  CAL3D_WRAPPER_API enum Boolean CalModel_AttachMesh(struct CalModel *self, int coreMeshId);
471
 
  CAL3D_WRAPPER_API enum Boolean CalModel_Create(struct CalModel *self, struct CalCoreModel *pCoreModel);
472
 
  CAL3D_WRAPPER_API void CalModel_Delete(struct CalModel *self);
473
 
  CAL3D_WRAPPER_API void CalModel_Destroy(struct CalModel *self);
474
 
  CAL3D_WRAPPER_API enum Boolean CalModel_DetachMesh(struct CalModel *self, int coreMeshId);
475
 
  CAL3D_WRAPPER_API struct CalCoreModel *CalModel_GetCoreModel(struct CalModel *self);
476
 
  CAL3D_WRAPPER_API struct CalMesh *CalModel_GetMesh(struct CalModel *self, int coreMeshId);
477
 
  CAL3D_WRAPPER_API struct CalMixer *CalModel_GetMixer(struct CalModel *self);
478
 
  CAL3D_WRAPPER_API struct CalPhysique *CalModel_GetPhysique(struct CalModel *self);
479
 
  CAL3D_WRAPPER_API struct CalRenderer *CalModel_GetRenderer(struct CalModel *self);
480
 
  CAL3D_WRAPPER_API struct CalSkeleton *CalModel_GetSkeleton(struct CalModel *self);
481
 
  CAL3D_WRAPPER_API struct CalSpringSystem *CalModel_GetSpringSystem(struct CalModel *self);
482
 
  CAL3D_WRAPPER_API CalUserData CalModel_GetUserData(struct CalModel *self);
483
 
//  CAL3D_WRAPPER_API std::vector<CalMesh *>& CalModel_GetVectorMesh(struct CalModel *self);
484
 
  CAL3D_WRAPPER_API struct CalModel *CalModel_New(void);
485
 
  CAL3D_WRAPPER_API void CalModel_SetLodLevel(struct CalModel *self, float lodLevel);
486
 
  CAL3D_WRAPPER_API void CalModel_SetMaterialSet(struct CalModel *self, int setId);
487
 
  CAL3D_WRAPPER_API void CalModel_SetUserData(struct CalModel *self, CalUserData userData);
488
 
  CAL3D_WRAPPER_API void CalModel_Update(struct CalModel *self, float deltaTime);
489
 
 
490
 
//****************************************************************************//
491
 
// CalPhysique wrapper functions declaration                                  //
492
 
//****************************************************************************//
493
 
 
494
 
  CAL3D_WRAPPER_API int CalPhysique_CalculateNormals(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pNormalBuffer);
495
 
  CAL3D_WRAPPER_API int CalPhysique_CalculateVertices(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer);
496
 
  CAL3D_WRAPPER_API int CalPhysique_CalculateVerticesAndNormals(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer);
497
 
  CAL3D_WRAPPER_API int CalPhysique_CalculateVerticesNormalsAndTexCoords(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer, int NumTexCoords);
498
 
  CAL3D_WRAPPER_API int CalPhysique_CalculateTangentSpaces(struct CalPhysique *self, struct CalSubmesh *pSubmesh, int mapId, float *pTangentSpaceBuffer);
499
 
  CAL3D_WRAPPER_API enum Boolean CalPhysique_Create(struct CalPhysique *self, struct CalModel *pModel);
500
 
  CAL3D_WRAPPER_API void CalPhysique_Delete(struct CalPhysique *self);
501
 
  CAL3D_WRAPPER_API void CalPhysique_Destroy(struct CalPhysique *self);
502
 
  CAL3D_WRAPPER_API struct CalPhysique *CalPhysique_New(void);
503
 
  CAL3D_WRAPPER_API void CalPhysique_Update(struct CalPhysique *self);
504
 
 
505
 
//****************************************************************************//
506
 
// CalPlatform wrapper functions declaration                                  //
507
 
//****************************************************************************//
508
 
 
509
 
//****************************************************************************//
510
 
// CalQuaternion wrapper functions declaration                                //
511
 
//****************************************************************************//
512
 
 
513
 
  CAL3D_WRAPPER_API void CalQuaternion_Blend(struct CalQuaternion *self, float d, struct CalQuaternion *pQ);
514
 
  CAL3D_WRAPPER_API void CalQuaternion_Clear(struct CalQuaternion *self);
515
 
  CAL3D_WRAPPER_API void CalQuaternion_Conjugate(struct CalQuaternion *self);
516
 
  CAL3D_WRAPPER_API void CalQuaternion_Delete(struct CalQuaternion *self);
517
 
  CAL3D_WRAPPER_API void CalQuaternion_Equal(struct CalQuaternion *self, struct CalQuaternion *pQ);
518
 
  CAL3D_WRAPPER_API float *CalQuaternion_Get(struct CalQuaternion *self);
519
 
  CAL3D_WRAPPER_API void CalQuaternion_Multiply(struct CalQuaternion *self, struct CalQuaternion *pQ);
520
 
  CAL3D_WRAPPER_API void CalQuaternion_MultiplyVector(struct CalQuaternion *self, struct CalVector *pV);
521
 
  CAL3D_WRAPPER_API struct CalQuaternion *CalQuaternion_New(void);
522
 
  CAL3D_WRAPPER_API void CalQuaternion_Op_Multiply(struct CalQuaternion *pResult, struct CalQuaternion *pQ, struct CalQuaternion *pR);
523
 
  CAL3D_WRAPPER_API void CalQuaternion_Set(struct CalQuaternion *self, float qx, float qy, float qz, float qw);
524
 
 
525
 
//****************************************************************************//
526
 
// CalRenderer wrapper functions declaration                                  //
527
 
//****************************************************************************//
528
 
 
529
 
  CAL3D_WRAPPER_API enum Boolean CalRenderer_BeginRendering(struct CalRenderer *self);
530
 
  CAL3D_WRAPPER_API enum Boolean CalRenderer_Create(struct CalRenderer *self, struct CalModel *pModel);
531
 
  CAL3D_WRAPPER_API void CalRenderer_Delete(struct CalRenderer *self);
532
 
  CAL3D_WRAPPER_API void CalRenderer_Destroy(struct CalRenderer *self);
533
 
  CAL3D_WRAPPER_API void CalRenderer_EndRendering(struct CalRenderer *self);
534
 
  CAL3D_WRAPPER_API void CalRenderer_GetAmbientColor(struct CalRenderer *self, unsigned char *pColorBuffer);
535
 
  CAL3D_WRAPPER_API void CalRenderer_GetDiffuseColor(struct CalRenderer *self, unsigned char *pColorBuffer);
536
 
  CAL3D_WRAPPER_API int CalRenderer_GetFaceCount(struct CalRenderer *self);
537
 
  CAL3D_WRAPPER_API int CalRenderer_GetFaces(struct CalRenderer *self, CalIndex *pFaceBuffer);
538
 
  CAL3D_WRAPPER_API int CalRenderer_GetMapCount(struct CalRenderer *self);
539
 
  CAL3D_WRAPPER_API CalUserData CalRenderer_GetMapUserData(struct CalRenderer *self, int mapId);
540
 
  CAL3D_WRAPPER_API int CalRenderer_GetMeshCount(struct CalRenderer *self);
541
 
  CAL3D_WRAPPER_API int CalRenderer_GetNormals(struct CalRenderer *self, float *pNormalBuffer);
542
 
  CAL3D_WRAPPER_API float CalRenderer_GetShininess(struct CalRenderer *self);
543
 
  CAL3D_WRAPPER_API void CalRenderer_GetSpecularColor(struct CalRenderer *self, unsigned char *pColorBuffer);
544
 
  CAL3D_WRAPPER_API int CalRenderer_GetSubmeshCount(struct CalRenderer *self, int meshId);
545
 
  CAL3D_WRAPPER_API int CalRenderer_GetTextureCoordinates(struct CalRenderer *self, int mapId, float *pTextureCoordinateBuffer);
546
 
  CAL3D_WRAPPER_API int CalRenderer_GetVertexCount(struct CalRenderer *self);
547
 
  CAL3D_WRAPPER_API int CalRenderer_GetVertices(struct CalRenderer *self, float *pVertexBuffer);
548
 
  CAL3D_WRAPPER_API int CalRenderer_GetVerticesAndNormals(struct CalRenderer *self, float *pVertexBuffer);
549
 
  CAL3D_WRAPPER_API int CalRenderer_GetVerticesNormalsAndTexCoords(struct CalRenderer *self, float *pVertexBuffer, int NumTexCoords);
550
 
  CAL3D_WRAPPER_API int CalRenderer_GetTangentSpaces(struct CalRenderer *self, int mapId, float *pTangentSpaceBuffer);
551
 
  CAL3D_WRAPPER_API enum Boolean  CalRenderer_IsTangentsEnabled(struct CalRenderer *self, int mapId);
552
 
  CAL3D_WRAPPER_API struct CalRenderer *CalRenderer_New(void);
553
 
  CAL3D_WRAPPER_API enum Boolean CalRenderer_SelectMeshSubmesh(struct CalRenderer *self, int meshId, int submeshId);
554
 
 
555
 
//****************************************************************************//
556
 
// CalSaver wrapper functions declaration                                     //
557
 
//****************************************************************************//
558
 
 
559
 
  CAL3D_WRAPPER_API void CalSaver_Delete(struct CalSaver *self);
560
 
  CAL3D_WRAPPER_API struct CalSaver *CalSaver_New(void);
561
 
  CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreAnimation(struct CalSaver *self, char *strFilename, struct  CalCoreAnimation *pCoreAnimation);
562
 
  CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreMaterial(struct CalSaver *self, char *strFilename, struct CalCoreMaterial *pCoreMaterial);
563
 
  CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreMesh(struct CalSaver *self, char *strFilename, struct CalCoreMesh *pCoreMesh);
564
 
  CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreSkeleton(struct CalSaver *self, char *strFilename, struct CalCoreSkeleton *pCoreSkeleton);
565
 
 
566
 
//****************************************************************************//
567
 
// CalSkeleton wrapper functions declaration                                  //
568
 
//****************************************************************************//
569
 
 
570
 
  CAL3D_WRAPPER_API void CalSkeleton_CalculateState(struct CalSkeleton *self);
571
 
  CAL3D_WRAPPER_API void CalSkeleton_ClearState(struct CalSkeleton *self);
572
 
  CAL3D_WRAPPER_API enum Boolean CalSkeleton_Create(struct CalSkeleton *self, struct CalCoreSkeleton *pCoreSkeleton);
573
 
  CAL3D_WRAPPER_API void CalSkeleton_Delete(struct CalSkeleton *self);
574
 
  CAL3D_WRAPPER_API void CalSkeleton_Destroy(struct CalSkeleton *self);
575
 
  CAL3D_WRAPPER_API struct CalBone *CalSkeleton_GetBone(struct CalSkeleton *self, int boneId);
576
 
  CAL3D_WRAPPER_API struct CalCoreSkeleton *CalSkeleton_GetCoreSkeleton(struct CalSkeleton *self);
577
 
//  CAL3D_WRAPPER_API std::vector<CalBone *>& CalSkeleton_GetVectorBone(struct CalSkeleton *self);
578
 
  CAL3D_WRAPPER_API void CalSkeleton_LockState(struct CalSkeleton *self);
579
 
  CAL3D_WRAPPER_API struct CalSkeleton *CalSkeleton_New(void);
580
 
 
581
 
  // DEBUG-CODE
582
 
  CAL3D_WRAPPER_API int CalSkeleton_GetBonePoints(struct CalSkeleton *self, float *pPoints);
583
 
  CAL3D_WRAPPER_API int CalSkeleton_GetBonePointsStatic(struct CalSkeleton *self, float *pPoints);
584
 
  CAL3D_WRAPPER_API int CalSkeleton_GetBoneLines(struct CalSkeleton *self, float *pLines);
585
 
  CAL3D_WRAPPER_API int CalSkeleton_GetBoneLinesStatic(struct CalSkeleton *self, float *pLines);
586
 
 
587
 
//****************************************************************************//
588
 
// CalSpringSystem wrapper functions declaration                              //
589
 
//****************************************************************************//
590
 
 
591
 
  CAL3D_WRAPPER_API void CalSpringSystem_CalculateForces(struct CalSpringSystem *self, struct CalSubmesh *pSubmesh, float deltaTime);
592
 
  CAL3D_WRAPPER_API void CalSpringSystem_CalculateVertices(struct CalSpringSystem *self, struct CalSubmesh *pSubmesh, float deltaTime);
593
 
  CAL3D_WRAPPER_API enum Boolean CalSpringSystem_Create(struct CalSpringSystem *self, struct CalModel *pModel);
594
 
  CAL3D_WRAPPER_API void CalSpringSystem_Delete(struct CalSpringSystem *self);
595
 
  CAL3D_WRAPPER_API void CalSpringSystem_Destroy(struct CalSpringSystem *self);
596
 
  CAL3D_WRAPPER_API struct CalSpringSystem *CalSpringSystem_New(void);
597
 
  CAL3D_WRAPPER_API void CalSpringSystem_Update(struct CalSpringSystem *self, float deltaTime);
598
 
 
599
 
//****************************************************************************//
600
 
// CalSubmesh wrapper functions declaration                                   //
601
 
//****************************************************************************//
602
 
 
603
 
  CAL3D_WRAPPER_API enum Boolean CalSubmesh_Create(struct CalSubmesh *self, struct CalCoreSubmesh *pCoreSubmesh);
604
 
  CAL3D_WRAPPER_API void CalSubmesh_Delete(struct CalSubmesh *self);
605
 
  CAL3D_WRAPPER_API void CalSubmesh_Destroy(struct CalSubmesh *self);
606
 
  CAL3D_WRAPPER_API struct CalCoreSubmesh *CalSubmesh_GetCoreSubmesh(struct CalSubmesh *self);
607
 
  CAL3D_WRAPPER_API int CalSubmesh_GetCoreMaterialId(struct CalSubmesh *self);
608
 
  CAL3D_WRAPPER_API int CalSubmesh_GetFaceCount(struct CalSubmesh *self);
609
 
  CAL3D_WRAPPER_API int CalSubmesh_GetFaces(struct CalSubmesh *self, CalIndex *pFaceBuffer);
610
 
 
611
 
//  CAL3D_WRAPPER_API std::vector<CalVector>& CalSubmesh_GetVectorNormal(struct CalSubmesh *self);
612
 
//  CAL3D_WRAPPER_API std::vector<CalSubmesh::PhysicalProperty>& CalSubmesh_GetVectorPhysicalProperty(struct CalSubmesh *self);
613
 
//  CAL3D_WRAPPER_API std::vector<CalVector>& CalSubmesh_GetVectorVertex(struct CalSubmesh *self);
614
 
  CAL3D_WRAPPER_API int CalSubmesh_GetVertexCount(struct CalSubmesh *self);
615
 
  CAL3D_WRAPPER_API enum Boolean CalSubmesh_HasInternalData(struct CalSubmesh *self);
616
 
  CAL3D_WRAPPER_API struct CalSubmesh *CalSubmesh_New(void);
617
 
  CAL3D_WRAPPER_API void CalSubmesh_SetCoreMaterialId(struct CalSubmesh *self, int coreMaterialId);
618
 
  CAL3D_WRAPPER_API void CalSubmesh_SetLodLevel(struct CalSubmesh *self, float lodLevel);
619
 
 
620
 
//****************************************************************************//
621
 
// CalVector wrapper functions declaration                                    //
622
 
//****************************************************************************//
623
 
 
624
 
  CAL3D_WRAPPER_API void CalVector_Add(struct CalVector *self, struct CalVector *pV);
625
 
  CAL3D_WRAPPER_API void CalVector_Blend(struct CalVector *self, float d, struct CalVector *pV);
626
 
  CAL3D_WRAPPER_API void CalVector_Clear(struct CalVector *self);
627
 
  CAL3D_WRAPPER_API void CalVector_Delete(struct CalVector *self);
628
 
  CAL3D_WRAPPER_API void CalVector_Equal(struct CalVector *self, struct CalVector *pV);
629
 
  CAL3D_WRAPPER_API void CalVector_InverseScale(struct CalVector *self, float d);
630
 
  CAL3D_WRAPPER_API float *CalVector_Get(struct CalVector *self);
631
 
  CAL3D_WRAPPER_API float CalVector_Length(struct CalVector *self);
632
 
  CAL3D_WRAPPER_API struct CalVector *CalVector_New(void);
633
 
  CAL3D_WRAPPER_API float CalVector_Normalize(struct CalVector *self);
634
 
  CAL3D_WRAPPER_API void CalVector_Op_Add(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU);
635
 
  CAL3D_WRAPPER_API void CalVector_Op_Subtract(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU);
636
 
  CAL3D_WRAPPER_API void CalVector_CalVector_Op_Scale(struct CalVector *pResult, struct CalVector *pV, float d);
637
 
  CAL3D_WRAPPER_API void CalVector_CalVector_Op_InverseScale(struct CalVector *pResult, struct CalVector *pV, float d);
638
 
  CAL3D_WRAPPER_API float CalVector_Op_Scalar(struct CalVector *pV, struct CalVector *pU);
639
 
  CAL3D_WRAPPER_API void CalVector_Op_Cross(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU);
640
 
  CAL3D_WRAPPER_API void CalVector_Scale(struct CalVector *self, float d);
641
 
  CAL3D_WRAPPER_API void CalVector_Set(struct CalVector *self, float vx, float vy, float vz);
642
 
  CAL3D_WRAPPER_API void CalVector_Subtract(struct CalVector *self, struct CalVector *pV);
643
 
  CAL3D_WRAPPER_API void CalVector_Transform(struct CalVector *self, struct CalQuaternion *pQ);
644
 
 
645
 
#ifdef __cplusplus
646
 
}
647
 
#endif
648
 
 
649
 
#endif
650
 
 
651
 
//****************************************************************************//