00001
00007 #include "physx_footbot_model.h"
00008 #include <argos3/plugins/robots/foot-bot/simulator/footbot_entity.h>
00009
00010 namespace argos {
00011
00012
00013
00014
00015 CPhysXFootBotModel::CPhysXFootBotModel(CPhysXEngine& c_engine,
00016 CFootBotEntity& c_entity) :
00017 CPhysXSingleBodyObjectModel(c_engine, c_entity),
00018 m_cFootBotEntity(c_entity) {
00019
00020 SetARGoSReferencePoint(physx::PxVec3(0.0f, 0.0f, 0.0f));
00021
00022 physx::PxVec3 cPos;
00023 CVector3ToPxVec3(GetEmbodiedEntity().GetOriginAnchor().Position, cPos);
00024 physx::PxQuat cOrient;
00025 CQuaternionToPxQuat(GetEmbodiedEntity().GetOriginAnchor().Orientation, cOrient);
00026
00027
00028
00029
00030
00031 physx::PxTransform cTranslation1(physx::PxVec3(0.0f, 0.0f, 0.0f));
00032 physx::PxTransform cRotation(cOrient);
00033 physx::PxTransform cTranslation2(cPos);
00034 physx::PxTransform cFinalTrans = cTranslation2 * cRotation * cTranslation1;
00035
00036 CalculateBoundingBox();
00037 }
00038
00039
00040
00041
00042 void CPhysXFootBotModel::UpdateFromEntityStatus() {
00043 }
00044
00045
00046
00047
00048 REGISTER_STANDARD_PHYSX_OPERATIONS_ON_ENTITY(CFootBotEntity, CPhysXFootBotModel);
00049
00050
00051
00052
00053 }