int Java_zte_irrlib_scene_Scene_nativeAddLightSceneNode( JNIEnv *env, jobject defaultObj, jdouble px, jdouble py, jdouble pz, jdouble radius, jint r, jint g, jint b, jint id, jint parent, jboolean isLight) { ISceneNode* node = NULL; ISceneNode* parentNode = NULL; if(parent != 0){ parentNode = smgr->getSceneNodeFromId(parent); if (!parentNode) { WARN_PARENT_NOT_FOUND(parent, AddLightSceneNode); return -2; } } node = smgr->addLightSceneNode(parentNode,vector3df(px,py,pz),SColor(0xff,r,g,b),radius,id); if (node) { if (!isLight) node->setMaterialFlag(video::EMF_LIGHTING, false); return 0; } else { ERROR_ADD_FAILD(id, AddLightSceneNode); return -3; } }
int Java_zte_irrlib_scene_SceneNode_nativeSetParent( JNIEnv *env, jobject defaultObj, jint parent, jint id) { //LOGD("PARENT %d", id); ISceneNode *node = smgr->getSceneNodeFromId(id); ISceneNode *parentNode = NULL; if (!node) { WARN_NODE_NOT_FOUND(id, SetParent); return -1; } if (parent == 0) { node->setParent(smgr->getRootSceneNode()); } else { parentNode = smgr->getSceneNodeFromId(parent); if (!parentNode) { WARN_PARENT_NOT_FOUND(id, SetParent); return -2; } node->setParent(parentNode); } return 0; }
int Java_zte_irrlib_scene_Scene_nativeAddBillboardSceneNode( JNIEnv *env, jobject defaultObj, jdouble px, jdouble py, jdouble pz, jdouble sx, jdouble sy, jint id, jint parent, jboolean isLight) { core::vector3df pos = core::vector3df(px,py,pz); core::dimension2d<f32> size = core::dimension2d<f32>(sx,sy); ISceneNode* node = NULL; ISceneNode* parentNode = NULL; if(parent != 0){ parentNode = smgr->getSceneNodeFromId(parent); if (!parentNode) { WARN_PARENT_NOT_FOUND(parent, AddBillboardSceneNode); return -1; } } node = smgr->addBillboardSceneNode(parentNode,size,pos,id); if (node) { if (!isLight) node->setMaterialFlag(video::EMF_LIGHTING, false); return 0; } else { ERROR_ADD_FAILD(id, AddBillboardSceneNode); return -3; } }
int Java_zte_irrlib_scene_Scene_nativeAddCameraSceneNode( JNIEnv* env, jobject defaultObj, jdouble px, jdouble py, jdouble pz, jdouble lx, jdouble ly, jdouble lz, jboolean isActive, jint id, jint parent, jboolean isLight) { core::vector3df pos = core::vector3df(px,py,pz); core::vector3df lookat = core::vector3df(lx,ly,lz); ISceneNode* node = NULL; ISceneNode* parentNode = NULL; if(parent != 0){ parentNode = smgr->getSceneNodeFromId(parent); if (!parentNode) { WARN_PARENT_NOT_FOUND(parent, AddCameraSceneNode); return -1; } } node = smgr->addCameraSceneNode(parentNode,pos,lookat,id); if (node) { if (!isLight) node->setMaterialFlag(video::EMF_LIGHTING, false); return 0; } else { ERROR_ADD_FAILD(id, AddCameraSceneNode); return -3; } }
int Java_zte_irrlib_scene_Scene_nativeAddCubeSceneNode( JNIEnv* env, jobject defaultObj, jdouble x, jdouble y, jdouble z, jdouble size, jint id, jint parent, jboolean isLight) { core::vector3df pos = core::vector3df(x,y,z); ISceneNode* node = NULL; ISceneNode* parentNode = NULL; if(parent != 0){ parentNode = smgr->getSceneNodeFromId(parent); if (!parentNode) { WARN_PARENT_NOT_FOUND(parent, AddCubeSceneNode); return -2; } } node = smgr->addCubeSceneNode(size,parentNode,id,pos); if (node) { if (!isLight) node->setMaterialFlag(video::EMF_LIGHTING, false); return 0; } else { ERROR_ADD_FAILD(id, AddCubeSceneNode); return -3; } }
int Java_zte_irrlib_scene_Scene_nativeAddTextNode( JNIEnv* env, jobject defaultObj, jstring text, jdouble x, jdouble y, jdouble z, jdouble size, jint id, jint parent, jboolean isLight) { /*Original Func: ITextSceneNode* addTextSceneNode(gui::IGUIFont* font, const wchar_t* text, video::SColor color=video::SColor(100,255,255,255), ISceneNode* parent = 0, const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1) */ ITextSceneNode* node = 0; ISceneNode *parentNode = 0; IGUIFont* font = device->getGUIEnvironment()->getFont(_builtInFontPath); if (!font){ LOGE("Font not found."); return -3; } if(parent != 0){ scene::ISceneNode* parentNode = smgr->getSceneNodeFromId(parent); if (!parentNode) { WARN_PARENT_NOT_FOUND(parent, AddTextNode); return -2; } } const char *msg = env->GetStringUTFChars(text,0); stringw content(msg); node = smgr->addTextSceneNode(font, content.c_str(), SColor(255,255,255,255),parentNode, vector3df(x, y, z), id); env->ReleaseStringUTFChars(text, msg); if (node) { if (!isLight) node->setMaterialFlag(video::EMF_LIGHTING, false); return 0; } else { ERROR_ADD_FAILD(id, AddTextNode); return -3; } }
int Java_zte_irrlib_scene_Scene_nativeAddMeshSceneNode( JNIEnv* env, jobject defaultObj, jstring path, jdouble x, jdouble y, jdouble z, jint id, jint parent, jboolean isLight) { core::vector3df pos = core::vector3df(x,y,z); const char *msg = env->GetStringUTFChars(path,0); IMesh* mesh = smgr->getMesh(msg); env->ReleaseStringUTFChars(path, msg); if (!mesh) { LOGW("Mesh not found!"); return -4; } ISceneNode* node = NULL; ISceneNode* parentNode = NULL; if(parent != 0){ parentNode = smgr->getSceneNodeFromId(parent); if (!parentNode) { WARN_PARENT_NOT_FOUND(parent, AddMeshSceneNode); return -1; } } node = smgr->addMeshSceneNode(mesh,parentNode,id,pos); if (node) { if (!isLight) node->setMaterialFlag(video::EMF_LIGHTING, false); return 0; } else { ERROR_ADD_FAILD(id, AddMeshSceneNode); return -3; } }