instead of
camera = dynamic_cast<Camera*>(cameraNP[0].get_node(0));
I think you should use
PT(Camera) pCamera = DCAST(Camera, cameraNP[0].get_node(0));
instead of
camera = dynamic_cast<Camera*>(cameraNP[0].get_node(0));
I think you should use
PT(Camera) pCamera = DCAST(Camera, cameraNP[0].get_node(0));