📄 cal3d_wrapper.h
字号:
CAL3D_WRAPPER_API void CalMesh_SetLodLevel(struct CalMesh *self, float lodLevel); CAL3D_WRAPPER_API void CalMesh_SetMaterialSet(struct CalMesh *self, int setId); CAL3D_WRAPPER_API void CalMesh_SetModel(struct CalMesh *self, struct CalModel *pModel);//****************************************************************************//// CalMixer wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API enum Boolean CalMixer_BlendCycle(struct CalMixer *self, int id, float weight, float delay); CAL3D_WRAPPER_API enum Boolean CalMixer_ClearCycle(struct CalMixer *self, int id, float delay); CAL3D_WRAPPER_API void CalMixer_Delete(struct CalMixer *self); CAL3D_WRAPPER_API enum Boolean CalMixer_ExecuteAction(struct CalMixer *self, int id, float delayIn, float delayOut, enum Boolean autoLock); CAL3D_WRAPPER_API struct CalMixer *CalMixer_New(struct CalModel *pModel); CAL3D_WRAPPER_API void CalMixer_UpdateAnimation(struct CalMixer *self, float deltaTime); CAL3D_WRAPPER_API void CalMixer_UpdateSkeleton(struct CalMixer *self); CAL3D_WRAPPER_API void CalMixer_RemoveAction(struct CalMixer *self,int id);//****************************************************************************//// CalMorphTargetMixer wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API enum Boolean CalMorphTargetMixer_Blend(struct CalMorphTargetMixer *self, int id, float weight, float delay); CAL3D_WRAPPER_API enum Boolean CalMorphTargetMixer_Clear(struct CalMorphTargetMixer *self, int id, float delay); CAL3D_WRAPPER_API void CalMorphTargetMixer_Delete(struct CalMorphTargetMixer *self); CAL3D_WRAPPER_API struct CalMorphTargetMixer *CalMorphTargetMixer_New(struct CalModel *pModel); CAL3D_WRAPPER_API void CalMorphTargetMixer_Update(struct CalMorphTargetMixer *self, float deltaTime); CAL3D_WRAPPER_API int CalMorphTargetMixer_GetMorphTargetCount(struct CalMorphTargetMixer *self);//****************************************************************************//// CalModel wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API enum Boolean CalModel_AttachMesh(struct CalModel *self, int coreMeshId); CAL3D_WRAPPER_API void CalModel_Delete(struct CalModel *self); CAL3D_WRAPPER_API enum Boolean CalModel_DetachMesh(struct CalModel *self, int coreMeshId); CAL3D_WRAPPER_API struct CalCoreModel *CalModel_GetCoreModel(struct CalModel *self); CAL3D_WRAPPER_API struct CalMesh *CalModel_GetMesh(struct CalModel *self, int coreMeshId); CAL3D_WRAPPER_API struct CalMixer *CalModel_GetMixer(struct CalModel *self); CAL3D_WRAPPER_API struct CalMorphTargetMixer *CalModel_GetMorphTargetMixer(struct CalModel *self); CAL3D_WRAPPER_API struct CalPhysique *CalModel_GetPhysique(struct CalModel *self); CAL3D_WRAPPER_API struct CalRenderer *CalModel_GetRenderer(struct CalModel *self); CAL3D_WRAPPER_API struct CalSkeleton *CalModel_GetSkeleton(struct CalModel *self); CAL3D_WRAPPER_API struct CalSpringSystem *CalModel_GetSpringSystem(struct CalModel *self); CAL3D_WRAPPER_API CalUserData CalModel_GetUserData(struct CalModel *self);// CAL3D_WRAPPER_API std::vector<CalMesh *>& CalModel_GetVectorMesh(struct CalModel *self); CAL3D_WRAPPER_API struct CalModel *CalModel_New(struct CalCoreModel* pCoreModel); CAL3D_WRAPPER_API void CalModel_SetLodLevel(struct CalModel *self, float lodLevel); CAL3D_WRAPPER_API void CalModel_SetMaterialSet(struct CalModel *self, int setId); CAL3D_WRAPPER_API void CalModel_SetUserData(struct CalModel *self, CalUserData userData); CAL3D_WRAPPER_API void CalModel_Update(struct CalModel *self, float deltaTime);//****************************************************************************//// CalPhysique wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API int CalPhysique_CalculateNormals(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pNormalBuffer); CAL3D_WRAPPER_API int CalPhysique_CalculateVertices(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer); CAL3D_WRAPPER_API int CalPhysique_CalculateVerticesAndNormals(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer); CAL3D_WRAPPER_API int CalPhysique_CalculateVerticesNormalsAndTexCoords(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer, int NumTexCoords); CAL3D_WRAPPER_API int CalPhysique_CalculateTangentSpaces(struct CalPhysique *self, struct CalSubmesh *pSubmesh, int mapId, float *pTangentSpaceBuffer); CAL3D_WRAPPER_API void CalPhysique_Delete(struct CalPhysique *self); CAL3D_WRAPPER_API struct CalPhysique *CalPhysique_New(struct CalModel* pModel); CAL3D_WRAPPER_API void CalPhysique_Update(struct CalPhysique *self);//****************************************************************************//// CalPlatform wrapper functions declaration ////****************************************************************************////****************************************************************************//// CalQuaternion wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API void CalQuaternion_Blend(struct CalQuaternion *self, float d, struct CalQuaternion *pQ); CAL3D_WRAPPER_API void CalQuaternion_Clear(struct CalQuaternion *self); CAL3D_WRAPPER_API void CalQuaternion_Conjugate(struct CalQuaternion *self); CAL3D_WRAPPER_API void CalQuaternion_Delete(struct CalQuaternion *self); CAL3D_WRAPPER_API void CalQuaternion_Equal(struct CalQuaternion *self, struct CalQuaternion *pQ); CAL3D_WRAPPER_API float *CalQuaternion_Get(struct CalQuaternion *self); CAL3D_WRAPPER_API void CalQuaternion_Multiply(struct CalQuaternion *self, struct CalQuaternion *pQ); CAL3D_WRAPPER_API void CalQuaternion_MultiplyVector(struct CalQuaternion *self, struct CalVector *pV); CAL3D_WRAPPER_API struct CalQuaternion *CalQuaternion_New(); CAL3D_WRAPPER_API void CalQuaternion_Op_Multiply(struct CalQuaternion *pResult, struct CalQuaternion *pQ, struct CalQuaternion *pR); CAL3D_WRAPPER_API void CalQuaternion_Set(struct CalQuaternion *self, float qx, float qy, float qz, float qw);//****************************************************************************//// CalRenderer wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API enum Boolean CalRenderer_BeginRendering(struct CalRenderer *self); CAL3D_WRAPPER_API void CalRenderer_Delete(struct CalRenderer *self); CAL3D_WRAPPER_API void CalRenderer_EndRendering(struct CalRenderer *self); CAL3D_WRAPPER_API void CalRenderer_GetAmbientColor(struct CalRenderer *self, unsigned char *pColorBuffer); CAL3D_WRAPPER_API void CalRenderer_GetDiffuseColor(struct CalRenderer *self, unsigned char *pColorBuffer); CAL3D_WRAPPER_API int CalRenderer_GetFaceCount(struct CalRenderer *self); CAL3D_WRAPPER_API int CalRenderer_GetFaces(struct CalRenderer *self, CalIndex *pFaceBuffer); CAL3D_WRAPPER_API int CalRenderer_GetMapCount(struct CalRenderer *self); CAL3D_WRAPPER_API CalUserData CalRenderer_GetMapUserData(struct CalRenderer *self, int mapId); CAL3D_WRAPPER_API int CalRenderer_GetMeshCount(struct CalRenderer *self); CAL3D_WRAPPER_API int CalRenderer_GetNormals(struct CalRenderer *self, float *pNormalBuffer); CAL3D_WRAPPER_API float CalRenderer_GetShininess(struct CalRenderer *self); CAL3D_WRAPPER_API void CalRenderer_GetSpecularColor(struct CalRenderer *self, unsigned char *pColorBuffer); CAL3D_WRAPPER_API int CalRenderer_GetSubmeshCount(struct CalRenderer *self, int meshId); CAL3D_WRAPPER_API int CalRenderer_GetTextureCoordinates(struct CalRenderer *self, int mapId, float *pTextureCoordinateBuffer); CAL3D_WRAPPER_API int CalRenderer_GetVertexCount(struct CalRenderer *self); CAL3D_WRAPPER_API int CalRenderer_GetVertices(struct CalRenderer *self, float *pVertexBuffer); CAL3D_WRAPPER_API int CalRenderer_GetVerticesAndNormals(struct CalRenderer *self, float *pVertexBuffer); CAL3D_WRAPPER_API int CalRenderer_GetVerticesNormalsAndTexCoords(struct CalRenderer *self, float *pVertexBuffer, int NumTexCoords); CAL3D_WRAPPER_API int CalRenderer_GetTangentSpaces(struct CalRenderer *self, int mapId, float *pTangentSpaceBuffer); CAL3D_WRAPPER_API enum Boolean CalRenderer_IsTangentsEnabled(struct CalRenderer *self, int mapId); CAL3D_WRAPPER_API struct CalRenderer *CalRenderer_New(struct CalModel* pModel); CAL3D_WRAPPER_API enum Boolean CalRenderer_SelectMeshSubmesh(struct CalRenderer *self, int meshId, int submeshId);//****************************************************************************//// CalSaver wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API void CalSaver_Delete(struct CalSaver *self); CAL3D_WRAPPER_API struct CalSaver *CalSaver_New(); CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreAnimation(struct CalSaver *self, char *strFilename, struct CalCoreAnimation *pCoreAnimation); CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreMaterial(struct CalSaver *self, char *strFilename, struct CalCoreMaterial *pCoreMaterial); CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreMesh(struct CalSaver *self, char *strFilename, struct CalCoreMesh *pCoreMesh); CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreSkeleton(struct CalSaver *self, char *strFilename, struct CalCoreSkeleton *pCoreSkeleton);//****************************************************************************//// CalSkeleton wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API void CalSkeleton_CalculateState(struct CalSkeleton *self); CAL3D_WRAPPER_API void CalSkeleton_ClearState(struct CalSkeleton *self); CAL3D_WRAPPER_API void CalSkeleton_Delete(struct CalSkeleton *self); CAL3D_WRAPPER_API struct CalBone *CalSkeleton_GetBone(struct CalSkeleton *self, int boneId); CAL3D_WRAPPER_API struct CalCoreSkeleton *CalSkeleton_GetCoreSkeleton(struct CalSkeleton *self);// CAL3D_WRAPPER_API std::vector<CalBone *>& CalSkeleton_GetVectorBone(struct CalSkeleton *self); CAL3D_WRAPPER_API void CalSkeleton_LockState(struct CalSkeleton *self); CAL3D_WRAPPER_API struct CalSkeleton *CalSkeleton_New(struct CalCoreSkeleton* pCoreSkeleton); // DEBUG-CODE CAL3D_WRAPPER_API int CalSkeleton_GetBonePoints(struct CalSkeleton *self, float *pPoints); CAL3D_WRAPPER_API int CalSkeleton_GetBonePointsStatic(struct CalSkeleton *self, float *pPoints); CAL3D_WRAPPER_API int CalSkeleton_GetBoneLines(struct CalSkeleton *self, float *pLines); CAL3D_WRAPPER_API int CalSkeleton_GetBoneLinesStatic(struct CalSkeleton *self, float *pLines);//****************************************************************************//// CalSpringSystem wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API void CalSpringSystem_CalculateForces(struct CalSpringSystem *self, struct CalSubmesh *pSubmesh, float deltaTime); CAL3D_WRAPPER_API void CalSpringSystem_CalculateVertices(struct CalSpringSystem *self, struct CalSubmesh *pSubmesh, float deltaTime); CAL3D_WRAPPER_API void CalSpringSystem_Delete(struct CalSpringSystem *self); CAL3D_WRAPPER_API struct CalSpringSystem *CalSpringSystem_New(struct CalModel *pModel); CAL3D_WRAPPER_API void CalSpringSystem_Update(struct CalSpringSystem *self, float deltaTime);//****************************************************************************//// CalSubmesh wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API void CalSubmesh_Delete(struct CalSubmesh *self); CAL3D_WRAPPER_API struct CalCoreSubmesh *CalSubmesh_GetCoreSubmesh(struct CalSubmesh *self); CAL3D_WRAPPER_API int CalSubmesh_GetCoreMaterialId(struct CalSubmesh *self); CAL3D_WRAPPER_API int CalSubmesh_GetFaceCount(struct CalSubmesh *self); CAL3D_WRAPPER_API int CalSubmesh_GetFaces(struct CalSubmesh *self, CalIndex *pFaceBuffer);// CAL3D_WRAPPER_API std::vector<CalVector>& CalSubmesh_GetVectorNormal(struct CalSubmesh *self);// CAL3D_WRAPPER_API std::vector<CalSubmesh::PhysicalProperty>& CalSubmesh_GetVectorPhysicalProperty(struct CalSubmesh *self);// CAL3D_WRAPPER_API std::vector<CalVector>& CalSubmesh_GetVectorVertex(struct CalSubmesh *self); CAL3D_WRAPPER_API int CalSubmesh_GetVertexCount(struct CalSubmesh *self); CAL3D_WRAPPER_API enum Boolean CalSubmesh_HasInternalData(struct CalSubmesh *self); CAL3D_WRAPPER_API struct CalSubmesh *CalSubmesh_New(struct CalCoreSubmesh* coreSubmesh); CAL3D_WRAPPER_API void CalSubmesh_SetCoreMaterialId(struct CalSubmesh *self, int coreMaterialId); CAL3D_WRAPPER_API void CalSubmesh_SetLodLevel(struct CalSubmesh *self, float lodLevel);//****************************************************************************//// CalVector wrapper functions declaration ////****************************************************************************// CAL3D_WRAPPER_API void CalVector_Add(struct CalVector *self, struct CalVector *pV); CAL3D_WRAPPER_API void CalVector_Blend(struct CalVector *self, float d, struct CalVector *pV); CAL3D_WRAPPER_API void CalVector_Clear(struct CalVector *self); CAL3D_WRAPPER_API void CalVector_Delete(struct CalVector *self); CAL3D_WRAPPER_API void CalVector_Equal(struct CalVector *self, struct CalVector *pV); CAL3D_WRAPPER_API void CalVector_InverseScale(struct CalVector *self, float d); CAL3D_WRAPPER_API float *CalVector_Get(struct CalVector *self); CAL3D_WRAPPER_API float CalVector_Length(struct CalVector *self); CAL3D_WRAPPER_API struct CalVector *CalVector_New(); CAL3D_WRAPPER_API float CalVector_Normalize(struct CalVector *self); CAL3D_WRAPPER_API void CalVector_Op_Add(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU); CAL3D_WRAPPER_API void CalVector_Op_Subtract(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU); CAL3D_WRAPPER_API void CalVector_CalVector_Op_Scale(struct CalVector *pResult, struct CalVector *pV, float d); CAL3D_WRAPPER_API void CalVector_CalVector_Op_InverseScale(struct CalVector *pResult, struct CalVector *pV, float d); CAL3D_WRAPPER_API float CalVector_Op_Scalar(struct CalVector *pV, struct CalVector *pU); CAL3D_WRAPPER_API void CalVector_Op_Cross(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU); CAL3D_WRAPPER_API void CalVector_Scale(struct CalVector *self, float d); CAL3D_WRAPPER_API void CalVector_Set(struct CalVector *self, float vx, float vy, float vz); CAL3D_WRAPPER_API void CalVector_Subtract(struct CalVector *self, struct CalVector *pV); CAL3D_WRAPPER_API void CalVector_Transform(struct CalVector *self, struct CalQuaternion *pQ);#ifdef __cplusplus}#endif#endif//****************************************************************************//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -