X-Git-Url: https://git.jsancho.org/?p=c-irrlicht.git;a=blobdiff_plain;f=src%2FISceneManager.cpp;fp=src%2FISceneManager.cpp;h=d01e785b399fa2ca605f268be8edd02f9fff0f11;hp=42bfac57fd3deea71cad27044a380c5c4169c832;hb=7e6e206937c54b100b45b2732edf19a7cc4a3edb;hpb=75c3ceb26453f2b265c3eabdd7518d26abfeed1c diff --git a/src/ISceneManager.cpp b/src/ISceneManager.cpp index 42bfac5..d01e785 100644 --- a/src/ISceneManager.cpp +++ b/src/ISceneManager.cpp @@ -89,29 +89,14 @@ extern "C" { irr_core_vector3df* scale, bool alsoAddIfMeshPointerZero) { - 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, + position ? *(irr::core::vector3df*)position : irr::core::vector3df(0, 0, 0), + rotation ? *(irr::core::vector3df*)rotation : irr::core::vector3df(0, 0, 0), + scale ? *(irr::core::vector3df*)scale : irr::core::vector3df(1, 1, 1), alsoAddIfMeshPointerZero); } @@ -123,21 +108,11 @@ extern "C" { int32_t id, bool makeActive) { - 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, + position ? *(irr::core::vector3df*)position : irr::core::vector3df(0, 0, 0), + lookat ? *(irr::core::vector3df*)lookat : irr::core::vector3df(0, 0, 100), id, makeActive); } @@ -185,28 +160,13 @@ extern "C" { parent = irr_scene_getRootSceneNode(smgr); } - 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); - CustomSceneNode *node = new CustomSceneNode((irr::scene::ISceneNode*)parent, (irr::scene::ISceneManager*)smgr, id, - iPosition, - iRotation, - iScale, + position ? *(irr::core::vector3df*)position : irr::core::vector3df(0, 0, 0), + rotation ? *(irr::core::vector3df*)rotation : irr::core::vector3df(0, 0, 0), + scale ? *(irr::core::vector3df*)scale : irr::core::vector3df(1, 1, 1), render, getBoundingBox, getMaterialCount, @@ -234,11 +194,8 @@ extern "C" { irr_scene_createRotationAnimator(irr_scene_ISceneManager* smgr, irr_core_vector3df* rotationSpeed) { - const irr::core::vector3df& irrRotationSpeed = - irr::core::vector3df(rotationSpeed->x, rotationSpeed->y, rotationSpeed->z); - return ((irr::scene::ISceneManager*)smgr) - ->createRotationAnimator(irrRotationSpeed); + ->createRotationAnimator(*(irr::core::vector3df*)rotationSpeed); } void