New textures for boxes, that will render the same in Irrlicht and POVray (we assume the UV mapping 'unwrapping' that is described in POV ray, for cubes)
The UV mapping of box visualization assets was wrong, it did not render the same in POVray and in Irrlicht. This has been made coherent by changing the UV coordinates of box mesh in Irrlicht.
I am slowly changing the old demos so that they will use the new 'asset based' approach for visualization instead than the old approach of the functions "addChBodySceneNode_easyBox(...) etc.
Those functions will be made deprecated in future. The new approach offers advantages:
- it is not dependent on Irrlicht
- it can be used also for POVray postprocessing
- it is bound to Irrlicht scene manager in a more reliable way
- it is easier to understand.
Test
Cleaning up old global stuff.
Shared pointers that were passed by reference, now are passed by value.
It worked only for single classes, but if using complex class inheritance, this is needed because if one passes a ChSharedPtr<DERIVED> where a ChSharedPtr<BASE> is expected then a static cast would be needed, with static_cast_chshared<>(), and it would require tto much typing.
Of course passing the shared ptr by value means also a copy, but the overhead should be almost negligible (this issue with shared pointers by value or by reference has been recently discussed by H- Sutter et al., and looks like there is no need to pass by reference hoping for better performance...)
Other demos have been updated to use the new 'asset' approach to visualization, to have Irrlicht stuff as least intrusive as possible.
Merge branch 'develop' of https://github.com/projectchrono/chrono into develop
Improved comments and API of the planetary gear constraint.
The ChShaftsBody constraint now can connect a more generic ChBodyFrame (ex. not only a ChBody, but also node of 3D FEM beams).
New constraint type: ChShaftsGearbox. It defines a transmission ratio between two 1D entities of  ChShaft type, and transmits the reaction of the gearbox to a 3D body that acts as the support truss.
Note that the more basic ChShaftsGear can do the same, except that it does not provide a way to transmit reaction to a truss body. This can be useful when simulating vehicles, where some parts of the driveline are gearbox connected to sprung masses, so one might want to capture the 'twist' effect when torque flows in the driveline.
Also note that this can also be seen as a ChShaftPlanetary where one has joined the carrier shaft to a fixed body via a ChShaftsBody constraint.
New constraint: ChShaftsGearboxAngled. It implements a gearbox with given transmission ratio between 1D input and 1D output, but with different directions in 3D space. Basically it defines a transmission ratio between two 1D entities of ChShaft type, and transmits the reaction of the gearbox to a 3D body that acts as the  support truss.
A typical example is the case of a gearbox with bevel gears, where input shaft and output shaft are at 90°.
Note that the more basic ChShaftsGear can do the same, except that it does not provide a way to transmit reaction to a 3D truss body.
Fixing build errors under GCC.
Fixed error in assert (only for debug mode)
Another assert trouble - removed
Merge pull request #18 from jcmadsen/develop

unit_FEM works without enabling unit_MATLAB
Just an update in comments, to make terminology more consistent
If an item is added as a generic ChPhysicsItem into a ChSystem, maybe it needs to load forces. This was not possible in previous ChSystem (it worked for ChBody and regular ChLink-derived stuff, though). Now it is more general.
New class: ChShaftsTorqueConverter.
This is an important tool for simulation of drivelines in vehicle models. It connects two 1D items of ChShaft type, using a model of torque converter.
A third ChShaft is used to represent the connection to the truss, because the difference between input and output torque is applied to a stator connected to the vehicle truss.
The classes in ChDistribution are in chrono:: namespace, now