X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2FISceneManager.cpp;h=bef569bd9ea46e09e54ed4c76a65350c70bacb75;hb=bf35c1c5384d6ccae7b7690ee08c511d036ffaec;hp=230a3eacfb5e00bbe9c5df0825d82c4ab70c62b4;hpb=29e2baf09b55c8d338ddd68a7b79586945675710;p=c-irrlicht.git diff --git a/src/ISceneManager.cpp b/src/ISceneManager.cpp index 230a3ea..bef569b 100644 --- a/src/ISceneManager.cpp +++ b/src/ISceneManager.cpp @@ -24,59 +24,78 @@ extern "C" { irr_scene_IAnimatedMeshSceneNode* - irr_scene_ISceneManager_addAnimatedMeshSceneNode(irr_scene_ISceneManager* smgr, - irr_scene_IAnimatedMesh* mesh, - irr_scene_ISceneNode* parent, - int32_t id, - irr_core_vector3df* position, - irr_core_vector3df* rotation, - irr_core_vector3df* scale, - bool alsoAddIfMeshPointerZero) + irr_scene_addAnimatedMeshSceneNode(irr_scene_ISceneManager* smgr, + irr_scene_IAnimatedMesh* mesh, + irr_scene_ISceneNode* parent, + int id, + irr_core_vector3df* position, + irr_core_vector3df* rotation, + irr_core_vector3df* scale, + int alsoAddIfMeshPointerZero) { - const irr::core::vector3df& iPosition = irr::core::vector3df(position->x, - position->y, - position->z); - const irr::core::vector3df& iRotation = irr::core::vector3df(rotation->x, - rotation->y, - rotation->z); - const irr::core::vector3df& iScale = irr::core::vector3df(scale->x, - scale->y, - scale->z); + const irr::core::vector3df iPosition = + position ? + irr::core::vector3df(position->x, position->y, position->z) : + irr::core::vector3df(0, 0, 0); + + const irr::core::vector3df iRotation = + rotation ? + irr::core::vector3df(rotation->x, rotation->y, rotation->z) : + irr::core::vector3df(0, 0, 0); + + const irr::core::vector3df& iScale = + scale ? + irr::core::vector3df(scale->x, scale->y, scale->z) : + irr::core::vector3df(1, 1, 1); + return (irr_scene_IAnimatedMeshSceneNode*) - ((irr::scene::ISceneManager*)smgr)->addAnimatedMeshSceneNode((irr::scene::IAnimatedMesh*)mesh, - (irr::scene::ISceneNode*)parent, - id, - iPosition, - iRotation, - iScale, - alsoAddIfMeshPointerZero); + ((irr::scene::ISceneManager*)smgr) + ->addAnimatedMeshSceneNode((irr::scene::IAnimatedMesh*)mesh, + (irr::scene::ISceneNode*)parent, + id, + iPosition, + iRotation, + iScale, + alsoAddIfMeshPointerZero); } irr_scene_ICameraSceneNode* - addCameraSceneNode(irr_scene_ISceneManager* smgr, - irr_scene_ISceneNode* parent, - irr_core_vector3df* position, - irr_core_vector3df* lookat, - int32_t id, - bool makeActive) + irr_scene_addCameraSceneNode(irr_scene_ISceneManager* smgr, + irr_scene_ISceneNode* parent, + irr_core_vector3df* position, + irr_core_vector3df* lookat, + int id, + int makeActive) { - const irr::core::vector3df& iPosition = irr::core::vector3df(position->x, - position->y, - position->z); - const irr::core::vector3df& iLookat = irr::core::vector3df(lookat->x, - lookat->y, - lookat->z); + const irr::core::vector3df& iPosition = + position ? + irr::core::vector3df(position->x, position->y, position->z) : + irr::core::vector3df(0, 0, 0); + + const irr::core::vector3df& iLookat = + lookat ? + irr::core::vector3df(lookat->x, lookat->y, lookat->z) : + irr::core::vector3df(0, 0, 100); + return (irr_scene_ICameraSceneNode*) - ((irr::scene::ISceneManager*)smgr)->addCameraSceneNode((irr::scene::ISceneNode*)parent, - iPosition, - iLookat, - id, - makeActive); + ((irr::scene::ISceneManager*)smgr) + ->addCameraSceneNode((irr::scene::ISceneNode*)parent, + iPosition, + iLookat, + id, + makeActive); } + void + irr_scene_drawAll(irr_scene_ISceneManager* smgr) + { + ((irr::scene::ISceneManager*)smgr)->drawAll(); + } + + irr_scene_IAnimatedMesh* - irr_scene_ISceneManager_getMesh(irr_scene_ISceneManager* smgr, - const char* filename) + irr_scene_getMesh(irr_scene_ISceneManager* smgr, + const char* filename) { return (irr_scene_IAnimatedMesh*) ((irr::scene::ISceneManager*)smgr)->getMesh(filename);