Coin3d snippets

Description of this list:
Complex libraries like COIN3D needs a good documentations and good tutorial. Unfortunately, there aren't any real tutorial for COIN library. After a long research, the bellow list was found. They were modified to a format which you can run under FreeCAD's environment.

User can run these scripts either as a macro or directly in the FreeCAD console. But you need to call the function often has got 'Exe' or 'Execu' as an indication for 'Execute'

Some of these scripts are made for other environments than FreeCAD's, that is why you might find some scripts with warning-comment in the beginning of the script telling you that the script might fail under FreeCAD. These files are also mentioned in a tutorial for the C language. Please look at the following link

List of the files and their screenshot (Python scripts):

 * 1) ) 02.1.HelloCone.py
 * 2) ) 02.2.EngineSpin.py
 * 3) ) 02.3.Trackball.py
 * 4) ) 02.4.Examiner.py
 * 5) ) 03.1.Molecule.py
 * 6) ) 03.2.Robot.py
 * 7) ) 03.3.Naming.py
 * 8) ) 04.1.Cameras.py
 * 9) ) 04.2.Lights.py
 * 10) ) 05.1.FaceSet.py
 * 11) ) 05.2.IndexedFaceSet.py
 * 12) ) 05.3.TriangleStripSet.py
 * 13) ) 05.4.QuadMesh.py
 * 14) ) 05.5.Binding.py
 * 15) ) 05.6.TransformOrdering.py
 * 16) ) 06.1.Text.py
 * 17) ) 06.2.Simple3DText.py
 * 18) ) 06.3.Complex3DText.py
 * 19) ) 07.1.BasicTexture.py
 * 20) ) 07.2.TextureCoordinates.py
 * 21) ) 07.3.TextureFunction.py
 * 22) ) 08.1.BSCurve.py
 * 23) ) 08.2.UniCurve.py
 * 24) ) 08.3.BezSurf.py
 * 25) ) 08.4.TrimSurf.py
 * 26) ) 09.1.Print.py
 * 27) ) 09.2.Texture.py
 * 28) ) 09.3.Search.py
 * 29) ) 09.4.PickAction.py
 * 30) ) 09.5.GenSph.py
 * 31) ) 10.1.addEventCB.py
 * 32) ) 10.2.setEventCB.py
 * 33) ) 10.3and4.MotifList.py
 * 34) ) 10.5.SelectionCB.py
 * 35) ) 10.6.PickFilterTopLevel.py
 * 36) ) 10.7.PickFilterManip.py
 * 37) ) 10.8.PickFilterNodeKit.py
 * 38) ) 11.1.ReadFile.py
 * 39) ) 11.2.ReadString.py
 * 40) ) 12.1.FieldSensor.py
 * 41) ) 12.2.NodeSensor.py
 * 42) ) 12.3.AlarmSensor.py
 * 43) ) 12.4.TimerSensor.py
 * 44) ) 13.1.GlobalFlds.py
 * 45) ) 13.2.ElapsedTime.py
 * 46) ) 13.3.TimeCounter.py
 * 47) ) 13.4.Gate.py
 * 48) ) 13.5.Boolean.py
 * 49) ) 13.6.Calculator.py
 * 50) ) 13.7.Rotor.py
 * 51) ) 13.8.Blinker.py
 * 52) ) 14.1.FrolickingWords.py
 * 53) ) 14.2.Editors.py
 * 54) ) 14.3.Balance.py
 * 55) ) 15.1.ConeRadius.py
 * 56) ) 15.2.SliderBox.py
 * 57) ) 15.3.AttachManip.py
 * 58) ) 15.4.Customize.py
 * 59) ) 16.1.Overlay.py
 * 60) ) 16.2.Callback.py
 * 61) ) 16.3.AttachEditor.py
 * 62) ) 16.4.OneWindow.py
 * 63) ) 16.5.Examiner.py
 * 64) ) 17.1.ColorIndex.py
 * 65) ) 17.2.GLCallback.py
 * 66) ) 17.3.GLFloor.py

Source code:
You can find the source code for these scripts at the github bellow :

COIN3D examples

Software for learning COIN3D library:
There is an old software that might help you in understanding how drawing is made in Coin3D library and how you can write your own code both as Inventor 2.x format or for FreeCAD. The software is old but it works. The link is as bellow, no installation is required. Thanks go to the author of the software.

CoinDesigner

Notes:

 * 1) Click the names of the scripts to see the screenshot. Probably, the scripts don't have a link, cannot be executed under FreeCAD. But even so please try to look at the code. These scripts might still give you some ideas even if you cannot run it.
 * 2) There are many other drawing files (Inventor 2.x format) that could be loaded in FreeCAD and saved as python script .. The format will not be great but still could help you in understanding the COIN3D library.
 * 3) Generally, COIN3D doesn't provide good primitive drawings. No one else tried either to draw useful things using the library. But The new widget system Design456 try to help in providing basic drawings that could be extended. It should provide basic shapes, and some complex shapes also. Some of them are already used in Design456 WorkBench like the arrow widget or line widget.