1) Is it possible to set-up a development environment in an IDE (ideally Netbeans) so that the IDE understands the code, the dependencies, and whatever else it needs. I want to be able to click to the buttons "compile" and "run" just like a Java project, for example. (I imagine that the "compile" button would have to call "rosmake" and the "run" button would have to call "rosrun".)


As far as I know no one here has experience with netbeans.



3) What is the "starting point" of RVIZ? I found that visualizer_app.cpp seems to be called pretty early.


visualizer_app.cpp is the starting point.  You'll probably want to read up on wxWidgets (http://www.wxwidgets.org/) and Ogre3D (http://www.ogre3d.org/)
 



Also, created a folder where I pasted RVIZ's source code (from SVN). From Terminal, I ran rosdep install rviz, but it gave me a bunch of errors (see below). However, rosmake rviz worked perfectly. rosrun rviz rviz as well. I suspect that it does not run the code from that folder, but rather the RVIZ binaries installed on my computer. To test, I modified the OnInit() method in visualizer_app.cpp to add this:


int foo = 1 / 0;
cout << "foo";
if{


Clearly, the compilation and runtime should have failed. But, rosmake and rosrun worked again.


Could you please shed some light on this?


You likely haven't added the path to your version of rviz to your package path.  http://www.ros.org/wiki/ROS/EnvironmentVariables#ROS_PACKAGE_PATH

Josh