📄 cal3d_wrapper.cpp
字号:
//****************************************************************************//// cal3d_wrapper.cpp //// Copyright (C) 2002 Bruno 'Beosil' Heidelberger ////****************************************************************************//// This library is free software; you can redistribute it and/or modify it //// under the terms of the GNU Lesser General Public License as published by //// the Free Software Foundation; either version 2.1 of the License, or (at //// your option) any later version. ////****************************************************************************//#ifdef HAVE_CONFIG_H#include "config.h"#endif//****************************************************************************//// Defines ////****************************************************************************//#define CAL3D_WRAPPER_EXPORTS//****************************************************************************//// Includes ////****************************************************************************//#include "cal3d/cal3d.h"#include "cal3d/cal3d_wrapper.h"using namespace cal3d;//****************************************************************************//// CalAnimation wrapper functions definition ////****************************************************************************//void CalAnimation_Delete(CalAnimation *self){ delete self;}CalCoreAnimation *CalAnimation_GetCoreAnimation(CalAnimation *self){ return self->getCoreAnimation();}CalAnimationState CalAnimation_GetState(CalAnimation *self){ return (CalAnimationState)(self->getState());}float CalAnimation_GetTime(CalAnimation *self){ return self->getTime();}CalAnimationType CalAnimation_GetType(CalAnimation *self){ return (CalAnimationType)(self->getType());}float CalAnimation_GetWeight(CalAnimation *self){ return self->getWeight();}//****************************************************************************//// CalAnimationAction wrapper functions definition ////****************************************************************************//void CalAnimationAction_Delete(CalAnimationAction *self){ delete self;}Boolean CalAnimationAction_Execute(CalAnimationAction *self, float delayIn, float delayOut){ return self->execute(delayIn, delayOut) ? True : False;}CalAnimationAction *CalAnimationAction_New(CalCoreAnimation *pCoreAnimation){ return new CalAnimationAction(pCoreAnimation);}Boolean CalAnimationAction_Update(CalAnimationAction *self, float deltaTime){ return self->update(deltaTime) ? True : False;}void CalCoreAnimation_Scale(CalCoreAnimation *self, float factor){ self->scale(factor);}//****************************************************************************//// CalAnimationCycle wrapper functions definition ////****************************************************************************//Boolean CalAnimationCycle_Blend(CalAnimationCycle *self, float weight, float delay){ return self->blend(weight, delay) ? True : False;}void CalAnimationCycle_Delete(CalAnimationCycle *self){ delete self;}CalAnimationCycle *CalAnimationCycle_New(CalCoreAnimation *pCoreAnimation){ return new CalAnimationCycle(pCoreAnimation);}void CalAnimationCycle_SetAsync(CalAnimationCycle *self, float time, float duration){ self->setAsync(time, duration);}Boolean CalAnimationCycle_Update(CalAnimationCycle *self, float deltaTime){ return self->update(deltaTime) ? True : False;}//****************************************************************************//// CalBone wrapper functions definition ////****************************************************************************//void CalBone_BlendState(CalBone *self, float weight, CalVector *pTranslation, CalQuaternion *pRotation){ self->blendState(weight, *pTranslation, *pRotation);}void CalBone_CalculateState(CalBone *self){ self->calculateState();}void CalBone_ClearState(CalBone *self){ self->clearState();}void CalBone_Delete(CalBone *self){ delete self;}CalCoreBone *CalBone_GetCoreBone(CalBone *self){ return self->getCoreBone();}CalQuaternion *CalBone_GetRotation(CalBone *self){ return &(const_cast<CalQuaternion&>(self->getRotation()));}CalQuaternion *CalBone_GetRotationAbsolute(CalBone *self){ return &(const_cast<CalQuaternion&>(self->getRotationAbsolute()));}CalQuaternion *CalBone_GetRotationBoneSpace(CalBone *self){ return &(const_cast<CalQuaternion&>(self->getRotationBoneSpace()));}CalVector *CalBone_GetTranslation(CalBone *self){ return &(const_cast<CalVector&>(self->getTranslation()));}CalVector *CalBone_GetTranslationAbsolute(CalBone *self){ return &(const_cast<CalVector&>(self->getTranslationAbsolute()));}CalVector *CalBone_GetTranslationBoneSpace(CalBone *self){ return &(const_cast<CalVector&>(self->getTranslationBoneSpace()));}void CalBone_LockState(CalBone *self){ self->lockState();}CalBone *CalBone_New(CalCoreBone* coreBone){ return new CalBone(coreBone);}void CalBone_SetSkeleton(CalBone *self, CalSkeleton *pSkeleton){ self->setSkeleton(pSkeleton);}void CalBone_SetRotation(CalBone *self, CalQuaternion *pRotation){ self->setRotation(*pRotation);}void CalBone_SetTranslation(CalBone *self, CalVector *pTranslation){ self->setTranslation(*pTranslation);}void CalBone_SetCoreState(CalBone *self){ self->setCoreState();}void CalBone_SetCoreStateRecursive(CalBone *self){ self->setCoreStateRecursive();}//****************************************************************************//// CalCoreAnimation wrapper functions definition ////****************************************************************************//CalCoreAnimation *CalCoreAnimation_New(CalCoreAnimation *self){ return explicitIncRef(new CalCoreAnimation());}void CalCoreAnimation_Delete(CalCoreAnimation* self){ explicitDecRef(self);}float CalCoreAnimation_GetDuration(CalCoreAnimation *self){ return self->getDuration();}void CalCoreAnimation_SetDuration(CalCoreAnimation *self, float duration){ self->setDuration(duration);}//****************************************************************************//// CalCoreAnimation wrapper functions definition ////****************************************************************************//Boolean CalCoreBone_AddChildId(CalCoreBone *self, int childId){ return self->addChildId(childId) ? True : False;}void CalCoreBone_CalculateState(CalCoreBone *self){ self->calculateState();}void CalCoreBone_Delete(CalCoreBone *self){ delete self;}/*std::list<int>& CalCoreBone_GetListChildId(CalCoreBone *self){ return self->getListChildId();}*/char *CalCoreBone_GetName(CalCoreBone *self){ return const_cast<char *>(self->getName().c_str());}int CalCoreBone_GetParentId(CalCoreBone *self){ return self->getParentId();}CalQuaternion *CalCoreBone_GetRotation(CalCoreBone *self){ return &(const_cast<CalQuaternion&>(self->getRotation()));}CalQuaternion *CalCoreBone_GetRotationAbsolute(CalCoreBone *self){ return &(const_cast<CalQuaternion&>(self->getRotationAbsolute()));}CalQuaternion *CalCoreBone_GetRotationBoneSpace(CalCoreBone *self){ return &(const_cast<CalQuaternion&>(self->getRotationBoneSpace()));}CalVector *CalCoreBone_GetTranslation(CalCoreBone *self){ return &(const_cast<CalVector&>(self->getTranslation()));}CalVector *CalCoreBone_GetTranslationAbsolute(CalCoreBone *self){ return &(const_cast<CalVector&>(self->getTranslationAbsolute()));}CalVector *CalCoreBone_GetTranslationBoneSpace(CalCoreBone *self){ return &(const_cast<CalVector&>(self->getTranslationBoneSpace()));}CalUserData CalCoreBone_GetUserData(CalCoreBone *self){ return self->getUserData();}CalCoreBone *CalCoreBone_New(const char* name){ return new CalCoreBone(name);}void CalCoreBone_SetCoreSkeleton(CalCoreBone *self, CalCoreSkeleton *pCoreSkeleton){ self->setCoreSkeleton(pCoreSkeleton);}void CalCoreBone_SetParentId(CalCoreBone *self, int parentId){ self->setParentId(parentId);}void CalCoreBone_SetRotation(CalCoreBone *self, CalQuaternion *pRotation){ self->setRotation(*pRotation);}void CalCoreBone_SetRotationBoneSpace(CalCoreBone *self, CalQuaternion *pRotation){ self->setRotationBoneSpace(*pRotation);}void CalCoreBone_SetTranslation(CalCoreBone *self, CalVector *pTranslation){ self->setTranslation(*pTranslation);}void CalCoreBone_SetTranslationBoneSpace(CalCoreBone *self, CalVector *pTranslation){ self->setTranslationBoneSpace(*pTranslation);}void CalCoreBone_SetUserData(CalCoreBone *self, CalUserData userData){ self->setUserData(userData);}//****************************************************************************//// CalCoreMorphAnimation wrapper functions definition ////****************************************************************************//CalCoreMorphAnimation *CalCoreMorphAnimation_New(){ return new CalCoreMorphAnimation();}void CalCoreMorphAnimation_Delete(CalCoreMorphAnimation* self){ delete self;}Boolean CalCoreMorphAnimation_AddMorphTarget(struct CalCoreMorphAnimation* self, int meshID, int morphID){ return self->addMorphTarget(meshID, morphID) ? True : False;}//****************************************************************************//// CalCoreMaterial wrapper functions definition ////****************************************************************************//CalCoreMaterial *CalCoreMaterial_New(){ return explicitIncRef(new CalCoreMaterial());}void CalCoreMaterial_Delete(CalCoreMaterial *self){ explicitDecRef(self);}/*CalCoreMaterial::Color *CalCoreMaterial_GetAmbientColor(CalCoreMaterial *self){ return &(self->getAmbientColor());}*//*CalCoreMaterial::Color *CalCoreMaterial_GetDiffuseColor(CalCoreMaterial *self){ return &(self->getDiffuseColor());}*/int CalCoreMaterial_GetMapCount(CalCoreMaterial *self){ return self->getMapCount();}char *CalCoreMaterial_GetMapFilename(CalCoreMaterial *self, int mapId){ return const_cast<char *>(self->getMapFilename(mapId).c_str());}CalUserData CalCoreMaterial_GetMapUserData(CalCoreMaterial *self, int mapId){ return self->getMapUserData(mapId);}float CalCoreMaterial_GetShininess(CalCoreMaterial *self){ return self->getShininess();}/*CalCoreMaterial::Color *CalCoreMaterial_GetSpecularColor(CalCoreMaterial *self){ return &(self->getSpecularColor());}*/CalUserData CalCoreMaterial_GetUserData(CalCoreMaterial *self){ return self->getUserData();}/*std::vector<Map>& CalCoreMaterial_GetVectorMap(CalCoreMaterial *self){ return self->getVectorMap();}*/Boolean CalCoreMaterial_Reserve(CalCoreMaterial *self, int mapCount){ return self->reserve(mapCount) ? True : False;}/*void CalCoreMaterial_SetAmbientColor(CalCoreMaterial *self, CalCoreMaterial::Color *pAmbientColor){ return self->setAmbientColor(*pAmbientColor);}*//*void CalCoreMaterial_SetDiffuseColor(CalCoreMaterial *self, CalCoreMaterial::Color *pDiffuseColor){ self->setDiffuseColor(*pDiffuseColor);}*//*Boolean CalCoreMaterial_SetMap(CalCoreMaterial *self, int mapId, CalCoreMaterial::Map *pMap){ return self->setMap(mapId, *pMap) ? True : False;}*/Boolean CalCoreMaterial_SetMapUserData(CalCoreMaterial *self, int mapId, CalUserData userData){ return self->setMapUserData(mapId, userData) ? True : False;}void CalCoreMaterial_SetShininess(CalCoreMaterial *self, float shininess){ self->setShininess(shininess);}/*void CalCoreMaterial_SetSpecularColor(CalCoreMaterial *self, CalCoreMaterial::Color *pSpecularColor){ self->setSpecularColor(*pSpecularColor);}*/void CalCoreMaterial_SetUserData(CalCoreMaterial *self, CalUserData userData){ self->setUserData(userData);}//****************************************************************************//// CalCoreMesh wrapper functions definition ////****************************************************************************//CalCoreMesh *CalCoreMesh_New(){ return explicitIncRef(new CalCoreMesh());}void CalCoreMesh_Delete(CalCoreMesh *self){ explicitDecRef(self);}int CalCoreMesh_AddCoreSubmesh(CalCoreMesh *self, CalCoreSubmesh *pCoreSubmesh){ return self->addCoreSubmesh(pCoreSubmesh);}CalCoreSubmesh *CalCoreMesh_GetCoreSubmesh(CalCoreMesh *self, int id){ return self->getCoreSubmesh(id);}int CalCoreMesh_GetCoreSubmeshCount(CalCoreMesh *self){ return self->getCoreSubmeshCount();}/*std::vector<CalCoreSubmesh *>& CalCoreMesh_GetVectorCoreSubmesh(CalCoreMesh *self){ return self->getVectorCoreSubmesh();}*/void CalCoreMesh_Scale(CalCoreMesh *self,float factor){ self->scale(factor);}int CalCoreMesh_AddAsMorphTarget(struct CalCoreMesh *self, struct CalCoreMesh *target){ return self->addAsMorphTarget(target);}//****************************************************************************//// CalCoreModel wrapper functions definition ////****************************************************************************//int CalCoreModel_AddCoreAnimation(CalCoreModel *self, CalCoreAnimation *pCoreAnimation){ return self->addCoreAnimation(pCoreAnimation);}int CalCoreModel_AddCoreMorphAnimation(CalCoreModel *self, CalCoreMorphAnimation *pCoreMorphAnimation){ return self->addCoreMorphAnimation(pCoreMorphAnimation);}int CalCoreModel_AddCoreMaterial(CalCoreModel *self, CalCoreMaterial *pCoreMaterial){ return self->addCoreMaterial(pCoreMaterial);}int CalCoreModel_AddCoreMesh(CalCoreModel *self, CalCoreMesh *pCoreMesh){ return self->addCoreMesh(pCoreMesh);}Boolean CalCoreModel_CreateCoreMaterialThread(CalCoreModel *self, int coreMaterialThreadId){ return self->createCoreMaterialThread(coreMaterialThreadId) ? True : False;}void CalCoreModel_Delete(CalCoreModel *self){ delete self;}CalCoreAnimation *CalCoreModel_GetCoreAnimation(CalCoreModel *self, int coreAnimationId){ return self->getCoreAnimation(coreAnimationId);}int CalCoreModel_GetCoreAnimationCount(CalCoreModel *self){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -