Take the 2-minute tour ×

I saw a job opening where the requirement was for a developer to develop CAD tools using C++ and OpenGl libraries.

I am a civil engineer and want to be part of such a projects so I thought to learn C++ and some libraries which could help me to move forward for such job opportunities.

I know a bit of C++ but I am quite unfamiliar with these libraries(qt, openGL).

Can somebody tell me/guide me which is the most suitable library and most required library to develop such applications?

share|improve this question

closed as off-topic by gnat, GlenH7, MichaelT, thorsten müller, Thomas Owens Jan 20 at 18:03



add comment

3 Answers

up vote 5 down vote accepted

Since you'd be working for a company, your employer will specify the libraries used. You might want to get familiar with OpenGL and Qt, but if you have no experience with them your employer will not expect you to be good at them initially.

Another sort of library you're likely to need is computational geometry. That's another field you might want to familiarize yourself with.

share|improve this answer
add comment

Library usage is generally very straightforward, while software engineering is not. If you have little experience and want to work as a programmer, you will need to do lots of coding on your own and learn how to write large, correct, structured and maintainable programs.

Personally I would recommend starting by reading the following books:

Code Complete 2: http://www.cc2e.com/

Effective C++: http://www.amazon.com/Effective-Specific-Addison-Wesley-Professional-Computing/dp/0201924889

Growing Object-Oriented Software Guided By Tests: http://www.growing-object-oriented-software.com/

This doesn't really answer your question, it's just my advice for your situation. Language syntax/concepts and library usage is the easy part.. creating big programs that work well is the hard part in my opinion.

share|improve this answer
Thanks Magnus,I don't know which answer to choose both are pretty acceptable –  mukesh May 18 '11 at 17:10
add comment

I am faced with a similar predicament. One library I found very useful is tetgen. One use is to break faces of 3D solids into triangles. 3D graphics libraries such as Direct3D and OpenGL require that surface meshes (outer surface of 3D objects) are specified as triangles. tetgen is also used in FEA applications to break down a solid into tetrahedra. http://tetgen.org

share|improve this answer
add comment
