1
//****************************************************************************//
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
//****************************************************************************//
11
#ifndef CAL_CAL3D_WRAPPER_H
12
#define CAL_CAL3D_WRAPPER_H
18
//****************************************************************************//
19
// Defines for Win32 and MingW32 //
20
//****************************************************************************//
26
#define CAL3D_WRAPPER_API
30
#pragma warning(disable : 4251)
31
#pragma warning(disable : 4786)
32
#pragma warning(disable : 4099)
34
#ifdef CAL3D_WRAPPER_EXPORTS
35
#define CAL3D_WRAPPER_API __declspec(dllexport)
37
#define CAL3D_WRAPPER_API __declspec(dllimport)
44
//****************************************************************************//
45
// Defines for Linux, Cygwin, FreeBSD Sun and Mips //
46
//****************************************************************************//
48
#if defined(__linux__) \
55
#define CAL3D_WRAPPER_API
59
//****************************************************************************//
60
// Forward declarations //
61
//****************************************************************************//
63
#ifndef CAL3D_WRAPPER_EXPORTS
66
struct CalAnimationAction;
67
struct CalAnimationCycle;
69
struct CalCoreAnimation;
71
struct CalCoreKeyframe;
72
struct CalCoreMaterial;
75
struct CalCoreSkeleton;
76
struct CalCoreSubmesh;
89
struct CalSpringSystem;
101
typedef void *CalUserData;
103
//****************************************************************************//
104
// Substitute for the C++ 'bool' type //
105
//****************************************************************************//
113
//****************************************************************************//
114
// "C" wrapper functions declaration //
115
//****************************************************************************//
122
//****************************************************************************//
123
// CalAnimation wrapper functions declaration //
124
//****************************************************************************//
126
CAL3D_WRAPPER_API enum CalAnimationType
128
ANIMATION_TYPE_NONE = 0,
129
ANIMATION_TYPE_CYCLE,
131
ANIMATION_TYPE_ACTION
134
CAL3D_WRAPPER_API enum CalAnimationState
136
ANIMATION_STATE_NONE = 0,
137
ANIMATION_STATE_SYNC,
138
ANIMATION_STATE_ASYNC,
140
ANIMATION_STATE_STEADY,
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);
153
//****************************************************************************//
154
// CalAnimationAction wrapper functions declaration //
155
//****************************************************************************//
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);
164
//****************************************************************************//
165
// CalAnimationCycle wrapper functions declaration //
166
//****************************************************************************//
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);
176
//****************************************************************************//
177
// CalBone wrapper functions declaration //
178
//****************************************************************************//
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);
202
//****************************************************************************//
203
// CalCoreAnimation wrapper functions declaration //
204
//****************************************************************************//
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);
216
//****************************************************************************//
217
// CalCoreBone wrapper functions declaration //
218
//****************************************************************************//
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);
244
//****************************************************************************//
245
// CalCoreKeyframe wrapper functions declaration //
246
//****************************************************************************//
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);
259
//****************************************************************************//
260
// CalCoreMaterial wrapper functions declaration //
261
//****************************************************************************//
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);
285
//****************************************************************************//
286
// CalCoreMesh wrapper functions declaration //
287
//****************************************************************************//
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);
298
//****************************************************************************//
299
// CalCoreModel wrapper functions declaration //
300
//****************************************************************************//
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);
331
//****************************************************************************//
332
// CalCoreSkeleton wrapper functions declaration //
333
//****************************************************************************//
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);
346
//****************************************************************************//
347
// CalCoreSubmesh wrapper functions declaration //
348
//****************************************************************************//
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);
376
//****************************************************************************//
377
// CalCoreTrack wrapper functions declaration //
378
//****************************************************************************//
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);
390
//****************************************************************************//
391
// CalError wrapper functions declaration //
392
//****************************************************************************//
394
CAL3D_WRAPPER_API enum CalErrorCode
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
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);
425
//****************************************************************************//
426
// CalLoader wrapper functions declaration //
427
//****************************************************************************//
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);
436
//****************************************************************************//
437
// CalMesh wrapper functions declaration //
438
//****************************************************************************//
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);
452
//****************************************************************************//
453
// CalMixer wrapper functions declaration //
454
//****************************************************************************//
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);
466
//****************************************************************************//
467
// CalModel wrapper functions declaration //
468
//****************************************************************************//
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);
490
//****************************************************************************//
491
// CalPhysique wrapper functions declaration //
492
//****************************************************************************//
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);
505
//****************************************************************************//
506
// CalPlatform wrapper functions declaration //
507
//****************************************************************************//
509
//****************************************************************************//
510
// CalQuaternion wrapper functions declaration //
511
//****************************************************************************//
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);
525
//****************************************************************************//
526
// CalRenderer wrapper functions declaration //
527
//****************************************************************************//
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);
555
//****************************************************************************//
556
// CalSaver wrapper functions declaration //
557
//****************************************************************************//
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);
566
//****************************************************************************//
567
// CalSkeleton wrapper functions declaration //
568
//****************************************************************************//
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);
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);
587
//****************************************************************************//
588
// CalSpringSystem wrapper functions declaration //
589
//****************************************************************************//
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);
599
//****************************************************************************//
600
// CalSubmesh wrapper functions declaration //
601
//****************************************************************************//
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);
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);
620
//****************************************************************************//
621
// CalVector wrapper functions declaration //
622
//****************************************************************************//
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);
651
//****************************************************************************//