11#ifndef CAL_CAL3D_WRAPPER_H
12#define CAL_CAL3D_WRAPPER_H
15#include "cal3d/global.h"
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)
48#define CAL3D_WRAPPER_API
56#ifndef CAL3D_WRAPPER_EXPORTS
63struct CalCoreMorphAnimation;
97typedef void *CalUserData;
99typedef unsigned long CalColorValue;
127 enum CalAnimationType
129 ANIMATION_TYPE_NONE = 0,
130 ANIMATION_TYPE_CYCLE,
132 ANIMATION_TYPE_ACTION
135 enum CalAnimationState
137 ANIMATION_STATE_NONE = 0,
138 ANIMATION_STATE_SYNC,
139 ANIMATION_STATE_ASYNC,
141 ANIMATION_STATE_STEADY,
145 CAL3D_WRAPPER_API
void CalAnimation_Delete(
struct CalAnimation *self);
147 CAL3D_WRAPPER_API
enum CalAnimationState CalAnimation_GetState(
struct CalAnimation *self);
148 CAL3D_WRAPPER_API
float CalAnimation_GetTime(
struct CalAnimation *self);
149 CAL3D_WRAPPER_API
enum CalAnimationType CalAnimation_GetType(
struct CalAnimation *self);
150 CAL3D_WRAPPER_API
float CalAnimation_GetWeight(
struct CalAnimation *self);
157 CAL3D_WRAPPER_API
enum CalBoolean CalAnimationAction_Execute(
struct CalAnimationAction *self,
float delayIn,
float delayOut);
159 CAL3D_WRAPPER_API
enum CalBoolean CalAnimationAction_Update(
struct CalAnimationAction *self,
float deltaTime);
165 CAL3D_WRAPPER_API
enum CalBoolean CalAnimationCycle_Blend(
struct CalAnimationCycle *self,
float weight,
float delay);
168 CAL3D_WRAPPER_API
void CalAnimationCycle_SetAsync(
struct CalAnimationCycle *self,
float time,
float duration);
169 CAL3D_WRAPPER_API
enum CalBoolean CalAnimationCycle_Update(
struct CalAnimationCycle *self,
float deltaTime);
175 CAL3D_WRAPPER_API
void CalBone_BlendState(
struct CalBone *self,
float weight,
struct CalVector *pTranslation,
struct CalQuaternion *pRotation);
176 CAL3D_WRAPPER_API
void CalBone_CalculateState(
struct CalBone *self);
177 CAL3D_WRAPPER_API
void CalBone_ClearState(
struct CalBone *self);
178 CAL3D_WRAPPER_API
void CalBone_Delete(
struct CalBone *self);
183 CAL3D_WRAPPER_API
struct CalVector *CalBone_GetTranslation(
struct CalBone *self);
184 CAL3D_WRAPPER_API
struct CalVector *CalBone_GetTranslationAbsolute(
struct CalBone *self);
185 CAL3D_WRAPPER_API
struct CalVector *CalBone_GetTranslationBoneSpace(
struct CalBone *self);
186 CAL3D_WRAPPER_API
void CalBone_LockState(
struct CalBone *self);
188 CAL3D_WRAPPER_API
void CalBone_SetSkeleton(
struct CalBone *self,
struct CalSkeleton *pSkeleton);
189 CAL3D_WRAPPER_API
void CalBone_SetTranslation(
struct CalBone *self,
struct CalVector *pTranslation);
190 CAL3D_WRAPPER_API
void CalBone_SetRotation(
struct CalBone *self,
struct CalQuaternion *pRotation);
191 CAL3D_WRAPPER_API
void CalBone_SetCoreState(
struct CalBone *self);
192 CAL3D_WRAPPER_API
void CalBone_SetCoreStateRecursive(
struct CalBone *self);
193 CAL3D_WRAPPER_API
enum CalBoolean CalBone_GetBoundingBox(
struct CalBone *self,
struct CalCoreModel* model,
194 float* outEightPoints );
202 CAL3D_WRAPPER_API
void CalCoreAnimation_Delete(
struct CalCoreAnimation* self);
204 CAL3D_WRAPPER_API
float CalCoreAnimation_GetDuration(
struct CalCoreAnimation *self);
205 CAL3D_WRAPPER_API
void CalCoreAnimation_SetDuration(
struct CalCoreAnimation *self,
float duration);
206 CAL3D_WRAPPER_API
void CalCoreAnimation_Scale(
struct CalCoreAnimation *self,
float factor);
212 CAL3D_WRAPPER_API
struct CalCoreMorphAnimation *CalCoreMorphAnimation_New();
213 CAL3D_WRAPPER_API
void CalCoreMorphAnimation_Delete(
struct CalCoreMorphAnimation* self);
214 CAL3D_WRAPPER_API
enum CalBoolean CalCoreMorphAnimation_AddMorphTarget(
struct CalCoreMorphAnimation* self,
int meshID,
int morphID);
215 CAL3D_WRAPPER_API
const char* CalCoreMorphAnimation_GetName(
const struct CalCoreMorphAnimation *self );
216 CAL3D_WRAPPER_API
void CalCoreMorphAnimation_SetName(
struct CalCoreMorphAnimation *self,
const char* inName );
222 CAL3D_WRAPPER_API
enum CalBoolean CalCoreBone_AddChildId(
struct CalCoreBone *self,
int childId);
223 CAL3D_WRAPPER_API
void CalCoreBone_CalculateState(
struct CalCoreBone *self);
224 CAL3D_WRAPPER_API
void CalCoreBone_Delete(
struct CalCoreBone *self);
226 CAL3D_WRAPPER_API
int CalCoreBone_GetChildCount(
struct CalCoreBone *self );
227 CAL3D_WRAPPER_API
int CalCoreBone_GetChildId(
struct CalCoreBone *self,
int childIndex );
228 CAL3D_WRAPPER_API
const char *CalCoreBone_GetName(
struct CalCoreBone *self);
229 CAL3D_WRAPPER_API
void CalCoreBone_SetName(
struct CalCoreBone *self,
const char* name );
230 CAL3D_WRAPPER_API
int CalCoreBone_GetParentId(
struct CalCoreBone *self);
235 CAL3D_WRAPPER_API
struct CalVector *CalCoreBone_GetTranslationAbsolute(
struct CalCoreBone *self);
236 CAL3D_WRAPPER_API
struct CalVector *CalCoreBone_GetTranslationBoneSpace(
struct CalCoreBone *self);
237 CAL3D_WRAPPER_API CalUserData CalCoreBone_GetUserData(
struct CalCoreBone *self);
238 CAL3D_WRAPPER_API
struct CalCoreBone *CalCoreBone_New(
const char* name);
240 CAL3D_WRAPPER_API
void CalCoreBone_SetParentId(
struct CalCoreBone *self,
int parentId);
243 CAL3D_WRAPPER_API
void CalCoreBone_SetTranslation(
struct CalCoreBone *self,
struct CalVector *pTranslation);
244 CAL3D_WRAPPER_API
void CalCoreBone_SetTranslationBoneSpace(
struct CalCoreBone *self,
struct CalVector *pTranslation);
245 CAL3D_WRAPPER_API
void CalCoreBone_SetUserData(
struct CalCoreBone *self, CalUserData userData);
246 CAL3D_WRAPPER_API
enum CalBoolean CalCoreBone_GetBoundingBox(
struct CalCoreBone *self,
struct CalCoreModel* model,
247 float* outEightPoints );
253 CAL3D_WRAPPER_API
void CalCoreMaterial_Delete(
struct CalCoreMaterial *self);
257 CAL3D_WRAPPER_API
int CalCoreMaterial_GetMapCount(
struct CalCoreMaterial *self);
258 CAL3D_WRAPPER_API
const char *CalCoreMaterial_GetMapFilename(
struct CalCoreMaterial *self,
int mapId);
259 CAL3D_WRAPPER_API CalUserData CalCoreMaterial_GetMapUserData(
struct CalCoreMaterial *self,
int mapId);
260 CAL3D_WRAPPER_API
float CalCoreMaterial_GetShininess(
struct CalCoreMaterial *self);
262 CAL3D_WRAPPER_API CalUserData CalCoreMaterial_GetUserData(
struct CalCoreMaterial *self);
264 CAL3D_WRAPPER_API
enum CalBoolean CalCoreMaterial_Reserve(
struct CalCoreMaterial *self,
int mapCount);
268 CAL3D_WRAPPER_API
enum CalBoolean CalCoreMaterial_SetMapUserData(
struct CalCoreMaterial *self,
int mapId, CalUserData userData);
269 CAL3D_WRAPPER_API
void CalCoreMaterial_SetShininess(
struct CalCoreMaterial *self,
float shininess);
271 CAL3D_WRAPPER_API
void CalCoreMaterial_SetUserData(
struct CalCoreMaterial *self, CalUserData userData);
272 CAL3D_WRAPPER_API
const char* CalCoreMaterial_GetName(
struct CalCoreMaterial *self);
273 CAL3D_WRAPPER_API
void CalCoreMaterial_SetName(
struct CalCoreMaterial *self,
const char* inName);
274 CAL3D_WRAPPER_API CalColorValue CalCoreMaterial_GetAmbientColor(
struct CalCoreMaterial *self);
275 CAL3D_WRAPPER_API CalColorValue CalCoreMaterial_GetDiffuseColor(
struct CalCoreMaterial *self);
276 CAL3D_WRAPPER_API CalColorValue CalCoreMaterial_GetSpecularColor(
struct CalCoreMaterial *self);
277 CAL3D_WRAPPER_API
void CalCoreMaterial_SetAmbientColor(
struct CalCoreMaterial *self, CalColorValue pAmbientColor);
278 CAL3D_WRAPPER_API
void CalCoreMaterial_SetDiffuseColor(
struct CalCoreMaterial *self, CalColorValue pDiffuseColor);
279 CAL3D_WRAPPER_API
void CalCoreMaterial_SetSpecularColor(
struct CalCoreMaterial *self, CalColorValue pSpecularColor);
286 CAL3D_WRAPPER_API
struct CalCoreMesh *CalCoreMesh_New();
287 CAL3D_WRAPPER_API
void CalCoreMesh_Delete(
struct CalCoreMesh *self);
290 CAL3D_WRAPPER_API
void CalCoreMesh_RemoveCoreSubmesh(
struct CalCoreMesh *self,
int coreSubmeshID );
292 CAL3D_WRAPPER_API
int CalCoreMesh_GetCoreSubmeshCount(
struct CalCoreMesh *self);
294 CAL3D_WRAPPER_API
const char* CalCoreMesh_GetName(
struct CalCoreMesh *self);
295 CAL3D_WRAPPER_API
void CalCoreMesh_SetName(
struct CalCoreMesh *self,
const char* inName);
296 CAL3D_WRAPPER_API
void CalCoreMesh_Scale(
struct CalCoreMesh *self,
float factor);
304 CAL3D_WRAPPER_API
int CalCoreModel_AddCoreMorphAnimation(
struct CalCoreModel *self,
struct CalCoreMorphAnimation *pCoreAnimation);
307 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_CreateCoreMaterialThread(
struct CalCoreModel *self,
int coreMaterialThreadId);
308 CAL3D_WRAPPER_API
void CalCoreModel_Delete(
struct CalCoreModel *self);
309 CAL3D_WRAPPER_API
const char *CalCoreModel_GetName(
struct CalCoreModel *self);
311 CAL3D_WRAPPER_API
int CalCoreModel_GetCoreAnimationCount(
struct CalCoreModel *self);
313 CAL3D_WRAPPER_API
int CalCoreModel_GetCoreMaterialCount(
struct CalCoreModel *self);
314 CAL3D_WRAPPER_API
int CalCoreModel_GetCoreMaterialId(
struct CalCoreModel *self,
int coreMaterialThreadId,
int coreMaterialSetId);
316 CAL3D_WRAPPER_API
int CalCoreModel_GetCoreMeshCount(
struct CalCoreModel *self);
317 CAL3D_WRAPPER_API
int CalCoreModel_GetCoreMeshId(
struct CalCoreModel *self,
const char* coreMeshName );
319 CAL3D_WRAPPER_API CalUserData CalCoreModel_GetUserData(
struct CalCoreModel *self);
320 CAL3D_WRAPPER_API
int CalCoreModel_GetCoreMorphAnimationCount(
struct CalCoreModel *self);
321 CAL3D_WRAPPER_API
int CalCoreModel_LoadCoreAnimation(
struct CalCoreModel *self,
const char *strFilename);
322 CAL3D_WRAPPER_API
int CalCoreModel_LoadCoreMaterial(
struct CalCoreModel *self,
const char *strFilename);
323 CAL3D_WRAPPER_API
int CalCoreModel_LoadCoreMesh(
struct CalCoreModel *self,
const char *strFilename);
324 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_LoadCoreSkeleton(
struct CalCoreModel *self,
const char *strFilename);
325 CAL3D_WRAPPER_API
int CalCoreModel_LoadCoreAnimationFromBuffer(
struct CalCoreModel *self,
const void* buffer);
326 CAL3D_WRAPPER_API
int CalCoreModel_LoadCoreMaterialFromBuffer(
struct CalCoreModel *self,
const void* buffer);
327 CAL3D_WRAPPER_API
int CalCoreModel_LoadCoreMeshFromBuffer(
struct CalCoreModel *self,
const void* buffer);
328 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_LoadCoreSkeletonFromBuffer(
struct CalCoreModel *self,
const void* buffer);
329 CAL3D_WRAPPER_API
struct CalCoreModel *CalCoreModel_New(
const char* name);
331 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_SaveCoreAnimation(
struct CalCoreModel *self,
const char *strFilename,
int coreAnimtionId);
332 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_SaveCoreMaterial(
struct CalCoreModel *self,
const char *strFilename,
int coreMaterialId);
333 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_SaveCoreMesh(
struct CalCoreModel *self,
const char *strFilename,
int coreMeshId);
334 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_SaveCoreSkeleton(
struct CalCoreModel *self,
const char *strFilename);
335 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_SetCoreMaterialId(
struct CalCoreModel *self,
int coreMaterialThreadId,
int coreMaterialSetId,
int coreMaterialId);
337 CAL3D_WRAPPER_API
void CalCoreModel_SetUserData(
struct CalCoreModel *self, CalUserData userData);
338 CAL3D_WRAPPER_API
struct CalCoreMorphAnimation* CalCoreModel_GetCoreMorphAnimation(
struct CalCoreModel *self,
int morphAnimID );
339 CAL3D_WRAPPER_API
void CalCoreModel_SetName(
struct CalCoreModel *self,
const char* inName);
340 CAL3D_WRAPPER_API
void CalCoreModel_ReplaceCoreMesh(
struct CalCoreModel *self,
int coreMeshId,
struct CalCoreMesh *pCoreMesh);
341 CAL3D_WRAPPER_API
enum CalBoolean CalCoreModel_AddMeshName(
struct CalCoreModel *self,
const char* name,
int coreMeshId );
342 CAL3D_WRAPPER_API
void CalCoreModel_CloneCoreMaterials(
struct CalCoreModel *self );
349 CAL3D_WRAPPER_API
void CalCoreSkeleton_Delete(
struct CalCoreSkeleton* self);
352 CAL3D_WRAPPER_API
void CalCoreSkeleton_CalculateState(
struct CalCoreSkeleton *self);
354 CAL3D_WRAPPER_API
int CalCoreSkeleton_GetCoreBoneId(
struct CalCoreSkeleton *self,
const char *strName);
355 CAL3D_WRAPPER_API
enum CalBoolean CalCoreSkeleton_MapCoreBoneName(
struct CalCoreSkeleton *self,
int coreBoneID,
const char* name );
356 CAL3D_WRAPPER_API
int CalCoreSkeleton_GetCoreBoneCount(
struct CalCoreSkeleton *self);
357 CAL3D_WRAPPER_API
int CalCoreSkeleton_GetRootCoreBoneCount(
struct CalCoreSkeleton *self);
361 CAL3D_WRAPPER_API
void CalCoreSkeleton_CalculateBoundingBoxes(
struct CalCoreModel* coreModel );
362 CAL3D_WRAPPER_API
void CalCoreSkeleton_Scale(
struct CalCoreSkeleton *self,
float factor);
368 CAL3D_WRAPPER_API
void CalCoreSubmesh_Delete(
struct CalCoreSubmesh *self);
369 CAL3D_WRAPPER_API
int CalCoreSubmesh_GetCoreMaterialThreadId(
struct CalCoreSubmesh *self);
370 CAL3D_WRAPPER_API
int CalCoreSubmesh_GetFaceCount(
struct CalCoreSubmesh *self);
371 CAL3D_WRAPPER_API
int CalCoreSubmesh_GetLodCount(
struct CalCoreSubmesh *self);
372 CAL3D_WRAPPER_API
int CalCoreSubmesh_GetSpringCount(
struct CalCoreSubmesh *self);
373 CAL3D_WRAPPER_API
const CalIndex* CalCoreSubmesh_GetFaces(
struct CalCoreSubmesh *self );
379 CAL3D_WRAPPER_API
int CalCoreSubmesh_GetVertexCount(
struct CalCoreSubmesh *self);
380 CAL3D_WRAPPER_API
int CalCoreSubmesh_GetVertexInfluenceCount(
struct CalCoreSubmesh *self,
int vertID );
381 CAL3D_WRAPPER_API
int CalCoreSubmesh_GetVertexInfluence(
struct CalCoreSubmesh *self,
int vertID,
int influenceID,
384 CAL3D_WRAPPER_API
void CalCoreSubmesh_GetVertex(
struct CalCoreSubmesh* self,
int vertID,
float* outPosition,
float* outNormal );
385 CAL3D_WRAPPER_API
enum CalBoolean CalCoreSubmesh_Reserve(
struct CalCoreSubmesh *self,
int vertexCount,
int textureCoordinateCount,
int faceCount,
int springCount);
386 CAL3D_WRAPPER_API
void CalCoreSubmesh_SetCoreMaterialThreadId(
struct CalCoreSubmesh *self,
int coreMaterialThreadId);
388 CAL3D_WRAPPER_API
void CalCoreSubmesh_SetLodCount(
struct CalCoreSubmesh *self,
int lodCount);
393CAL3D_WRAPPER_API
enum CalBoolean CalCoreSubmesh_IsTangentsEnabled(
struct CalCoreSubmesh *self,
int mapId);
394CAL3D_WRAPPER_API
enum CalBoolean CalCoreSubmesh_EnableTangents(
struct CalCoreSubmesh *self,
int mapId,
enum CalBoolean enabled);
405 int inNumDifferences );
407 int inVertexID,
float* inPositionOffset,
float* inNormalOffset );
417 ERROR_CODE_INVALID_HANDLE,
418 ERROR_CODE_MEMORY_ALLOCATION_FAILED,
419 ERROR_CODE_FILE_NOT_FOUND,
420 ERROR_CODE_INVALID_FILE_FORMAT,
421 ERROR_CODE_FILE_PARSER_FAILED,
422 ERROR_CODE_INDEX_BUILD_FAILED,
423 ERROR_CODE_NO_PARSER_DOCUMENT,
424 ERROR_CODE_INVALID_ANIMATION_DURATION,
425 ERROR_CODE_BONE_NOT_FOUND,
426 ERROR_CODE_INVALID_ATTRIBUTE_VALUE,
427 ERROR_CODE_INVALID_KEYFRAME_COUNT,
428 ERROR_CODE_INVALID_ANIMATION_TYPE,
429 ERROR_CODE_FILE_CREATION_FAILED,
430 ERROR_CODE_FILE_WRITING_FAILED,
431 ERROR_CODE_INCOMPATIBLE_FILE_VERSION,
432 ERROR_CODE_NO_MESH_IN_MODEL,
433 ERROR_CODE_MAX_ERROR_CODE
436 CAL3D_WRAPPER_API
enum CalErrorCode CalError_GetLastErrorCode();
437 CAL3D_WRAPPER_API
const char *CalError_GetLastErrorDescription();
438 CAL3D_WRAPPER_API
const char *CalError_GetLastErrorFile();
439 CAL3D_WRAPPER_API
int CalError_GetLastErrorLine();
440 CAL3D_WRAPPER_API
const char *CalError_GetLastErrorText();
441 CAL3D_WRAPPER_API
void CalError_PrintLastError();
448 CAL3D_WRAPPER_API
struct CalLoader *CalLoader_New();
449 CAL3D_WRAPPER_API
void CalLoader_Delete(
struct CalLoader *self);
451 CAL3D_WRAPPER_API
struct CalCoreMaterial *CalLoader_LoadCoreMaterial(
struct CalLoader *self,
const char *strFilename);
452 CAL3D_WRAPPER_API
struct CalCoreMesh *CalLoader_LoadCoreMesh(
struct CalLoader *self,
const char *strFilename);
453 CAL3D_WRAPPER_API
struct CalCoreSkeleton *CalLoader_LoadCoreSkeleton(
struct CalLoader *self,
const char *strFilename);
454 CAL3D_WRAPPER_API
struct CalCoreMesh *CalLoader_LoadCoreMeshFromBuffer(
const void *data);
457 CAL_LOADER_ROTATE_X_AXIS = 1,
458 CAL_LOADER_INVERT_V_COORD = 2
460 CAL3D_WRAPPER_API
void CalLoader_SetLoadingMode(
int flags );
466 CAL3D_WRAPPER_API
void CalMesh_Delete(
struct CalMesh *self);
468 CAL3D_WRAPPER_API
struct CalSubmesh *CalMesh_GetSubmesh(
struct CalMesh *self,
int id);
469 CAL3D_WRAPPER_API
int CalMesh_GetSubmeshCount(
struct CalMesh *self);
472 CAL3D_WRAPPER_API
void CalMesh_SetLodLevel(
struct CalMesh *self,
float lodLevel);
473 CAL3D_WRAPPER_API
void CalMesh_SetMaterialSet(
struct CalMesh *self,
int setId);
474 CAL3D_WRAPPER_API
void CalMesh_SetModel(
struct CalMesh *self,
struct CalModel *pModel);
480 CAL3D_WRAPPER_API
enum CalBoolean CalMixer_BlendCycle(
struct CalMixer *self,
int id,
float weight,
float delay);
481 CAL3D_WRAPPER_API
enum CalBoolean CalMixer_ClearCycle(
struct CalMixer *self,
int id,
float delay);
482 CAL3D_WRAPPER_API
void CalMixer_Delete(
struct CalMixer *self);
483 CAL3D_WRAPPER_API
enum CalBoolean CalMixer_ExecuteAction(
struct CalMixer *self,
int id,
float delayIn,
float delayOut,
enum CalBoolean autoLock);
485 CAL3D_WRAPPER_API
void CalMixer_UpdateAnimation(
struct CalMixer *self,
float deltaTime);
486 CAL3D_WRAPPER_API
void CalMixer_UpdateSkeleton(
struct CalMixer *self);
487 CAL3D_WRAPPER_API
void CalMixer_RemoveAction(
struct CalMixer *self,
int id);
492 CAL3D_WRAPPER_API
enum CalBoolean CalMorphTargetMixer_Blend(
struct CalMorphTargetMixer* self,
493 int morphAnimID,
float weight,
float delayIn,
float delayOut,
bool looping );
494 CAL3D_WRAPPER_API
enum CalBoolean CalMorphTargetMixer_Clear(
struct CalMorphTargetMixer *self,
int id,
float delay);
497 CAL3D_WRAPPER_API
void CalMorphTargetMixer_Update(
struct CalMorphTargetMixer* self,
float deltaTime );
498 CAL3D_WRAPPER_API
int CalMorphTargetMixer_GetMorphTargetCount(
struct CalMorphTargetMixer* self );
499 CAL3D_WRAPPER_API
enum CalBoolean CalMorphTargetMixer_Copy(
struct CalMorphTargetMixer* self,
501 CAL3D_WRAPPER_API
float CalMorphTargetMixer_GetCurrentWeight(
struct CalMorphTargetMixer* self,
int morphAnimID );
507 CAL3D_WRAPPER_API
enum CalBoolean CalModel_AttachMesh(
struct CalModel *self,
int coreMeshId);
508 CAL3D_WRAPPER_API
void CalModel_Delete(
struct CalModel *self);
509 CAL3D_WRAPPER_API
enum CalBoolean CalModel_DetachMesh(
struct CalModel *self,
int coreMeshId);
511 CAL3D_WRAPPER_API
struct CalMesh *CalModel_GetMesh(
struct CalModel *self,
int coreMeshId);
512 CAL3D_WRAPPER_API
const struct CalMesh *CalModel_GetMeshConst(
const struct CalModel *self,
int coreMeshId);
513 CAL3D_WRAPPER_API
struct CalMixer *CalModel_GetMixer(
struct CalModel *self);
517 CAL3D_WRAPPER_API
const struct CalPhysique *CalModel_GetPhysiqueConst(
const struct CalModel *self);
518 CAL3D_WRAPPER_API
void CalModel_SetPhysique(
struct CalModel *self,
struct CalPhysique *phys);
523 CAL3D_WRAPPER_API CalUserData CalModel_GetUserData(
struct CalModel *self);
524 CAL3D_WRAPPER_API
int CalModel_GetMeshCount(
struct CalModel *self);
525 CAL3D_WRAPPER_API
struct CalMesh *CalModel_GetMeshByMeshID(
struct CalModel *self,
int meshId);
528 CAL3D_WRAPPER_API
void CalModel_SetLodLevel(
struct CalModel *self,
float lodLevel);
529 CAL3D_WRAPPER_API
void CalModel_SetMaterialSet(
struct CalModel *self,
int setId);
530 CAL3D_WRAPPER_API
void CalModel_SetUserData(
struct CalModel *self, CalUserData userData);
531 CAL3D_WRAPPER_API
void CalModel_Update(
struct CalModel *self,
float deltaTime);
537 CAL3D_WRAPPER_API
int CalPhysique_CalculateNormals(
struct CalPhysique *self,
struct CalSubmesh *pSubmesh,
float *pNormalBuffer);
538 CAL3D_WRAPPER_API
int CalPhysique_CalculateVertices(
struct CalPhysique *self,
struct CalSubmesh *pSubmesh,
float *pVertexBuffer);
539 CAL3D_WRAPPER_API
int CalPhysique_CalculateVerticesAndNormals(
struct CalPhysique *self,
struct CalSubmesh *pSubmesh,
float *pVertexBuffer);
540 CAL3D_WRAPPER_API
int CalPhysique_CalculateVerticesNormalsAndTexCoords(
struct CalPhysique *self,
struct CalSubmesh *pSubmesh,
float *pVertexBuffer,
int NumTexCoords);
541 CAL3D_WRAPPER_API
int CalPhysique_CalculateTangentSpaces(
struct CalPhysique *self,
struct CalSubmesh *pSubmesh,
int mapId,
float *pTangentSpaceBuffer);
542 CAL3D_WRAPPER_API
void CalPhysique_Delete(
struct CalPhysique *self);
544 CAL3D_WRAPPER_API
void CalPhysique_Update(
struct CalPhysique *self);
556 CAL3D_WRAPPER_API
void CalQuaternion_Clear(
struct CalQuaternion *self);
557 CAL3D_WRAPPER_API
void CalQuaternion_Conjugate(
struct CalQuaternion *self);
558 CAL3D_WRAPPER_API
void CalQuaternion_Invert(
struct CalQuaternion *self);
559 CAL3D_WRAPPER_API
void CalQuaternion_Delete(
struct CalQuaternion *self);
561 CAL3D_WRAPPER_API
float *CalQuaternion_Get(
struct CalQuaternion *self);
563 CAL3D_WRAPPER_API
void CalQuaternion_MultiplyVector(
struct CalQuaternion *self,
const struct CalVector *pV);
566 CAL3D_WRAPPER_API
void CalQuaternion_Set(
struct CalQuaternion *self,
float qx,
float qy,
float qz,
float qw);
572 CAL3D_WRAPPER_API
enum CalBoolean CalRenderer_BeginRendering(
struct CalRenderer *self);
573 CAL3D_WRAPPER_API
void CalRenderer_Delete(
struct CalRenderer *self);
574 CAL3D_WRAPPER_API
void CalRenderer_EndRendering(
struct CalRenderer *self);
575 CAL3D_WRAPPER_API
void CalRenderer_GetAmbientColor(
struct CalRenderer *self,
unsigned char *pColorBuffer);
576 CAL3D_WRAPPER_API
void CalRenderer_GetDiffuseColor(
struct CalRenderer *self,
unsigned char *pColorBuffer);
577 CAL3D_WRAPPER_API
int CalRenderer_GetFaceCount(
struct CalRenderer *self);
578 CAL3D_WRAPPER_API
int CalRenderer_GetFaces(
struct CalRenderer *self, CalIndex *pFaceBuffer);
579 CAL3D_WRAPPER_API
int CalRenderer_GetMapCount(
struct CalRenderer *self);
580 CAL3D_WRAPPER_API CalUserData CalRenderer_GetMapUserData(
struct CalRenderer *self,
int mapId);
581 CAL3D_WRAPPER_API
int CalRenderer_GetMeshCount(
struct CalRenderer *self);
582 CAL3D_WRAPPER_API
int CalRenderer_GetNormals(
struct CalRenderer *self,
float *pNormalBuffer);
583 CAL3D_WRAPPER_API
float CalRenderer_GetShininess(
struct CalRenderer *self);
584 CAL3D_WRAPPER_API
void CalRenderer_GetSpecularColor(
struct CalRenderer *self,
unsigned char *pColorBuffer);
585 CAL3D_WRAPPER_API
int CalRenderer_GetSubmeshCount(
struct CalRenderer *self,
int meshId);
586 CAL3D_WRAPPER_API
int CalRenderer_GetTextureCoordinates(
struct CalRenderer *self,
int mapId,
float *pTextureCoordinateBuffer);
587 CAL3D_WRAPPER_API
int CalRenderer_GetVertexCount(
struct CalRenderer *self);
588 CAL3D_WRAPPER_API
int CalRenderer_GetVertices(
struct CalRenderer *self,
float *pVertexBuffer);
589 CAL3D_WRAPPER_API
int CalRenderer_GetVerticesAndNormals(
struct CalRenderer *self,
float *pVertexBuffer);
590 CAL3D_WRAPPER_API
int CalRenderer_GetVerticesNormalsAndTexCoords(
struct CalRenderer *self,
float *pVertexBuffer,
int NumTexCoords);
591 CAL3D_WRAPPER_API
int CalRenderer_GetTangentSpaces(
struct CalRenderer *self,
int mapId,
float *pTangentSpaceBuffer);
592 CAL3D_WRAPPER_API
enum CalBoolean CalRenderer_IsTangentsEnabled(
struct CalRenderer *self,
int mapId);
594 CAL3D_WRAPPER_API
enum CalBoolean CalRenderer_SelectMeshSubmesh(
struct CalRenderer *self,
int meshId,
int submeshId);
600 CAL3D_WRAPPER_API
void CalSaver_Delete(
struct CalSaver *self);
601 CAL3D_WRAPPER_API
struct CalSaver *CalSaver_New();
602 CAL3D_WRAPPER_API
enum CalBoolean CalSaver_SaveCoreAnimation(
struct CalSaver *self,
const char *strFilename,
struct CalCoreAnimation *pCoreAnimation);
603 CAL3D_WRAPPER_API
enum CalBoolean CalSaver_SaveCoreMaterial(
struct CalSaver *self,
const char *strFilename,
struct CalCoreMaterial *pCoreMaterial);
604 CAL3D_WRAPPER_API
enum CalBoolean CalSaver_SaveCoreMesh(
struct CalSaver *self,
const char *strFilename,
struct CalCoreMesh *pCoreMesh);
605 CAL3D_WRAPPER_API
enum CalBoolean CalSaver_SaveCoreSkeleton(
struct CalSaver *self,
const char *strFilename,
struct CalCoreSkeleton *pCoreSkeleton);
611 CAL3D_WRAPPER_API
void CalSkeleton_CalculateState(
struct CalSkeleton *self);
612 CAL3D_WRAPPER_API
void CalSkeleton_ClearState(
struct CalSkeleton *self);
613 CAL3D_WRAPPER_API
void CalSkeleton_Delete(
struct CalSkeleton *self);
614 CAL3D_WRAPPER_API
struct CalBone *CalSkeleton_GetBone(
struct CalSkeleton *self,
int boneId);
615 CAL3D_WRAPPER_API
const struct CalBone *CalSkeleton_GetBoneConst(
const struct CalSkeleton *self,
int boneId);
616 CAL3D_WRAPPER_API
int CalSkeleton_GetBoneCount(
const struct CalSkeleton *self);
620 CAL3D_WRAPPER_API
void CalSkeleton_LockState(
struct CalSkeleton *self);
622 CAL3D_WRAPPER_API
void CalSkeleton_GetBoneBoundingBox(
struct CalSkeleton *self,
float *min,
float *max);
623 CAL3D_WRAPPER_API
void CalSkeleton_CalculateBoundingBoxes(
struct CalSkeleton *self);
626 CAL3D_WRAPPER_API
int CalSkeleton_GetBonePoints(
struct CalSkeleton *self,
float *pPoints);
627 CAL3D_WRAPPER_API
int CalSkeleton_GetBonePointsStatic(
struct CalSkeleton *self,
float *pPoints);
628 CAL3D_WRAPPER_API
int CalSkeleton_GetBoneLines(
struct CalSkeleton *self,
float *pLines);
629 CAL3D_WRAPPER_API
int CalSkeleton_GetBoneLinesStatic(
struct CalSkeleton *self,
float *pLines);
635 CAL3D_WRAPPER_API
void CalSpringSystem_CalculateForces(
struct CalSpringSystem *self,
struct CalSubmesh *pSubmesh,
float deltaTime);
636 CAL3D_WRAPPER_API
void CalSpringSystem_CalculateVertices(
struct CalSpringSystem *self,
struct CalSubmesh *pSubmesh,
float deltaTime);
637 CAL3D_WRAPPER_API
void CalSpringSystem_Delete(
struct CalSpringSystem *self);
639 CAL3D_WRAPPER_API
void CalSpringSystem_Update(
struct CalSpringSystem *self,
float deltaTime);
644 CAL3D_WRAPPER_API
void CalSpringSystem_ResetPositions(
struct CalSpringSystem *self);
650 CAL3D_WRAPPER_API
void CalSubmesh_Delete(
struct CalSubmesh *self);
652 CAL3D_WRAPPER_API
int CalSubmesh_GetCoreMaterialId(
struct CalSubmesh *self);
653 CAL3D_WRAPPER_API
int CalSubmesh_GetFaceCount(
struct CalSubmesh *self);
654 CAL3D_WRAPPER_API
int CalSubmesh_GetFaces(
struct CalSubmesh *self, CalIndex *pFaceBuffer);
659 CAL3D_WRAPPER_API
int CalSubmesh_GetVertexCount(
struct CalSubmesh *self);
660 CAL3D_WRAPPER_API
enum CalBoolean CalSubmesh_HasInternalData(
struct CalSubmesh *self);
662 CAL3D_WRAPPER_API
void CalSubmesh_SetCoreMaterialId(
struct CalSubmesh *self,
int coreMaterialId);
663 CAL3D_WRAPPER_API
void CalSubmesh_SetLodLevel(
struct CalSubmesh *self,
float lodLevel);
670 CAL3D_WRAPPER_API
void CalVector_Blend(
struct CalVector *self,
float d,
struct CalVector *pV);
671 CAL3D_WRAPPER_API
void CalVector_Clear(
struct CalVector *self);
672 CAL3D_WRAPPER_API
void CalVector_Delete(
struct CalVector *self);
674 CAL3D_WRAPPER_API
void CalVector_InverseScale(
struct CalVector *self,
float d);
675 CAL3D_WRAPPER_API
float *CalVector_Get(
struct CalVector *self);
676 CAL3D_WRAPPER_API
float CalVector_Length(
struct CalVector *self);
677 CAL3D_WRAPPER_API
struct CalVector *CalVector_New();
678 CAL3D_WRAPPER_API
float CalVector_Normalize(
struct CalVector *self);
681 CAL3D_WRAPPER_API
void CalVector_CalVector_Op_Scale(
struct CalVector *pResult,
struct CalVector *pV,
float d);
682 CAL3D_WRAPPER_API
void CalVector_CalVector_Op_InverseScale(
struct CalVector *pResult,
struct CalVector *pV,
float d);
683 CAL3D_WRAPPER_API
float CalVector_Op_Scalar(
struct CalVector *pV,
struct CalVector *pU);
685 CAL3D_WRAPPER_API
void CalVector_Scale(
struct CalVector *self,
float d);
686 CAL3D_WRAPPER_API
void CalVector_Set(
struct CalVector *self,
float vx,
float vy,
float vz);
687 CAL3D_WRAPPER_API
void CalVector_Subtract(
struct CalVector *self,
struct CalVector *pV);
Definition animation_action.h:23
Definition animation_cycle.h:23
Definition animation.h:22
Definition coreanimation.h:24
The core keyframe class.
Definition corekeyframe.h:32
Definition corematerial.h:23
Definition coremodel.h:26
Definition coreskeleton.h:25
Definition coresubmorphtarget.h:104
Definition coresubmesh.h:32
Definition coretrack.h:27
The loader class.
Definition loader.h:68
The matrix class.
Definition matrix.h:35
Definition morphtargetmixer.h:24
The quaternion class.
Definition quaternion.h:36
The spring system class.
Definition springsystem.h:37
The vector class.
Definition vector.h:37