Full Code of K-3D/k3d for AI

master 17ef1bf060ea cached
3509 files
23.0 MB
6.2M tokens
10113 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (24,832K chars total). Download the full file to get everything.
Repository: K-3D/k3d
Branch: master
Commit: 17ef1bf060ea
Files: 3509
Total size: 23.0 MB

Directory structure:
gitextract_y8b0ck_2/

├── .ditz-plugins
├── .gitignore
├── AUTHORS
├── CMakeLists.txt
├── COPYING
├── CTestConfig.cmake
├── CTestCustom.cmake.in
├── INSTALL
├── README
├── application/
│   ├── CMakeLists.txt
│   ├── Info.plist.in
│   ├── config.h.in
│   ├── icon.rc
│   ├── k3d_main.cpp
│   ├── k3d_main.h
│   ├── main.cpp
│   └── winmain.cpp
├── bugs/
│   ├── CMakeLists.txt
│   ├── issue-000e833956e3ebedbddc7a8f239368296cef05cf.yaml
│   ├── issue-01d720a02d5558508a3b56a7ad0e603d0b8e57f7.yaml
│   ├── issue-028d81eef227a051d03293c46b451db439f0c460.yaml
│   ├── issue-02e36eaa0b39160335d6eb8d576d75c56577c5f7.yaml
│   ├── issue-067c122609d0478c12319a8cfebda9c4f290bc78.yaml
│   ├── issue-0ca786b59608c113bdb0a99f16c1e0e8e0076d8f.yaml
│   ├── issue-0f0dc8929f4bd8dd646aedbab164defb8b01ba68.yaml
│   ├── issue-0f2e779987beba2c16355000e49002e668efe3cd.yaml
│   ├── issue-12ac6cbd6ff111c686796d107c8a9b8338158e8f.yaml
│   ├── issue-13cd1ca286fd727add47164d6b9829a864732688.yaml
│   ├── issue-1478f28b825b4003e89e19fd6627210de42670f1.yaml
│   ├── issue-162c9fd22b62e2228b4963639d7cd652b4af2e5d.yaml
│   ├── issue-164f2e0cd8b280e764bc49d2f1db806e4fef7fa3.yaml
│   ├── issue-1787ece116f7300528f97ab0a9eb6c128a4ae826.yaml
│   ├── issue-1850897e4259a756faf449a72ea07ac863d83cd0.yaml
│   ├── issue-1ae2d51bee03627b3d7136008951efc67ab7766e.yaml
│   ├── issue-1af4c139c1c4fe06ca2e3fbe31f1237cf963a20e.yaml
│   ├── issue-1e7b3a952423fcf332c8f369ee0646873cafb877.yaml
│   ├── issue-1f0827906ae4174800898596b0c8e4c623425ebd.yaml
│   ├── issue-20324fd0e902a7a6bdb85dbf5f2ae4ce8180a61a.yaml
│   ├── issue-20c18a2b4fe16b8e1a3982d83be136220b4cf863.yaml
│   ├── issue-250f99eac16ec2eda3d6b7e324592efc46a1e250.yaml
│   ├── issue-25c0b2699b08309f7452d4d7390d05a3fa78bf57.yaml
│   ├── issue-26470a23cd083556484c98f6120b5f33661775c6.yaml
│   ├── issue-28d83330170a35565ca1ada32317f34b2daf37a2.yaml
│   ├── issue-28e8b98350d458dfe53427f2497401663b0dc97a.yaml
│   ├── issue-2c158e15ef869a5b8ec01db38e4ed19a507b0bc2.yaml
│   ├── issue-2c5ca49215d98ef29255e323180b3715cee1b1c1.yaml
│   ├── issue-2e6128ca3bb63de99d369f1ae2f4f457cf7a1470.yaml
│   ├── issue-3074be871fbce4de2da49a1abc0432d8e49e30c1.yaml
│   ├── issue-361aa608201ea4f1ec2fd204a7c62df2ebfeb1b8.yaml
│   ├── issue-363308f0b4815dcf1b3fb24103eb8b40f6645779.yaml
│   ├── issue-38ed366c277ad6ad3cbf7113a50c73ab0dc6ecb9.yaml
│   ├── issue-3c77f6ba4e20fe744f97629df5b855476eaefef0.yaml
│   ├── issue-3cb4616e3fdf2b348db28c1ec4761759e7570b91.yaml
│   ├── issue-4084f1c41c9a58ab4b0b49b7c8f988f45328edcc.yaml
│   ├── issue-40ed654ea75987f34bbe51980b5622cc079d3c7e.yaml
│   ├── issue-413564006de7bfe4283dc79f9165dedd9b49c271.yaml
│   ├── issue-41f14db348415ee631409034dafa0d42d0deddea.yaml
│   ├── issue-42a7588ab85a23f2a39a9fb36b63b6fa9d7af0f5.yaml
│   ├── issue-432f8b1d7711eb5d22d6046d20bc006c18d5090b.yaml
│   ├── issue-43ed5f6b35f29c0788a75461bf33f3120387f6c1.yaml
│   ├── issue-44735744038c3434abe3f3a7e13f881e2e2cc48e.yaml
│   ├── issue-4523543999b211ff2977debc785b31e70964ea2b.yaml
│   ├── issue-45a8e81c24329d52763349b662988a9969e2a929.yaml
│   ├── issue-478fd768c3286ce365c29af422175f8b9969ca11.yaml
│   ├── issue-49b3bc440ae6da65fec9979da016681ccdd7df24.yaml
│   ├── issue-4a400f4d42a40bb64cb5df9e83481ec74ea8974e.yaml
│   ├── issue-4a7cea3d5863e1dec9aa8e78e239963e9c451926.yaml
│   ├── issue-4ac006d705b9b7b5b3468932c4e7750d95564cce.yaml
│   ├── issue-52654f9476391c6612de54e91d54e4dcda7bb847.yaml
│   ├── issue-538f9fab4a345ba7c88ba39b4faa0ef55cfffaad.yaml
│   ├── issue-555cc14dcbca30e03f0a333f0236c8f653e0a7f1.yaml
│   ├── issue-5970a8d939cc358d1ab2bef5c0eeabf2baa2a9e8.yaml
│   ├── issue-5d9c8400eb4dcb02edcf8dc56ce8bcd91955a53c.yaml
│   ├── issue-5f88eac8fa3003c363a0364ee8827a438bcda2ca.yaml
│   ├── issue-5fde01d7a4fcdff886003dbaeb9773d33e2b9f18.yaml
│   ├── issue-607cbe27448028c9efc67e008d01f1e507bb1fbd.yaml
│   ├── issue-624ea57c7b26a27eba7f3bfd65f0dee40eb814d3.yaml
│   ├── issue-630255130a08cc316bba010d111dad725f7f9258.yaml
│   ├── issue-637f683833589ed1b5cd3f5028206c80ec97d3e9.yaml
│   ├── issue-63e3d51ee3915a539f21adf515ed7275f359295b.yaml
│   ├── issue-66dbf9444de6bcf5ef19d5ad94b51e0e5b58c3cd.yaml
│   ├── issue-6a66838dfc4773a21c04575103c92d8e8802f5ff.yaml
│   ├── issue-6aedc6869efacb25e643f2bb3d447338cc7307e5.yaml
│   ├── issue-6b7163b333419334ced5dd726d5b5a5c669cb9c8.yaml
│   ├── issue-6d0f5f71bcca568aab7d418c23ea12de51a07b88.yaml
│   ├── issue-6e358533fc719d3b3c1fe8b061f7091cd046453e.yaml
│   ├── issue-703980e3eb7434bec1481e3f7b5558bf64926f9e.yaml
│   ├── issue-7186061f7d139f1591333c49d6bc53b93cb6ecc3.yaml
│   ├── issue-71a4669f4804254394b5e170afb5ca0fc537ad62.yaml
│   ├── issue-71abd763037b718e574529c33c58a458f05af48c.yaml
│   ├── issue-71e0e500fc3a528e690296d69e5f6c8d62cb0076.yaml
│   ├── issue-720f97d969465f88647103a679fccfba9fdfe595.yaml
│   ├── issue-726036fd940e69af892483f4fb81ced5076343c0.yaml
│   ├── issue-72b9eb7ea6f2ee49a1aa6de0f9bdda95fd8226af.yaml
│   ├── issue-734d997c30a2208e4cc49cfc83071a6e8c446203.yaml
│   ├── issue-73b9d9eaea5e3100dfbd016ed74852541fea45b3.yaml
│   ├── issue-748f4bfe0ef0aca0e383b81aa75f4ea91b90a9fb.yaml
│   ├── issue-7642bc88b925585b8359bf58a5e818edf5575823.yaml
│   ├── issue-79d92fefbdd858ed65e5dcc7605f304a4d29f4db.yaml
│   ├── issue-7b49e59fee09d9c477c0bc0099d17bda335bafc1.yaml
│   ├── issue-7bc390041917f4dad49790f8eaf5b365add00512.yaml
│   ├── issue-7c1f591407ab1ed2d13f8d12ac20f23ba757029b.yaml
│   ├── issue-7d151b992517ccf1a476e994da4ae95f811a0f28.yaml
│   ├── issue-7d2708ff9bb5cd775481c46e2c34639a6baece89.yaml
│   ├── issue-7f5736e37d226ef0df24d5ff0a103233993c1871.yaml
│   ├── issue-809dbf8876e9da36c54d116410338e64ea634de7.yaml
│   ├── issue-80b04a4ce93501dca03dff1f05711e2e22a6cdf7.yaml
│   ├── issue-810cbd67c6f6737ee2900a8a85fd107e81a416bf.yaml
│   ├── issue-83af56cb47d6d6414fdc911fd5ae4ea45b23691b.yaml
│   ├── issue-85307f5c478fef938ea9202d85d4fb6ca351f82b.yaml
│   ├── issue-87422f875fafba82217cb6ea9926431c664008e1.yaml
│   ├── issue-880751463fbb518318275de1613945c253d371d4.yaml
│   ├── issue-895d272b3cce6c0d083757a9b1d22066be7e8d48.yaml
│   ├── issue-8b7048ef71c42a4ddfbd754d0eec458ced28cabb.yaml
│   ├── issue-8e23f26186d044718dee4d0c597684d194ebb3ab.yaml
│   ├── issue-91df55f58cd343ef052644a22be6ed6da975f4ff.yaml
│   ├── issue-9340867dbd5c408b4505e0a5aac01dfd7cf13531.yaml
│   ├── issue-93918136ae33aada69f7550025c0fc8b9844630f.yaml
│   ├── issue-94d550d30436720fef32ba3311fd367a4b5317d2.yaml
│   ├── issue-956ceb914b4a6b27defd0c78bb54adc3c4893b32.yaml
│   ├── issue-9a2fb7311eae397db36e237be063404532b3b4a0.yaml
│   ├── issue-9b2e091f7e3b9e36ff649b48155458080d7da913.yaml
│   ├── issue-9c495b89016c7cceebed30b1c37286a935f9a2eb.yaml
│   ├── issue-9cc79c6fd45d45ec92cdac3eef3ad3f050bae375.yaml
│   ├── issue-9d6b0d8eaf8d80a966066c342bf1de0dd67869cf.yaml
│   ├── issue-9e18e7eda2cde5ef31f3c5d75099f7e5aafbbb70.yaml
│   ├── issue-9e5b6f8facf5da51725b10a558ac3560e03d651d.yaml
│   ├── issue-a121afe2e22a6a972946c3f90472758987ca1d11.yaml
│   ├── issue-a30d997fb6cf859f56794c2ba693d986d109a143.yaml
│   ├── issue-a35971476137c99b326c5df30dc1c65c05d251fa.yaml
│   ├── issue-a51f6fb9050dd6b4fc6b07052508b122ad181762.yaml
│   ├── issue-a8c5a1d70781b39476748bd155c24a309d8ff50f.yaml
│   ├── issue-ab67e65a87a4e7a37e5d858119e62a23fe218e09.yaml
│   ├── issue-ab989d228e5a69168eb8a345a1dd5d59e0e264c0.yaml
│   ├── issue-abb391e69f742b790e8da66ffaa784db0a5988bb.yaml
│   ├── issue-ac1657b6dc20fb04947f9d412ada980948978fb5.yaml
│   ├── issue-acffc0b1158b9235a406f1e988c574800e4cd368.yaml
│   ├── issue-ad39f08267111c35c8e26b5264df5d06af65f718.yaml
│   ├── issue-ad7ebb0ae83ac37ee352a9775b601e181d460e3d.yaml
│   ├── issue-ae912d5a99e4737fe82a9576842bf25a9b7a83bf.yaml
│   ├── issue-afe8a5c7a2db5849096010a7e4e37ffd246fc5de.yaml
│   ├── issue-b143f0495234766027975401fdc8c071ceaccdc2.yaml
│   ├── issue-b56196fba885cf00f611139e6b09a9135d465338.yaml
│   ├── issue-baacef33fb990943146dd8064244e33486e5ea09.yaml
│   ├── issue-c08027d5b63ee4951a747d366509431f86626ce3.yaml
│   ├── issue-c15440cffbee3a681e073542040ad92aaa03e211.yaml
│   ├── issue-c24cff95ec0290dc053789f3749c2d3a576427e6.yaml
│   ├── issue-c3442cdcfa64300b26c4e16560338858110051e0.yaml
│   ├── issue-c35b6212ab0df100143b32254a41325252ffec42.yaml
│   ├── issue-c38bd09d7aa33d18d9df72894e7d7f4231a7afa4.yaml
│   ├── issue-c3ec9bb8e635c2592d8ee6f80f29b56e939c7be4.yaml
│   ├── issue-c4141d8b96026e37fc47c03ec3a610eb76d255e4.yaml
│   ├── issue-c4fac5d4134a27c60a732f65c7aca6d081d888bd.yaml
│   ├── issue-c566b10c51cf9be076002e098a80e627f7e57ad7.yaml
│   ├── issue-c5bb24ef560d028232ce7243e179caf89232424a.yaml
│   ├── issue-c60b33c866619f09ee3d9d98a588097c246dce9d.yaml
│   ├── issue-c62d4189ed3035ce0a2c7896f97007ac715a1159.yaml
│   ├── issue-c7068025feb6bc837b3c8238689cbd2808e602ec.yaml
│   ├── issue-c88402eb19c30deba7254e8583c5554e169b4ee2.yaml
│   ├── issue-c920698bb22ce982c3f377ceebe1c146ff08fa9e.yaml
│   ├── issue-caa327a1b446cc943f4f8563d11862bb9a323006.yaml
│   ├── issue-cbc65707315095a3c85694e09e179f711248ae01.yaml
│   ├── issue-cf2cdc4985a66db59f55052f03c3c620237b451f.yaml
│   ├── issue-cfefcca75810ec3b784ee014ff12c2b345d0e37d.yaml
│   ├── issue-d171dd355a94e4b8c639dce81bab88f3b30ad4c1.yaml
│   ├── issue-d33d9c38e1484b8ca1380cee2cc381a58073f2b8.yaml
│   ├── issue-d641db2e9857dad68c2cb5cddad523f6a11a9f4c.yaml
│   ├── issue-d7a44bff78ad31a7e7a6762e37c67cc721882f83.yaml
│   ├── issue-d8ead7e3cb76c1f6312855dfb1007959bf2a81a3.yaml
│   ├── issue-da7d93a9b31ed0769f5b56af3f388737dd957b7f.yaml
│   ├── issue-da8965ea23097589e5b98a3b8c42580329dad12c.yaml
│   ├── issue-daee8a01c7a1e37079658831fb65738559dc0493.yaml
│   ├── issue-dbaae5eafd86c96dd10c4636fee6dbcf4a6223d2.yaml
│   ├── issue-dbc9bdf294e3af3096d5b7b0777fbd501dbec183.yaml
│   ├── issue-dbddd7fdc90195a94e62d0ae6440ac9d90308f40.yaml
│   ├── issue-dc74ee9aa83bfe125ef4948bd8e8a46d3b895167.yaml
│   ├── issue-dcaa8d49244983968dcc3d24b45671270e0238ba.yaml
│   ├── issue-deed7f51f539b6c62b97c585ed7453b3242c9992.yaml
│   ├── issue-e200400ec942d61b5d25ff523fbc59331e5cd00c.yaml
│   ├── issue-e223abcb170a54b129321cb4020ec090b91aa06d.yaml
│   ├── issue-e24dc27f9e5a9b6debdc7fbacdaef0390aa835b5.yaml
│   ├── issue-e345f325aab4099f88dfc47616a86d4ddea54db3.yaml
│   ├── issue-e4ab51a81942250ae3e8a0ecff44c1e0b329859e.yaml
│   ├── issue-e4e3a8d3d7b0effd24b47227a38154c7f9ad1af1.yaml
│   ├── issue-e695dc7181caa53d244666975fcb9416d23456d6.yaml
│   ├── issue-e7da3769c8568a8dd24b895d954ce0f2afb278fb.yaml
│   ├── issue-e7e2260686f43af5350ced8daf3fd52f748b7d4d.yaml
│   ├── issue-e7f06c793e88c43060dc24a5e7b645e87f5c3372.yaml
│   ├── issue-e83e4967aac6828eb4e02208edacd68d23252cde.yaml
│   ├── issue-e86ef362f926037001e1c60a9fedea2822620595.yaml
│   ├── issue-eab8f46b39c3ce8da3052e6c33ad2942556f3c8d.yaml
│   ├── issue-ebaf6c348e0fa045023a7a486ea7c70969f96dde.yaml
│   ├── issue-ec7e14fd48fc42fd5b2ca9a3d30caf4f1b027c1a.yaml
│   ├── issue-ee2fe3f71ced0add4f940683db864c5cfe7422d9.yaml
│   ├── issue-eefe2f1c031bdf2fbe9723b6baf8aaa7a6daac91.yaml
│   ├── issue-efc598f7db94d366529406ccc835541ed77da749.yaml
│   ├── issue-f0214576609193a60f014f6c1b55e5b01af8197d.yaml
│   ├── issue-f20b5cc0c3904cfa8ec18ee3c7753e4bbff69d4e.yaml
│   ├── issue-f70081ac577a3f841537885c3d1d3af7f23f5aef.yaml
│   ├── issue-f7a6867233d707004a53404495ec68af38de7dc2.yaml
│   ├── issue-f838455f2a342a4d7c1d2aa13e3bd4d459d9c289.yaml
│   ├── issue-fd6e33c28fa0b3d7a02b1c4972bc5577b61d8838.yaml
│   ├── issue-ff8b9cee50b4d5422d195a8a64467eaca0b11ded.yaml
│   ├── issue-ff93d0f500a475dc818ff0f85fa530f5fbc58be0.yaml
│   └── project.yaml
├── cmake/
│   ├── dashboards/
│   │   ├── continuous-debug.cmake
│   │   ├── nightly-coverage.cmake
│   │   ├── nightly-debug.cmake
│   │   └── nightly-release.cmake
│   └── modules/
│       ├── FindK3DAsciiDoc.cmake
│       ├── K3DCompileResource.cmake
│       ├── K3DCompiler.cmake
│       ├── K3DDependencies.cmake
│       ├── K3DFind3ds.cmake
│       ├── K3DFindBoost.cmake
│       ├── K3DFindCARVE.cmake
│       ├── K3DFindCGAL.cmake
│       ├── K3DFindCairomm.cmake
│       ├── K3DFindCollada.cmake
│       ├── K3DFindDBus.cmake
│       ├── K3DFindFTGL.cmake
│       ├── K3DFindFreetype2.cmake
│       ├── K3DFindGMM.cmake
│       ├── K3DFindGPerftools.cmake
│       ├── K3DFindGTS.cmake
│       ├── K3DFindGiomm.cmake
│       ├── K3DFindGlibmm.cmake
│       ├── K3DFindGthread.cmake
│       ├── K3DFindGtkGLExt.cmake
│       ├── K3DFindGtkSourceView.cmake
│       ├── K3DFindGtkmm.cmake
│       ├── K3DFindImageMagick.cmake
│       ├── K3DFindInotify.cmake
│       ├── K3DFindIntl.cmake
│       ├── K3DFindJPEG.cmake
│       ├── K3DFindODE.cmake
│       ├── K3DFindOSMesa.cmake
│       ├── K3DFindOpenEXR.cmake
│       ├── K3DFindOpenGL.cmake
│       ├── K3DFindPNG.cmake
│       ├── K3DFindPkgConfig.cmake
│       ├── K3DFindPython.cmake
│       ├── K3DFindSigC.cmake
│       ├── K3DFindSuperLU.cmake
│       ├── K3DFindTBB.cmake
│       ├── K3DFindTIFF.cmake
│       ├── K3DFindXML.cmake
│       ├── K3DFindZlib.cmake
│       ├── K3DGenerateDEF.cmake
│       ├── K3DOutOfSourceBuild.cmake
│       ├── K3DParseArguments.cmake
│       ├── K3DSystemConfiguration.cmake
│       └── K3DWordSize.cmake
├── configuration/
│   └── size_type.cpp
├── desktop/
│   ├── CMakeLists.txt
│   └── k3d.desktop.in
├── distribution/
│   ├── CMakeLists.txt
│   ├── genslmeta.bat
│   ├── osx/
│   │   ├── CMakeLists.txt
│   │   ├── bundle/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── Info.plist.in
│   │   │   ├── k3d-startup
│   │   │   ├── package-binary-bundle.cpack.in
│   │   │   ├── volume.icns
│   │   │   └── volume_logo.xcf
│   │   ├── dependencies.cmake.in
│   │   └── packagemaker/
│   │       ├── CMakeLists.txt
│   │       ├── package-binary-packagemaker.cpack.in
│   │       ├── readme.txt
│   │       └── welcome.txt
│   ├── posix/
│   │   ├── CMakeLists.txt
│   │   ├── package-binary-stgz.cpack.in
│   │   ├── package-binary-tbz2.cpack.in
│   │   └── package-binary-tgz.cpack.in
│   ├── source/
│   │   ├── CMakeLists.txt
│   │   ├── package-source-tbz2.cpack.in
│   │   ├── package-source-tgz.cpack.in
│   │   └── package-source-zip.cpack.in
│   └── win32/
│       ├── CMakeLists.txt
│       ├── aqsisrc
│       ├── gtkrc
│       └── nsis/
│           ├── CMakeLists.txt
│           ├── headerimage.xcf
│           └── package-binary-nsis.cpack.in
├── docs/
│   ├── CMakeLists.txt
│   ├── coding_style/
│   │   ├── CMakeLists.txt
│   │   ├── astylerc
│   │   └── k3d-style.in
│   ├── doxygen/
│   │   ├── CMakeLists.txt
│   │   ├── Doxyfile.in
│   │   ├── footer.html
│   │   ├── header.html
│   │   └── k3d.css
│   ├── epydoc/
│   │   ├── CMakeLists.txt
│   │   ├── epydoc.css
│   │   └── make-epydoc-docs.py
│   ├── mesh_arrays.ods
│   ├── sample_module/
│   │   ├── CMakeLists.txt
│   │   └── module.cpp
│   ├── uml/
│   │   ├── data.xmi
│   │   ├── network_rendering.xmi
│   │   └── subdivision_surface/
│   │       ├── classes.dia
│   │       ├── sds_design.tex
│   │       ├── set_input_initial.dia
│   │       ├── set_input_invalid.dia
│   │       ├── update_detail.dia
│   │       ├── update_invalid.dia
│   │       └── update_valid.dia
│   ├── wiki/
│   │   ├── CMakeLists.txt
│   │   ├── make-wiki-docs-plugins.py
│   │   └── make-wiki-docs-primitives.py
│   └── xml/
│       ├── document_schema.xsd
│       └── slmeta_schema.xsd
├── gendef/
│   ├── CMakeLists.txt
│   └── gendef.cc
├── k3dsdk/
│   ├── CMakeLists.txt
│   ├── Half/
│   │   ├── AUTHORS
│   │   ├── CMakeLists.txt
│   │   ├── COPYING
│   │   ├── LICENSE
│   │   ├── README
│   │   ├── eLut.cpp
│   │   ├── half.cpp
│   │   ├── half.h
│   │   ├── halfFunction.h
│   │   ├── halfLimits.h
│   │   └── toFloat.cpp
│   ├── algebra.h
│   ├── application.cpp
│   ├── application.h
│   ├── application_detail.cpp
│   ├── application_detail.h
│   ├── application_plugin_factory.h
│   ├── array.cpp
│   ├── array.h
│   ├── aspect_ratios.cpp
│   ├── aspect_ratios.h
│   ├── axis.cpp
│   ├── axis.h
│   ├── base64.cpp
│   ├── base64.h
│   ├── basic_math.h
│   ├── batch_mode.cpp
│   ├── batch_mode.h
│   ├── batch_mode_init.h
│   ├── bezier.cpp
│   ├── bezier.h
│   ├── bezier_private.h
│   ├── bezier_triangle_patch.cpp
│   ├── bezier_triangle_patch.h
│   ├── bicubic_patch.cpp
│   ├── bicubic_patch.h
│   ├── bilinear_patch.cpp
│   ├── bilinear_patch.h
│   ├── bitmap.h
│   ├── bitmap_modifier.h
│   ├── bitmap_sink.h
│   ├── bitmap_source.h
│   ├── blobby.cpp
│   ├── blobby.h
│   ├── boost_throw_exception.cpp
│   ├── bounding_box3.cpp
│   ├── bounding_box3.h
│   ├── classes.h
│   ├── color.h
│   ├── color_source.h
│   ├── component.cpp
│   ├── component.h
│   ├── cone.cpp
│   ├── cone.h
│   ├── contributors.cpp
│   ├── contributors.h
│   ├── convert.h
│   ├── cubic_curve.cpp
│   ├── cubic_curve.h
│   ├── cylinder.cpp
│   ├── cylinder.h
│   ├── data.cpp
│   ├── data.h
│   ├── dependencies.cpp
│   ├── dependencies.h
│   ├── difference.h
│   ├── disk.cpp
│   ├── disk.h
│   ├── document.cpp
│   ├── document.h
│   ├── document_plugin_factory.h
│   ├── double_source.h
│   ├── euler_operations.cpp
│   ├── euler_operations.h
│   ├── exceptions.h
│   ├── explicit_instantiation.cpp
│   ├── explicit_snap_source.cpp
│   ├── explicit_snap_source.h
│   ├── explicit_snap_target.cpp
│   ├── explicit_snap_target.h
│   ├── expression/
│   │   ├── CMakeLists.txt
│   │   ├── basic_parser.cpp
│   │   ├── basic_parser.h
│   │   ├── fparser.cpp
│   │   ├── fparser.h
│   │   ├── fparser_license.txt
│   │   ├── fpconfig.h
│   │   ├── fpoptimizer.cpp
│   │   ├── fptypes.h
│   │   ├── parser.cpp
│   │   └── parser.h
│   ├── expression_grammar.h
│   ├── file_helpers.cpp
│   ├── file_helpers.h
│   ├── file_range.cpp
│   ├── file_range.h
│   ├── frames.cpp
│   ├── frames.h
│   ├── fstream.h
│   ├── geometric_operations.cpp
│   ├── geometric_operations.h
│   ├── geometry.cpp
│   ├── geometry.h
│   ├── gil/
│   │   └── boost/
│   │       ├── gil/
│   │       │   └── extension/
│   │       │       └── numeric/
│   │       │           ├── affine.hpp
│   │       │           ├── algorithm.hpp
│   │       │           ├── channel_numeric_operations.hpp
│   │       │           ├── convolve.hpp
│   │       │           ├── kernel.hpp
│   │       │           ├── pixel_numeric_operations.hpp
│   │       │           ├── resample.hpp
│   │       │           └── sampler.hpp
│   │       └── uuid/
│   │           ├── nil_generator.hpp
│   │           ├── random_generator.hpp
│   │           ├── seed_rng.hpp
│   │           └── sha1.hpp
│   ├── gl/
│   │   ├── CMakeLists.txt
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── context_factory.h
│   │   ├── enum.spec
│   │   ├── enumext.spec
│   │   ├── extension.cpp
│   │   ├── extension.h
│   │   ├── gl.spec
│   │   ├── gl.tm
│   │   ├── offscreen_context.h
│   │   └── offscreen_context_factory.h
│   ├── gl.h
│   ├── graph.cpp
│   ├── graph.h
│   ├── gzstream.cpp
│   ├── gzstream.h
│   ├── high_res_timer.h
│   ├── hints.cpp
│   ├── hints.h
│   ├── hyperboloid.cpp
│   ├── hyperboloid.h
│   ├── i3d_2d_mapping.h
│   ├── iapplication.h
│   ├── iapplication_plugin_factory.h
│   ├── iattribute_property_ri.h
│   ├── ibitmap_exporter.h
│   ├── ibitmap_importer.h
│   ├── ibitmap_sink.h
│   ├── ibitmap_source.h
│   ├── ibounded.h
│   ├── icamera.h
│   ├── icolor_source.h
│   ├── icrop_window.h
│   ├── idependencies.h
│   ├── idisplacement_shader_ri.h
│   ├── idocument.h
│   ├── idocument_exporter.h
│   ├── idocument_importer.h
│   ├── idocument_plugin_factory.h
│   ├── idocument_sink.h
│   ├── idouble_source.h
│   ├── ienumeration_property.h
│   ├── ievent_loop.h
│   ├── ifile_change_notifier.h
│   ├── ihint.h
│   ├── iimager_shader_ri.h
│   ├── iint32_source.h
│   ├── ikeyframer.h
│   ├── ilight_gl.h
│   ├── ilight_ri.h
│   ├── ilight_shader_ri.h
│   ├── ilight_yafray.h
│   ├── ilist_property.h
│   ├── imaterial.h
│   ├── imaterial_ri.h
│   ├── imaterial_sink.h
│   ├── imaterial_yafray.h
│   ├── imatrix_sink.h
│   ├── imatrix_source.h
│   ├── imeasurement_property.h
│   ├── imesh_painter_gl.h
│   ├── imesh_painter_ri.h
│   ├── imesh_selection_algorithm.h
│   ├── imesh_selection_sink.h
│   ├── imesh_sink.h
│   ├── imesh_source.h
│   ├── imesh_storage.h
│   ├── imeta_object.cpp
│   ├── imeta_object.h
│   ├── imetadata.h
│   ├── imime_type_handler.h
│   ├── imulti_mesh_sink.h
│   ├── inetwork_render_farm.h
│   ├── inetwork_render_frame.h
│   ├── inetwork_render_job.h
│   ├── inode.h
│   ├── inode_change_signal.h
│   ├── inode_collection.h
│   ├── inode_collection_property.h
│   ├── inode_collection_sink.h
│   ├── inode_name_map.h
│   ├── inode_property.h
│   ├── inode_selection.h
│   ├── int32_source.h
│   ├── interface_list.h
│   ├── iomanip.cpp
│   ├── iomanip.h
│   ├── ioption_property_ri.h
│   ├── iparentable.h
│   ├── ipath_property.h
│   ├── ipersistent.h
│   ├── ipersistent_collection.h
│   ├── ipersistent_lookup.h
│   ├── ipipeline.h
│   ├── ipipeline_profiler.h
│   ├── iplugin_factory.h
│   ├── iplugin_factory_collection.h
│   ├── iplugin_registry.h
│   ├── iprojection.h
│   ├── iproperty.h
│   ├── iproperty_collection.h
│   ├── iproperty_group_collection.h
│   ├── iproperty_sink.h
│   ├── irender_animation.h
│   ├── irender_camera_animation.h
│   ├── irender_camera_frame.h
│   ├── irender_camera_preview.h
│   ├── irender_engine_ri.h
│   ├── irender_frame.h
│   ├── irender_preview.h
│   ├── irender_viewport_gl.h
│   ├── irenderable_gl.h
│   ├── irenderable_ri.h
│   ├── ireset_properties.h
│   ├── iscript_engine.h
│   ├── iscript_property.h
│   ├── iscripted_action.h
│   ├── iselectable.h
│   ├── ishader_collection_ri.h
│   ├── isnap_source.h
│   ├── isnap_target.h
│   ├── isnappable.h
│   ├── istate_container.h
│   ├── istate_recorder.h
│   ├── istate_recorder_sink.h
│   ├── istream_ri.h
│   ├── istreaming_bitmap_source.h
│   ├── istring_source.h
│   ├── isurface_shader_ri.h
│   ├── itexture.h
│   ├── itexture_ri.h
│   ├── itime_sink.h
│   ├── itransform_array_1d.h
│   ├── itransform_array_2d.h
│   ├── itransform_array_3d.h
│   ├── iunknown.h
│   ├── iuri_handler.h
│   ├── iuser_interface.h
│   ├── iuser_property.h
│   ├── ivector3_source.h
│   ├── ivolume_shader_ri.h
│   ├── iwatched_path_property.h
│   ├── iwritable_property.h
│   ├── k3d-i18n-config.h.in
│   ├── k3d-ngui-config.h.in
│   ├── k3d-parallel-config.h.in
│   ├── k3d-platform-config.h.in
│   ├── k3d-version-config.h.in
│   ├── keyboard.cpp
│   ├── keyboard.h
│   ├── line2.cpp
│   ├── line2.h
│   ├── line3.cpp
│   ├── line3.h
│   ├── linear_curve.cpp
│   ├── linear_curve.h
│   ├── log.cpp
│   ├── log.h
│   ├── log_control.h
│   ├── material.h
│   ├── material_sink.h
│   ├── matrix_source.h
│   ├── measurement.cpp
│   ├── measurement.h
│   ├── mesh.cpp
│   ├── mesh.h
│   ├── mesh_deformation_modifier.cpp
│   ├── mesh_deformation_modifier.h
│   ├── mesh_modifier.h
│   ├── mesh_painter_gl.h
│   ├── mesh_reader.h
│   ├── mesh_selection_modifier.h
│   ├── mesh_selection_sink.h
│   ├── mesh_simple_deformation_modifier.cpp
│   ├── mesh_simple_deformation_modifier.h
│   ├── mesh_sink.h
│   ├── mesh_source.h
│   ├── mesh_triangulate_detail.h
│   ├── mesh_writer.h
│   ├── metadata.cpp
│   ├── metadata.h
│   ├── metadata_keys.cpp
│   ├── metadata_keys.h
│   ├── mime_types.cpp
│   ├── mime_types.h
│   ├── module.h
│   ├── named_array_types.h
│   ├── named_arrays.cpp
│   ├── named_arrays.h
│   ├── named_tables.cpp
│   ├── named_tables.h
│   ├── namespace_documentation.h
│   ├── network_render_farm.cpp
│   ├── network_render_farm.h
│   ├── network_render_farm_detail.h
│   ├── ngui/
│   │   ├── CMakeLists.txt
│   │   ├── angle_axis.cpp
│   │   ├── angle_axis.h
│   │   ├── application_state.cpp
│   │   ├── application_state.h
│   │   ├── application_window.cpp
│   │   ├── application_window.h
│   │   ├── asynchronous_update.cpp
│   │   ├── asynchronous_update.h
│   │   ├── auto_property_page.cpp
│   │   ├── auto_property_page.h
│   │   ├── auto_property_toolbar.cpp
│   │   ├── auto_property_toolbar.h
│   │   ├── basic_input_model.cpp
│   │   ├── basic_input_model.h
│   │   ├── basic_viewport_input_model.cpp
│   │   ├── basic_viewport_input_model.h
│   │   ├── bitmap_preview.cpp
│   │   ├── bitmap_preview.h
│   │   ├── bounding_box.cpp
│   │   ├── bounding_box.h
│   │   ├── button.cpp
│   │   ├── button.h
│   │   ├── check_button.cpp
│   │   ├── check_button.h
│   │   ├── check_menu_item.cpp
│   │   ├── check_menu_item.h
│   │   ├── collapsible_frame.cpp
│   │   ├── collapsible_frame.h
│   │   ├── color_chooser.cpp
│   │   ├── color_chooser.h
│   │   ├── combo_box.cpp
│   │   ├── combo_box.h
│   │   ├── console.cpp
│   │   ├── console.h
│   │   ├── context_menu.cpp
│   │   ├── context_menu.h
│   │   ├── custom_property_control.h
│   │   ├── custom_property_page.h
│   │   ├── document.cpp
│   │   ├── document.h
│   │   ├── document_state.cpp
│   │   ├── document_state.h
│   │   ├── document_window.cpp
│   │   ├── document_window.h
│   │   ├── entry.cpp
│   │   ├── entry.h
│   │   ├── enumeration_chooser.cpp
│   │   ├── enumeration_chooser.h
│   │   ├── event_button.h
│   │   ├── file_chooser_dialog.cpp
│   │   ├── file_chooser_dialog.h
│   │   ├── hotkey_cell_renderer_text.cpp
│   │   ├── hotkey_cell_renderer_text.h
│   │   ├── hotkey_entry.cpp
│   │   ├── hotkey_entry.h
│   │   ├── icons.cpp
│   │   ├── icons.h
│   │   ├── image_toggle_button.cpp
│   │   ├── image_toggle_button.h
│   │   ├── input_model.h
│   │   ├── interactive.cpp
│   │   ├── interactive.h
│   │   ├── keyboard.cpp
│   │   ├── keyboard.h
│   │   ├── main_document_window.cpp
│   │   ├── main_document_window.h
│   │   ├── menus.cpp
│   │   ├── menus.h
│   │   ├── merge_nodes.cpp
│   │   ├── merge_nodes.h
│   │   ├── messages.cpp
│   │   ├── messages.h
│   │   ├── modifiers.cpp
│   │   ├── modifiers.h
│   │   ├── move_tool.cpp
│   │   ├── move_tool.h
│   │   ├── navigation_input_model.cpp
│   │   ├── navigation_input_model.h
│   │   ├── node.cpp
│   │   ├── node.h
│   │   ├── node_chooser.cpp
│   │   ├── node_chooser.h
│   │   ├── node_collection_chooser.cpp
│   │   ├── node_collection_chooser.h
│   │   ├── node_window.cpp
│   │   ├── node_window.h
│   │   ├── null_viewport_input_model.cpp
│   │   ├── null_viewport_input_model.h
│   │   ├── options.cpp
│   │   ├── options.h
│   │   ├── panel.h
│   │   ├── panel_frame.cpp
│   │   ├── panel_frame.h
│   │   ├── panel_mediator.cpp
│   │   ├── panel_mediator.h
│   │   ├── path_chooser.cpp
│   │   ├── path_chooser.h
│   │   ├── pipeline.cpp
│   │   ├── pipeline.h
│   │   ├── point3.cpp
│   │   ├── point3.h
│   │   ├── property.cpp
│   │   ├── property.h
│   │   ├── property_button.cpp
│   │   ├── property_button.h
│   │   ├── property_label.cpp
│   │   ├── property_label.h
│   │   ├── property_widget.cpp
│   │   ├── property_widget.h
│   │   ├── render.cpp
│   │   ├── render.h
│   │   ├── rotate_tool.cpp
│   │   ├── rotate_tool.h
│   │   ├── safe_close_dialog.cpp
│   │   ├── safe_close_dialog.h
│   │   ├── savable_application_window.cpp
│   │   ├── savable_application_window.h
│   │   ├── savable_document_window.cpp
│   │   ├── savable_document_window.h
│   │   ├── scale_tool.cpp
│   │   ├── scale_tool.h
│   │   ├── screen_overlay.cpp
│   │   ├── screen_overlay.h
│   │   ├── script_button.cpp
│   │   ├── script_button.h
│   │   ├── scripting.cpp
│   │   ├── scripting.h
│   │   ├── selection.cpp
│   │   ├── selection.h
│   │   ├── selection_input_model.cpp
│   │   ├── selection_input_model.h
│   │   ├── selection_tool.cpp
│   │   ├── selection_tool.h
│   │   ├── spin_button.cpp
│   │   ├── spin_button.h
│   │   ├── target.cpp
│   │   ├── target.h
│   │   ├── text.cpp
│   │   ├── text.h
│   │   ├── toggle_button.cpp
│   │   ├── toggle_button.h
│   │   ├── tool.cpp
│   │   ├── tool.h
│   │   ├── tool_selection.h
│   │   ├── toolbar.cpp
│   │   ├── toolbar.h
│   │   ├── transform.cpp
│   │   ├── transform.h
│   │   ├── transform_tool.cpp
│   │   ├── transform_tool.h
│   │   ├── undo_utility.cpp
│   │   ├── undo_utility.h
│   │   ├── unknown.xpm
│   │   ├── unsaved_document.h
│   │   ├── uri.cpp
│   │   ├── uri.h
│   │   ├── utility.cpp
│   │   ├── utility.h
│   │   ├── viewport.cpp
│   │   ├── viewport.h
│   │   ├── viewport_input_model.h
│   │   ├── widget_manip.cpp
│   │   └── widget_manip.h
│   ├── node.cpp
│   ├── node.h
│   ├── node_change_signal.h
│   ├── node_name_map.cpp
│   ├── node_name_map.h
│   ├── nodes.cpp
│   ├── nodes.h
│   ├── noise.cpp
│   ├── noise.h
│   ├── normal3.h
│   ├── nurbs_curve.cpp
│   ├── nurbs_curve.h
│   ├── nurbs_patch.cpp
│   ├── nurbs_patch.h
│   ├── options.cpp
│   ├── options.h
│   ├── options_policy.h
│   ├── os_load_module.cpp
│   ├── os_load_module.h
│   ├── painter_render_state_gl.h
│   ├── painter_selection_state_gl.h
│   ├── paraboloid.cpp
│   ├── paraboloid.h
│   ├── parallel/
│   │   ├── CMakeLists.txt
│   │   ├── blocked_range.h
│   │   ├── parallel_for.h
│   │   ├── threads.cpp
│   │   └── threads.h
│   ├── parentable.h
│   ├── particle.cpp
│   ├── particle.h
│   ├── path.cpp
│   ├── path.h
│   ├── persistent_lookup.cpp
│   ├── persistent_lookup.h
│   ├── persistent_property_collection.cpp
│   ├── persistent_property_collection.h
│   ├── pipeline.cpp
│   ├── pipeline.h
│   ├── pipeline_data.h
│   ├── pipeline_profiler.cpp
│   ├── pipeline_profiler.h
│   ├── plane.cpp
│   ├── plane.h
│   ├── plugin.cpp
│   ├── plugin.h
│   ├── plugin_factory.cpp
│   ├── plugin_factory.h
│   ├── plugin_factory_collection.cpp
│   ├── plugin_factory_collection.h
│   ├── plugins_detail.h
│   ├── point2.h
│   ├── point3.h
│   ├── point4.h
│   ├── pointer_demand_storage.h
│   ├── polyhedron.cpp
│   ├── polyhedron.h
│   ├── primitive_validation.cpp
│   ├── primitive_validation.h
│   ├── property.cpp
│   ├── property.h
│   ├── property_collection.cpp
│   ├── property_collection.h
│   ├── property_group_collection.cpp
│   ├── property_group_collection.h
│   ├── property_types.h
│   ├── property_types_ri.h
│   ├── python/
│   │   ├── CMakeLists.txt
│   │   ├── angle_axis_python.cpp
│   │   ├── angle_axis_python.h
│   │   ├── any_python.cpp
│   │   ├── any_python.h
│   │   ├── atk_python.cpp
│   │   ├── atk_python.h
│   │   ├── bezier_triangle_patch_python.cpp
│   │   ├── bezier_triangle_patch_python.h
│   │   ├── bicubic_patch_python.cpp
│   │   ├── bicubic_patch_python.h
│   │   ├── bilinear_patch_python.cpp
│   │   ├── bilinear_patch_python.h
│   │   ├── bitmap_python.cpp
│   │   ├── bitmap_python.h
│   │   ├── blobby_python.cpp
│   │   ├── blobby_python.h
│   │   ├── bounding_box3_python.cpp
│   │   ├── bounding_box3_python.h
│   │   ├── color_python.cpp
│   │   ├── color_python.h
│   │   ├── cone_python.cpp
│   │   ├── cone_python.h
│   │   ├── const_bitmap_python.cpp
│   │   ├── const_bitmap_python.h
│   │   ├── const_named_arrays_python.cpp
│   │   ├── const_named_arrays_python.h
│   │   ├── const_named_tables_python.cpp
│   │   ├── const_named_tables_python.h
│   │   ├── const_table_python.cpp
│   │   ├── const_table_python.h
│   │   ├── const_typed_array_python.cpp
│   │   ├── const_typed_array_python.h
│   │   ├── cubic_curve_python.cpp
│   │   ├── cubic_curve_python.h
│   │   ├── cylinder_python.cpp
│   │   ├── cylinder_python.h
│   │   ├── difference_python.cpp
│   │   ├── difference_python.h
│   │   ├── disk_python.cpp
│   │   ├── disk_python.h
│   │   ├── euler_angles_python.cpp
│   │   ├── euler_angles_python.h
│   │   ├── euler_python.cpp
│   │   ├── euler_python.h
│   │   ├── file_signal_python.cpp
│   │   ├── file_signal_python.h
│   │   ├── filesystem_python.cpp
│   │   ├── filesystem_python.h
│   │   ├── geometry_python.cpp
│   │   ├── geometry_python.h
│   │   ├── hyperboloid_python.cpp
│   │   ├── hyperboloid_python.h
│   │   ├── idocument_exporter_python.cpp
│   │   ├── idocument_exporter_python.h
│   │   ├── idocument_importer_python.cpp
│   │   ├── idocument_importer_python.h
│   │   ├── idocument_python.cpp
│   │   ├── idocument_python.h
│   │   ├── ifile_change_notifier_python.cpp
│   │   ├── ifile_change_notifier_python.h
│   │   ├── ikeyframer_python.cpp
│   │   ├── ikeyframer_python.h
│   │   ├── imesh_storage_python.cpp
│   │   ├── imesh_storage_python.h
│   │   ├── imeta_object_python.cpp
│   │   ├── imeta_object_python.h
│   │   ├── imetadata_python.cpp
│   │   ├── imetadata_python.h
│   │   ├── inode_python.cpp
│   │   ├── inode_python.h
│   │   ├── inode_selection_python.cpp
│   │   ├── inode_selection_python.h
│   │   ├── instance_wrapper_python.h
│   │   ├── iplugin_factory_python.cpp
│   │   ├── iplugin_factory_python.h
│   │   ├── iproperty_collection_python.cpp
│   │   ├── iproperty_collection_python.h
│   │   ├── iproperty_python.cpp
│   │   ├── iproperty_python.h
│   │   ├── irender_camera_frame_python.cpp
│   │   ├── irender_camera_frame_python.h
│   │   ├── irender_camera_preview_python.cpp
│   │   ├── irender_camera_preview_python.h
│   │   ├── isnappable_python.cpp
│   │   ├── isnappable_python.h
│   │   ├── iunknown_python.cpp
│   │   ├── iunknown_python.h
│   │   ├── iuser_interface_python.cpp
│   │   ├── iuser_interface_python.h
│   │   ├── linear_curve_python.cpp
│   │   ├── linear_curve_python.h
│   │   ├── log_python.cpp
│   │   ├── log_python.h
│   │   ├── matrix4_python.cpp
│   │   ├── matrix4_python.h
│   │   ├── mesh_python.cpp
│   │   ├── mesh_python.h
│   │   ├── mime_python.cpp
│   │   ├── mime_python.h
│   │   ├── named_arrays_python.cpp
│   │   ├── named_arrays_python.h
│   │   ├── named_tables_python.cpp
│   │   ├── named_tables_python.h
│   │   ├── node_python.cpp
│   │   ├── node_python.h
│   │   ├── normal3_python.cpp
│   │   ├── normal3_python.h
│   │   ├── nurbs_curve_python.cpp
│   │   ├── nurbs_curve_python.h
│   │   ├── nurbs_patch_python.cpp
│   │   ├── nurbs_patch_python.h
│   │   ├── object_model_python.cpp
│   │   ├── object_model_python.h
│   │   ├── offscreen_context_factory_gl_python.cpp
│   │   ├── offscreen_context_factory_gl_python.h
│   │   ├── owned_instance_wrapper_python.h
│   │   ├── paraboloid_python.cpp
│   │   ├── paraboloid_python.h
│   │   ├── parallel_python.cpp
│   │   ├── parallel_python.h
│   │   ├── particle_python.cpp
│   │   ├── particle_python.h
│   │   ├── plugin_python.cpp
│   │   ├── plugin_python.h
│   │   ├── point2_python.cpp
│   │   ├── point2_python.h
│   │   ├── point3_python.cpp
│   │   ├── point3_python.h
│   │   ├── point4_python.cpp
│   │   ├── point4_python.h
│   │   ├── polyhedron_python.cpp
│   │   ├── polyhedron_python.h
│   │   ├── property_python.cpp
│   │   ├── property_python.h
│   │   ├── resource_python.cpp
│   │   ├── resource_python.h
│   │   ├── ri_python.cpp
│   │   ├── ri_python.h
│   │   ├── script_python.cpp
│   │   ├── script_python.h
│   │   ├── selection_python.cpp
│   │   ├── selection_python.h
│   │   ├── sphere_python.cpp
│   │   ├── sphere_python.h
│   │   ├── table_python.cpp
│   │   ├── table_python.h
│   │   ├── teapot_python.cpp
│   │   ├── teapot_python.h
│   │   ├── texture3_python.cpp
│   │   ├── texture3_python.h
│   │   ├── torus_python.cpp
│   │   ├── torus_python.h
│   │   ├── typed_array_python.cpp
│   │   ├── typed_array_python.h
│   │   ├── utility_python.h
│   │   ├── uuid_python.cpp
│   │   ├── uuid_python.h
│   │   ├── vector2_python.cpp
│   │   ├── vector2_python.h
│   │   ├── vector3_python.cpp
│   │   ├── vector3_python.h
│   │   ├── vector4_python.cpp
│   │   └── vector4_python.h
│   ├── qtui/
│   │   ├── CMakeLists.txt
│   │   ├── action.cpp
│   │   ├── action.h
│   │   ├── application.cpp
│   │   ├── application.h
│   │   ├── application_widget.cpp
│   │   ├── application_widget.h
│   │   ├── console.cpp
│   │   ├── console.h
│   │   ├── convert.h
│   │   ├── document.cpp
│   │   ├── document.h
│   │   ├── document_widget.cpp
│   │   ├── document_widget.h
│   │   ├── file_dialog.cpp
│   │   ├── file_dialog.h
│   │   ├── focus.cpp
│   │   ├── focus.h
│   │   ├── icon_factory.cpp
│   │   ├── icon_factory.h
│   │   ├── message.cpp
│   │   ├── message.h
│   │   ├── modal_text_editor.cpp
│   │   ├── modal_text_editor.h
│   │   ├── mode.cpp
│   │   ├── mode.h
│   │   ├── nag_message_dialog.cpp
│   │   ├── nag_message_dialog.h
│   │   ├── nag_message_dialog.ui
│   │   ├── node_list_model.cpp
│   │   ├── node_list_model.h
│   │   ├── options.cpp
│   │   ├── options.h
│   │   ├── panel.h
│   │   ├── property_widget.h
│   │   ├── property_widget_factory.cpp
│   │   ├── property_widget_factory.h
│   │   ├── script/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── color.cpp
│   │   │   ├── color.h
│   │   │   ├── console.cpp
│   │   │   ├── console.h
│   │   │   ├── engine.cpp
│   │   │   ├── engine.h
│   │   │   ├── iunknown.cpp
│   │   │   ├── iunknown.h
│   │   │   ├── log.cpp
│   │   │   ├── log.h
│   │   │   ├── matrix4.cpp
│   │   │   ├── matrix4.h
│   │   │   ├── model.cpp
│   │   │   ├── model.h
│   │   │   ├── plugin.cpp
│   │   │   └── plugin.h
│   │   ├── script.cpp
│   │   ├── script.h
│   │   ├── selection.cpp
│   │   ├── selection.h
│   │   ├── uri.cpp
│   │   └── uri.h
│   ├── rectangle.cpp
│   ├── rectangle.h
│   ├── register_application.h
│   ├── register_plugin_factories.h
│   ├── render_state_gl.h
│   ├── render_state_ri.h
│   ├── renderable_gl.h
│   ├── renderable_ri.cpp
│   ├── renderable_ri.h
│   ├── resolutions.cpp
│   ├── resolutions.h
│   ├── resource/
│   │   ├── CMakeLists.txt
│   │   ├── resource.cpp
│   │   └── resource.h
│   ├── result.h
│   ├── scalar_source.cpp
│   ├── scalar_source.h
│   ├── scripted_node.h
│   ├── scripted_plugin.h
│   ├── scripting.cpp
│   ├── scripting.h
│   ├── selectable.h
│   ├── selection.cpp
│   ├── selection.h
│   ├── selection_state_gl.h
│   ├── selection_validation.h
│   ├── serialization_xml.cpp
│   ├── serialization_xml.h
│   ├── sgi_tesselator/
│   │   ├── CMakeLists.txt
│   │   ├── README
│   │   ├── alg-outline
│   │   ├── dict-list.h
│   │   ├── dict.c
│   │   ├── dict.h
│   │   ├── geom.c
│   │   ├── geom.h
│   │   ├── gluos.h
│   │   ├── memalloc.c
│   │   ├── memalloc.h
│   │   ├── mesh.c
│   │   ├── mesh.h
│   │   ├── normal.c
│   │   ├── normal.h
│   │   ├── priorityq-heap.c
│   │   ├── priorityq-heap.h
│   │   ├── priorityq-sort.h
│   │   ├── priorityq.c
│   │   ├── render.c
│   │   ├── render.h
│   │   ├── sweep.c
│   │   ├── sweep.h
│   │   ├── tess.c
│   │   ├── tess.h
│   │   ├── tessmono.c
│   │   └── tessmono.h
│   ├── sgi_tesselator.h
│   ├── shader_cache.cpp
│   ├── shader_cache.h
│   ├── shader_cache_detail.h
│   ├── shader_collection_ri.cpp
│   ├── shader_collection_ri.h
│   ├── shader_ri.cpp
│   ├── shader_ri.h
│   ├── share.cpp
│   ├── share.h
│   ├── share_detail.h
│   ├── signal_accumulators.h
│   ├── signal_slots.h
│   ├── signal_system.h
│   ├── sl.cpp
│   ├── sl.h
│   ├── snap_source.cpp
│   ├── snap_source.h
│   ├── snap_target.cpp
│   ├── snap_target.h
│   ├── snappable.h
│   ├── snappable_detail.cpp
│   ├── snappable_detail.h
│   ├── socket.cpp
│   ├── socket.h
│   ├── sphere.cpp
│   ├── sphere.h
│   ├── state_change_set.cpp
│   ├── state_change_set.h
│   ├── stream_io_ri.cpp
│   ├── stream_io_ri.h
│   ├── stream_ri.cpp
│   ├── stream_ri.h
│   ├── string_cast.h
│   ├── string_modifiers.cpp
│   ├── string_modifiers.h
│   ├── string_source.h
│   ├── subdivision_surface/
│   │   ├── CMakeLists.txt
│   │   ├── catmull_clark.cpp
│   │   └── catmull_clark.h
│   ├── system.cpp
│   ├── system.h
│   ├── table.cpp
│   ├── table.h
│   ├── table_copier.cpp
│   ├── table_copier.h
│   ├── teapot.cpp
│   ├── teapot.h
│   ├── texture3.h
│   ├── time_sink.h
│   ├── time_source.cpp
│   ├── time_source.h
│   ├── tokens.cpp
│   ├── tokens.h
│   ├── torus.cpp
│   ├── torus.h
│   ├── transform.cpp
│   ├── transform.h
│   ├── transformable.h
│   ├── triangulator.cpp
│   ├── triangulator.h
│   ├── type_registry.cpp
│   ├── type_registry.h
│   ├── typed_array.h
│   ├── types.h
│   ├── types_ri.cpp
│   ├── types_ri.h
│   ├── uint_t_array.h
│   ├── user_interface.cpp
│   ├── user_interface.h
│   ├── user_interface_init.h
│   ├── user_property.cpp
│   ├── user_property.h
│   ├── user_property_changed_signal.cpp
│   ├── user_property_changed_signal.h
│   ├── ustring.cpp
│   ├── ustring.h
│   ├── utility.h
│   ├── utility_gl.cpp
│   ├── utility_gl.h
│   ├── uuid.cpp
│   ├── uuid.h
│   ├── value_demand_storage.h
│   ├── vector2.h
│   ├── vector3.h
│   ├── vector3_source.h
│   ├── vector4.h
│   ├── vectors.h
│   ├── virtual_document_plugin_factory.h
│   ├── watched_path_property.h
│   ├── win32.h
│   ├── xml.cpp
│   ├── xml.h
│   ├── xpath.cpp
│   └── xpath.h
├── make-module-proxy/
│   ├── CMakeLists.txt
│   └── main.cpp
├── man/
│   └── k3d.1.in
├── modules/
│   ├── 3ds_io/
│   │   ├── 3dschunknames.h
│   │   ├── CMakeLists.txt
│   │   ├── integration.cpp
│   │   ├── integration.h
│   │   ├── mesh_reader.cpp
│   │   └── module.cpp
│   ├── CMakeLists.txt
│   ├── advanced_opengl_painters/
│   │   ├── CMakeLists.txt
│   │   ├── attic/
│   │   │   ├── cached_triangulation.cpp
│   │   │   ├── cached_triangulation.h
│   │   │   ├── face_varying_painter.cpp
│   │   │   ├── hidden_line_painter.cpp
│   │   │   ├── normal_cache.cpp
│   │   │   ├── normal_cache.h
│   │   │   ├── point_normal_painter.cpp
│   │   │   ├── sds_cache.h
│   │   │   ├── sds_painter.cpp
│   │   │   ├── selection_cache.h
│   │   │   ├── textured_face_painter.cpp
│   │   │   ├── vbo.cpp
│   │   │   ├── vbo.h
│   │   │   ├── vbo_edge_painter.cpp
│   │   │   ├── vbo_face_painter.cpp
│   │   │   ├── vbo_point_painter.cpp
│   │   │   └── vbo_sds_painter.cpp
│   │   ├── module.cpp
│   │   ├── painter_cache.h
│   │   ├── sds_cache.cpp
│   │   ├── sds_cache.h
│   │   ├── sds_edge_painter.cpp
│   │   ├── sds_face_painter.cpp
│   │   ├── sds_point_painter.cpp
│   │   ├── texture_colored_selection_painter_gl.h
│   │   ├── vbo.cpp
│   │   └── vbo.h
│   ├── animation/
│   │   ├── CMakeLists.txt
│   │   ├── animation_track.cpp
│   │   ├── interpolator.cpp
│   │   ├── interpolator.h
│   │   └── module.cpp
│   ├── annotation/
│   │   ├── CMakeLists.txt
│   │   ├── annotate_normal.cpp
│   │   ├── annotation.cpp
│   │   ├── annotation_2d.cpp
│   │   ├── annotation_3d.cpp
│   │   ├── common.cpp
│   │   ├── common.h
│   │   └── module.cpp
│   ├── aqsis/
│   │   ├── CMakeLists.txt
│   │   └── engine.cpp
│   ├── array/
│   │   ├── CMakeLists.txt
│   │   ├── alternate_array_1d.cpp
│   │   ├── alternate_array_2d.cpp
│   │   ├── alternate_array_3d.cpp
│   │   ├── detail.h
│   │   ├── module.cpp
│   │   ├── rotate_array_1d.cpp
│   │   ├── rotate_array_2d.cpp
│   │   ├── rotate_array_3d.cpp
│   │   ├── translate_array_1d.cpp
│   │   ├── translate_array_2d.cpp
│   │   └── translate_array_3d.cpp
│   ├── bicubic_patch/
│   │   ├── CMakeLists.txt
│   │   ├── bicubic_to_poly.cpp
│   │   ├── module.cpp
│   │   └── newell_primitives.cpp
│   ├── bilinear_patch/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── poly_to_bilinear.cpp
│   ├── bitmap/
│   │   ├── CMakeLists.txt
│   │   ├── add.cpp
│   │   ├── checker.cpp
│   │   ├── color_monochrome.cpp
│   │   ├── gamma.cpp
│   │   ├── invert.cpp
│   │   ├── matte_colordiff.cpp
│   │   ├── matte_invert.cpp
│   │   ├── module.cpp
│   │   ├── multiply.cpp
│   │   ├── reader.cpp
│   │   ├── reference_image_2d.cpp
│   │   ├── reference_image_3d.cpp
│   │   ├── simple_modifier.h
│   │   ├── solid.cpp
│   │   ├── subtract.cpp
│   │   └── threshold.cpp
│   ├── blobby/
│   │   ├── CMakeLists.txt
│   │   ├── add.cpp
│   │   ├── detail.cpp
│   │   ├── detail.h
│   │   ├── divide.cpp
│   │   ├── edges_to_blobby.cpp
│   │   ├── ellipsoid.cpp
│   │   ├── maximum.cpp
│   │   ├── minimum.cpp
│   │   ├── module.cpp
│   │   ├── multiply.cpp
│   │   ├── negate.cpp
│   │   ├── points_to_blobby.cpp
│   │   ├── segment.cpp
│   │   └── subtract.cpp
│   ├── bundled_renderman_engines/
│   │   ├── CMakeLists.txt
│   │   ├── aqsis.cpp
│   │   └── module.cpp
│   ├── carve/
│   │   ├── CMakeLists.txt
│   │   ├── boolean.cpp
│   │   └── module.cpp
│   ├── cgal/
│   │   ├── CMakeLists.txt
│   │   ├── big_integer.h
│   │   ├── boolean.cpp
│   │   ├── cgal_simplifying_constructors.h
│   │   ├── conversion.h
│   │   ├── k3d_to_nef.h
│   │   └── module.cpp
│   ├── cloth/
│   │   ├── CMakeLists.txt
│   │   ├── cloth_solver.h
│   │   ├── d_Vec3f.h
│   │   ├── d_Vecf.h
│   │   ├── particle.h
│   │   └── simulation.cpp
│   ├── collada_io/
│   │   ├── CMakeLists.txt
│   │   ├── collada.cpp
│   │   ├── collada.h
│   │   ├── document_exporter.cpp
│   │   ├── document_importer.cpp
│   │   ├── int_elements.cpp
│   │   ├── int_elements.h
│   │   ├── integration.cpp
│   │   ├── integration.h
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── compiz/
│   │   ├── CMakeLists.txt
│   │   ├── compiz_check.cpp
│   │   └── module.cpp
│   ├── core/
│   │   ├── CMakeLists.txt
│   │   ├── axes.cpp
│   │   ├── camera.cpp
│   │   ├── module.cpp
│   │   ├── multi_material.cpp
│   │   └── null.cpp
│   ├── cuda/
│   │   ├── CMakeLists.txt
│   │   ├── FindCUDA.cmake
│   │   ├── cuda_bitmap_add.cpp
│   │   ├── cuda_bitmap_color_monochrome.cpp
│   │   ├── cuda_bitmap_gamma.cpp
│   │   ├── cuda_bitmap_invert.cpp
│   │   ├── cuda_bitmap_matte_colordiff.cpp
│   │   ├── cuda_bitmap_matte_invert.cpp
│   │   ├── cuda_bitmap_multiply.cpp
│   │   ├── cuda_bitmap_simple_modifier.h
│   │   ├── cuda_bitmap_subtract.cpp
│   │   ├── cuda_bitmap_threshold.cpp
│   │   ├── cuda_deformation_transform_points.cpp
│   │   ├── cuda_device_mesh.cpp
│   │   ├── cuda_device_mesh.h
│   │   ├── cuda_device_polyhedra.cpp
│   │   ├── cuda_device_polyhedra.h
│   │   ├── cuda_entry_points.cu
│   │   ├── cuda_entry_points.h
│   │   ├── cuda_kernels.cu
│   │   ├── cuda_mesh_cuda_to_k3d_converter.cpp
│   │   ├── cuda_mesh_k3d_to_cuda_converter.cpp
│   │   ├── cuda_mesh_poly_grid.cpp
│   │   ├── cuda_mesh_poly_grid_with_transform_points.cpp
│   │   ├── cuda_mesh_simple_deformation_modifier.cpp
│   │   ├── cuda_mesh_simple_deformation_modifier.h
│   │   ├── cuda_mesh_subdivide_edges.cpp
│   │   ├── cuda_mesh_topology_data.cpp
│   │   ├── cuda_mesh_topology_data.h
│   │   └── module.cpp
│   ├── deformation/
│   │   ├── CMakeLists.txt
│   │   ├── bend_points.cpp
│   │   ├── bulge_points.cpp
│   │   ├── center_points.cpp
│   │   ├── cylindrical_wave_points.cpp
│   │   ├── deformation_expression.cpp
│   │   ├── linear_point_noise.cpp
│   │   ├── linear_transformation_worker.h
│   │   ├── linear_wave_points.cpp
│   │   ├── mesh_modifier.h
│   │   ├── module.cpp
│   │   ├── morph_points.cpp
│   │   ├── rotate_points.cpp
│   │   ├── scale_points.cpp
│   │   ├── set_position.cpp
│   │   ├── shear_points.cpp
│   │   ├── smooth_points.cpp
│   │   ├── sphereize_points.cpp
│   │   ├── taper_points.cpp
│   │   ├── transform_points.cpp
│   │   ├── translate_points.cpp
│   │   ├── tweak_points.cpp
│   │   └── twist_points.cpp
│   ├── development/
│   │   ├── CMakeLists.txt
│   │   ├── glsl_painter.cpp
│   │   └── module.cpp
│   ├── double/
│   │   ├── CMakeLists.txt
│   │   ├── add.cpp
│   │   ├── divide.cpp
│   │   ├── double_to_string.cpp
│   │   ├── expression.cpp
│   │   ├── module.cpp
│   │   ├── modulo.cpp
│   │   ├── multiply.cpp
│   │   ├── sine.cpp
│   │   └── subtract.cpp
│   ├── euler_operations/
│   │   ├── CMakeLists.txt
│   │   ├── kill_edge_and_vertex.cpp
│   │   ├── kill_edge_make_loop.cpp
│   │   └── module.cpp
│   ├── external/
│   │   └── CMakeLists.txt
│   ├── file_magic/
│   │   ├── CMakeLists.txt
│   │   ├── mime_type_handler.cpp
│   │   └── module.cpp
│   ├── freetype2/
│   │   ├── CMakeLists.txt
│   │   ├── freetype.h
│   │   └── poly_text.cpp
│   ├── gio/
│   │   ├── CMakeLists.txt
│   │   ├── mime_type_handler.cpp
│   │   ├── module.cpp
│   │   └── uri_handler.cpp
│   ├── glx/
│   │   ├── CMakeLists.txt
│   │   ├── context_factory.cpp
│   │   └── module.cpp
│   ├── gmsh_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── gperftools/
│   │   ├── CMakeLists.txt
│   │   ├── gperftools.cpp
│   │   └── module.cpp
│   ├── graphviz/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_writer.cpp
│   │   ├── module.cpp
│   │   └── render_engine.cpp
│   ├── gts/
│   │   ├── CMakeLists.txt
│   │   ├── helpers.cpp
│   │   ├── helpers.h
│   │   ├── mesh_area.cpp
│   │   ├── mesh_volume.cpp
│   │   └── module.cpp
│   ├── gts_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_reader.cpp
│   │   └── module.cpp
│   ├── highlighting/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── rubber_band.cpp
│   ├── iges_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── imagemagick_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_importer.cpp
│   │   └── module.cpp
│   ├── indigo/
│   │   ├── CMakeLists.txt
│   │   ├── background.cpp
│   │   ├── diffuse_material.cpp
│   │   ├── light.h
│   │   ├── material.h
│   │   ├── module.cpp
│   │   ├── rectangle_light.cpp
│   │   ├── render_engine.cpp
│   │   ├── skylight.cpp
│   │   ├── spectrum.cpp
│   │   └── spectrum.h
│   ├── inotify/
│   │   ├── CMakeLists.txt
│   │   ├── file_change_notifier.cpp
│   │   ├── inotify-cxx.cpp
│   │   ├── inotify-cxx.h
│   │   └── module.cpp
│   ├── jpeg_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_importer.cpp
│   │   ├── bitmap_reader.cpp
│   │   ├── bitmap_writer.cpp
│   │   └── module.cpp
│   ├── k3d_io/
│   │   ├── CMakeLists.txt
│   │   ├── document_exporter.cpp
│   │   ├── document_importer.cpp
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── linear_curve/
│   │   ├── CMakeLists.txt
│   │   ├── knot_curve.cpp
│   │   ├── lissajous_curve.cpp
│   │   └── module.cpp
│   ├── lipsync/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── papagayo_lipsync_reader.cpp
│   ├── lsystem/
│   │   ├── CMakeLists.txt
│   │   └── l_parser.cpp
│   ├── luxrender/
│   │   ├── CMakeLists.txt
│   │   ├── bilinear_interpolation_texture.cpp
│   │   ├── carpaint_material.cpp
│   │   ├── color_texture.h
│   │   ├── color_texture_reference.cpp
│   │   ├── color_texture_reference.h
│   │   ├── distant_light.cpp
│   │   ├── environment_light.cpp
│   │   ├── glass_material.cpp
│   │   ├── glossy_material.cpp
│   │   ├── goniometric_light.cpp
│   │   ├── image_texture.cpp
│   │   ├── light.cpp
│   │   ├── light.h
│   │   ├── material.cpp
│   │   ├── material.h
│   │   ├── matte_material.cpp
│   │   ├── matte_translucent_material.cpp
│   │   ├── metal_material.cpp
│   │   ├── mirror_material.cpp
│   │   ├── mix_material.cpp
│   │   ├── module.cpp
│   │   ├── null_material.cpp
│   │   ├── point_light.cpp
│   │   ├── render_engine.cpp
│   │   ├── rough_glass_material.cpp
│   │   ├── scalar_image_texture.cpp
│   │   ├── scalar_texture.h
│   │   ├── scalar_texture_reference.cpp
│   │   ├── scalar_texture_reference.h
│   │   ├── shiny_metal_material.cpp
│   │   ├── sky_light.cpp
│   │   ├── sun_light.cpp
│   │   ├── texture.cpp
│   │   ├── texture.h
│   │   ├── texture2.cpp
│   │   ├── texture2.h
│   │   ├── utility.cpp
│   │   └── utility.h
│   ├── matrix/
│   │   ├── CMakeLists.txt
│   │   ├── frozen_matrix.cpp
│   │   ├── inverse.cpp
│   │   ├── look.cpp
│   │   ├── module.cpp
│   │   ├── orientation.cpp
│   │   ├── position.cpp
│   │   ├── scale.cpp
│   │   ├── snap.cpp
│   │   ├── snap_test.py
│   │   └── view.cpp
│   ├── md2_io/
│   │   ├── CMakeLists.txt
│   │   ├── md2.cpp
│   │   ├── md2.h
│   │   ├── mesh_reader.cpp
│   │   └── module.cpp
│   ├── mesh/
│   │   ├── CMakeLists.txt
│   │   ├── array_1d.cpp
│   │   ├── array_2d.cpp
│   │   ├── array_3d.cpp
│   │   ├── merge_mesh.cpp
│   │   ├── module.cpp
│   │   ├── points_centroid.cpp
│   │   └── weld_points.cpp
│   ├── mesh_attributes/
│   │   ├── CMakeLists.txt
│   │   ├── calculate_normals.cpp
│   │   ├── module.cpp
│   │   ├── named_text_array.cpp
│   │   ├── set_color.cpp
│   │   └── set_material.cpp
│   ├── mesh_instance/
│   │   ├── CMakeLists.txt
│   │   ├── frozen_mesh.cpp
│   │   ├── mesh_instance.cpp
│   │   └── module.cpp
│   ├── ngui/
│   │   ├── CMakeLists.txt
│   │   ├── file_notification.cpp
│   │   ├── file_notification.h
│   │   ├── splash_box.cpp
│   │   ├── splash_box.h
│   │   └── user_interface.cpp
│   ├── ngui_about/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_animation_timeline_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_assign_hotkeys/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_atk_event_recorder/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_knot_vector_control/
│   │   ├── CMakeLists.txt
│   │   └── control.cpp
│   ├── ngui_learning/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_log/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_material_manager_panel/
│   │   ├── CMakeLists.txt
│   │   ├── ContentPanel.cpp
│   │   ├── ContentPanel.h
│   │   ├── DocumentUtilities.cpp
│   │   ├── DocumentUtilities.h
│   │   ├── GroupContentPanel.cpp
│   │   ├── GroupContentPanel.h
│   │   ├── MaterialContentPanel.cpp
│   │   ├── MaterialContentPanel.h
│   │   ├── MaterialGroup.cpp
│   │   ├── MaterialGroup.h
│   │   ├── MaterialObj.cpp
│   │   ├── MaterialObj.h
│   │   ├── PreviewCube.cpp
│   │   ├── PreviewCube.h
│   │   ├── PreviewObj.cpp
│   │   ├── PreviewObj.h
│   │   ├── PreviewSphere.cpp
│   │   ├── PreviewSphere.h
│   │   ├── PreviewTorus.cpp
│   │   ├── PreviewTorus.h
│   │   ├── RenderedImage.cpp
│   │   ├── RenderedImage.h
│   │   └── panel.cpp
│   ├── ngui_mesh_control/
│   │   ├── CMakeLists.txt
│   │   └── control.cpp
│   ├── ngui_morph_points_page/
│   │   ├── CMakeLists.txt
│   │   └── page.cpp
│   ├── ngui_node_list_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_node_properties_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_opengl_dialog/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_parent_tool/
│   │   ├── CMakeLists.txt
│   │   └── tool.cpp
│   ├── ngui_pipeline_panel/
│   │   ├── CMakeLists.txt
│   │   ├── document_to_graph.cpp
│   │   ├── document_to_graph.h
│   │   ├── edge_indices.cpp
│   │   ├── edge_indices.h
│   │   ├── extract_tree.cpp
│   │   ├── extract_tree.h
│   │   ├── graph_modifier.h
│   │   ├── graph_source.h
│   │   ├── panel.cpp
│   │   ├── tree_layout.cpp
│   │   └── tree_layout.h
│   ├── ngui_pipeline_profiler_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_python_shell/
│   │   ├── CMakeLists.txt
│   │   ├── completion.py
│   │   └── dialog.cpp
│   ├── ngui_rectangle_control/
│   │   ├── CMakeLists.txt
│   │   └── control.cpp
│   ├── ngui_render_region_tool/
│   │   ├── CMakeLists.txt
│   │   └── tool.cpp
│   ├── ngui_selection_control/
│   │   ├── CMakeLists.txt
│   │   └── control.cpp
│   ├── ngui_snap_tool/
│   │   ├── CMakeLists.txt
│   │   ├── snap_tool_detail.cpp
│   │   ├── snap_tool_detail.h
│   │   └── tool.cpp
│   ├── ngui_space_navigator/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_text_editor/
│   │   ├── CMakeLists.txt
│   │   ├── config.h.in
│   │   └── dialog.cpp
│   ├── ngui_timeline_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_tool_properties_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_toolbar_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_undo_tree_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_uv_editor_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── nui/
│   │   ├── CMakeLists.txt
│   │   └── user_interface.cpp
│   ├── nurbs/
│   │   ├── CMakeLists.txt
│   │   ├── add_trim_curve.cpp
│   │   ├── close_curve.cpp
│   │   ├── connect_curves.cpp
│   │   ├── create_cap.cpp
│   │   ├── curve_degree_elevation.cpp
│   │   ├── curve_traversal.cpp
│   │   ├── edit_knot_vector.cpp
│   │   ├── extract_curve_point.cpp
│   │   ├── extract_patch_curve.cpp
│   │   ├── extract_trim_curves.cpp
│   │   ├── extrude_curve.cpp
│   │   ├── extrude_patch.cpp
│   │   ├── flip_curve.cpp
│   │   ├── insert_knot.cpp
│   │   ├── merge_connected_curves.cpp
│   │   ├── merge_curve_knot_vectors.cpp
│   │   ├── module.cpp
│   │   ├── nurbs_curves.cpp
│   │   ├── nurbs_curves.h
│   │   ├── nurbs_patches.cpp
│   │   ├── nurbs_patches.h
│   │   ├── patch_degree_elevation.cpp
│   │   ├── patch_insert_knot.cpp
│   │   ├── polygonize_curve.cpp
│   │   ├── polygonize_patch.cpp
│   │   ├── revolve_curve.cpp
│   │   ├── ruled_surface.cpp
│   │   ├── set_weight.cpp
│   │   ├── skinned_surface.cpp
│   │   ├── split_curve.cpp
│   │   ├── split_patch.cpp
│   │   ├── sweep_surface.cpp
│   │   ├── utility.cpp
│   │   └── utility.h
│   ├── nurbs_sources/
│   │   ├── CMakeLists.txt
│   │   ├── circle.cpp
│   │   ├── cone.cpp
│   │   ├── curve.cpp
│   │   ├── cylinder.cpp
│   │   ├── disk.cpp
│   │   ├── grid.cpp
│   │   ├── hyperboloid.cpp
│   │   ├── module.cpp
│   │   ├── paraboloid.cpp
│   │   ├── polygon.cpp
│   │   ├── sphere.cpp
│   │   └── torus.cpp
│   ├── obj_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   ├── module.cpp
│   │   ├── obj_parser.cpp
│   │   ├── obj_parser.h
│   │   └── obj_specification.txt
│   ├── ode/
│   │   ├── CMakeLists.txt
│   │   ├── isimulation.h
│   │   ├── module.cpp
│   │   ├── node.cpp
│   │   └── simulation.cpp
│   ├── ogre_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── openexr_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_importer.cpp
│   │   └── module.cpp
│   ├── opengl/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   ├── render_engine.cpp
│   │   └── version_check.cpp
│   ├── osmesa/
│   │   ├── CMakeLists.txt
│   │   ├── context_factory.cpp
│   │   └── module.cpp
│   ├── osx/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── uri_handler.cpp
│   ├── particle/
│   │   ├── CMakeLists.txt
│   │   ├── make_particles.cpp
│   │   └── module.cpp
│   ├── pdiff/
│   │   ├── CMakeLists.txt
│   │   ├── CompareArgs.cpp
│   │   ├── CompareArgs.h
│   │   ├── LPyramid.cpp
│   │   ├── LPyramid.h
│   │   ├── Metric.cpp
│   │   ├── Metric.h
│   │   ├── README.txt
│   │   ├── RGBAImage.cpp
│   │   ├── RGBAImage.h
│   │   ├── gpl.txt
│   │   ├── module.cpp
│   │   └── perceptual_difference.cpp
│   ├── pixie/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── raytrace_map.cpp
│   ├── plot/
│   │   ├── CMakeLists.txt
│   │   ├── least_squares_plot.cpp
│   │   ├── module.cpp
│   │   └── surface_plot.cpp
│   ├── ply_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── png_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_importer.cpp
│   │   ├── bitmap_reader.cpp
│   │   ├── bitmap_writer.cpp
│   │   └── module.cpp
│   ├── polyhedron/
│   │   ├── CMakeLists.txt
│   │   ├── bevel_faces.cpp
│   │   ├── bevel_points.cpp
│   │   ├── bridge_edges.cpp
│   │   ├── bridge_faces.cpp
│   │   ├── cap_holes.cpp
│   │   ├── collapse_edges.cpp
│   │   ├── collapse_faces.cpp
│   │   ├── collapse_points.cpp
│   │   ├── connect_vertices.cpp
│   │   ├── delete_components.cpp
│   │   ├── dissolve_faces.cpp
│   │   ├── extrude_faces.cpp
│   │   ├── fillet_edges.cpp
│   │   ├── flip_orientation.cpp
│   │   ├── make_hole.cpp
│   │   ├── make_sds.cpp
│   │   ├── merge_collinear_edges.cpp
│   │   ├── merge_coplanar_faces.cpp
│   │   ├── merge_polyhedra.cpp
│   │   ├── module.cpp
│   │   ├── move_first_edge.cpp
│   │   ├── reshape_face_to_circle.cpp
│   │   ├── sds_corner.cpp
│   │   ├── sds_crease.cpp
│   │   ├── sds_hole.cpp
│   │   ├── selected_faces_to_polyhedron.cpp
│   │   ├── subdivide_edges.cpp
│   │   ├── subdivide_faces.cpp
│   │   └── triangulate_faces.cpp
│   ├── polyhedron_sources/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   ├── poly_cone.cpp
│   │   ├── poly_cube.cpp
│   │   ├── poly_cushion.cpp
│   │   ├── poly_cylinder.cpp
│   │   ├── poly_disk.cpp
│   │   ├── poly_grid.cpp
│   │   ├── poly_icosahedron.cpp
│   │   ├── poly_sphere.cpp
│   │   └── poly_torus.cpp
│   ├── python/
│   │   ├── CMakeLists.txt
│   │   └── engine.cpp
│   ├── pyui/
│   │   ├── CMakeLists.txt
│   │   └── user_interface.cpp
│   ├── qslim/
│   │   ├── CMakeLists.txt
│   │   ├── MxBlockModel.cpp
│   │   ├── MxBlockModel.h
│   │   ├── MxHeap.cpp
│   │   ├── MxHeap.h
│   │   ├── MxMath.cpp
│   │   ├── MxMath.h
│   │   ├── MxMesh.h
│   │   ├── MxQMetric3.cpp
│   │   ├── MxQMetric3.h
│   │   ├── MxQSlim.cpp
│   │   ├── MxQSlim.h
│   │   ├── MxStdModel.cpp
│   │   ├── MxStdModel.h
│   │   ├── MxStdSlim.cpp
│   │   ├── MxStdSlim.h
│   │   ├── MxTriangle.cpp
│   │   ├── MxTriangle.h
│   │   └── qslim.cpp
│   ├── qtui/
│   │   ├── CMakeLists.txt
│   │   ├── config.h.in
│   │   ├── extrude_faces.ui
│   │   ├── main_window.cpp
│   │   ├── main_window.h
│   │   ├── main_window.ui
│   │   ├── scene.cpp
│   │   ├── scene.h
│   │   ├── stylesheet.css
│   │   ├── user_interface.cpp
│   │   ├── user_interface.h
│   │   ├── user_interface.qrc
│   │   ├── viewport.cpp
│   │   └── viewport.h
│   ├── qtui_about_dialog/
│   │   ├── CMakeLists.txt
│   │   ├── dialog.cpp
│   │   ├── dialog.qrc
│   │   └── dialog.ui
│   ├── qtui_aqsis/
│   │   ├── CMakeLists.txt
│   │   ├── dialog.cpp
│   │   ├── dialog.h
│   │   ├── dialog.ui
│   │   ├── thread.cpp
│   │   └── thread.h
│   ├── qtui_aqsis_mode/
│   │   ├── CMakeLists.txt
│   │   ├── mode.cpp
│   │   ├── mode.h
│   │   ├── thread.cpp
│   │   └── thread.h
│   ├── qtui_boolean/
│   │   ├── CMakeLists.txt
│   │   ├── widget.cpp
│   │   └── widget.h
│   ├── qtui_color/
│   │   ├── CMakeLists.txt
│   │   ├── widget.cpp
│   │   └── widget.h
│   ├── qtui_default_mode/
│   │   ├── CMakeLists.txt
│   │   └── mode.cpp
│   ├── qtui_javascript_shell/
│   │   ├── CMakeLists.txt
│   │   ├── shell.cpp
│   │   ├── shell.h
│   │   └── shell.ui
│   ├── qtui_log/
│   │   ├── CMakeLists.txt
│   │   ├── window.cpp
│   │   ├── window.h
│   │   └── window.ui
│   ├── qtui_matrix/
│   │   ├── CMakeLists.txt
│   │   ├── dialog.cpp
│   │   ├── dialog.h
│   │   ├── dialog.ui
│   │   ├── widget.cpp
│   │   ├── widget.h
│   │   └── widget.ui
│   ├── qtui_move_mode/
│   │   ├── CMakeLists.txt
│   │   ├── mode.cpp
│   │   ├── mode.h
│   │   ├── module.cpp
│   │   ├── move_manipulators.cpp
│   │   └── move_manipulators.h
│   ├── qtui_node_list/
│   │   ├── CMakeLists.txt
│   │   ├── panel.cpp
│   │   ├── panel.h
│   │   └── panel.ui
│   ├── qtui_node_properties/
│   │   ├── CMakeLists.txt
│   │   ├── panel.cpp
│   │   ├── panel.h
│   │   └── panel.ui
│   ├── qtui_opengl/
│   │   ├── CMakeLists.txt
│   │   ├── window.cpp
│   │   ├── window.h
│   │   └── window.ui
│   ├── qtui_path/
│   │   ├── CMakeLists.txt
│   │   ├── widget.cpp
│   │   ├── widget.h
│   │   └── widget.ui
│   ├── qtui_programmable_mode/
│   │   ├── CMakeLists.txt
│   │   ├── default_script.js
│   │   ├── mode.cpp
│   │   └── mode.h
│   ├── qtui_string/
│   │   ├── CMakeLists.txt
│   │   ├── widget.cpp
│   │   └── widget.h
│   ├── qtui_text_editor/
│   │   ├── CMakeLists.txt
│   │   ├── window.cpp
│   │   ├── window.h
│   │   └── window.ui
│   ├── quadrics/
│   │   ├── CMakeLists.txt
│   │   ├── cone.cpp
│   │   ├── cylinder.cpp
│   │   ├── detail.h
│   │   ├── disk.cpp
│   │   ├── hyperboloid.cpp
│   │   ├── logo.cpp
│   │   ├── module.cpp
│   │   ├── paraboloid.cpp
│   │   ├── sphere.cpp
│   │   ├── teapot.cpp
│   │   └── torus.cpp
│   ├── reference_opengl_painters/
│   │   ├── CMakeLists.txt
│   │   ├── bezier_triangle_patch_painter.cpp
│   │   ├── bicubic_patch_painter.cpp
│   │   ├── bilinear_patch_painter.cpp
│   │   ├── blobby_point_painter.cpp
│   │   ├── color_face_painter.cpp
│   │   ├── colored_selection_painter_gl.h
│   │   ├── cone_painter.cpp
│   │   ├── cubic_curve_painter.cpp
│   │   ├── cylinder_painter.cpp
│   │   ├── disk_painter.cpp
│   │   ├── edge_numbering_painter.cpp
│   │   ├── edge_painter.cpp
│   │   ├── face_normal_painter.cpp
│   │   ├── face_numbering_painter.cpp
│   │   ├── face_orientation_painter.cpp
│   │   ├── face_painter.cpp
│   │   ├── half_edge_painter.cpp
│   │   ├── hyperboloid_painter.cpp
│   │   ├── linear_curve_painter.cpp
│   │   ├── module.cpp
│   │   ├── multi_painter.cpp
│   │   ├── normal_array_painter.cpp
│   │   ├── nurbs_curve_numbering_painter.cpp
│   │   ├── nurbs_curve_painter.cpp
│   │   ├── nurbs_patch_numbering_painter.cpp
│   │   ├── nurbs_patch_painter.cpp
│   │   ├── paraboloid_painter.cpp
│   │   ├── point_numbering_painter.cpp
│   │   ├── point_painter.cpp
│   │   ├── sphere_painter.cpp
│   │   ├── teapot_painter.cpp
│   │   ├── torus_painter.cpp
│   │   ├── utility.cpp
│   │   ├── utility.h
│   │   ├── varying_data_painter.cpp
│   │   └── vertex_data_painter.cpp
│   ├── release/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── welcome.cpp
│   ├── renderman/
│   │   ├── CMakeLists.txt
│   │   ├── area_light.cpp
│   │   ├── array_1d.cpp
│   │   ├── array_2d.cpp
│   │   ├── array_3d.cpp
│   │   ├── background_plane.cpp
│   │   ├── csg_operator.cpp
│   │   ├── csg_solid.cpp
│   │   ├── delayed_read_archive.cpp
│   │   ├── direct_texture_map.cpp
│   │   ├── lat_long_environment_map.cpp
│   │   ├── light.cpp
│   │   ├── material.cpp
│   │   ├── module.cpp
│   │   ├── read_archive.cpp
│   │   ├── render_engine.cpp
│   │   ├── renderman_script.cpp
│   │   ├── shaders.cpp
│   │   ├── shadow_map.cpp
│   │   └── texture_map.cpp
│   ├── renderman_engines/
│   │   ├── CMakeLists.txt
│   │   ├── air.cpp
│   │   ├── aqsis.cpp
│   │   ├── bmrt.cpp
│   │   ├── delight.cpp
│   │   ├── module.cpp
│   │   ├── netprman.cpp
│   │   ├── pixie.cpp
│   │   ├── povman.cpp
│   │   ├── prman.cpp
│   │   └── rdc.cpp
│   ├── renderman_painters/
│   │   ├── CMakeLists.txt
│   │   ├── array_helpers.cpp
│   │   ├── array_helpers.h
│   │   ├── bicubic_patch_painter.cpp
│   │   ├── bilinear_patch_painter.cpp
│   │   ├── blobby_painter.cpp
│   │   ├── cone_painter.cpp
│   │   ├── cubic_curve_painter.cpp
│   │   ├── cylinder_painter.cpp
│   │   ├── disk_painter.cpp
│   │   ├── hyperboloid_painter.cpp
│   │   ├── linear_curve_painter.cpp
│   │   ├── module.cpp
│   │   ├── multi_painter.cpp
│   │   ├── nurbs_patch_painter.cpp
│   │   ├── paraboloid_painter.cpp
│   │   ├── particle_painter.cpp
│   │   ├── polyhedron_painter.cpp
│   │   ├── scripted_painter.cpp
│   │   ├── sphere_painter.cpp
│   │   ├── subdivision_surface_painter.cpp
│   │   ├── teapot_painter.cpp
│   │   └── torus_painter.cpp
│   ├── scripted_plugins/
│   │   ├── CMakeLists.txt
│   │   └── module.cpp
│   ├── scripting/
│   │   ├── CMakeLists.txt
│   │   ├── action_script.cpp
│   │   ├── action_script.py
│   │   ├── bitmap_modifier_script.cpp
│   │   ├── bitmap_modifier_script.py
│   │   ├── bitmap_source_script.cpp
│   │   ├── bitmap_source_script.py
│   │   ├── color_source_script.cpp
│   │   ├── color_source_script.py
│   │   ├── double_source_script.cpp
│   │   ├── double_source_script.py
│   │   ├── int32_source_script.cpp
│   │   ├── int32_source_script.py
│   │   ├── matrix_modifier_script.cpp
│   │   ├── matrix_modifier_script.py
│   │   ├── matrix_source_script.cpp
│   │   ├── matrix_source_script.py
│   │   ├── mesh_modifier_script.cpp
│   │   ├── mesh_modifier_script.py
│   │   ├── mesh_source_script.cpp
│   │   ├── mesh_source_script.py
│   │   ├── meta_object_script.cpp
│   │   ├── meta_object_script.py
│   │   ├── module.cpp
│   │   ├── null_output_script.cpp
│   │   ├── null_output_script.py
│   │   ├── opengl_painter_script.cpp
│   │   ├── opengl_painter_script.py
│   │   ├── opengl_renderable_script.cpp
│   │   ├── opengl_renderable_script.py
│   │   ├── render_engine_script.cpp
│   │   ├── render_engine_script.py
│   │   ├── string_source_script.cpp
│   │   ├── string_source_script.py
│   │   ├── vector3_source_script.cpp
│   │   └── vector3_source_script.py
│   ├── selection/
│   │   ├── CMakeLists.txt
│   │   ├── face_to_point_selections.cpp
│   │   ├── grow_selection.cpp
│   │   ├── make_curve_selection.cpp
│   │   ├── make_edge_selection.cpp
│   │   ├── make_face_selection.cpp
│   │   ├── make_patch_selection.cpp
│   │   ├── make_point_selection.cpp
│   │   ├── mesh_selection.cpp
│   │   ├── module.cpp
│   │   ├── node_selection.cpp
│   │   ├── select_bicubic_patch_by_number.cpp
│   │   ├── select_bilinear_patch_by_number.cpp
│   │   ├── select_boundary_edges.cpp
│   │   ├── select_clockwise.cpp
│   │   ├── select_companion.cpp
│   │   ├── select_connected_components.cpp
│   │   ├── select_cube.cpp
│   │   ├── select_cubic_curve_by_number.cpp
│   │   ├── select_degenerate_faces.cpp
│   │   ├── select_edge_by_number.cpp
│   │   ├── select_edgeloops.cpp
│   │   ├── select_edgerings.cpp
│   │   ├── select_face_by_number.cpp
│   │   ├── select_linear_curve_by_number.cpp
│   │   ├── select_n_sided.cpp
│   │   ├── select_nurbs_curve_by_number.cpp
│   │   ├── select_nurbs_patch_by_number.cpp
│   │   ├── select_point_by_number.cpp
│   │   └── select_points_above_number.cpp
│   ├── solar/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   ├── position.cpp
│   │   └── solpos/
│   │       ├── CMakeLists.txt
│   │       ├── aboutsolpos.html
│   │       ├── solpos.cpp
│   │       └── solpos.h
│   ├── stl_io/
│   │   ├── CMakeLists.txt
│   │   ├── binary_stl.h
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── subdivision_surface/
│   │   ├── CMakeLists.txt
│   │   ├── catmull_clark_subdivider.cpp
│   │   └── module.cpp
│   ├── svg_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_reader.cpp
│   │   └── module.cpp
│   ├── test/
│   │   ├── CMakeLists.txt
│   │   ├── add_color_attribute.cpp
│   │   ├── add_color_attributes.cpp
│   │   ├── add_index_attributes.cpp
│   │   ├── add_point_attributes.cpp
│   │   ├── mesh_to_stdout.cpp
│   │   ├── module.cpp
│   │   ├── pipeline_profiler.cpp
│   │   ├── selection_to_stdout.cpp
│   │   ├── string_to_stdout.cpp
│   │   └── valid_meshes.cpp
│   ├── tiff_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_exporter.cpp
│   │   ├── bitmap_importer.cpp
│   │   ├── bitmap_reader.cpp
│   │   ├── bitmap_writer.cpp
│   │   └── module.cpp
│   ├── time/
│   │   ├── CMakeLists.txt
│   │   ├── manual_time_source.cpp
│   │   ├── module.cpp
│   │   ├── real_time_source.cpp
│   │   ├── time_source.cpp
│   │   └── time_to_string.cpp
│   ├── uniform_polyhedron/
│   │   ├── CMakeLists.txt
│   │   ├── data/
│   │   │   ├── augmented_dodecahedron.xml
│   │   │   ├── augmented_hexagonal_prism.xml
│   │   │   ├── augmented_pentagonal_prism.xml
│   │   │   ├── augmented_sphenocorona.xml
│   │   │   ├── augmented_triangular_prism.xml
│   │   │   ├── augmented_tridiminished_icosahedron.xml
│   │   │   ├── augmented_truncated_cube.xml
│   │   │   ├── augmented_truncated_dodecahedron.xml
│   │   │   ├── augmented_truncated_tetrahedron.xml
│   │   │   ├── biaugmented_pentagonal_prism.xml
│   │   │   ├── biaugmented_triangular_prism.xml
│   │   │   ├── biaugmented_truncated_cube.xml
│   │   │   ├── bigyrate_diminished_rhombicosidodecahedron.xml
│   │   │   ├── bilunabirotunda.xml
│   │   │   ├── cube.xml
│   │   │   ├── decagonal_antiprism.xml
│   │   │   ├── decagonal_prism.xml
│   │   │   ├── diminished_rhombicosidodecahedron.xml
│   │   │   ├── disphenocingulum.xml
│   │   │   ├── dodecadodecahedron.xml
│   │   │   ├── dodecahedron.xml
│   │   │   ├── echidnahedron.xml
│   │   │   ├── elongated_pentagonal_cupola.xml
│   │   │   ├── elongated_pentagonal_dipyramid.xml
│   │   │   ├── elongated_pentagonal_gyrobicupola.xml
│   │   │   ├── elongated_pentagonal_gyrobirotunda.xml
│   │   │   ├── elongated_pentagonal_gyrocupolarotunda.xml
│   │   │   ├── elongated_pentagonal_orthobicupola.xml
│   │   │   ├── elongated_pentagonal_orthobirotunda.xml
│   │   │   ├── elongated_pentagonal_orthocupolarotunda.xml
│   │   │   ├── elongated_pentagonal_pyramid.xml
│   │   │   ├── elongated_pentagonal_rotunds.xml
│   │   │   ├── elongated_square_cupola.xml
│   │   │   ├── elongated_square_dipyramid.xml
│   │   │   ├── elongated_square_gyrobicupola.xml
│   │   │   ├── elongated_square_pyramid.xml
│   │   │   ├── elongated_triangular_cupola.xml
│   │   │   ├── elongated_triangular_dipyramid.xml
│   │   │   ├── elongated_triangular_gyrobicupola.xml
│   │   │   ├── elongated_triangular_orthobicupola.xml
│   │   │   ├── elongated_triangular_pyramid.xml
│   │   │   ├── great_dodecahedron.xml
│   │   │   ├── great_icosahedron.xml
│   │   │   ├── great_stellated_dodecahedron.xml
│   │   │   ├── gyrate_bidiminished_rhombicosidodecahedron.xml
│   │   │   ├── gyrate_rhombicosidodecahedron.xml
│   │   │   ├── gyrobifastigium.xml
│   │   │   ├── gyroelongated_pentagonal_bicupola.xml
│   │   │   ├── gyroelongated_pentagonal_birotunda.xml
│   │   │   ├── gyroelongated_pentagonal_cupola.xml
│   │   │   ├── gyroelongated_pentagonal_cupolarotunda.xml
│   │   │   ├── gyroelongated_pentagonal_pyramid.xml
│   │   │   ├── gyroelongated_pentagonal_rotunda.xml
│   │   │   ├── gyroelongated_square_bicupola.xml
│   │   │   ├── gyroelongated_square_cupola.xml
│   │   │   ├── gyroelongated_square_dipyramid.xml
│   │   │   ├── gyroelongated_square_pyramid.xml
│   │   │   ├── gyroelongated_triangular_bicupola.xml
│   │   │   ├── gyroelongated_triangular_cupola.xml
│   │   │   ├── hebesphenomegacorona.xml
│   │   │   ├── hexagonal_antiprism.xml
│   │   │   ├── hexagonal_prism.xml
│   │   │   ├── hexakis_icosahedron.xml
│   │   │   ├── hexakis_octahedron.xml
│   │   │   ├── icosahedron.xml
│   │   │   ├── metabiaugmented_dodecahedron.xml
│   │   │   ├── metabiaugmented_hexagonal_prism.xml
│   │   │   ├── metabiaugmented_truncated_dodecahedron.xml
│   │   │   ├── metabidiminished_icosahedron.xml
│   │   │   ├── metabidiminished_rhombicosidodecahedron.xml
│   │   │   ├── metabigyrate_rhombicosidodecahedron.xml
│   │   │   ├── metagyrate_diminished_rhombicosidodecahedron.xml
│   │   │   ├── octagonal_antiprism.xml
│   │   │   ├── octagonal_prism.xml
│   │   │   ├── octahedron.xml
│   │   │   ├── octahemioctahedron.xml
│   │   │   ├── parabiaugmented_dodecahedron.xml
│   │   │   ├── parabiaugmented_hexagonal_prism.xml
│   │   │   ├── parabiaugmented_truncated_dodecahedron.xml
│   │   │   ├── parabidiminished_rhombicosidodecahedron.xml
│   │   │   ├── parabigyrate_rhombicosidodecahedron.xml
│   │   │   ├── paragyrate_diminished_rhombicosidodecahedron.xml
│   │   │   ├── pentagonal_antiprism.xml
│   │   │   ├── pentagonal_cupola.xml
│   │   │   ├── pentagonal_dipyramid.xml
│   │   │   ├── pentagonal_gyrobicupola.xml
│   │   │   ├── pentagonal_gyrocupolarotunda.xml
│   │   │   ├── pentagonal_hexecontahedron.xml
│   │   │   ├── pentagonal_icositetrahedron.xml
│   │   │   ├── pentagonal_orthobicupola.xml
│   │   │   ├── pentagonal_orthobirotunda.xml
│   │   │   ├── pentagonal_orthocupolarontunda.xml
│   │   │   ├── pentagonal_prism.xml
│   │   │   ├── pentagonal_pyramid.xml
│   │   │   ├── pentagonal_rotunda.xml
│   │   │   ├── pentakis_dodecahedron.xml
│   │   │   ├── polyhedra.txt
│   │   │   ├── rhombic_dodecahedron.xml
│   │   │   ├── rhombic_triacontahedron.xml
│   │   │   ├── small_ditrigonal_icosidodecahedron.xml
│   │   │   ├── small_stellated_dodecahedron.xml
│   │   │   ├── snub_disphenoid.xml
│   │   │   ├── snub_square_antiprism.xml
│   │   │   ├── sphenocorona.xml
│   │   │   ├── sphenomegacorona.xml
│   │   │   ├── square_antiprism.xml
│   │   │   ├── square_cupola.xml
│   │   │   ├── square_gyrobicupola.xml
│   │   │   ├── square_orthobicupola.xml
│   │   │   ├── square_pyramid.xml
│   │   │   ├── tetrahedron.xml
│   │   │   ├── tetrahemihexahedron.xml
│   │   │   ├── tetrakis_hexahedron.xml
│   │   │   ├── trapezoidal_hexecontahedron.xml
│   │   │   ├── trapezoidal_icositetrahedron.xml
│   │   │   ├── triakis_icosahedron.xml
│   │   │   ├── triakis_octahedron.xml
│   │   │   ├── triangular_cupola.xml
│   │   │   ├── triangular_dipyramid.xml
│   │   │   ├── triangular_hebesphenorotunda.xml
│   │   │   ├── triangular_orthobicupola.xml
│   │   │   ├── triangular_prism.xml
│   │   │   ├── triaugmented_dodecahedron.xml
│   │   │   ├── triaugmented_hexagonal_prism.xml
│   │   │   ├── triaugmented_triangular_prism.xml
│   │   │   ├── triaugmented_truncated_dodecahedron.xml
│   │   │   ├── tridiminished_icosahedron.xml
│   │   │   ├── tridiminished_rhombicosidodecahedron.xml
│   │   │   ├── trigyrate_rhombicosidodecahedron.xml
│   │   │   └── vacuum.py
│   │   ├── module.cpp
│   │   └── uniform_polyhedron.cpp
│   ├── virtual_offscreen/
│   │   ├── CMakeLists.txt
│   │   ├── camera_to_bitmap.cpp
│   │   └── module.cpp
│   ├── virtual_opengl_painters/
│   │   ├── CMakeLists.txt
│   │   ├── edge_painter.cpp
│   │   ├── face_painter.cpp
│   │   ├── module.cpp
│   │   ├── point_painter.cpp
│   │   ├── sds_edge_painter.cpp
│   │   ├── sds_face_painter.cpp
│   │   └── sds_point_painter.cpp
│   ├── wgl/
│   │   ├── CMakeLists.txt
│   │   ├── camera_to_bitmap.cpp
│   │   └── module.cpp
│   ├── windows/
│   │   ├── CMakeLists.txt
│   │   ├── disable_desktop_composition.cpp
│   │   ├── module.cpp
│   │   └── uri_handler.cpp
│   ├── xtrackcad/
│   │   ├── CMakeLists.txt
│   │   ├── document_importer.cpp
│   │   └── module.cpp
│   └── yafray/
│       ├── CMakeLists.txt
│       ├── area_light.cpp
│       ├── global_photon_light.cpp
│       ├── hemi_light.cpp
│       ├── lights.h
│       ├── material.cpp
│       ├── module.cpp
│       ├── photon_light.cpp
│       ├── point_light.cpp
│       ├── render_engine.cpp
│       ├── soft_light.cpp
│       ├── spot_light.cpp
│       └── sun_light.cpp
├── po/
│   ├── CMakeLists.txt
│   └── chef.po
├── renderframe/
│   ├── CMakeLists.txt
│   └── main.cpp
├── renderjob/
│   ├── CMakeLists.txt
│   └── main.cpp
├── resource-compiler/
│   ├── CMakeLists.txt
│   └── main.cpp
├── share/
│   ├── CMakeLists.txt
│   ├── k3d/
│   │   ├── CMakeLists.txt
│   │   ├── aspect_ratios.k3d
│   │   ├── documents/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── animation/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── arc_length.k3d
│   │   │   │   ├── digital_clock.k3d
│   │   │   │   └── euler_angles.k3d
│   │   │   ├── index.k3d
│   │   │   └── logo.k3d
│   │   ├── fonts/
│   │   │   └── CMakeLists.txt
│   │   ├── geometry/
│   │   │   ├── CMakeLists.txt
│   │   │   └── knot.obj
│   │   ├── guide/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── content/
│   │   │   │   ├── building_plugins.txt
│   │   │   │   ├── debugging.txt
│   │   │   │   ├── guide-docinfo.xml.in
│   │   │   │   ├── guide.txt.in
│   │   │   │   ├── importing_exporting.txt
│   │   │   │   ├── logging.txt
│   │   │   │   ├── luxrender.txt
│   │   │   │   ├── on_demand_modules.txt
│   │   │   │   ├── pipeline.txt
│   │   │   │   ├── pipeline_hints.txt
│   │   │   │   ├── plugin_design.txt
│   │   │   │   ├── plugins.py.in
│   │   │   │   ├── render_models.txt
│   │   │   │   ├── resources.txt
│   │   │   │   ├── scripting.txt
│   │   │   │   ├── time.txt
│   │   │   │   └── wiki2asciidoc.py
│   │   │   └── qt/
│   │   │       ├── about.txt.in
│   │   │       ├── guide.qhcp.in
│   │   │       └── guide.qhp.in
│   │   ├── icons/
│   │   │   ├── CMakeLists.txt
│   │   │   └── k3d.icns
│   │   ├── logo/
│   │   │   └── CMakeLists.txt
│   │   ├── lsystem/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── abop-2d-form.ls
│   │   │   ├── abop-block-form.ls
│   │   │   ├── abop-bush.ls
│   │   │   ├── abop-compound-leave-3d.ls
│   │   │   ├── abop-compound-leave.ls
│   │   │   ├── abop-cordate-leave.ls
│   │   │   ├── abop-dragon-curves.ls
│   │   │   ├── abop-fractal.ls
│   │   │   ├── abop-lychnis-structure.ls
│   │   │   ├── abop-maple-like-leave.ls
│   │   │   ├── abop-monopodial-tree.ls
│   │   │   ├── abop-monopodial-tree2.ls
│   │   │   ├── abop-nested-polygon-leaves.ls
│   │   │   ├── abop-plant.ls
│   │   │   ├── abop-ternary-tree.ls
│   │   │   ├── airhorse.ls
│   │   │   ├── axis.ls
│   │   │   ├── best-tree.ls
│   │   │   ├── cees-3dartist.ls
│   │   │   ├── cees-crystal-with-leaves.ls
│   │   │   ├── cees-crystal-with-leaves2.ls
│   │   │   ├── cees-crystal.ls
│   │   │   ├── cees-crystals.ls
│   │   │   ├── cees-koch.ls
│   │   │   ├── cees-koch2.ls
│   │   │   ├── cees-pascal-cube.ls
│   │   │   ├── cees-pascal-cube2.ls
│   │   │   ├── cees-passion-flower.ls
│   │   │   ├── cees-plant-kwal.ls
│   │   │   ├── cees-plant.ls
│   │   │   ├── cees-plant2.ls
│   │   │   ├── cees-sierpinski-gasket.ls
│   │   │   ├── cees-sierpinski-gasket2.ls
│   │   │   ├── cello-plant.ls
│   │   │   ├── circle-form.ls
│   │   │   ├── conifer-type-tree.ls
│   │   │   ├── conifer-type-tree2.ls
│   │   │   ├── cordate-leave-arrangement.ls
│   │   │   ├── cordate-leaves.ls
│   │   │   ├── dasysiphonia-rigidula.ls
│   │   │   ├── daysa-rigidula.ls
│   │   │   ├── fern-plant.ls
│   │   │   ├── flower.ls
│   │   │   ├── fractint.ls
│   │   │   ├── fractint2.ls
│   │   │   ├── fractint3.ls
│   │   │   ├── fractint4.ls
│   │   │   ├── half-cycle.ls
│   │   │   ├── half-cycle2.ls
│   │   │   ├── higgs-butterfly.ls
│   │   │   ├── higgs-copepoda-crustacean-mutated.ls
│   │   │   ├── higgs-copepoda-crustacean.ls
│   │   │   ├── higgs-lobster.ls
│   │   │   ├── higgs-sierpinski-variants.ls
│   │   │   ├── large-spiral-plant.ls
│   │   │   ├── large-spiral-plant2.ls
│   │   │   ├── leavy-ternary-tree-type.ls
│   │   │   ├── lobster-form.ls
│   │   │   ├── lobster-form2.ls
│   │   │   ├── lobster-form3.ls
│   │   │   ├── lobster-form4.ls
│   │   │   ├── lobster-form5.ls
│   │   │   ├── menger-cube.ls
│   │   │   ├── octo-spider.ls
│   │   │   ├── palm-tree.ls
│   │   │   ├── shell.ls
│   │   │   ├── shell2.ls
│   │   │   ├── shell3.ls
│   │   │   ├── shell4.ls
│   │   │   ├── spiral-bush.ls
│   │   │   ├── spiral-design.ls
│   │   │   ├── spiral-form.ls
│   │   │   ├── spiral-tree.ls
│   │   │   ├── spiral-types.ls
│   │   │   ├── tree-base.ls
│   │   │   ├── tree.ls
│   │   │   ├── tree2.ls
│   │   │   ├── tree3.ls
│   │   │   ├── trees.ls
│   │   │   ├── trees2.ls
│   │   │   ├── trees3.ls
│   │   │   ├── tropism-experimental-tree.ls
│   │   │   ├── tropism.ls
│   │   │   └── willow-tree.ls
│   │   ├── ngui/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── pixmap/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── about.xpm
│   │   │   │   ├── automagic-off.xpm
│   │   │   │   ├── automagic-on.xpm
│   │   │   │   ├── fast_forward.xpm
│   │   │   │   ├── mat_edit_shader_icon.xpm
│   │   │   │   ├── mat_preview_bg_icon.xpm
│   │   │   │   ├── mat_preview_date_icon.xpm
│   │   │   │   ├── pinned.xpm
│   │   │   │   ├── play.xpm
│   │   │   │   ├── play_from_cursor.xpm
│   │   │   │   ├── play_loop.xpm
│   │   │   │   ├── record.xpm
│   │   │   │   ├── render_animation.xpm
│   │   │   │   ├── render_frame.xpm
│   │   │   │   ├── render_preview.xpm
│   │   │   │   ├── reverse_play.xpm
│   │   │   │   ├── reverse_play_loop.xpm
│   │   │   │   ├── rewind.xpm
│   │   │   │   ├── splash.xpm
│   │   │   │   ├── stop.xpm
│   │   │   │   └── unpinned.xpm
│   │   │   ├── rasterized/
│   │   │   │   └── CMakeLists.txt
│   │   │   ├── scalable/
│   │   │   │   └── CMakeLists.txt
│   │   │   ├── tool_layout.k3d
│   │   │   └── toolbar_layout.k3d
│   │   ├── qtui/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── icons/
│   │   │   │   └── CMakeLists.txt
│   │   │   ├── scripted_modes/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── browser.js
│   │   │   │   ├── console.js
│   │   │   │   ├── create_node.js
│   │   │   │   ├── hello_world.js
│   │   │   │   ├── null.js
│   │   │   │   ├── sound_effects.js
│   │   │   │   └── state_machine.js
│   │   │   └── sounds/
│   │   │       └── CMakeLists.txt
│   │   ├── resolutions.k3d
│   │   ├── scripts/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── MeshModifierScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── random_face_varying_colors.py
│   │   │   │   ├── random_per_face_colors.py
│   │   │   │   ├── random_per_vertex_colors.py
│   │   │   │   └── snow_animation.py
│   │   │   ├── MeshSourceScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── bezier_triangle_patches.py
│   │   │   │   ├── bicubic_patches.py
│   │   │   │   ├── bilinear_patches.py
│   │   │   │   ├── blobby.py
│   │   │   │   ├── cones.py
│   │   │   │   ├── cubes.py
│   │   │   │   ├── cubic_curves.py
│   │   │   │   ├── cylinders.py
│   │   │   │   ├── disks.py
│   │   │   │   ├── hyperboloids.py
│   │   │   │   ├── linear_curves.py
│   │   │   │   ├── nurbs_curves.py
│   │   │   │   ├── nurbs_patches.py
│   │   │   │   ├── paraboloids.py
│   │   │   │   ├── particles.py
│   │   │   │   ├── polyhedra.py
│   │   │   │   ├── simple_polyhedron.py
│   │   │   │   ├── snow_source.py
│   │   │   │   ├── spheres.py
│   │   │   │   ├── teapots.py
│   │   │   │   └── tori.py
│   │   │   ├── OpenGLPainterScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   └── blue_particles.py
│   │   │   ├── OpenGLRenderableScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   └── gradient_background.py
│   │   │   ├── RenderManScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   └── tribble.py
│   │   │   ├── animation/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   └── keyframes.py
│   │   │   ├── count_plugins.py
│   │   │   ├── create_bicubic_patch.py
│   │   │   ├── create_bilinear_patch.py
│   │   │   ├── create_blobby.py
│   │   │   ├── create_cubic_curve.py
│   │   │   ├── create_linear_curve.py
│   │   │   ├── create_particles.py
│   │   │   ├── create_polyhedron.py
│   │   │   ├── create_polyhedron_simple.py
│   │   │   ├── describe_plugins.py
│   │   │   ├── hello_world.py
│   │   │   ├── innovation.py
│   │   │   ├── log_messages.py
│   │   │   ├── print_selected_objects.py
│   │   │   ├── pygtk_hello_world.py
│   │   │   ├── pygtk_plot_function.py
│   │   │   ├── script_context.py
│   │   │   ├── script_recursion.py
│   │   │   ├── script_recursion_context.py
│   │   │   ├── scripted_plugins/
│   │   │   │   └── CMakeLists.txt
│   │   │   ├── shell/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── batch_render.k3d
│   │   │   │   ├── batch_render.py
│   │   │   │   └── simple_rpc.py
│   │   │   ├── undo_redo_errors.py
│   │   │   ├── user_interface.py
│   │   │   └── user_properties.py
│   │   ├── shaders/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── displacement/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── k3d_brickbump.sl
│   │   │   │   ├── k3d_brickbump.sl.slmeta
│   │   │   │   ├── k3d_bubbles.sl
│   │   │   │   ├── k3d_bubbles.sl.slmeta
│   │   │   │   ├── k3d_bubbly.sl
│   │   │   │   ├── k3d_bubbly.sl.slmeta
│   │   │   │   ├── k3d_castucco.sl
│   │   │   │   ├── k3d_castucco.sl.slmeta
│   │   │   │   ├── k3d_dented.sl
│   │   │   │   ├── k3d_dented.sl.slmeta
│   │   │   │   ├── k3d_displacementmap.sl
│   │   │   │   ├── k3d_displacementmap.sl.slmeta
│   │   │   │   ├── k3d_droop.sl
│   │   │   │   ├── k3d_droop.sl.slmeta
│   │   │   │   ├── k3d_dturb.sl
│   │   │   │   ├── k3d_fractal.sl
│   │   │   │   ├── k3d_fractal.sl.slmeta
│   │   │   │   ├── k3d_gloop.sl
│   │   │   │   ├── k3d_gloop.sl.slmeta
│   │   │   │   ├── k3d_ridged_multifractal.sl
│   │   │   │   ├── k3d_ridged_multifractal.sl.slmeta
│   │   │   │   ├── k3d_round.sl
│   │   │   │   ├── k3d_round.sl.slmeta
│   │   │   │   ├── k3d_slateroofd.sl
│   │   │   │   ├── k3d_slateroofd.sl.slmeta
│   │   │   │   ├── k3d_square_ridges.sl
│   │   │   │   ├── k3d_square_ridges.sl.slmeta
│   │   │   │   ├── k3d_stucco.sl
│   │   │   │   ├── k3d_stucco.sl.slmeta
│   │   │   │   ├── k3d_terranbump.sl
│   │   │   │   ├── k3d_terranbump.sl.slmeta
│   │   │   │   ├── k3d_threads.sl
│   │   │   │   ├── k3d_threads.sl.slmeta
│   │   │   │   ├── k3d_windywave.sl
│   │   │   │   └── k3d_windywave.sl.slmeta
│   │   │   ├── glsl/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── gooch_fragment.glsl
│   │   │   │   ├── gooch_vertex.glsl
│   │   │   │   ├── show_normals_fragment.glsl
│   │   │   │   └── show_normals_vertex.glsl
│   │   │   ├── imager/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── k3d_background.sl
│   │   │   │   ├── k3d_background.sl.slmeta
│   │   │   │   ├── k3d_bluescreen.sl
│   │   │   │   ├── k3d_bluescreen.sl.slmeta
│   │   │   │   ├── k3d_clamptoalpha.sl
│   │   │   │   └── k3d_clamptoalpha.sl.slmeta
│   │   │   ├── k3d_colors.h
│   │   │   ├── k3d_constants.h
│   │   │   ├── k3d_displace.h
│   │   │   ├── k3d_filterwidth.h
│   │   │   ├── k3d_functions.h
│   │   │   ├── k3d_isshad.h
│   │   │   ├── k3d_km.h
│   │   │   ├── k3d_locillum.h
│   │   │   ├── k3d_material.h
│   │   │   ├── k3d_noises.h
│   │   │   ├── k3d_oak.h
│   │   │   ├── k3d_patterns.h
│   │   │   ├── k3d_proctext.h
│   │   │   ├── k3d_project.h
│   │   │   ├── k3d_pshad.h
│   │   │   ├── k3d_rayserver.h
│   │   │   ├── k3d_raysphere.h
│   │   │   ├── k3d_reflections.h
│   │   │   ├── k3d_rmannotes.h
│   │   │   ├── k3d_tile.h
│   │   │   ├── light/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── k3d_ambientlight.sl
│   │   │   │   ├── k3d_ambientlight.sl.slmeta
│   │   │   │   ├── k3d_distant_shadow.sl
│   │   │   │   ├── k3d_distant_shadow.sl.slmeta
│   │   │   │   ├── k3d_distantlight.sl
│   │   │   │   ├── k3d_distantlight.sl.slmeta
│   │   │   │   ├── k3d_pointlight.sl
│   │   │   │   ├── k3d_pointlight.sl.slmeta
│   │   │   │   ├── k3d_spotlight.sl
│   │   │   │   ├── k3d_spotlight.sl.slmeta
│   │   │   │   ├── k3d_waterlight.sl
│   │   │   │   └── k3d_waterlight.sl.slmeta
│   │   │   ├── surface/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── k3d_bluemarble.sl
│   │   │   │   ├── k3d_bluemarble.sl.slmeta
│   │   │   │   ├── k3d_brick.sl
│   │   │   │   ├── k3d_brick.sl.slmeta
│   │   │   │   ├── k3d_brushedmetal.sl
│   │   │   │   ├── k3d_brushedmetal.sl.slmeta
│   │   │   │   ├── k3d_ceramic.sl
│   │   │   │   ├── k3d_ceramic.sl.slmeta
│   │   │   │   ├── k3d_checks.sl
│   │   │   │   ├── k3d_checks.sl.slmeta
│   │   │   │   ├── k3d_constant.sl
│   │   │   │   ├── k3d_constant.sl.slmeta
│   │   │   │   ├── k3d_corktile.sl
│   │   │   │   ├── k3d_corktile.sl.slmeta
│   │   │   │   ├── k3d_craters.sl
│   │   │   │   ├── k3d_craters.sl.slmeta
│   │   │   │   ├── k3d_crayon.sl
│   │   │   │   ├── k3d_crayon.sl.slmeta
│   │   │   │   ├── k3d_crayontoon.sl
│   │   │   │   ├── k3d_crayontoon.sl.slmeta
│   │   │   │   ├── k3d_dots.sl
│   │   │   │   ├── k3d_dots.sl.slmeta
│   │   │   │   ├── k3d_easysurface.sl
│   │   │   │   ├── k3d_easysurface.sl.slmeta
│   │   │   │   ├── k3d_environment_plastic.sl
│   │   │   │   ├── k3d_environment_plastic.sl.slmeta
│   │   │   │   ├── k3d_envsurf.sl
│   │   │   │   ├── k3d_envsurf.sl.slmeta
│   │   │   │   ├── k3d_eyeball.sl
│   │   │   │   ├── k3d_eyeball.sl.slmeta
│   │   │   │   ├── k3d_filament.sl
│   │   │   │   ├── k3d_filament.sl.slmeta
│   │   │   │   ├── k3d_fire.sl
│   │   │   │   ├── k3d_fire.sl.slmeta
│   │   │   │   ├── k3d_fresnelplastic.sl
│   │   │   │   ├── k3d_fresnelplastic.sl.slmeta
│   │   │   │   ├── k3d_funkyglass.sl
│   │   │   │   ├── k3d_funkyglass.sl.slmeta
│   │   │   │   ├── k3d_fur2.sl
│   │   │   │   ├── k3d_fur2.sl.slmeta
│   │   │   │   ├── k3d_glow.sl
│   │   │   │   ├── k3d_glow.sl.slmeta
│   │   │   │   ├── k3d_gooch.sl
│   │   │   │   ├── k3d_gooch.sl.slmeta
│   │   │   │   ├── k3d_gradient_t.sl
│   │   │   │   ├── k3d_gradient_t.sl.slmeta
│   │   │   │   ├── k3d_granite.sl
│   │   │   │   ├── k3d_granite.sl.slmeta
│   │   │   │   ├── k3d_greenmarble.sl
│   │   │   │   ├── k3d_greenmarble.sl.slmeta
│   │   │   │   ├── k3d_hair.sl
│   │   │   │   ├── k3d_hair.sl.slmeta
│   │   │   │   ├── k3d_hextile.sl
│   │   │   │   ├── k3d_hextile.sl.slmeta
│   │   │   │   ├── k3d_incandplastic.sl
│   │   │   │   ├── k3d_incandplastic.sl.slmeta
│   │   │   │   ├── k3d_luna.sl
│   │   │   │   ├── k3d_luna.sl.slmeta
│   │   │   │   ├── k3d_lunette.sl
│   │   │   │   ├── k3d_lunette.sl.slmeta
│   │   │   │   ├── k3d_matte.sl
│   │   │   │   ├── k3d_matte.sl.slmeta
│   │   │   │   ├── k3d_metal.sl
│   │   │   │   ├── k3d_metal.sl.slmeta
│   │   │   │   ├── k3d_mondometal.sl
│   │   │   │   ├── k3d_mondometal.sl.slmeta
│   │   │   │   ├── k3d_mottled_clay.sl
│   │   │   │   ├── k3d_mottled_clay.sl.slmeta
│   │   │   │   ├── k3d_oak.sl
│   │   │   │   ├── k3d_oak.sl.slmeta
│   │   │   │   ├── k3d_oakplank.sl
│   │   │   │   ├── k3d_oakplank.sl.slmeta
│   │   │   │   ├── k3d_orennayar.sl
│   │   │   │   ├── k3d_orennayar.sl.slmeta
│   │   │   │   ├── k3d_paintedplastic.sl
│   │   │   │   ├── k3d_paintedplastic.sl.slmeta
│   │   │   │   ├── k3d_parquet_plank.sl
│   │   │   │   ├── k3d_parquet_plank.sl.slmeta
│   │   │   │   ├── k3d_particle.sl
│   │   │   │   ├── k3d_particle.sl.slmeta
│   │   │   │   ├── k3d_planetclouds.sl
│   │   │   │   ├── k3d_planetclouds.sl.slmeta
│   │   │   │   ├── k3d_plastic.sl
│   │   │   │   ├── k3d_plastic.sl.slmeta
│   │   │   │   ├── k3d_puffyclouds.sl
│   │   │   │   ├── k3d_puffyclouds.sl.slmeta
│   │   │   │   ├── k3d_redapple.sl
│   │   │   │   ├── k3d_redapple.sl.slmeta
│   │   │   │   ├── k3d_roughmetal.sl
│   │   │   │   ├── k3d_roughmetal.sl.slmeta
│   │   │   │   ├── k3d_rubber.sl
│   │   │   │   ├── k3d_rubber.sl.slmeta
│   │   │   │   ├── k3d_saturn.sl
│   │   │   │   ├── k3d_saturn.sl.slmeta
│   │   │   │   ├── k3d_screen.sl
│   │   │   │   ├── k3d_screen.sl.slmeta
│   │   │   │   ├── k3d_shiny.sl
│   │   │   │   ├── k3d_shiny.sl.slmeta
│   │   │   │   ├── k3d_shinymetal.sl
│   │   │   │   ├── k3d_shinymetal.sl.slmeta
│   │   │   │   ├── k3d_show_st.sl
│   │   │   │   ├── k3d_show_st.sl.slmeta
│   │   │   │   ├── k3d_slateroof.sl
│   │   │   │   ├── k3d_slateroof.sl.slmeta
│   │   │   │   ├── k3d_star.sl
│   │   │   │   ├── k3d_star.sl.slmeta
│   │   │   │   ├── k3d_strata.sl
│   │   │   │   ├── k3d_strata.sl.slmeta
│   │   │   │   ├── k3d_superplank.sl
│   │   │   │   ├── k3d_superplank.sl.slmeta
│   │   │   │   ├── k3d_supertoon.sl
│   │   │   │   ├── k3d_supertoon.sl.slmeta
│   │   │   │   ├── k3d_terran.sl
│   │   │   │   ├── k3d_terran.sl.slmeta
│   │   │   │   ├── k3d_tooledsteel.sl
│   │   │   │   ├── k3d_tooledsteel.sl.slmeta
│   │   │   │   ├── k3d_urbermap.sl
│   │   │   │   ├── k3d_urbermap.sl.slmeta
│   │   │   │   ├── k3d_veinedmarble.sl
│   │   │   │   ├── k3d_veinedmarble.sl.slmeta
│   │   │   │   ├── k3d_velvet.sl
│   │   │   │   ├── k3d_velvet.sl.slmeta
│   │   │   │   ├── k3d_venus.sl
│   │   │   │   ├── k3d_venus.sl.slmeta
│   │   │   │   ├── k3d_warningstripes.sl
│   │   │   │   ├── k3d_warningstripes.sl.slmeta
│   │   │   │   ├── k3d_wood2.sl
│   │   │   │   ├── k3d_wood2.sl.slmeta
│   │   │   │   ├── k3d_woodcut.sl
│   │   │   │   └── k3d_woodcut.sl.slmeta
│   │   │   └── volume/
│   │   │       ├── CMakeLists.txt
│   │   │       ├── k3d_altitude_fog.sl
│   │   │       ├── k3d_altitude_fog.sl.slmeta
│   │   │       ├── k3d_depthcue.sl
│   │   │       ├── k3d_depthcue.sl.slmeta
│   │   │       ├── k3d_fog.sl
│   │   │       └── k3d_fog.sl.slmeta
│   │   └── textures/
│   │       └── CMakeLists.txt
│   └── man/
│       ├── CMakeLists.txt
│       ├── k3d-renderframe.1.txt.in
│       ├── k3d-renderjob.1.txt.in
│       ├── k3d-sl2xml.1.txt.in
│       ├── k3d-uuidgen.1.txt.in
│       └── k3d.1.txt.in
├── sl2xml/
│   ├── CMakeLists.txt
│   └── main.cpp
├── tests/
│   ├── CMakeLists.txt
│   ├── animation/
│   │   ├── AnimationTrack.py
│   │   └── CMakeLists.txt
│   ├── benchmarking.py
│   ├── bitmap/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap.modifier.BenchmarkComparison.py
│   │   ├── bitmap.modifier.BitmapAdd.py
│   │   ├── bitmap.modifier.BitmapColorMonochrome.py
│   │   ├── bitmap.modifier.BitmapGamma.py
│   │   ├── bitmap.modifier.BitmapInvert.py
│   │   ├── bitmap.modifier.BitmapMatteColorDiff.py
│   │   ├── bitmap.modifier.BitmapMatteInvert.py
│   │   ├── bitmap.modifier.BitmapMultiply.py
│   │   ├── bitmap.modifier.BitmapSubtract.py
│   │   ├── bitmap.modifier.BitmapThreshold.py
│   │   ├── bitmap.modifier.CUDABitmapAdd.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapAdd.py
│   │   ├── bitmap.modifier.CUDABitmapColorMonochrome.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapColorMonochrome.py
│   │   ├── bitmap.modifier.CUDABitmapGamma.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapGamma.py
│   │   ├── bitmap.modifier.CUDABitmapInvert.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapInvert.py
│   │   ├── bitmap.modifier.CUDABitmapMatteColorDiff.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapMatteColorDiff.py
│   │   ├── bitmap.modifier.CUDABitmapMatteInvert.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapMatteInvert.py
│   │   ├── bitmap.modifier.CUDABitmapMultiply.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapMultiply.py
│   │   ├── bitmap.modifier.CUDABitmapSubtract.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapSubtract.py
│   │   ├── bitmap.modifier.CUDABitmapThreshold.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapThreshold.py
│   │   ├── bitmap.source.BitmapChecker.py
│   │   ├── bitmap.source.BitmapReader.bmp.py
│   │   ├── bitmap.source.BitmapReader.jpeg.py
│   │   ├── bitmap.source.BitmapReader.png.py
│   │   ├── bitmap.source.BitmapReader.sun.py
│   │   ├── bitmap.source.BitmapReader.tiff.py
│   │   ├── bitmap.source.BitmapSolid.py
│   │   ├── bitmap.source.BitmapSourceScript.py
│   │   ├── bitmap.source.JPEGBitmapReader.py
│   │   ├── bitmap.source.PNGBitmapReader.py
│   │   └── bitmap.source.TIFFBitmapReader.py
│   ├── bitmaps/
│   │   ├── test_rgb_8.sun
│   │   └── test_rgb_8.tif
│   ├── code/
│   │   ├── CMakeLists.txt
│   │   ├── const_cast.cmake
│   │   ├── debug_logging.cmake
│   │   ├── exit.cmake
│   │   ├── filename_case.cmake
│   │   ├── filename_length.cmake
│   │   ├── header_guard.cmake
│   │   ├── legacy.cmake
│   │   ├── line_endings.cmake
│   │   ├── pretty_function.cmake
│   │   ├── printf.cmake
│   │   ├── quoted_includes.cmake
│   │   └── typed_array_uint_t.cmake
│   ├── color/
│   │   ├── CMakeLists.txt
│   │   └── source.ColorSourceScript.py
│   ├── double/
│   │   ├── CMakeLists.txt
│   │   ├── source.DoubleExpression.py
│   │   ├── source.DoubleSourceScript.py
│   │   └── source.PapagayoLipsyncReader.py
│   ├── int32/
│   │   ├── CMakeLists.txt
│   │   └── source.Int32SourceScript.py
│   ├── matrix/
│   │   ├── CMakeLists.txt
│   │   ├── modifier.FrozenMatrix.py
│   │   └── modifier.MatrixInverse.py
│   ├── mesh/
│   │   ├── CMakeLists.txt
│   │   ├── mesh.diff.py
│   │   ├── mesh.metrics.GTSMeshArea.PolyCube.py
│   │   ├── mesh.metrics.GTSMeshArea.self_intersection.py
│   │   ├── mesh.metrics.GTSMeshVolume.PolyCube.py
│   │   ├── mesh.modifier.BenchmarkComparison.py
│   │   ├── mesh.modifier.BendPoints.py
│   │   ├── mesh.modifier.BevelFaces.py
│   │   ├── mesh.modifier.BevelPoints.boundary.py
│   │   ├── mesh.modifier.BevelPoints.py
│   │   ├── mesh.modifier.BlobbyAdd.py
│   │   ├── mesh.modifier.BlobbyDivide.py
│   │   ├── mesh.modifier.BlobbyMaximum.py
│   │   ├── mesh.modifier.BlobbyMinimum.py
│   │   ├── mesh.modifier.BlobbyMultiply.py
│   │   ├── mesh.modifier.BlobbyNegate.py
│   │   ├── mesh.modifier.BlobbySubtract.py
│   │   ├── mesh.modifier.BridgeEdges.py
│   │   ├── mesh.modifier.BridgeFaces.py
│   │   ├── mesh.modifier.BulgePoints.py
│   │   ├── mesh.modifier.CARVEBoolean.benchmark.py
│   │   ├── mesh.modifier.CARVEBoolean.cubes.py
│   │   ├── mesh.modifier.CARVEBoolean.cylinders.py
│   │   ├── mesh.modifier.CARVEBoolean.ply.py
│   │   ├── mesh.modifier.CGALBoolean.benchmark.py
│   │   ├── mesh.modifier.CGALBoolean.cubes.py
│   │   ├── mesh.modifier.CGALBoolean.cylinders.py
│   │   ├── mesh.modifier.CUDA.Breakdown.py
│   │   ├── mesh.modifier.CUDAConversion.py
│   │   ├── mesh.modifier.CUDASubdivideEdges.benchmark.py
│   │   ├── mesh.modifier.CUDASubdivideEdges.py
│   │   ├── mesh.modifier.CUDASubdivideEdgesSimple.py
│   │   ├── mesh.modifier.CUDATransformPoints.benchmark.py
│   │   ├── mesh.modifier.CUDATransformPoints.py
│   │   ├── mesh.modifier.CUDATransformPointsAsynchronous.benchmark.py
│   │   ├── mesh.modifier.CUDATransformPointsAsynchronous.py
│   │   ├── mesh.modifier.CalculateNormals.2.py
│   │   ├── mesh.modifier.CalculateNormals.py
│   │   ├── mesh.modifier.CapHoles.py
│   │   ├── mesh.modifier.CatmullClark.benchmark.py
│   │   ├── mesh.modifier.CatmullClark.complex.py
│   │   ├── mesh.modifier.CatmullClark.cube.py
│   │   ├── mesh.modifier.CatmullClark.py
│   │   ├── mesh.modifier.CenterPoints.py
│   │   ├── mesh.modifier.CollapseEdges.py
│   │   ├── mesh.modifier.CollapseFaces.py
│   │   ├── mesh.modifier.CollapsePoints.py
│   │   ├── mesh.modifier.ConnectVertices.py
│   │   ├── mesh.modifier.CylindricalWavePoints.py
│   │   ├── mesh.modifier.DeformationExpression.py
│   │   ├── mesh.modifier.EdgesToBlobby.py
│   │   ├── mesh.modifier.EulerKillEdgeAndVertex.py
│   │   ├── mesh.modifier.EulerKillEdgeMakeLoop.py
│   │   ├── mesh.modifier.ExtrudeFaces.py
│   │   ├── mesh.modifier.LeastSquaresPlot.py
│   │   ├── mesh.modifier.LinearPointNoise.py
│   │   ├── mesh.modifier.LinearWavePoints.py
│   │   ├── mesh.modifier.MakeHole.py
│   │   ├── mesh.modifier.MergeCollinearEdges.py
│   │   ├── mesh.modifier.MergeCoplanarFaces.py
│   │   ├── mesh.modifier.MergeMesh.generic.py
│   │   ├── mesh.modifier.MergeMesh.py
│   │   ├── mesh.modifier.MergePolyhedra.py
│   │   ├── mesh.modifier.MeshArray1D.py
│   │   ├── mesh.modifier.MeshArray2D.py
│   │   ├── mesh.modifier.MeshArray3D.py
│   │   ├── mesh.modifier.MorphPoints.py
│   │   ├── mesh.modifier.MoveFirstEdge.py
│   │   ├── mesh.modifier.NurbsAddTrimCurve.py
│   │   ├── mesh.modifier.NurbsCloseCurve1.py
│   │   ├── mesh.modifier.NurbsCloseCurve2.py
│   │   ├── mesh.modifier.NurbsConnectCurves.py
│   │   ├── mesh.modifier.NurbsCreateCap.py
│   │   ├── mesh.modifier.NurbsCurveInsertKnot.py
│   │   ├── mesh.modifier.NurbsCurveTraversal.py
│   │   ├── mesh.modifier.NurbsDegreeElevateCurve.py
│   │   ├── mesh.modifier.NurbsEditKnotVector1.py
│   │   ├── mesh.modifier.NurbsExtractCurvePoint.py
│   │   ├── mesh.modifier.NurbsExtractPatchCurve.py
│   │   ├── mesh.modifier.NurbsExtractTrimCurves.py
│   │   ├── mesh.modifier.NurbsExtrudeCurve.py
│   │   ├── mesh.modifier.NurbsExtrudePatch.py
│   │   ├── mesh.modifier.NurbsFlipCurve.py
│   │   ├── mesh.modifier.NurbsMergeConnectedCurves.py
│   │   ├── mesh.modifier.NurbsMergeCurveKnotVectors.py
│   │   ├── mesh.modifier.NurbsPatchDegreeElevation.py
│   │   ├── mesh.modifier.NurbsPatchInsertKnot.py
│   │   ├── mesh.modifier.NurbsPolygonizeCurve.py
│   │   ├── mesh.modifier.NurbsPolygonizePatch.py
│   │   ├── mesh.modifier.NurbsRevolveCurve.py
│   │   ├── mesh.modifier.NurbsRuledSurface.py
│   │   ├── mesh.modifier.NurbsSetWeight1.py
│   │   ├── mesh.modifier.NurbsSetWeight2.py
│   │   ├── mesh.modifier.NurbsSkinnedSurface.py
│   │   ├── mesh.modifier.NurbsSplitCurve.py
│   │   ├── mesh.modifier.NurbsSplitPatch.py
│   │   ├── mesh.modifier.NurbsSplitPatch2.py
│   │   ├── mesh.modifier.NurbsSweepSurface.py
│   │   ├── mesh.modifier.PGPRemesh.bun_zipper_res4.py
│   │   ├── mesh.modifier.PGPRemesh.high.py
│   │   ├── mesh.modifier.PGPRemesh.ply.bunny.py
│   │   ├── mesh.modifier.PGPRemesh.ply.torus.py
│   │   ├── mesh.modifier.PGPRemesh.py
│   │   ├── mesh.modifier.PGPRemesh.triang.py
│   │   ├── mesh.modifier.PointsToBlobby.py
│   │   ├── mesh.modifier.QSlim.py
│   │   ├── mesh.modifier.RotatePoints.py
│   │   ├── mesh.modifier.SDSCorner.py
│   │   ├── mesh.modifier.SDSCrease.py
│   │   ├── mesh.modifier.SDSHole.py
│   │   ├── mesh.modifier.ScalePoints.py
│   │   ├── mesh.modifier.SelectConnectedComponents.py
│   │   ├── mesh.modifier.SelectCube.py
│   │   ├── mesh.modifier.SelectNSided.py
│   │   ├── mesh.modifier.SelectedFacesToPolyhedron.py
│   │   ├── mesh.modifier.SetColor.py
│   │   ├── mesh.modifier.SetPosition.py
│   │   ├── mesh.modifier.ShearPoints.py
│   │   ├── mesh.modifier.SmoothPoints.py
│   │   ├── mesh.modifier.SphereizePoints.py
│   │   ├── mesh.modifier.SubdivideEdges.benchmark.py
│   │   ├── mesh.modifier.SubdivideEdges.py
│   │   ├── mesh.modifier.SubdivideFaces.Center.py
│   │   ├── mesh.modifier.SubdivideFaces.CenterMidpoints.py
│   │   ├── mesh.modifier.SubdivideFaces.Midpoints.py
│   │   ├── mesh.modifier.TaperPoints.py
│   │   ├── mesh.modifier.TransformPoints.benchmark.py
│   │   ├── mesh.modifier.TransformPoints.py
│   │   ├── mesh.modifier.TranslatePoints.py
│   │   ├── mesh.modifier.TriangulateFaces.PolyCube.py
│   │   ├── mesh.modifier.TriangulateFaces.PolyGrid.py
│   │   ├── mesh.modifier.TriangulateFaces.PolyGrid.selection.py
│   │   ├── mesh.modifier.TriangulateFaces.self_intersection.py
│   │   ├── mesh.modifier.TriangulateFaces.vertex.py
│   │   ├── mesh.modifier.TwistPoints.py
│   │   ├── mesh.selection.GrowSelection.py
│   │   ├── mesh.selection.SelectBoundaryEdges.py
│   │   ├── mesh.selection.SelectDegenerateFaces.py
│   │   ├── mesh.selection.all.py
│   │   ├── mesh.selection.none.py
│   │   ├── mesh.selection.null.py
│   │   ├── mesh.selection.points.py
│   │   ├── mesh.serialization.py
│   │   ├── mesh.sink.GmshGeoMeshWriter.py
│   │   ├── mesh.sink.IGESMeshWriter.py
│   │   ├── mesh.sink.K3DMeshWriter.py
│   │   ├── mesh.sink.OBJMeshWriter.py
│   │   ├── mesh.sink.PLYMeshWriter.py
│   │   ├── mesh.sink.PointsCentroid.py
│   │   ├── mesh.sink.STLMeshWriter.magics.py
│   │   ├── mesh.sink.STLMeshWriter.py
│   │   ├── mesh.sink.STLMeshWriter.viscam.py
│   │   ├── mesh.solid.failure.py
│   │   ├── mesh.solid.py
│   │   ├── mesh.source.3DSMeshReader.py
│   │   ├── mesh.source.BenchmarkComparison.py
│   │   ├── mesh.source.BlobbyEllipsoid.py
│   │   ├── mesh.source.BlobbySegment.py
│   │   ├── mesh.source.COLLADAMeshReader.py
│   │   ├── mesh.source.CUDA.Breakdown.py
│   │   ├── mesh.source.CUDAPolyGrid.benchmark.py
│   │   ├── mesh.source.CUDAPolyGrid.py
│   │   ├── mesh.source.CUDAPolyGridAndTransformPoints.benchmark.py
│   │   ├── mesh.source.CUDAPolyGridAndTransformPoints.py
│   │   ├── mesh.source.GTSMeshReader.cube.py
│   │   ├── mesh.source.GTSMeshReader.gz.cube.py
│   │   ├── mesh.source.LSystemParser.py
│   │   ├── mesh.source.MD2MeshReader.py
│   │   ├── mesh.source.MeshSourceScript.bezier_triangle_patches.py
│   │   ├── mesh.source.MeshSourceScript.bicubic.patches.py
│   │   ├── mesh.source.MeshSourceScript.bilinear.patches.py
│   │   ├── mesh.source.MeshSourceScript.blobby.py
│   │   ├── mesh.source.MeshSourceScript.cones.py
│   │   ├── mesh.source.MeshSourceScript.cubic.curves.py
│   │   ├── mesh.source.MeshSourceScript.cylinders.py
│   │   ├── mesh.source.MeshSourceScript.disks.py
│   │   ├── mesh.source.MeshSourceScript.hyperboloids.py
│   │   ├── mesh.source.MeshSourceScript.linear.curves.py
│   │   ├── mesh.source.MeshSourceScript.nurbs.curves.py
│   │   ├── mesh.source.MeshSourceScript.nurbs.patches.py
│   │   ├── mesh.source.MeshSourceScript.paraboloids.py
│   │   ├── mesh.source.MeshSourceScript.particles.py
│   │   ├── mesh.source.MeshSourceScript.polyhedra.py
│   │   ├── mesh.source.MeshSourceScript.simple_polyhedron.py
│   │   ├── mesh.source.MeshSourceScript.spheres.py
│   │   ├── mesh.source.MeshSourceScript.teapots.py
│   │   ├── mesh.source.MeshSourceScript.tori.py
│   │   ├── mesh.source.Newell.teacup.py
│   │   ├── mesh.source.Newell.teapot.py
│   │   ├── mesh.source.Newell.teaspoon.py
│   │   ├── mesh.source.NurbsCircle.py
│   │   ├── mesh.source.NurbsCone.py
│   │   ├── mesh.source.NurbsCurve.py
│   │   ├── mesh.source.NurbsCylinder.py
│   │   ├── mesh.source.NurbsDisk.py
│   │   ├── mesh.source.NurbsGrid.py
│   │   ├── mesh.source.NurbsHyperboloid.py
│   │   ├── mesh.source.NurbsParaboloid.py
│   │   ├── mesh.source.NurbsPolygon.py
│   │   ├── mesh.source.NurbsSphere.py
│   │   ├── mesh.source.NurbsTorus.py
│   │   ├── mesh.source.OBJMeshReader.nurbs.py
│   │   ├── mesh.source.OBJMeshReader.polyhedron.py
│   │   ├── mesh.source.PLYMeshReader.py
│   │   ├── mesh.source.PolyCone.py
│   │   ├── mesh.source.PolyCube.py
│   │   ├── mesh.source.PolyCushion.py
│   │   ├── mesh.source.PolyCylinder.caps.py
│   │   ├── mesh.source.PolyCylinder.py
│   │   ├── mesh.source.PolyDisk.py
│   │   ├── mesh.source.PolyGrid.benchmark.py
│   │   ├── mesh.source.PolyGrid.py
│   │   ├── mesh.source.PolyIcosahedron.py
│   │   ├── mesh.source.PolySphere.1.py
│   │   ├── mesh.source.PolySphere.2.py
│   │   ├── mesh.source.PolySphere.3.py
│   │   ├── mesh.source.PolyText.py
│   │   ├── mesh.source.PolyTorus.py
│   │   ├── mesh.source.QuadricCone.py
│   │   ├── mesh.source.QuadricCylinder.py
│   │   ├── mesh.source.QuadricDisk.py
│   │   ├── mesh.source.QuadricHyperboloid.py
│   │   ├── mesh.source.QuadricLogo.py
│   │   ├── mesh.source.QuadricParaboloid.py
│   │   ├── mesh.source.QuadricSphere.py
│   │   ├── mesh.source.QuadricTorus.py
│   │   ├── mesh.source.STLMeshReader.magics.py
│   │   ├── mesh.source.STLMeshReader.py
│   │   ├── mesh.source.STLMeshReader.viscam.py
│   │   ├── mesh.source.SVGMeshReader.py
│   │   ├── mesh.source.SurfacePlot.py
│   │   ├── mesh.source.Teapot.py
│   │   ├── mesh.source.reader.bogus_input.py
│   │   ├── mesh.validation.py
│   │   ├── modifier.BicubicToPoly.py
│   │   ├── modifier.DeleteComponents.complex.py
│   │   ├── modifier.DeleteComponents.edge.py
│   │   ├── modifier.DeleteComponents.face.py
│   │   ├── modifier.DeleteComponents.point.py
│   │   ├── modifier.DissolveFaces.py
│   │   ├── modifier.PointsToParticles.py
│   │   ├── modifier.PolyToBilinear.py
│   │   ├── modifier.WeldPoints.py
│   │   ├── source.LinearKnot.py
│   │   ├── source.LinearLissajousCurve.py
│   │   └── source.UniformPolyhedron.py
│   ├── meshes/
│   │   ├── mesh.modifier.BendPoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.BendPoints.reference.k3d
│   │   ├── mesh.modifier.BevelFaces.reference.k3d
│   │   ├── mesh.modifier.BevelPoints.boundary.reference.k3d
│   │   ├── mesh.modifier.BevelPoints.reference.k3d
│   │   ├── mesh.modifier.BicubicToPoly.reference.k3d
│   │   ├── mesh.modifier.BlobbyAdd.reference.k3d
│   │   ├── mesh.modifier.BlobbyDivide.reference.k3d
│   │   ├── mesh.modifier.BlobbyMaximum.reference.k3d
│   │   ├── mesh.modifier.BlobbyMinimum.reference.k3d
│   │   ├── mesh.modifier.BlobbyMultiply.reference.k3d
│   │   ├── mesh.modifier.BlobbyNegate.reference.k3d
│   │   ├── mesh.modifier.BlobbySubtract.reference.k3d
│   │   ├── mesh.modifier.BridgeEdges.reference.k3d
│   │   ├── mesh.modifier.BridgeEdges.source.k3d
│   │   ├── mesh.modifier.BridgeFaces.reference.k3d
│   │   ├── mesh.modifier.BridgeFaces.source.k3d
│   │   ├── mesh.modifier.BulgePoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.BulgePoints.reference.k3d
│   │   ├── mesh.modifier.CARVEBoolean.benchmark.reference.k3d
│   │   ├── mesh.modifier.CARVEBoolean.cubes.reference.k3d
│   │   ├── mesh.modifier.CARVEBoolean.cylinders.reference.k3d
│   │   ├── mesh.modifier.CARVEBoolean.input.a.ply
│   │   ├── mesh.modifier.CARVEBoolean.input.b.ply
│   │   ├── mesh.modifier.CARVEBoolean.ply.reference.k3d
│   │   ├── mesh.modifier.CGALBoolean.benchmark.reference.k3d
│   │   ├── mesh.modifier.CGALBoolean.cubes.reference.k3d
│   │   ├── mesh.modifier.CGALBoolean.cylinders.reference.k3d
│   │   ├── mesh.modifier.CalculateNormals.2.reference.k3d
│   │   ├── mesh.modifier.CalculateNormals.reference.k3d
│   │   ├── mesh.modifier.CapHoles.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.CapHoles.reference.k3d
│   │   ├── mesh.modifier.CatmullClark.complex.reference.k3d
│   │   ├── mesh.modifier.CatmullClark.cube.reference.k3d
│   │   ├── mesh.modifier.CatmullClark.reference.k3d
│   │   ├── mesh.modifier.CenterPoints.reference.k3d
│   │   ├── mesh.modifier.CollapseEdges.reference.k3d
│   │   ├── mesh.modifier.CollapseFaces.reference.k3d
│   │   ├── mesh.modifier.CollapsePoints.reference.k3d
│   │   ├── mesh.modifier.ConnectVertices.reference.k3d
│   │   ├── mesh.modifier.CreateTrimCurve.reference.k3d
│   │   ├── mesh.modifier.CylindricalWavePoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.CylindricalWavePoints.reference.k3d
│   │   ├── mesh.modifier.DeformationExpression.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.DeformationExpression.reference.k3d
│   │   ├── mesh.modifier.DeleteComponents.complex.reference.k3d
│   │   ├── mesh.modifier.DeleteComponents.edge.reference.k3d
│   │   ├── mesh.modifier.DeleteComponents.face.reference.k3d
│   │   ├── mesh.modifier.DeleteComponents.point.reference.k3d
│   │   ├── mesh.modifier.EdgesToBlobby.reference.k3d
│   │   ├── mesh.modifier.EulerKillEdgeAndVertex.reference.k3d
│   │   ├── mesh.modifier.EulerKillEdgeMakeLoop.reference.k3d
│   │   ├── mesh.modifier.ExtrudeFaces.reference.k3d
│   │   ├── mesh.modifier.LinearPointNoise.reference.k3d
│   │   ├── mesh.modifier.LinearWavePoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.LinearWavePoints.reference.k3d
│   │   ├── mesh.modifier.MakeHole.reference.k3d
│   │   ├── mesh.modifier.MergeCollinearEdges.reference.k3d
│   │   ├── mesh.modifier.MergeCoplanarFaces.reference.k3d
│   │   ├── mesh.modifier.MergeMesh.generic.reference.k3d
│   │   ├── mesh.modifier.MergeMesh.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.MergeMesh.reference.k3d
│   │   ├── mesh.modifier.MergePolyhedra.reference.k3d
│   │   ├── mesh.modifier.MeshArray1D.reference.k3d
│   │   ├── mesh.modifier.MeshArray2D.reference.k3d
│   │   ├── mesh.modifier.MeshArray3D.reference.k3d
│   │   ├── mesh.modifier.MorphPoints.reference.k3d
│   │   ├── mesh.modifier.MoveFirstEdge.reference.k3d
│   │   ├── mesh.modifier.NurbsAddTrimCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsAddTrimCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsCloseCurve1.reference.k3d
│   │   ├── mesh.modifier.NurbsCloseCurve2.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsCloseCurve2.reference.k3d
│   │   ├── mesh.modifier.NurbsConnectCurves.reference.k3d
│   │   ├── mesh.modifier.NurbsCreateCap.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsCreateCap.reference.k3d
│   │   ├── mesh.modifier.NurbsCurveInsertKnot.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsCurveInsertKnot.reference.k3d
│   │   ├── mesh.modifier.NurbsCurveTraversal.reference.k3d
│   │   ├── mesh.modifier.NurbsDegreeElevateCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsEditKnotVector.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsEditKnotVector.reference.k3d
│   │   ├── mesh.modifier.NurbsExtractCurvePoint.reference.k3d
│   │   ├── mesh.modifier.NurbsExtractPatchCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsExtractPatchCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsExtractTrimCurves.reference.k3d
│   │   ├── mesh.modifier.NurbsExtrudeCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsExtrudeCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsExtrudePatch.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsExtrudePatch.reference.k3d
│   │   ├── mesh.modifier.NurbsFlipCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsFlipCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsMergeConnectedCurves.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsMergeConnectedCurves.reference.k3d
│   │   ├── mesh.modifier.NurbsMergeCurveKnotVectors.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsMergeCurveKnotVectors.reference.k3d
│   │   ├── mesh.modifier.NurbsPatchDegreeElevation.reference.k3d
│   │   ├── mesh.modifier.NurbsPatchInsertKnot.reference.k3d
│   │   ├── mesh.modifier.NurbsPolygonizeCurve.reference.3.k3d
│   │   ├── mesh.modifier.NurbsPolygonizeCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsPolygonizeCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsPolygonizePatch.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsPolygonizePatch.reference.k3d
│   │   ├── mesh.modifier.NurbsRevolveCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsRevolveCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsRuledSurface.reference.k3d
│   │   ├── mesh.modifier.NurbsSetWeight1.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsSetWeight1.reference.k3d
│   │   ├── mesh.modifier.NurbsSetWeight2.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsSetWeight2.reference.k3d
│   │   ├── mesh.modifier.NurbsSkinnedSurface.reference.k3d
│   │   ├── mesh.modifier.NurbsSplitCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsSplitPatch1.reference.k3d
│   │   ├── mesh.modifier.NurbsSplitPatch2.reference.k3d
│   │   ├── mesh.modifier.NurbsSweepSurface.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.bun_zipper_res4.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.bunny.ply
│   │   ├── mesh.modifier.PGPRemesh.bunny.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.high.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.torus.ply
│   │   ├── mesh.modifier.PGPRemesh.torus.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.triang.reference.k3d
│   │   ├── mesh.modifier.PointsToBlobby.reference.k3d
│   │   ├── mesh.modifier.PointsToParticles.reference.k3d
│   │   ├── mesh.modifier.PolyToBilinear.reference.k3d
│   │   ├── mesh.modifier.QSlim.reference.k3d
│   │   ├── mesh.modifier.QuadrilateralRemeshing.reference.k3d
│   │   ├── mesh.modifier.RotatePoints.reference.k3d
│   │   ├── mesh.modifier.SDSCorner.reference.k3d
│   │   ├── mesh.modifier.SDSCrease.reference.k3d
│   │   ├── mesh.modifier.SDSHole.reference.k3d
│   │   ├── mesh.modifier.ScalePoints.reference.k3d
│   │   ├── mesh.modifier.SelectConnectedComponents.reference.k3d
│   │   ├── mesh.modifier.SelectCube.reference.k3d
│   │   ├── mesh.modifier.SelectNSided.reference.k3d
│   │   ├── mesh.modifier.SelectedFacesToPolyhedron.reference.k3d
│   │   ├── mesh.modifier.SetColor.reference.k3d
│   │   ├── mesh.modifier.SetPosition.reference.k3d
│   │   ├── mesh.modifier.ShearPoints.reference.k3d
│   │   ├── mesh.modifier.SimplifyPolyhedra.reference.k3d
│   │   ├── mesh.modifier.SmoothPoints.reference.k3d
│   │   ├── mesh.modifier.SphereizePoints.reference.k3d
│   │   ├── mesh.modifier.SubdivideEdges.reference.k3d
│   │   ├── mesh.modifier.SubdivideFaces.Center.reference.k3d
│   │   ├── mesh.modifier.SubdivideFaces.CenterMidpoints.reference.k3d
│   │   ├── mesh.modifier.SubdivideFaces.Midpoints.reference.k3d
│   │   ├── mesh.modifier.TaperPoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.TaperPoints.reference.k3d
│   │   ├── mesh.modifier.TransformPoints.reference.k3d
│   │   ├── mesh.modifier.TranslatePoints.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.PolyCube.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.PolyGrid.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.PolyGrid.selection.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.self_intersection.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.vertex.reference.k3d
│   │   ├── mesh.modifier.TwistPoints.reference.k3d
│   │   ├── mesh.modifier.WeldPoints.reference.k3d
│   │   ├── mesh.selection.GrowSelection.reference.k3d
│   │   ├── mesh.selection.SelectBoundaryEdges.reference.k3d
│   │   ├── mesh.selection.SelectDegenerateFaces.reference.k3d
│   │   ├── mesh.selection.all.reference.k3d
│   │   ├── mesh.selection.none.reference.k3d
│   │   ├── mesh.selection.null.reference.k3d
│   │   ├── mesh.selection.points.reference.k3d
│   │   ├── mesh.sink.K3DMeshWriter.reference.k3d
│   │   ├── mesh.sink.OBJMeshWriter.reference.k3d
│   │   ├── mesh.sink.PLYMeshWriter.reference.k3d
│   │   ├── mesh.sink.STLMeshWriter.magics.reference.k3d
│   │   ├── mesh.sink.STLMeshWriter.magics.stl
│   │   ├── mesh.sink.STLMeshWriter.reference.k3d
│   │   ├── mesh.sink.STLMeshWriter.viscam.reference.k3d
│   │   ├── mesh.source.3DSMeshReader.test.3ds
│   │   ├── mesh.source.3DSMeshReader.test.reference.k3d
│   │   ├── mesh.source.BlobbyEllipsoid.reference.k3d
│   │   ├── mesh.source.BlobbySegment.reference.k3d
│   │   ├── mesh.source.COLLADAMeshReader.duck.dae
│   │   ├── mesh.source.COLLADAMeshReader.duck.reference.k3d
│   │   ├── mesh.source.GTSMeshReader.cube.gts
│   │   ├── mesh.source.GTSMeshReader.cube.reference.k3d
│   │   ├── mesh.source.GTSMeshReader.gz.cube.reference.k3d
│   │   ├── mesh.source.GTSPolySphere.reference.k3d
│   │   ├── mesh.source.LSystemParser.reference.k3d
│   │   ├── mesh.source.LeastSquaresPlot.reference.k3d
│   │   ├── mesh.source.LinearKnot.reference.Darwin-i386.k3d
│   │   ├── mesh.source.LinearKnot.reference.k3d
│   │   ├── mesh.source.LinearLissajousCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.source.LinearLissajousCurve.reference.k3d
│   │   ├── mesh.source.MD2MeshReader.md2
│   │   ├── mesh.source.MD2MeshReader.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.bezier_triangle_patches.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.bicubic.patches.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.bilinear.patches.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.blobby.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.cones.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.cubic.curves.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.cylinders.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.disks.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.hyperboloids.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.linear.curves.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.nurbs.curves.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.nurbs.patches.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.paraboloids.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.particles.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.polyhedra.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.simple_polyhedron.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.spheres.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.teapots.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.tori.reference.k3d
│   │   ├── mesh.source.Newell.teacup.reference.k3d
│   │   ├── mesh.source.Newell.teapot.reference.k3d
│   │   ├── mesh.source.Newell.teaspoon.reference.k3d
│   │   ├── mesh.source.NurbsCircle.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsCircle.reference.k3d
│   │   ├── mesh.source.NurbsCone.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsCone.reference.k3d
│   │   ├── mesh.source.NurbsCurve.reference.k3d
│   │   ├── mesh.source.NurbsCylinder.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsCylinder.reference.k3d
│   │   ├── mesh.source.NurbsDisk.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsDisk.reference.k3d
│   │   ├── mesh.source.NurbsGrid.reference.k3d
│   │   ├── mesh.source.NurbsHyperboloid.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsHyperboloid.reference.k3d
│   │   ├── mesh.source.NurbsParaboloid.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsParaboloid.reference.k3d
│   │   ├── mesh.source.NurbsPolygon.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsPolygon.reference.k3d
│   │   ├── mesh.source.NurbsSphere.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsSphere.reference.k3d
│   │   ├── mesh.source.NurbsTorus.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsTorus.reference.k3d
│   │   ├── mesh.source.OBJMeshReader.nurbs.obj
│   │   ├── mesh.source.OBJMeshReader.nurbs.reference.k3d
│   │   ├── mesh.source.OBJMeshReader.polyhedron.obj
│   │   ├── mesh.source.OBJMeshReader.polyhedron.reference.k3d
│   │   ├── mesh.source.PLYMeshReader.ply
│   │   ├── mesh.source.PLYMeshReader.reference.k3d
│   │   ├── mesh.source.PolyCone.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyCone.reference.k3d
│   │   ├── mesh.source.PolyCube.reference.k3d
│   │   ├── mesh.source.PolyCushion.reference.k3d
│   │   ├── mesh.source.PolyCylinder.caps.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyCylinder.caps.reference.k3d
│   │   ├── mesh.source.PolyCylinder.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyCylinder.reference.k3d
│   │   ├── mesh.source.PolyDisk.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyDisk.reference.k3d
│   │   ├── mesh.source.PolyGrid.reference.k3d
│   │   ├── mesh.source.PolyGridAndTransformPoints.reference.k3d
│   │   ├── mesh.source.PolyIcosahedron.reference.k3d
│   │   ├── mesh.source.PolySphere.1.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolySphere.1.reference.k3d
│   │   ├── mesh.source.PolySphere.2.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolySphere.2.reference.k3d
│   │   ├── mesh.source.PolySphere.3.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolySphere.3.reference.k3d
│   │   ├── mesh.source.PolyText.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyText.reference.k3d
│   │   ├── mesh.source.PolyTorus.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyTorus.reference.k3d
│   │   ├── mesh.source.QuadricCone.reference.k3d
│   │   ├── mesh.source.QuadricCylinder.reference.k3d
│   │   ├── mesh.source.QuadricDisk.reference.k3d
│   │   ├── mesh.source.QuadricHyperboloid.reference.k3d
│   │   ├── mesh.source.QuadricLogo.reference.Darwin-i386.k3d
│   │   ├── mesh.source.QuadricLogo.reference.k3d
│   │   ├── mesh.source.QuadricParaboloid.reference.k3d
│   │   ├── mesh.source.QuadricSphere.reference.k3d
│   │   ├── mesh.source.QuadricTorus.reference.k3d
│   │   ├── mesh.source.STLMeshReader.magics.reference.k3d
│   │   ├── mesh.source.STLMeshReader.reference.k3d
│   │   ├── mesh.source.STLMeshReader.stl
│   │   ├── mesh.source.STLMeshReader.viscam.reference.k3d
│   │   ├── mesh.source.STLMeshReader.viscam.stl
│   │   ├── mesh.source.SVGMeshReader.reference.k3d
│   │   ├── mesh.source.SphereEversion.reference.k3d
│   │   ├── mesh.source.SurfacePlot.reference.k3d
│   │   ├── mesh.source.Teapot.reference.k3d
│   │   ├── modifier.DissolveFaces.reference.k3d
│   │   ├── ngui.tools.move.reference.k3d
│   │   ├── ngui.tools.rotate.reference.k3d
│   │   ├── polyhedron.hole.k3d
│   │   ├── random_bytes
│   │   ├── source.UniformPolyhedron.reference.k3d
│   │   └── zero_bytes
│   ├── ngui/
│   │   ├── CMakeLists.txt
│   │   ├── MoveTool.py
│   │   ├── RotateTool.py
│   │   ├── icons.missing.py
│   │   ├── icons.unexpected.py
│   │   └── icons.unrasterized.py
│   ├── offscreen/
│   │   ├── CMakeLists.txt
│   │   ├── offscreen.GLXCameraToBitmap.py
│   │   ├── offscreen.OpenGLFramebufferCameraToBitmap.py
│   │   ├── offscreen.VirtualCameraToBitmap.py
│   │   └── offscreen.WGLCameraToBitmap.py
│   ├── other/
│   │   ├── CMakeLists.txt
│   │   ├── document.create.py
│   │   ├── document.importer.bogus_input.py
│   │   ├── document.serialization.properties.py
│   │   └── notifier.InotifyFileChangeNotifier.py
│   ├── parallel/
│   │   ├── CMakeLists.txt
│   │   ├── grain_size.ScalePoints.py
│   │   └── thread_count.ScalePoints.py
│   ├── platform/
│   │   ├── CMakeLists.txt
│   │   ├── platform_configuration.py
│   │   ├── platform_floating_point.cpp
│   │   ├── platform_normalized.cpp
│   │   ├── platform_statistics.cpp
│   │   └── platform_types.cpp
│   ├── python/
│   │   ├── CMakeLists.txt
│   │   ├── angle_axis.py
│   │   ├── document_environment.py
│   │   ├── get_dependency.py
│   │   ├── module.py
│   │   ├── named_arrays.py
│   │   ├── node_selection.py
│   │   ├── property_linking.py
│   │   ├── property_value.py
│   │   ├── renderman_attributes.py
│   │   ├── renderman_options.py
│   │   └── user_properties.py
│   ├── sdk/
│   │   ├── CMakeLists.txt
│   │   ├── array_metadata.cpp
│   │   ├── bitmap_conversion.cpp
│   │   ├── circular_signals.cpp
│   │   ├── data_sizes.cpp
│   │   ├── difference.cpp
│   │   ├── document_upgrade.cpp
│   │   ├── float_to_string.cpp
│   │   ├── hint_mapping.cpp
│   │   ├── non_blocking_server.cpp
│   │   ├── nurbs_deserialize.cpp
│   │   ├── nurbs_evaluate.cpp
│   │   ├── nurbs_serialize.cpp
│   │   ├── path_decomposition.cpp
│   │   ├── pipeline_data.cpp
│   │   ├── program_options.cpp
│   │   ├── relative_path.cpp
│   │   ├── selection_equality.cpp
│   │   ├── selection_serialization.cpp
│   │   ├── shared_dynamic_cast.cpp
│   │   ├── shared_dynamic_cast_config.h.in
│   │   ├── shared_dynamic_cast_library.cpp
│   │   ├── shared_dynamic_cast_library.h
│   │   ├── uuid.cpp
│   │   ├── xml_input.cpp
│   │   ├── xml_output.cpp
│   │   ├── xml_sanity_checks.cpp
│   │   └── xml_xpath.cpp
│   ├── shaders/
│   │   ├── CMakeLists.txt
│   │   ├── displacement_shader_test.k3d
│   │   ├── light_shader_test.k3d
│   │   ├── surface_shader_test.k3d
│   │   └── volume_shader_test.k3d
│   ├── string/
│   │   ├── CMakeLists.txt
│   │   └── source.StringSourceScript.py
│   ├── testing/
│   │   ├── CMakeLists.txt
│   │   ├── PipelineProfiler.py
│   │   ├── detect_language_failure
│   │   ├── detect_python.py
│   │   ├── detect_python_exception.py
│   │   ├── detect_python_failure.py
│   │   └── measurements.py
│   ├── testing.py
│   └── vector3/
│       ├── CMakeLists.txt
│       └── source.Vector3SourceScript.py
├── uuidgen/
│   ├── CMakeLists.txt
│   └── main.cpp
└── web/
    ├── CMakeLists.txt
    ├── developer/
    │   ├── dashboard-index.html
    │   ├── dashboard.html
    │   ├── developer.css
    │   ├── documentation.html
    │   ├── index.html
    │   ├── logo.xcf
    │   ├── navigation.html
    │   └── tracker/
    │       ├── issue.html
    │       ├── navigation.html
    │       ├── project.html
    │       ├── release.html
    │       ├── tracker
    │       └── tracker.css
    ├── k3d.css
    ├── planet/
    │   ├── index.html
    │   ├── logo.xcf
    │   ├── planet
    │   └── planet.css
    └── www/
        ├── donations.html
        ├── downloads.html
        ├── index.html
        ├── maintenance.html
        ├── navigation.html
        ├── resources/
        │   └── banner
        └── video.html

================================================
FILE CONTENTS
================================================

================================================
FILE: .ditz-plugins
================================================
- issue-claiming


================================================
FILE: .gitignore
================================================
.kdev4
*.kdev4
*.pyc
share/k3d/guide/content/._pipeline.txt


================================================
FILE: AUTHORS
================================================
This is K-3D, the free-as-in-freedom 3D modeling, animation, and rendering system.

For a list of K-3D contributors, use the "Help > About" menu item.  To see the
list of contributors without running K-3D, see the k3dsdk/contributors.cpp file.

For further information, visit the K-3D web site:

	http://www.k-3d.org

Thank You,
The K-3D Team



================================================
FILE: CMakeLists.txt
================================================
PROJECT(k3d)

# Configure CMake ...
CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR)
CMAKE_POLICY(SET CMP0003 OLD)
IF(${CMAKE_MAJOR_VERSION} GREATER 3 OR ${CMAKE_MAJOR_VERSION} EQUAL 3)
  CMAKE_POLICY(SET CMP0026 OLD)
ENDIF()

set(CMAKE_CXX_STANDARD 11)


SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
SET(CMAKE_INSTALL_NAME_DIR "@exectuable_path/../lib/")

INCLUDE(K3DOutOfSourceBuild) # Disallow in-source builds
INCLUDE(K3DCompileResource)
INCLUDE(K3DGenerateDEF) # Convenience macro for linking Win32 DLLs using MSVC
INCLUDE(K3DDependencies)
INCLUDE(K3DWordSize) # Detect 32/64 bit platform
INCLUDE(K3DCompiler) # Detect problematic compilers

# Set the K-3D version
SET(K3D_MAJOR_VERSION 0)
SET(K3D_MINOR_VERSION 8)
SET(K3D_RELEASE_VERSION 0)
SET(K3D_BUILD_VERSION 7)
SET(K3D_SO_VERSION 1)

SET(K3D_PACKAGE k3d)
SET(K3D_VERSION ${K3D_MAJOR_VERSION}.${K3D_MINOR_VERSION}.${K3D_RELEASE_VERSION}.${K3D_BUILD_VERSION})
SET(K3D_HOST ${CMAKE_SYSTEM} ${CMAKE_SYSTEM_PROCESSOR})
SET(K3D_COPYRIGHT "Copyright (c) 1995-2010, Timothy M. Shead.	All Rights Reserved.")

# Run tests to find external packages ...
INCLUDE(K3DFind3ds)
INCLUDE(K3DFindCairomm)
INCLUDE(K3DFindCARVE)
INCLUDE(K3DFindCGAL)
INCLUDE(K3DFindCollada)
INCLUDE(K3DFindDBus)
INCLUDE(K3DFindFreetype2)
INCLUDE(K3DFindFTGL)
INCLUDE(K3DFindGiomm)
INCLUDE(K3DFindGlibmm)
INCLUDE(K3DFindGMM)
INCLUDE(K3DFindGPerftools)
INCLUDE(K3DFindGtkGLExt)
INCLUDE(K3DFindGtkmm)
INCLUDE(K3DFindGtkSourceView)
INCLUDE(K3DFindGTS)
INCLUDE(K3DFindImageMagick)
INCLUDE(K3DFindInotify)
INCLUDE(K3DFindIntl)
INCLUDE(K3DFindJPEG)
INCLUDE(K3DFindODE)
INCLUDE(K3DFindOpenEXR)
INCLUDE(K3DFindOpenGL)
INCLUDE(K3DFindOSMesa)
INCLUDE(K3DFindPNG)
INCLUDE(K3DFindPython)
INCLUDE(K3DFindSigC)
INCLUDE(K3DFindSuperLU)
INCLUDE(K3DFindTBB)
INCLUDE(K3DFindTIFF)
INCLUDE(K3DFindXML)
INCLUDE(K3DFindZlib)

FIND_PACKAGE(Aqsis NO_MODULE QUIET)
FIND_PACKAGE(Qt4 4.6.2 COMPONENTS QtCore QtGui QtScript)
FIND_PACKAGE(K3DAsciiDoc)

# Setup platform-specific defaults ...
IF(WIN32 AND MSVC)
	SET(K3D_ENABLE_SYMBOL_VISIBILITY_DEFAULT ON)
ELSE()
	SET(K3D_ENABLE_SYMBOL_VISIBILITY_DEFAULT OFF)
ENDIF()

IF(Aqsis_FOUND AND QT4_FOUND)
	SET(K3D_QT_AQSIS_FOUND TRUE)
ELSE()
	SET(K3D_QT_AQSIS_FOUND FALSE)
ENDIF()

IF(K3D_OSMESA_FOUND AND QT4_FOUND)
	SET(K3D_QT_OSMESA_FOUND TRUE)
ELSE()
	SET(K3D_QT_OSMESA_FOUND FALSE)
ENDIF()

OPTION(K3D_BUILD_3DS_IO_MODULE "Build the 3ds_io module" ${K3D_3DS_FOUND})
OPTION(K3D_BUILD_ADVANCED_OPENGL_PAINTERS_MODULE "Build the advanced OpenGL mesh painters module" ON)
OPTION(K3D_BUILD_ANIMATION_MODULE "Build the animation module" ON)
OPTION(K3D_BUILD_ANNOTATION_MODULE "Build the annotation module" ${K3D_FREETYPE2_FOUND})
OPTION(K3D_BUILD_AQSIS_MODULE "Build the embedded Aqsis render engine module" ${Aqsis_FOUND})
OPTION(K3D_BUILD_ARRAY_MODULE "Build the array module" ON)
OPTION(K3D_BUILD_BICUBIC_PATCH_MODULE "Build the bicubic patch module" ON)
OPTION(K3D_BUILD_BILINEAR_PATCH_MODULE "Build the bilinear patch module" ON)
OPTION(K3D_BUILD_BITMAP_MODULE "Build the bitmap module" ON)
OPTION(K3D_BUILD_BLOBBY_MODULE "Build the blobby module" ON)
OPTION(K3D_BUILD_BUNDLED_RENDERMAN_ENGINES_MODULE "Provides integration with RenderMan-compatible render engines that are bundled with K-3D." OFF)
OPTION(K3D_BUILD_CARVE_MODULE "Build the CARVE module" ${K3D_CARVE_FOUND})
OPTION(K3D_BUILD_CGAL_MODULE "Build the CGAL module" ${K3D_CGAL_FOUND})
OPTION(K3D_BUILD_CLOTH_MODULE "Build the cloth module" ON)
OPTION(K3D_BUILD_COLLADA_IO_MODULE "Build the COLLADA module" ${K3D_COLLADA_FOUND})
OPTION(K3D_BUILD_COMPIZ_MODULE "Build the Compiz module" ${K3D_DBUS_FOUND})
OPTION(K3D_BUILD_CORE_MODULE "Build the core module" ON)
OPTION(K3D_BUILD_CUDA_MODULE "Build the cuda module" OFF)
OPTION(K3D_BUILD_DEFORMATION_MODULE "Build the mesh deformation module" ON)
OPTION(K3D_BUILD_DEVELOPMENT_MODULE "Build the development module" ON)
OPTION(K3D_BUILD_DOUBLE_MODULE "Build the double module" ON)
OPTION(K3D_BUILD_EULER_OPERATIONS_MODULE "Build the module that exposes the Euler mesh operations as mesh modifiers" OFF)
OPTION(K3D_BUILD_FILE_MAGIC_MODULE "Build the file-identification-magic module" ON)
OPTION(K3D_BUILD_FREETYPE2_MODULE "Build the freetype2 module" ON)
OPTION(K3D_BUILD_GIO_MODULE "Build the GIO module for mime type support" ${K3D_GIOMM_FOUND})
OPTION(K3D_BUILD_GLX_MODULE "Build the GLX offscreen rendering module" OFF)
OPTION(K3D_BUILD_GMSH_IO_MODULE "Build the Gmsh file format module" ON)
OPTION(K3D_BUILD_GPERFTOOLS_MODULE "Build the GPerftools profiling module" ${K3D_GPERFTOOLS_FOUND})
OPTION(K3D_BUILD_GRAPHVIZ_MODULE "Build the GraphViz integration module" ON)
OPTION(K3D_BUILD_GTS_IO_MODULE "Build the GNU Triangulated Surfaces file format module" ON)
OPTION(K3D_BUILD_GTS_MODULE "Build the GNU Triangulated Surfaces module" ${K3D_GTS_FOUND})
OPTION(K3D_BUILD_HIGHLIGHTING_MODULE "Build the user interface 'highlighting' module" ON)
OPTION(K3D_BUILD_IGES_IO_MODULE "Build the IGES file format module" ON)
OPTION(K3D_BUILD_IMAGEMAGICK_IO_MODULE "Build the ImageMagick file format module" ${K3D_IMAGEMAGICK_FOUND})
OPTION(K3D_BUILD_INDIGO_MODULE "Build the Indigo render engine integration module" ON)
OPTION(K3D_BUILD_INOTIFY_MODULE "Build the inotify file change notification module" ${K3D_INOTIFY_FOUND})
OPTION(K3D_BUILD_JPEG_IO_MODULE "Build the jpeg file format module" ${K3D_JPEG_FOUND})
OPTION(K3D_BUILD_K3D_IO_MODULE "Build the K-3D file format module" ON)
OPTION(K3D_BUILD_LINEAR_CURVE_MODULE "Build the linear curve module" ON)
OPTION(K3D_BUILD_LIPSYNC_MODULE "Build the lip synchronization tools module" ON)
OPTION(K3D_BUILD_LSYSTEM_MODULE "Build the l-system parser module" ON)
OPTION(K3D_BUILD_LUXRENDER_MODULE "Build the Luxrender render enegine integration module" ON)
OPTION(K3D_BUILD_MATRIX_MODULE "Build the matrix operations module" ON)
OPTION(K3D_BUILD_MD2_IO_MODULE "Build the md2 io module" ON)
OPTION(K3D_BUILD_MESH_ATTRIBUTES_MODULE "Build the mesh attributes module" ON)
OPTION(K3D_BUILD_MESH_INSTANCE_MODULE "Build the mesh-instance module" ON)
OPTION(K3D_BUILD_MESH_MODULE "Build the mesh module" ON)
OPTION(K3D_BUILD_NGUI_ABOUT_MODULE "Build the user interface 'about' dialog module" ON)
OPTION(K3D_BUILD_NGUI_ANIMATION_TIMELINE_PANEL_MODULE "Build the experimental animation timeline panel module" ON)
OPTION(K3D_BUILD_NGUI_ASSIGN_HOTKEYS_MODULE "Build the user interface 'assign hotkeys' module" ON)
OPTION(K3D_BUILD_NGUI_ATK_EVENT_RECORDER_MODULE "Build the user interface ATK 'event recorder' module" OFF)
OPTION(K3D_BUILD_NGUI_KNOT_VECTOR_CONTROL_MODULE "Build the custom knot-vector property control module" ON)
OPTION(K3D_BUILD_NGUI_LEARNING_MODULE "Build the user interface learning (tutorial) dialog module" ON)
OPTION(K3D_BUILD_NGUI_LOG_MODULE "Build the user interface log window module" ON)
OPTION(K3D_BUILD_NGUI_MATERIAL_MANAGER_PANEL_MODULE "Build the user interface manager manager panel module" OFF)
OPTION(K3D_BUILD_NGUI_MESH_CONTROL_MODULE "Build the mesh property control module" ON)
OPTION(K3D_BUILD_NGUI_MODULE "Build the standard graphical user interface module" ON)
OPTION(K3D_BUILD_NGUI_MORPH_POINTS_PAGE_MODULE "Build the MorphPoints custom property page module" ON)
OPTION(K3D_BUILD_NGUI_NODE_LIST_PANEL_MODULE "Build the user interface node list panel module" ON)
OPTION(K3D_BUILD_NGUI_NODE_PROPERTIES_PANEL_MODULE "Build the user interface node properties panel module" ON)
OPTION(K3D_BUILD_NGUI_OPENGL_DIALOG_MODULE "Build the user interface OpenGL information dialog module" ON)
OPTION(K3D_BUILD_NGUI_PARENT_TOOL_MODULE "Build the user interface 'parent tool' module" ON)
OPTION(K3D_BUILD_NGUI_PIPELINE_PANEL_MODULE "Build the user interface pipeline display panel module" ON)
OPTION(K3D_BUILD_NGUI_PIPELINE_PROFILER_PANEL_MODULE "Build the user interface pipeline profiler panel module" ON)
OPTION(K3D_BUILD_NGUI_PYTHON_SHELL_MODULE "Build the interactive Python shell module" ON)
OPTION(K3D_BUILD_NGUI_RECTANGLE_CONTROL_MODULE "Build the custom rectangle property control module" ON)
OPTION(K3D_BUILD_NGUI_RENDER_REGION_TOOL_MODULE "Build the user interface 'render region tool' module" ON)
OPTION(K3D_BUILD_NGUI_SELECTION_CONTROL_MODULE "Build the selection property control module" ON)
OPTION(K3D_BUILD_NGUI_SNAP_TOOL_MODULE "Build the user interface 'snap tool' module" ON)
OPTION(K3D_BUILD_NGUI_SPACE_NAVIGATOR_MODULE "Build the SpaceNavigator 3D mouse integration module" OFF)
OPTION(K3D_BUILD_NGUI_TEXT_EDITOR_MODULE "Build the user interface text editor module" ON)
OPTION(K3D_BUILD_NGUI_TIMELINE_PANEL_MODULE "Build the user interface timeline panel module" ON)
OPTION(K3D_BUILD_NGUI_TOOLBAR_PANEL_MODULE "Build the user interface toolbar panel module" ON)
OPTION(K3D_BUILD_NGUI_TOOL_PROPERTIES_PANEL_MODULE "Build the user interface tool properties panel module" ON)
OPTION(K3D_BUILD_NGUI_UNDO_TREE_PANEL_MODULE "Build the user interface undo panel module" ON)
OPTION(K3D_BUILD_NGUI_UV_EDITOR_PANEL_MODULE "Build the user interface UV editor panel module" OFF)
OPTION(K3D_BUILD_NUI_MODULE "Build the Null User Interface module" ON)
OPTION(K3D_BUILD_NURBS_MODULE "Build the NURBS module" ON)
OPTION(K3D_BUILD_NURBS_SOURCES_MODULE "Build the NURBS sources module" ON)
OPTION(K3D_BUILD_OBJ_IO_MODULE "Build the Wavefront .obj file format module" ON)
OPTION(K3D_BUILD_ODE_MODULE "Build the Open Dynamics Engine (ODE) integration module" ${K3D_ODE_FOUND})
OPTION(K3D_BUILD_OGRE_IO_MODULE "Build the Object-oriented Graphics Engine (OGRE) file I/O module" ON)
OPTION(K3D_BUILD_OPENEXR_IO_MODULE "Build the OpenEXR file format module" ${K3D_OPENEXR_FOUND})
OPTION(K3D_BUILD_OPENGL_MODULE "Build the OpenGL integration module" ON)
OPTION(K3D_BUILD_OSMESA_MODULE "Build the Offscreen Mesa integration module" ${K3D_OSMESA_FOUND})
OPTION(K3D_BUILD_OSX_MODULE "Build the Mac OSX integration module" ${APPLE})
OPTION(K3D_BUILD_PARTICLE_MODULE "Build the point group module" ON)
OPTION(K3D_BUILD_PDIFF_MODULE "Build the perceptual-diff module" ON)
OPTION(K3D_BUILD_PIXIE_MODULE "Build the Pixie render engine integration module" ON)
OPTION(K3D_BUILD_PLOT_MODULE "Build the function-plot module" ON)
OPTION(K3D_BUILD_PLY_IO_MODULE "Build the Stanford .ply file format module" ON)
OPTION(K3D_BUILD_PNG_IO_MODULE "Build the PNG file format module" ON)
OPTION(K3D_BUILD_POLYHEDRON_MODULE "Build the polyhedron module" ON)
OPTION(K3D_BUILD_POLYHEDRON_SOURCES_MODULE "Build the polyhedron sources module" ON)
OPTION(K3D_BUILD_PYTHON_MODULE "Build the Python scripting language module" ON)
OPTION(K3D_BUILD_PYUI_MODULE "Build the Python user interface plugin" ON)
OPTION(K3D_BUILD_QSLIM_MODULE "Build the qslim module" ON)
OPTION(K3D_BUILD_QTUI_ABOUT_DIALOG_MODULE "Build the Qt user interface 'about' dialog module" OFF)
OPTION(K3D_BUILD_QTUI_AQSIS_MODE_MODULE "Build the Qt-Aqsis integration mode module" OFF)
OPTION(K3D_BUILD_QTUI_AQSIS_MODULE "Build the Qt-Aqsis integration module" OFF)
OPTION(K3D_BUILD_QTUI_BOOLEAN_MODULE "Build the Qt graphical user interface boolean property widget module" OFF)
OPTION(K3D_BUILD_QTUI_COLOR_MODULE "Build the Qt graphical user interface color property widget module" OFF)
OPTION(K3D_BUILD_QTUI_DEFAULT_MODE_MODULE "Build the Qt graphical user interface default mode module" OFF)
OPTION(K3D_BUILD_QTUI_JAVASCRIPT_SHELL_MODULE "Build the Qt graphical user interface interactive JavaScript shell module" OFF)
OPTION(K3D_BUILD_QTUI_LOG_MODULE "Build the Qt user interface log window module" OFF)
OPTION(K3D_BUILD_QTUI_MATRIX_MODULE "Build the Qt graphical user interface matrix property widget module" OFF)
OPTION(K3D_BUILD_QTUI_MODULE "Build the Qt graphical user interface module" OFF)
OPTION(K3D_BUILD_QTUI_MOVE_MODE_MODULE "Build the user interface mode to move components" OFF)
OPTION(K3D_BUILD_QTUI_NODE_LIST_MODULE "Build the Qt graphical user interface node list module" OFF)
OPTION(K3D_BUILD_QTUI_NODE_PROPERTIES_MODULE "Build the Qt graphical user interface node properties module" OFF)
OPTION(K3D_BUILD_QTUI_OPENGL_MODULE "Build the Qt graphical user interface OpenGL-test module" OFF)
OPTION(K3D_BUILD_QTUI_PATH_MODULE "Build the Qt graphical user interface filesystem path property widget module" OFF)
OPTION(K3D_BUILD_QTUI_PROGRAMMABLE_MODE_MODULE "Build the Qt graphical user interface programmable mode module" OFF)
OPTION(K3D_BUILD_QTUI_STRING_MODULE "Build the Qt graphical user interface string property widget module" OFF)
OPTION(K3D_BUILD_QTUI_TEXT_EDITOR_MODULE "Build the Qt graphical user interface text editor module" OFF)
OPTION(K3D_BUILD_QUADRICS_MODULE "Build the quadrics module" ON)
OPTION(K3D_BUILD_REFERENCE_OPENGL_PAINTERS_MODULE "Build the reference OpenGL mesh painters module" ON)
OPTION(K3D_BUILD_RENDERMAN_ENGINES_MODULE "Provides integration with many RenderMan-compatible render engines." ON)
OPTION(K3D_BUILD_RENDERMAN_MODULE "Build the RenderMan integration module" ON)
OPTION(K3D_BUILD_RENDERMAN_PAINTERS_MODULE "Build the RenderMan mesh painters module" ON)
OPTION(K3D_BUILD_RELEASE_MODULE "Build the release nag-messages module" ON)
OPTION(K3D_BUILD_SCRIPTED_PLUGINS_MODULE "Build the scripted plugins module" ON)
OPTION(K3D_BUILD_SCRIPTING_MODULE "Build the scripting module" ON)
OPTION(K3D_BUILD_SELECTION_MODULE "Build the selection module" ON)
OPTION(K3D_BUILD_SOLAR_MODULE "Build the solar module" ON)
OPTION(K3D_BUILD_STL_IO_MODULE "Build the STL file format module" ON)
OPTION(K3D_BUILD_SUBDIVISION_SURFACE_MODULE "Build the subdivision surface module" ON)
OPTION(K3D_BUILD_SVG_IO_MODULE "Build the SVG file format module" ON)
OPTION(K3D_BUILD_TEST_MODULE "Build the regression test module" ON)
OPTION(K3D_BUILD_TIFF_IO_MODULE "Build the TIFF file format module" ON)
OPTION(K3D_BUILD_TIME_MODULE "Build the time source module" ON)
OPTION(K3D_BUILD_UNIFORM_POLYHEDRON_MODULE "Build the uniform polyhedron source module" ON)
OPTION(K3D_BUILD_VIRTUAL_OFFSCREEN_MODULE "Build the virtual offscreen OpenGL rendering module" OFF)
OPTION(K3D_BUILD_VIRTUAL_OPENGL_PAINTERS_MODULE "Build virtual OpenGL painters modules" ON)
OPTION(K3D_BUILD_WGL_MODULE "Build the Windows offscreen rendering module" ${WIN32})
OPTION(K3D_BUILD_WINDOWS_MODULE "Build the Windows integration module" ${WIN32})
OPTION(K3D_BUILD_XTRACKCAD_MODULE "Build the XTrackCAD Model Railroad integration module" ON)
OPTION(K3D_BUILD_YAFRAY_MODULE "Build the YAFRAY render engine integration module" ON)

OPTION(K3D_BUILD_DOCS "Build the documentation" OFF)
OPTION(K3D_BUILD_GUIDE "Build the html guide" OFF)

OPTION(K3D_ENABLE_OSX_BUNDLE "Package K-3D as an OSX bundle (ignored on other platforms)." OFF)
OPTION(K3D_ENABLE_DISTRIBUTION "Enable distribution targets." OFF)
OPTION(K3D_ENABLE_NLS "Build K-3D with native language support" ON)
OPTION(K3D_ENABLE_PARALLEL "Enable parallel computation using the Threaded Building Blocks library." OFF)
OPTION(K3D_ENABLE_PROFILING "Enable code profiling using GPerftools." OFF)
OPTION(K3D_ENABLE_PYTHON "Build K-3D with Python support" ON)
OPTION(K3D_ENABLE_SYMBOL_VISIBILITY "Minimize the number of symbols exported from shared libraries." ${K3D_ENABLE_SYMBOL_VISIBILITY_DEFAULT})
OPTION(K3D_ENABLE_TESTING "Build the K-3D regression test suite." OFF)

# Find Boost - this logic must follow all user-definable options
SET(K3D_BOOST_COMPONENTS date_time program_options regex system unit_test_framework)
IF(K3D_ENABLE_PYTHON)
	LIST(APPEND K3D_BOOST_COMPONENTS python)
ENDIF()
IF(K3D_BUILD_COLLADA_IO_MODULE)
	LIST(APPEND K3D_BOOST_COMPONENTS filesystem)
ENDIF()
IF(K3D_BUILD_CGAL_MODULE)
	LIST(APPEND K3D_BOOST_COMPONENTS thread)
ENDIF()
INCLUDE(K3DFindBoost)

# Find required external packages
K3D_CHECK("K-3D" REQUIRES Boost_FOUND RESOURCE "Boost" URL "http://www.boost.org" MESSAGE "Note: K-3D requires many of the compiled Boost libraries, which may be distributed separately on some systems.")
K3D_CHECK("K-3D" REQUIRES K3D_GLIBMM_FOUND RESOURCE "glibmm" URL "http://gtkmm.org")
K3D_CHECK("K-3D" REQUIRES K3D_OPENGL_FOUND RESOURCE "OpenGL" URL "http://opengl.org")
K3D_CHECK("K-3D" REQUIRES K3D_SIGC_FOUND RESOURCE "libsigc++" URL "http://libsigc.sourceforge.net")
K3D_CHECK("K-3D" REQUIRES K3D_XML_FOUND RESOURCE "XML parser" URL "http://xmlsoft.org")
K3D_CHECK("K-3D" REQUIRES K3D_ZLIB_FOUND RESOURCE "zlib" URL "http://www.zlib.net")

K3D_CHECK(K3D_BUILD_3DS_IO_MODULE REQUIRES K3D_3DS_FOUND RESOURCE "lib3ds")
K3D_CHECK(K3D_BUILD_ANNOTATION_MODULE REQUIRES K3D_FREETYPE2_FOUND RESOURCE "freetype2")
K3D_CHECK(K3D_BUILD_AQSIS_MODULE REQUIRES Aqsis_FOUND MESSAGE "To build this module you need to set Aqsis_DIR to the path to an Aqsis build directory.")
K3D_CHECK(K3D_BUILD_CARVE_MODULE REQUIRES K3D_CARVE_FOUND RESOURCE "CARVE")
K3D_CHECK(K3D_BUILD_CGAL_MODULE REQUIRES K3D_CGAL_FOUND RESOURCE "CGAL")
K3D_CHECK(K3D_BUILD_COLLADA_MODULE REQUIRES K3D_COLLADA_FOUND RESOURCE "Collada DOM")
K3D_CHECK(K3D_BUILD_COMPIZ_MODULE REQUIRES K3D_DBUS_FOUND RESOURCE "libdbus")
K3D_CHECK(K3D_BUILD_FREETYPE2_MODULE REQUIRES K3D_FREETYPE2_FOUND RESOURCE "freetype2")
K3D_CHECK(K3D_BUILD_GTS_MODULE REQUIRES K3D_GTS_FOUND RESOURCE "GNU Triangulated Surface")
K3D_CHECK(K3D_BUILD_IMAGEMAGICK_IO_MODULE REQUIRES K3D_IMAGEMAGICK_FOUND RESOURCE "ImageMagick")
K3D_CHECK(K3D_BUILD_JPEG_IO_MODULE REQUIRES K3D_JPEG_FOUND RESOURCE "JPEG")
K3D_CHECK(K3D_BUILD_NGUI_ABOUT_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_ANIMATION_TIMELINE_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_ASSIGN_HOTKEYS_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_ATK_EVENT_RECORDER_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_KNOT_VECTOR_CONTROL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_LEARNING_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_LOG_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_MESH_CONTROL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_MODULE REQUIRES K3D_GTKGLEXT_FOUND RESOURCE "gtkglext")
K3D_CHECK(K3D_BUILD_NGUI_MODULE REQUIRES K3D_GTKGLEXT_FOUND RESOURCE "gtkglext")
K3D_CHECK(K3D_BUILD_NGUI_MODULE REQUIRES K3D_GTKMM_FOUND RESOURCE "gtkmm")
K3D_CHECK(K3D_BUILD_NGUI_MODULE REQUIRES K3D_GTKMM_FOUND RESOURCE "gtkmm")
K3D_CHECK(K3D_BUILD_NGUI_MORPH_POINTS_PAGE_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_NODE_HISTORY_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_NODE_LIST_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_NODE_PROPERTIES_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_OPENGL_DIALOG_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_PARENT_TOOL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_PIPELINE_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_PIPELINE_PANEL_MODULE REQUIRES K3D_CAIROMM_FOUND RESOURCE "cairomm")
K3D_CHECK(K3D_BUILD_NGUI_PIPELINE_PANEL_MODULE REQUIRES K3D_CAIROMM_FOUND RESOURCE "cairomm")
K3D_CHECK(K3D_BUILD_NGUI_PIPELINE_PROFILER_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_PYTHON_SHELL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_PYTHON_SHELL_MODULE REQUIRES K3D_ENABLE_PYTHON)
K3D_CHECK(K3D_BUILD_NGUI_PYTHON_SHELL_MODULE REQUIRES K3D_ENABLE_PYTHON)
K3D_CHECK(K3D_BUILD_NGUI_RECTANGLE_CONTROL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_RENDER_REGION_TOOL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_SELECTION_CONTROL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_SNAP_TOOL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_SPACE_NAVIGATOR_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_TEXT_EDITOR_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_TIMELINE_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_TOOLBAR_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_TOOL_PROPERTIES_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_UNDO_TREE_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_NGUI_UV_EDITOR_PANEL_MODULE REQUIRES K3D_BUILD_NGUI_MODULE)
K3D_CHECK(K3D_BUILD_OPENEXR_IO_MODULE REQUIRES K3D_OPENEXR_FOUND RESOURCE "OpenEXR")
K3D_CHECK(K3D_BUILD_OSMESA_MODULE REQUIRES K3D_OSMESA_FOUND RESOURCE "OSMesa")
K3D_CHECK(K3D_BUILD_PGP_REMESH_MODULE REQUIRES K3D_GMM_FOUND RESOURCE "gmm")
K3D_CHECK(K3D_BUILD_PNG_IO_MODULE REQUIRES K3D_PNG_FOUND RESOURCE "PNG")
K3D_CHECK(K3D_BUILD_PYTHON_MODULE REQUIRES K3D_ENABLE_PYTHON)
K3D_CHECK(K3D_BUILD_PYUI_MODULE REQUIRES K3D_ENABLE_PYTHON)
K3D_CHECK(K3D_BUILD_QTUI_ABOUT_DIALOG_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_AQSIS_MODULE REQUIRES Aqsis_FOUND K3D_BUILD_QTUI_MODULE MESSAGE "To build this module you need to set Aqsis_DIR to the path to an Aqsis build directory.")
K3D_CHECK(K3D_BUILD_QTUI_AQSIS_MODE_MODULE REQUIRES Aqsis_FOUND K3D_BUILD_QTUI_MODULE MESSAGE "To build this module you need to set Aqsis_DIR to the path to an Aqsis build directory.")
K3D_CHECK(K3D_BUILD_QTUI_BOOLEAN_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_COLOR_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_DEFAULT_MODE_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_JAVASCRIPT_SHELL_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_LOG_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_MATRIX_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_MODULE REQUIRES QT4_FOUND RESOURCE "Qt4")
K3D_CHECK(K3D_BUILD_QTUI_MOVE_MODE_MODULE REQUIRES QT4_FOUND)
K3D_CHECK(K3D_BUILD_QTUI_NODE_LIST_MODULE REQUIRES QT4_FOUND)
K3D_CHECK(K3D_BUILD_QTUI_NODE_PROPERTIES_MODULE REQUIRES QT4_FOUND)
K3D_CHECK(K3D_BUILD_QTUI_OPENGL_MODULE REQUIRES K3D_BUILD_QTUI_MODULE K3D_BUILD_OSMESA_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_PATH_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_PROGRAMMABLE_MODE_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_STRING_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_QTUI_TEXT_EDITOR_MODULE REQUIRES K3D_BUILD_QTUI_MODULE)
K3D_CHECK(K3D_BUILD_TIFF_IO_MODULE REQUIRES K3D_TIFF_FOUND RESOURCE "libtiff")
K3D_CHECK(K3D_ENABLE_NLS REQUIRES K3D_INTL_FOUND RESOURCE "intl")
K3D_CHECK(K3D_ENABLE_PARALLEL REQUIRES K3D_TBB_FOUND RESOURCE "Threading Building Blocks" URL "http://threadingbuildingblocks.org")
K3D_CHECK(K3D_ENABLE_PROFILING REQUIRES K3D_GPERFTOOLS_FOUND RESOURCE "GPerftools" URL "https://github.com/gperftools/gperftools")
K3D_CHECK(K3D_ENABLE_PYTHON REQUIRES K3D_PYTHON_FOUND RESOURCE "Python")

# Setup testing
SET(BUILD_TESTING ${K3D_ENABLE_TESTING} CACHE INTERNAL "" FORCE)
INCLUDE(CTest)
IF(K3D_ENABLE_TESTING)
	CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake @ONLY)
ENDIF()

# Capture system configuration
INCLUDE(K3DSystemConfiguration)

# Win32 configuration
IF(WIN32 AND NOT MSVC)
	SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-runtime-pseudo-reloc" CACHE STRING "" FORCE)
	SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-runtime-pseudo-reloc -Wl,--export-all-symbols" CACHE STRING "" FORCE)
ENDIF()

# Setup output directories ...
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/bin)

SET(K3D_LIBDIR lib) # Allows us to handle 64-bit libs if/when it becomes necessary.

IF(APPLE AND K3D_ENABLE_OSX_BUNDLE)
	SET(K3D_BUNDLE_DIRECTORY ${k3d_BINARY_DIR}/K-3D.app/Contents)
	SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${K3D_BUNDLE_DIRECTORY}/${K3D_LIBDIR})
	SET(K3D_RUNTIME_OUTPUT_DIRECTORY ${K3D_BUNDLE_DIRECTORY}/MacOS)
	SET(K3D_MODULE_OUTPUT_DIRECTORY ${K3D_BUNDLE_DIRECTORY}/${K3D_LIBDIR}/k3d/plugins)
	SET(K3D_SHARE_OUTPUT_DIRECTORY ${K3D_BUNDLE_DIRECTORY}/share)
ELSEIF(WIN32)
	SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/bin)
	SET(K3D_RUNTIME_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/bin)
	SET(K3D_MODULE_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/${K3D_LIBDIR}/k3d/plugins)
	SET(K3D_SHARE_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/share)
ELSE()
	SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/${K3D_LIBDIR})
	SET(K3D_RUNTIME_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/bin)
	SET(K3D_MODULE_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/${K3D_LIBDIR}/k3d/plugins)
	SET(K3D_SHARE_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/share)
ENDIF()

# Setup subdirectories ...
K3D_ADD_SUBDIRECTORY(gendef REQUIRES MSVC)

ADD_SUBDIRECTORY(k3dsdk)
ADD_SUBDIRECTORY(resource-compiler)

ADD_SUBDIRECTORY(application)
ADD_SUBDIRECTORY(desktop)
ADD_SUBDIRECTORY(make-module-proxy)
ADD_SUBDIRECTORY(renderjob)
ADD_SUBDIRECTORY(renderframe)
ADD_SUBDIRECTORY(sl2xml)
ADD_SUBDIRECTORY(uuidgen)
ADD_SUBDIRECTORY(modules)
ADD_SUBDIRECTORY(share)

K3D_ADD_SUBDIRECTORY(tests REQUIRES K3D_ENABLE_TESTING)
K3D_ADD_SUBDIRECTORY(po REQUIRES K3D_ENABLE_NLS)

ADD_SUBDIRECTORY(bugs)
K3D_ADD_SUBDIRECTORY(docs REQUIRES K3D_BUILD_DOCS)
ADD_SUBDIRECTORY(web)

K3D_ADD_SUBDIRECTORY(distribution REQUIRES K3D_ENABLE_DISTRIBUTION)

# Hide some cruft ...
MARK_AS_ADVANCED(A2X_COMMAND)
MARK_AS_ADVANCED(AQSIS_COMMAND)
MARK_AS_ADVANCED(AQSL_COMMAND)
MARK_AS_ADVANCED(ASCIIDOC_COMMAND)
MARK_AS_ADVANCED(ASSISTANT_COMMAND)
MARK_AS_ADVANCED(ASTYLE_COMMAND)
MARK_AS_ADVANCED(Aqsis_DIR)
MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY)
MARK_AS_ADVANCED(CMAKE_EXECUTABLE_FORMAT)
MARK_AS_ADVANCED(CMAKE_LIBRARY_OUTPUT_DIRECTORY)
MARK_AS_ADVANCED(CMAKE_OSX_ARCHITECTURES)
MARK_AS_ADVANCED(CMAKE_OSX_DEPLOYMENT_TARGET)
MARK_AS_ADVANCED(CMAKE_OSX_SYSROOT)
MARK_AS_ADVANCED(CMAKE_RUNTIME_OUTPUT_DIRECTORY)
MARK_AS_ADVANCED(CMAKE_USE_CHRPATH)
MARK_AS_ADVANCED(CUDA_FOUND CUDA_COMPILER CUDA_RUNTIME_LIBRARY)
MARK_AS_ADVANCED(DART_TESTING_TIMEOUT)
MARK_AS_ADVANCED(DITZ_EXECUTABLE)
MARK_AS_ADVANCED(GDB_COMMAND)
MARK_AS_ADVANCED(GIT_COMMAND)
MARK_AS_ADVANCED(K3D_AQSIS_COMMAND)
MARK_AS_ADVANCED(K3D_BOOST_INCLUDE_DIR)
MARK_AS_ADVANCED(K3D_BOOST_LIBRARY_DIR)
MARK_AS_ADVANCED(K3D_BOOST_USE_MULTITHREADED)
MARK_AS_ADVANCED(K3D_ENABLE_PARALLEL)
MARK_AS_ADVANCED(K3D_ENABLE_PROFILING)
MARK_AS_ADVANCED(K3D_ENABLE_SYMBOL_VISIBILITY)
MARK_AS_ADVANCED(K3D_EXTRA_GDB_ARGUMENTS)
MARK_AS_ADVANCED(K3D_EXTRA_QT_PLUGINS)
MARK_AS_ADVANCED(K3D_GTK_DIR)
MARK_AS_ADVANCED(K3D_INTLTOOL_UPDATE)
MARK_AS_ADVANCED(K3D_MACPORTS_DIR)
MARK_AS_ADVANCED(K3D_MINGW_GCC)
MARK_AS_ADVANCED(K3D_MSGFMT)
MARK_AS_ADVANCED(K3D_MSGMERGE)
MARK_AS_ADVANCED(K3D_PYTHON_COMMAND)
MARK_AS_ADVANCED(K3D_PYTHON_LIBRARY)
MARK_AS_ADVANCED(K3D_SOURCEFORGE_USERNAME)
MARK_AS_ADVANCED(K3D_XGETTEXT)
MARK_AS_ADVANCED(MAKO_COMMAND)
MARK_AS_ADVANCED(QCOLLECTIONGENERATOR_COMMAND)
MARK_AS_ADVANCED(QHELPGENERATOR_COMMAND)
MARK_AS_ADVANCED(QT_MKSPECS_DIR)
MARK_AS_ADVANCED(QT_PLUGINS_DIR)
MARK_AS_ADVANCED(QT_QMAKE_EXECUTABLE)
MARK_AS_ADVANCED(QT_QTMOTIF_INCLUDE_DIR)
MARK_AS_ADVANCED(QT_QTMOTIF_LIBRARY_DEBUG)
MARK_AS_ADVANCED(QT_QTMOTIF_LIBRARY_RELEASE)
MARK_AS_ADVANCED(QT_X11_X11_LIBRARY)
MARK_AS_ADVANCED(QT_X11_Xext_LIBRARY)
MARK_AS_ADVANCED(QT_X11_m_LIBRARY)
MARK_AS_ADVANCED(RNDR_COMMAND)
MARK_AS_ADVANCED(RSVG_COMMAND)
MARK_AS_ADVANCED(SDRC_COMMAND)


================================================
FILE: COPYING
================================================
		    GNU GENERAL PUBLIC LICENSE
		       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

		    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

			    NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

		     END OF TERMS AND CONDITIONS

	    How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) year  name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type 'show c' for details.

The hypothetical commands 'show w' and 'show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than 'show w' and 'show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  'Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.


================================================
FILE: CTestConfig.cmake
================================================
SET(CTEST_PROJECT_NAME "K-3D")
SET(CTEST_NIGHTLY_START_TIME "02:00:00 MST")

SET(CTEST_DROP_METHOD "http")
SET(CTEST_DROP_SITE "www.k-3d.org")
SET(CTEST_DROP_LOCATION "/cdash/submit.php?project=K-3D")
SET(CTEST_DROP_SITE_CDASH TRUE)



================================================
FILE: CTestCustom.cmake.in
================================================

SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 400)
SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 400)

SET(CTEST_CUSTOM_WARNING_EXCEPTION
	${CTEST_CUSTOM_WARNING_EXCEPTION}
	"[/]usr[/]include[/]c[+][+][/]4.3[/]backward[/]backward_warning.h[:]33[:]2"
	)



================================================
FILE: INSTALL
================================================
This is K-3D, the free-as-in-freedom 3D modeling, animation, and rendering system.

You will need CMake, http://www.cmake.org, to build K-3D on all platforms.

For detailed, platform-specific instructions on how to build and install K-3D,
please visit the "Getting Started" section of the K-3D website, located at:

	http://www.k-3d.org/wiki/Getting_Started

Thank you,
The K-3D Team



================================================
FILE: README
================================================
This is K-3D, the free-as-in-freedom 3D modeling, animation, and rendering system.

For instructions on building the project, refer to INSTALL, located within this directory.
The project is licensed under the GNU General Public License.  A copy of the license is
located in COPYING.  Contributors to the project are listed in the AUTHORS file.

For further information, visit the K-3D web site:

	http://www.k-3d.org

Thank You,
The K-3D Team



================================================
FILE: application/CMakeLists.txt
================================================
PROJECT(application)

CONFIGURE_FILE(config.h.in config.h)
CONFIGURE_FILE(Info.plist.in Info.plist @ONLY)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${k3d_SOURCE_DIR})
INCLUDE_DIRECTORIES(${k3dsdk_BINARY_DIR})
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${K3D_GLIBMM_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${K3D_SIGC_INCLUDE_DIRS})

LINK_DIRECTORIES(${K3D_SIGC_LIB_DIRS})

SET(SOURCES k3d_main.cpp)

IF(WIN32 AND MSVC)
	SET(SOURCES ${SOURCES} winmain.cpp)
ELSE(WIN32 AND MSVC)
	SET(SOURCES ${SOURCES} main.cpp)
ENDIF(WIN32 AND MSVC)

IF(WIN32)
	IF(MINGW)
		ADD_CUSTOM_COMMAND(
			OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/icon.o
			COMMAND
				windres.exe
				-I${CMAKE_CURRENT_SOURCE_DIR}
				-i${CMAKE_CURRENT_SOURCE_DIR}/icon.rc
				-o ${CMAKE_CURRENT_BINARY_DIR}/icon.o
			)

		SET(SOURCES ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/icon.o)
	ELSE(MINGW)
		SET(SOURCES ${SOURCES} icon.rc)
	ENDIF(MINGW)
ENDIF(WIN32)

ADD_EXECUTABLE(k3d WIN32 ${SOURCES})

SET_TARGET_PROPERTIES(k3d PROPERTIES
  RUNTIME_OUTPUT_DIRECTORY ${K3D_RUNTIME_OUTPUT_DIRECTORY}
  )

TARGET_LINK_LIBRARIES(k3d
	k3dsdk
	k3dsdk-opengl
	)

IF(UNIX AND NOT APPLE)
	SET_TARGET_PROPERTIES(k3d PROPERTIES LINK_FLAGS -Wl,-E)
ENDIF()

IF(K3D_ENABLE_NLS)
	INCLUDE_DIRECTORIES(${K3D_INTL_INCLUDE_DIRS})
	TARGET_LINK_LIBRARIES(k3d ${K3D_INTL_LIBS})
ENDIF(K3D_ENABLE_NLS)

IF(APPLE AND K3D_ENABLE_OSX_BUNDLE)
  ADD_CUSTOM_COMMAND(
    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Info.plist
    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/Info.plist ${K3D_BUNDLE_DIRECTORY}
    OUTPUT ${K3D_BUNDLE_DIRECTORY}/Info.plist
    )
  ADD_CUSTOM_COMMAND(
    DEPENDS k3d
    COMMAND ${CMAKE_COMMAND} -E make_directory ${K3D_BUNDLE_DIRECTORY}/Resources
    OUTPUT ${K3D_BUNDLE_DIRECTORY}/Resources
    )
  ADD_CUSTOM_COMMAND(
    DEPENDS ${K3D_BUNDLE_DIRECTORY}/Resources ${share_SOURCE_DIR}/k3d/icons/k3d.icns
    COMMAND ${CMAKE_COMMAND} -E copy ${share_SOURCE_DIR}/k3d/icons/k3d.icns ${K3D_BUNDLE_DIRECTORY}/Resources/K-3D.icns
    OUTPUT ${K3D_BUNDLE_DIRECTORY}/Resources/K-3D.icns
    )
  ADD_CUSTOM_TARGET(bundle ALL
    DEPENDS
      ${K3D_BUNDLE_DIRECTORY}/Info.plist
      ${K3D_BUNDLE_DIRECTORY}/Resources/K-3D.icns
    )
ENDIF()

# Setup convenience targets for running the application out of the build directory ...
FIND_PROGRAM(GDB_COMMAND gdb)
SET(K3D_EXTRA_GDB_ARGUMENTS "" CACHE STRING "Extra arguments to pass to gdb for debugging.")

GET_TARGET_PROPERTY(K3D_COMMAND k3d LOCATION)

SET(K3D_DEFAULT_ARGUMENTS "")
LIST(APPEND K3D_DEFAULT_ARGUMENTS "--color")
LIST(APPEND K3D_DEFAULT_ARGUMENTS "--log-level=debug")
LIST(APPEND K3D_DEFAULT_ARGUMENTS "--add-path=${k3d_BINARY_DIR}/bin")
LIST(APPEND K3D_DEFAULT_ARGUMENTS "--locale=${k3d_BINARY_DIR}/po")

SET(K3D_GDB_COMMAND_LINE ${GDB_COMMAND} ${K3D_EXTRA_GDB_ARGUMENTS})
SET(K3D_NGUI_COMMAND_LINE ${K3D_COMMAND} ${K3D_DEFAULT_ARGUMENTS} --ui=ngui)
SET(K3D_NUI_COMMAND_LINE ${K3D_COMMAND} ${K3D_DEFAULT_ARGUMENTS} --ui=nui)
SET(K3D_PYUI_COMMAND_LINE ${K3D_COMMAND} ${K3D_DEFAULT_ARGUMENTS} --ui=pyui)
SET(K3D_QTUI_COMMAND_LINE ${K3D_COMMAND} ${K3D_DEFAULT_ARGUMENTS} --ui=qtui)

K3D_ADD_CUSTOM_TARGET(run-ngui REQUIRES K3D_BUILD_NGUI_MODULE COMMAND ${K3D_NGUI_COMMAND_LINE})
K3D_ADD_CUSTOM_TARGET(run-ngui-gdb REQUIRES K3D_BUILD_NGUI_MODULE GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} --args ${K3D_NGUI_COMMAND_LINE})
K3D_ADD_CUSTOM_TARGET(run-nui REQUIRES K3D_BUILD_NUI_MODULE COMMAND ${K3D_NUI_COMMAND_LINE})
K3D_ADD_CUSTOM_TARGET(run-nui-gdb REQUIRES K3D_BUILD_NUI_MODULE GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} --args ${K3D_NUI_COMMAND_LINE})
K3D_ADD_CUSTOM_TARGET(run-pyui REQUIRES K3D_BUILD_PYUI_MODULE COMMAND ${K3D_PYUI_COMMAND_LINE})
K3D_ADD_CUSTOM_TARGET(run-pyui-gdb REQUIRES K3D_BUILD_PYUI_MODULE GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} --args ${K3D_PYUI_COMMAND_LINE})
K3D_ADD_CUSTOM_TARGET(run-qtui REQUIRES K3D_BUILD_QTUI_MODULE COMMAND ${K3D_QTUI_COMMAND_LINE})
K3D_ADD_CUSTOM_TARGET(run-qtui-gdb REQUIRES K3D_BUILD_QTUI_MODULE GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} --args ${K3D_QTUI_COMMAND_LINE})

IF(K3D_BUILD_NGUI_MODULE)
	K3D_ADD_CUSTOM_TARGET(run REQUIRES K3D_BUILD_NGUI_MODULE COMMAND ${K3D_NGUI_COMMAND_LINE})
	K3D_ADD_CUSTOM_TARGET(run-gdb REQUIRES K3D_BUILD_NGUI_MODULE GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} --args ${K3D_NGUI_COMMAND_LINE})
ELSEIF(K3D_BUILD_QTUI_MODULE)
	K3D_ADD_CUSTOM_TARGET(run REQUIRES K3D_BUILD_QTUI_MODULE COMMAND ${K3D_QTUI_COMMAND_LINE})
	K3D_ADD_CUSTOM_TARGET(run-gdb REQUIRES K3D_BUILD_QTUI_MODULE GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} --args ${K3D_QTUI_COMMAND_LINE})
ELSEIF(K3D_BUILD_PYUI_MODULE)
	K3D_ADD_CUSTOM_TARGET(run REQUIRES K3D_BUILD_PYUI_MODULE COMMAND ${K3D_PYUI_COMMAND_LINE})
	K3D_ADD_CUSTOM_TARGET(run-gdb REQUIRES K3D_BUILD_PYUI_MODULE GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} --args ${K3D_PYUI_COMMAND_LINE})
ELSEIF(K3D_BUILD_NUI_MODULE)
	K3D_ADD_CUSTOM_TARGET(run REQUIRES K3D_BUILD_NUI_MODULE COMMAND ${K3D_NUI_COMMAND_LINE})
	K3D_ADD_CUSTOM_TARGET(run-gdb REQUIRES K3D_BUILD_NUI_MODULE GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} --args ${K3D_NUI_COMMAND_LINE})
ENDIF()

K3D_ADD_CUSTOM_TARGET(run-gdb-core REQUIRES GDB_COMMAND COMMAND ${K3D_GDB_COMMAND_LINE} ${K3D_COMMAND} core)
#ADD_CUSTOM_TARGET(run-valgrind COMMAND valgrind -v ${k3d_BINARY_DIR}/bin/k3d ${K3D_DEFAULT_ARGUMENTS} --ui=${K3D_NGUI_BINARY})
#ADD_CUSTOM_TARGET(run-strace COMMAND strace ${k3d_BINARY_DIR}/bin/k3d ${K3D_DEFAULT_ARGUMENTS} --ui=${K3D_NGUI_BINARY})

INSTALL(TARGETS k3d DESTINATION bin)



================================================
FILE: application/Info.plist.in
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
	<dict>
		<key>CFBundleDevelopmentRegion</key>
		<string>English</string>
		<key>CFBundleExecutable</key>
		<string>K-3D</string>
		<key>CFBundleGetInfoString</key>
		<string>@K3D_VERSION@, @K3D_COPYRIGHT@</string>
		<key>CFBundleIconFile</key>
		<string>K-3D</string>
		<key>CFBundleIdentifier</key>
		<string>org.k-3d.K-3D</string>
		<key>CFBundleInfoDictionaryVersion</key>
		<string>6.0</string>
		<key>CFBundlePackageType</key>
		<string>APPL</string>
		<key>CFBundleShortVersionString</key>
		<string>@K3D_VERSION@</string>
		<key>CFBundleSignature</key>
		<string>K-3D</string>
		<key>CFBundleVersion</key>
		<string>@K3D_VERSION@</string>
		<key>NSHumanReadableCopyright</key>
		<string>@K3D_COPYRIGHT@</string>
<!--
		<key>LSMinimumSystemVersion</key>
		<string>10.5</string>
-->
	</dict>
</plist>


================================================
FILE: application/config.h.in
================================================
#ifndef APPLICATION_CONFIG_H
#define APPLICATION_CONFIG_H

// K-3D
// Copyright (c) 1995-2010, Timothy M. Shead
//
// Contact: tshead@k-3d.com
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

/** \file
	\author Tim Shead (tshead@k-3d.com)
*/

#cmakedefine K3D_ENABLE_OSX_BUNDLE
#define K3D_LIBDIR "@K3D_LIBDIR@"

#endif // !APPLICATION_CONFIG_H



================================================
FILE: application/icon.rc
================================================
IDI_ICON1 ICON DISCARDABLE "../share/k3d/icons/k3d.ico"



================================================
FILE: application/k3d_main.cpp
================================================
// K-3D
// Copyright (c) 1995-2008, Timothy M. Shead
//
// Contact: tshead@k-3d.com
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

/** \file
	\author Tim Shead (tshead@k-3d.com)
*/

#include <config.h>

#include <k3d-i18n-config.h>
#include <k3d-platform-config.h>
#include <k3d-version-config.h>

// Specialized K-3D interfaces for embedding
#include <k3dsdk/application_detail.h>
#include <k3dsdk/batch_mode_init.h>
#include <k3dsdk/plugin_factory_collection.h>
#include <k3dsdk/network_render_farm.h>
#include <k3dsdk/network_render_farm_detail.h>
#include <k3dsdk/user_interface_init.h>

// Standard K-3D interfaces
#include <k3dsdk/algebra.h>
#include <k3dsdk/application.h>
#include <k3dsdk/classes.h>
#include <k3dsdk/fstream.h>
#include <k3dsdk/gl.h>
#include <k3dsdk/gl/extension.h>
#include <k3dsdk/gzstream.h>
#include <k3dsdk/idocument.h>
#include <k3dsdk/idocument_importer.h>
#include <k3dsdk/ievent_loop.h>
#include <k3dsdk/iscripted_action.h>
#include <k3dsdk/iuser_interface.h>
#include <k3dsdk/log.h>
#include <k3dsdk/log_control.h>
#include <k3dsdk/nodes.h>
#include <k3dsdk/options_policy.h>
#include <k3dsdk/parallel/threads.h>
#include <k3dsdk/plugin.h>
#include <k3dsdk/property.h>
#include <k3dsdk/register_application.h>
#include <k3dsdk/register_plugin_factories.h>
#include <k3dsdk/scripting.h>
#include <k3dsdk/shader_cache_detail.h>
#include <k3dsdk/share_detail.h>
#include <k3dsdk/string_modifiers.h>
#include <k3dsdk/system.h>
#include <k3dsdk/type_registry.h>
#include <k3dsdk/types.h>
#include <k3dsdk/utility.h>
#include <k3dsdk/xml.h>

#include <boost/scoped_ptr.hpp>

#include <iomanip>
#include <iterator>

#ifdef K3D_API_WIN32
	#include <k3dsdk/win32.h>
#endif // K3D_API_WIN32

namespace
{

/// Defines storage for parsed command-line arguments
typedef std::vector<boost::program_options::basic_option<char> > arguments_t;

/////////////////////////////////////////////////////////////////////////////
// User options specified on the command line

k3d::bool_t g_show_timestamps = false;
k3d::bool_t g_show_process = false;
k3d::bool_t g_syslog = false;
k3d::bool_t g_color_level = false;
k3d::log_level_t g_minimum_log_level = k3d::K3D_LOG_LEVEL_WARNING;

k3d::filesystem::path g_default_ngui_path;
k3d::filesystem::path g_default_nui_path;
k3d::filesystem::path g_default_options_path;
k3d::filesystem::path g_default_pyui_path;
k3d::filesystem::path g_default_qtui_path;
k3d::filesystem::path g_default_shader_cache_path;
k3d::filesystem::path g_default_share_path;
k3d::filesystem::path g_default_tutorials_path;
k3d::filesystem::path g_default_user_interface_path;
k3d::string_t g_default_plugin_paths;

k3d::filesystem::path g_override_locale_path;
k3d::filesystem::path g_options_path;
k3d::filesystem::path g_shader_cache_path;
k3d::filesystem::path g_share_path;
k3d::filesystem::path g_user_interface_path;
k3d::string_t g_plugin_paths;

k3d::ievent_loop* g_user_interface = 0;

/////////////////////////////////////////////////////////////////////////////
// handle_error

void handle_error(const k3d::string_t& Message, k3d::bool_t& Quit, k3d::bool_t& Error)
{
	Quit = true;
	Error = true;

	throw std::runtime_error(Message);
}

/////////////////////////////////////////////////////////////////////////////
// startup_message_handler

/// Called during application startup to display progress to the user
void startup_message_handler(const k3d::string_t& Message)
{
	k3d::log() << info << Message << std::endl;

	if(g_user_interface)
		g_user_interface->startup_message_handler(Message);
}

/////////////////////////////////////////////////////////////////////////////
// exit_request_handler

/// Called when the user wants to shut everything down
k3d::bool_t exit_request_handler()
{
	if(g_user_interface)
		g_user_interface->stop_event_loop();

	return true;
}

/////////////////////////////////////////////////////////////////////////////
// set_default_options

/// Sets-up default user options for various platforms
void set_default_options(k3d::bool_t& Quit, k3d::bool_t& Error)
{
	// Setup default paths based on the location of the executable ...
	const k3d::filesystem::path executable_dir = k3d::system::executable_path().branch_path();
	const k3d::filesystem::path user_dir = k3d::system::get_home_directory() / k3d::filesystem::generic_path(".k3d");

	g_default_ngui_path = executable_dir / k3d::filesystem::generic_path("../" K3D_LIBDIR "/k3d/plugins/k3d-ngui.module");
	g_default_nui_path = executable_dir / k3d::filesystem::generic_path("../" K3D_LIBDIR "/k3d/plugins/k3d-nui.module");
	g_default_options_path = user_dir / k3d::filesystem::generic_path("options.k3d");
	g_default_plugin_paths = (executable_dir / k3d::filesystem::generic_path("../" K3D_LIBDIR "/k3d/plugins")).native_filesystem_string();
	g_default_pyui_path = executable_dir / k3d::filesystem::generic_path("../" K3D_LIBDIR "/k3d/plugins/k3d-pyui.module");
	g_default_qtui_path = executable_dir / k3d::filesystem::generic_path("../" K3D_LIBDIR "/k3d/plugins/k3d-qtui.module");
	g_default_shader_cache_path = user_dir / k3d::filesystem::generic_path("shadercache");
	g_default_share_path = executable_dir / k3d::filesystem::generic_path("../share/k3d");

#ifdef K3D_ENABLE_OSX_BUNDLE
	g_default_user_interface_path = g_default_qtui_path;
#else
	g_default_user_interface_path = g_default_ngui_path;
#endif

	// Setup path options based on the defaults ...
	g_options_path = g_default_options_path;
	g_plugin_paths = g_default_plugin_paths;
	g_shader_cache_path = g_default_shader_cache_path;
	g_share_path = g_default_share_path;
	g_user_interface_path = g_default_user_interface_path;

	// Optionally override paths using environment variables ...
	if(!k3d::system::getenv("K3D_LOCALE_PATH").empty())
		g_override_locale_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(k3d::system::getenv("K3D_LOCALE_PATH")));

	if(!k3d::system::getenv("K3D_OPTIONS_PATH").empty())
		g_options_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(k3d::system::getenv("K3D_OPTIONS_PATH")));

	if(!k3d::system::getenv("K3D_PLUGIN_PATHS").empty())
		g_plugin_paths = k3d::system::getenv("K3D_PLUGIN_PATHS");

	if(!k3d::system::getenv("K3D_SHADER_CACHE_PATH").empty())
		g_shader_cache_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(k3d::system::getenv("K3D_SHADER_CACHE_PATH")));

	if(!k3d::system::getenv("K3D_SHARE_PATH").empty())
		g_share_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(k3d::system::getenv("K3D_SHARE_PATH")));

	if(!k3d::system::getenv("K3D_USER_INTERFACE_PATH").empty())
		g_user_interface_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(k3d::system::getenv("K3D_USER_INTERFACE_PATH")));

#ifdef K3D_API_WIN32
	// Add the executable directory to PATH
	k3d::system::setenv("PATH", executable_dir.native_filesystem_string() + ";" + k3d::system::getenv("PATH"));
#endif // K3D_API_WIN32
}

/////////////////////////////////////////////////////////////////////////////
// parse_log_arguments

/// Looks for command-line arguments that apply to logging (so we can set them up right away)
const arguments_t parse_log_arguments(const arguments_t& Arguments, k3d::bool_t& Quit, k3d::bool_t& Error)
{
	// Keep track of "unused" options ...
	arguments_t unused;

	for(arguments_t::const_iterator argument = Arguments.begin(); argument != Arguments.end(); ++argument)
	{
		if(argument->string_key == "show-timestamps")
		{
			g_show_timestamps = true;
		}
		else if(argument->string_key == "show-process")
		{
			g_show_process = true;
		}
		else if(argument->string_key == "syslog")
		{
			g_syslog = true;
		}
		else if(argument->string_key == "color")
		{
			g_color_level = true;
		}
		else if(argument->string_key == "no-color")
		{
			g_color_level = false;
		}
		else if(argument->string_key == "log-level")
		{
			if(argument->value[0] == "warning")
				g_minimum_log_level = k3d::K3D_LOG_LEVEL_WARNING;
			else if(argument->value[0] == "information")
				g_minimum_log_level = k3d::K3D_LOG_LEVEL_INFO;
			else if(argument->value[0] == "debug")
				g_minimum_log_level = k3d::K3D_LOG_LEVEL_DEBUG;
			else
			{
				handle_error("Valid values for the --log-level option are \"warning\", \"information\", or \"debug\"", Quit, Error);
				return arguments_t();
			}
		}
		else
		{
			unused.push_back(*argument);
		}
	}

	k3d::log_show_timestamps(g_show_timestamps);
	k3d::log_set_tag(g_show_process ? "[k3d]" : k3d::string_t());
	k3d::log_color_level(g_color_level);
	k3d::log_show_level(true);
	k3d::log_syslog(g_syslog);
	k3d::log_minimum_level(g_minimum_log_level);

	return unused;
}

/////////////////////////////////////////////////////////////////////////////
// parse_startup_arguments

/// Handles "normal" command-line arguments that specify initial application state
const arguments_t parse_startup_arguments(const arguments_t& Arguments, k3d::bool_t& Quit, k3d::bool_t& Error)
{
	// We return any "unused" options ...
	arguments_t unused;

	// For each command-line argument ...
	for(arguments_t::const_iterator argument = Arguments.begin(); argument != Arguments.end(); ++argument)
	{
		if(argument->string_key == "batch")
		{
			k3d::set_batch_mode(true);
		}
		else if(argument->string_key == "ui")
		{
			if(argument->value[0] == "nui" || argument->value[0] == "none")
				g_user_interface_path = g_default_nui_path;
			else if(argument->value[0] == "ngui")
				g_user_interface_path = g_default_ngui_path;
			else if(argument->value[0] == "qtui")
				g_user_interface_path = g_default_qtui_path;
			else if(argument->value[0] == "pyui")
				g_user_interface_path = g_default_pyui_path;
			else
				g_user_interface_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(argument->value[0]));
		}
		else if(argument->string_key == "plugins")
		{
			g_plugin_paths = argument->value[0];
			g_plugin_paths = k3d::replace_all("&", g_default_plugin_paths, g_plugin_paths);
		}
		else if(argument->string_key == "shadercache")
		{
			g_shader_cache_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(argument->value[0]));
		}
		else if(argument->string_key == "share")
		{
			g_share_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(argument->value[0]));
		}
		else if(argument->string_key == "options")
		{
			g_options_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(argument->value[0]));
		}
		else if(argument->string_key == "add-path")
		{
#ifdef K3D_API_WIN32
			k3d::system::setenv("PATH", argument->value[0] + ";" + k3d::system::getenv("PATH"));
#else // K3D_API_WIN32
			k3d::system::setenv("PATH", argument->value[0] + ":" + k3d::system::getenv("PATH"));
#endif // !K3D_API_WIN32
		}
		else if(argument->string_key == "disable-gl-extension")
		{
			k3d::gl::extension::disable(argument->value[0]);
		}
		else if(argument->string_key == "enable-gl-extension")
		{
			k3d::gl::extension::enable(argument->value[0]);
		}
		else if(argument->string_key == "setenv")
		{
			k3d::system::setenv(argument->value[0]);
		}
		else if(argument->string_key == "locale")
		{
			g_override_locale_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(argument->value[0]));
		}
		else
		{
			unused.push_back(*argument);
		}
	}

	return unused;
}

/////////////////////////////////////////////////////////////////////////////
// check_dependencies

/// Checks for any runtime resources required to continue program execution
void check_dependencies(k3d::bool_t& Quit, k3d::bool_t& Error)
{
	k3d::log() << info << "package: " << K3D_PACKAGE << std::endl;
	k3d::log() << info << "version: " << K3D_VERSION << std::endl;
	k3d::log() << info << "platform: " << K3D_HOST << std::endl;
	k3d::log() << info << "compiler: " << K3D_COMPILER_NAME << std::endl;
	k3d::log() << info << "build time: " << __DATE__ << " " << __TIME__ << " local" << std::endl;

#ifdef K3D_HAVE_EXPAT
	k3d::log() << info << "xml parser: expat" << std::endl;
#elif defined K3D_HAVE_LIBXML2
	k3d::log() << info << "xml parser: libxml2" << std::endl;
#else
	k3d::log() << warning "xml parser: unknown" << std::endl;
#endif

	k3d::log() << info << "executable: " << k3d::system::executable_path().native_console_string() << std::endl;
	k3d::log() << info << "options file: " << g_options_path.native_console_string() << std::endl;
	k3d::log() << info << "plugin path(s): " << g_plugin_paths << std::endl;
	k3d::log() << info << "shader cache path: " << g_shader_cache_path.native_console_string() << std::endl;
	k3d::log() << info << "share path: " << g_share_path.native_console_string() << std::endl;
	k3d::log() << info << "user interface: " << g_user_interface_path.native_console_string() << std::endl;
	k3d::log() << info << "home directory: " << k3d::system::get_home_directory().native_console_string() << std::endl;
	k3d::log() << info << "temp directory: " << k3d::system::get_temp_directory().native_console_string() << std::endl;

	// The options file must be specified and must exist ...
	if(g_options_path.empty())
	{
		handle_error("Options path must be specified using --options <path>.", Quit, Error);
		return;
	}

	k3d::filesystem::create_directories(g_options_path.branch_path());
	if(!k3d::filesystem::exists(g_options_path.branch_path()))
	{
		handle_error("Options directory [" + g_options_path.branch_path().native_console_string() + "] does not exist and could not be created.", Quit, Error);
		return;
	}

	// Every specified plugin path must exist ...
	const k3d::system::paths_t plugin_paths = k3d::system::decompose_path_list(g_plugin_paths);
	for(k3d::system::paths_t::const_iterator plugin_path = plugin_paths.begin(); plugin_path != plugin_paths.end(); ++plugin_path)
	{
		if(!k3d::filesystem::exists(*plugin_path))
		{
			handle_error("Plugin path [" + plugin_path->native_console_string() + "] does not exist.", Quit, Error);
			return;
		}
	}

	// The shader cache path must be specified, and must already exist or be successfully created ...
	if(g_shader_cache_path.empty())
	{
		handle_error("Shader cache path must be specified using --shadercache <path>.", Quit, Error);
		return;
	}

	k3d::filesystem::create_directories(g_shader_cache_path);
	if(!k3d::filesystem::exists(g_shader_cache_path))
	{
		handle_error("Shader cache path [" + g_shader_cache_path.native_console_string() + "] does not exist and could not be created.", Quit, Error);
		return;
	}

	// The share path must exist ...
	if(!k3d::filesystem::exists(g_share_path))
	{
		handle_error("Share path [" + g_share_path.native_console_string() + "] does not exist.", Quit, Error);
		return;
	}
}

/////////////////////////////////////////////////////////////////////////////
// create_user_interface

/// Instantiates the (optional) user interface plugin
void create_user_interface(k3d::plugin_factory_collection& Plugins, k3d::bool_t& Quit, k3d::bool_t& Error)
{
	const k3d::string_t module_name = g_user_interface_path.native_console_string();
	if(!g_user_interface_path.empty() && !k3d::filesystem::exists(g_user_interface_path))
	{
		handle_error("UI plugin module [" + module_name + "] does not exist", Quit, Error);
		return;
	}
	Plugins.load_module(g_user_interface_path, k3d::plugin_factory_collection::IGNORE_PROXIES);

	if(Plugins.factories().empty())
	{
		handle_error("UI plugin module [" + module_name + "] does not contain any K-3D plugins", Quit, Error);
		return;
	}
	if(Plugins.factories().size() > 1)
	{
		handle_error("UI plugin module [" + module_name + "] contains more than one K-3D plugin", Quit, Error);
		return;
	}

	g_user_interface = k3d::plugin::create<k3d::ievent_loop>(**Plugins.factories().begin());
	if(!g_user_interface)
	{
		handle_error("UI plugin module [" + module_name + "] does not contain a user interface plugin", Quit, Error);
		return;
	}

	if(!dynamic_cast<k3d::iuser_interface*>(g_user_interface))
	{
		delete g_user_interface;
		g_user_interface = 0;
		handle_error("UI plugin module [" + module_name + "] does not implement k3d::iuser_interface", Quit, Error);
		return;
	}
}

/////////////////////////////////////////////////////////////////////////////
// load_modules

/// Loads (statically- or dynamically-linked) plugin modules
void load_modules(k3d::plugin_factory_collection& Plugins, k3d::bool_t& Quit, k3d::bool_t& Error)
{
	Plugins.load_modules(g_plugin_paths, true, k3d::plugin_factory_collection::LOAD_PROXIES);
}

/////////////////////////////////////////////////////////////////////////////
// parse_runtime_arguments

/// Handles any command-line options that run once startup is complete (e.g. running a script / tutorial)
const arguments_t parse_runtime_arguments(const arguments_t& Arguments, k3d::bool_t& Quit, k3d::bool_t& Error, k3d::iapplication& Application)
{
	// Keep track of "unused" arguments ...
	arguments_t unused;

	// Provide a single script context object that will be used by all scripts, so they can share state ...
	k3d::iscript_engine::context context;

	// For each command-line argument ...
	for(arguments_t::const_iterator argument = Arguments.begin(); argument != Arguments.end(); ++argument)
	{
		if(argument->string_key == "script" || argument->string_key == "script-file")
		{
			k3d::bool_t recognized = false;
			k3d::bool_t executed = false;
			k3d::string_t script_name;
			k3d::script::code script_code("");

			if(argument->string_key == "script")
			{
				script_name = "COMMANDLINE";
				script_code = k3d::script::code(argument->value[0]);
			}
			else if(argument->string_key == "script-file")
			{
				if(argument->value[0] == "-")
				{
					script_name = "STDIN";
					script_code = k3d::script::code(std::cin);
				}
				else
				{
					script_name = argument->value[0];
					const k3d::filesystem::path script_path = k3d::filesystem::native_path(k3d::ustring::from_utf8(script_name));
					if(!k3d::filesystem::exists(script_path))
					{
						k3d::log() << error << "Script [" << script_name << "] doesn't exist" << std::endl;
						Quit = true;
						Error = true;
						return arguments_t();
					}

					k3d::log() << info << "Running script [" << script_name << "]" << std::endl;
					k3d::filesystem::igzstream script_stream(script_path);
					script_code = k3d::script::code(script_stream);
				}
			}

			k3d::script::execute(script_code, script_name, context, recognized, executed);

			if(!recognized)
			{
				k3d::log() << error << "Couldn't recognize scripting language for script [ " << script_name << " ]" << std::endl;
				Quit = true;
				Error = true;
				return arguments_t();
			}

			if(!executed)
			{
				k3d::log() << error << "Error executing script [ " << script_name << " ]" << std::endl;
				Quit = true;
				Error = true;
				return arguments_t();
			}
		}
		else if(argument->string_key == "list-gl-extensions")
		{
			const std::set<k3d::string_t> extensions = k3d::gl::extension::list();
			for(std::set<k3d::string_t>::const_iterator extension = extensions.begin(); extension != extensions.end(); ++extension)
				std::cout << *extension << "\n";

			Quit = true;
			return arguments_t();
		}
		else if(argument->string_key == "exit")
		{
			Quit = true;
			return arguments_t();
		}
		else
		{
			unused.push_back(*argument);
		}
	}

	return unused;
}

/////////////////////////////////////////////////////////////////////////////
// check_unused_arguments

/// Handles any arguments that weren't recognized by either the application or the user interface plugin
void check_unused_arguments(const arguments_t& Arguments, k3d::bool_t& Quit, k3d::bool_t& Error)
{
	// If there aren't any leftover arguments, we're done ...
	if(Arguments.empty())
		return;

	k3d::log() << warning << "The following unknown command-line arguments will be ignored: " << std::endl;
	for(arguments_t::const_iterator argument = Arguments.begin(); argument != Arguments.end(); ++argument)
	    k3d::log() << warning << "name: " << argument->string_key << " value: " << argument->value[0] << std::endl;
}

/////////////////////////////////////////////////////////////////////////////
// create_auto_start_plugins

typedef std::vector<k3d::iunknown*> auto_start_plugins_t;

void create_auto_start_plugins(auto_start_plugins_t& Plugins)
{
	const k3d::plugin::factory::collection_t factories = k3d::plugin::factory::lookup();
	for(k3d::plugin::factory::collection_t::const_iterator factory = factories.begin(); factory != factories.end(); ++factory)
	{
		k3d::iplugin_factory::metadata_t metadata = (**factory).metadata();

		if(!metadata.count("k3d:application-start"))
			continue;

		k3d::log() << info << "Creating plugin [" << (**factory).name() << "] via k3d:application-start" << std::endl;

		k3d::iunknown* const plugin = k3d::plugin::create(**factory);
		if(!plugin)
		{
			k3d::log() << error << "Error creating plugin [" << (**factory).name() << "] via k3d:application-start" << std::endl;
			continue;
		}
		Plugins.push_back(plugin);

		if(k3d::iscripted_action* const scripted_action = dynamic_cast<k3d::iscripted_action*>(plugin))
		{
			k3d::iscript_engine::context context;
			context["command"] = k3d::string_t("startup");
			scripted_action->execute(context);
		}
	}
}

/////////////////////////////////////////////////////////////////////////////
// delete_auto_start_plugins

void delete_auto_start_plugins(auto_start_plugins_t& Plugins)
{
	for(auto_start_plugins_t::iterator plugin = Plugins.begin(); plugin != Plugins.end(); ++plugin)
	{
		if(k3d::iscripted_action* const scripted_action = dynamic_cast<k3d::iscripted_action*>(*plugin))
		{
			k3d::iscript_engine::context context;
			context["command"] = k3d::string_t("shutdown");
			scripted_action->execute(context);
		}
	}

	for(auto_start_plugins_t::iterator plugin = Plugins.begin(); plugin != Plugins.end(); ++plugin)
		delete *plugin;

	Plugins.clear();
}

} // namespace

int k3d_main(std::vector<k3d::string_t> raw_arguments)
{
	// Append extra options from the environment ...
	std::istringstream buffer(k3d::system::getenv("K3D_EXTRA_OPTIONS"));
	std::copy(std::istream_iterator<k3d::string_t>(buffer), std::istream_iterator<k3d::string_t>(), std::back_inserter(raw_arguments));

	try
	{
		k3d::bool_t quit = false;
		k3d::bool_t error = false;

		// Set default values for all user-configurable options ...
		set_default_options(quit, error);
		if(quit)
			return error ? 1 : 0;

		// Parse command-line options ...
		boost::program_options::options_description description("K-3D options");
		description.add_options()
			("add-path", boost::program_options::value<k3d::string_t>(), "Prepend a path to the PATH environment variable at runtime.")
			("batch", "Enable batch (no user intervention) mode.")
			("color", "Color-code log messages based on their level.")
			("disable-gl-extension", boost::program_options::value<k3d::string_t>(), "Disables the given OpenGL extension.")
			("enable-gl-extension", boost::program_options::value<k3d::string_t>(), "Enables the given OpenGL extension.")
			("exit", "Exits the program (useful after running scripts in batch mode.")
			("help,h", "Prints this help message and exits.")
			("list-gl-extensions", "List available OpenGL extensions and exit.")
#ifdef K3D_ENABLE_NLS
			("locale", boost::program_options::value<k3d::string_t>(), "Overrides the path for loading locales")
#endif // K3D_ENABLE_NLS
			("log-level", boost::program_options::value<k3d::string_t>(), "Specifies the minimum message priority to log - valid values are \"warning\", \"information\", \"debug\" [default: warning].")
			("no-color", "Disable color-coding of log messages based on their level.")
			("options", boost::program_options::value<k3d::string_t>(), "Overrides the filepath for storing user options [default: /home/tshead/.k3d/options.k3d].")
			("plugins", boost::program_options::value<k3d::string_t>(), "Overrides the path(s) for loading plugin libraries [default: /usr/local/k3d/lib/k3d].")
			("script,e", boost::program_options::value<k3d::string_t>(), "Executes the given script text after startup.")
			("script-file,f", boost::program_options::value<k3d::string_t>(), "Executes the given script file after startup (use - for stdin).")
			("setenv", boost::program_options::value<k3d::string_t>(), "Set an environment variable using name=value syntax.")
			("shadercache", boost::program_options::value<k3d::string_t>(), "Overrides the path for storing compiled shaders [default: /home/tshead/.k3d/shadercache].")
			("share", boost::program_options::value<k3d::string_t>(), "Overrides the path for loading shared data files [default: /usr/local/k3d/share/k3d].")
			("show-process", "Prints the process name next to log messages.")
			("show-timestamps", "Prints timestamps next to log messages.")
			("syslog", "Logs messages to syslog.")
			("ui,u", boost::program_options::value<k3d::string_t>(), "Specifies the user interface plugin to use - valid values are a plugin path, \"nui\", \"ngui\", \"qtui\", or \"pyui\" [default: qtui].")
			("user-interface-help,H", "Prints user interface help message and exits.")
			("version", "Prints program version information and exits.")
			;

		arguments_t arguments = boost::program_options::command_line_parser(raw_arguments)
			.options(description)
			.allow_unregistered()
			.style(
				boost::program_options::command_line_style::allow_long
				| boost::program_options::command_line_style::allow_short
				| boost::program_options::command_line_style::allow_dash_for_short
				| boost::program_options::command_line_style::long_allow_adjacent
				| boost::program_options::command_line_style::long_allow_next
				| boost::program_options::command_line_style::short_allow_adjacent
				| boost::program_options::command_line_style::short_allow_next
				)
			.run()
			.options;

		// Handle arguments that cause an immediate exit ...
		for(arguments_t::const_iterator argument = arguments.begin(); argument != arguments.end(); ++argument)
		{
			if(argument->string_key == "help")
			{
				std::cout << description << "\n";

				return 0;
			}
			else if(argument->string_key == "version")
			{
				std::cout << "K-3D Version " << K3D_VERSION << "\n";
				std::cout << K3D_COPYRIGHT << "  See the AUTHORS file for contributors.\n";
				std::cout << "Licensed under the GNU General Public License.  See the COPYING file for details.\n";
				std::cout << "K-3D home page: http://k3d.sourceforge.net\n";
				std::cout << "Bug reports to: tshead@k-3d.com\n";

				return 0;
			}
		}

		// Setup our logging options before going any further ...
		arguments = parse_log_arguments(arguments, quit, error);
		if(quit)
			return error ? 1 : 0;

		// Look for command-line options that will configure our subsequent behavior ...
		arguments = parse_startup_arguments(arguments, quit, error);
		if(quit)
			return error ? 1 : 0;

		// Make sure we have all resources required to run ...
		check_dependencies(quit, error);
		if(quit)
			return error ? 1 : 0;

		// Initialize parallel processing ...
		k3d::parallel::set_thread_count(k3d::parallel::automatic);

		// Set the shader cache path ...
		k3d::set_shader_cache_path(g_shader_cache_path);

		// Set the share path ...
		k3d::set_share_path(g_share_path);

#ifdef K3D_ENABLE_NLS
		k3d::filesystem::path locale_path = g_share_path / k3d::filesystem::generic_path("locale");
		if(!g_override_locale_path.empty())
			locale_path = g_override_locale_path;

		k3d::log() << info << "locale path: " << locale_path.native_console_string() << std::endl;

		setlocale(LC_ALL, "");
		bindtextdomain("k3d", locale_path.native_filesystem_string().c_str());
		bind_textdomain_codeset("k3d", "UTF-8");
		textdomain("k3d");
#endif // K3D_ENABLE_NLS

		// Load user options ...
		k3d::options::file_storage user_options(g_options_path);
		k3d::options::set_storage(user_options);

		// Handle creation of the required user interface plugin ...
		k3d::plugin_factory_collection ui_plugins;
		ui_plugins.connect_message_signal(sigc::ptr_fun(startup_message_handler));
		create_user_interface(ui_plugins, quit, error);
		if(quit)
			return error ? 1 : 0;
		return_val_if_fail(g_user_interface, 1);

		// Handle more arguments that may cause our immediate exit ...
		for(arguments_t::const_iterator argument = arguments.begin(); argument != arguments.end(); ++argument)
		{
			if(argument->string_key == "user-interface-help")
			{
				boost::program_options::options_description description("User interface options");
				g_user_interface->get_command_line_arguments(description);
				std::cout << description << "\n";

				return 0;
			}
		}

		// Register our user interface ...
		k3d::set_user_interface(*dynamic_cast<k3d::iuser_interface*>(g_user_interface));

		// Ensure the user interface gets cleaned-up ...
		boost::scoped_ptr<k3d::ievent_loop> ui_cleanup(g_user_interface);

		// Give the UI a chance to handle command-line arguments ...
		arguments = g_user_interface->parse_startup_arguments(arguments, quit, error);
		if(quit)
			return error ? 1 : 0;

		// Load plugins ...
		k3d::plugin_factory_collection plugins;
		plugins.connect_message_signal(sigc::ptr_fun(startup_message_handler));
		load_modules(plugins, quit, error);
		if(quit)
			return error ? 1 : 0;

		// Setup a render farm ...
		k3d::network_render_farm render_farm(g_options_path);
		k3d::set_network_render_farm(render_farm);

		// Register plugins ...
		k3d::register_plugin_factories(plugins);

		// Create the main application object ...
		k3d::application_implementation application;

		// We want to be notified when the user requests a shutdown ...
		application.connect_exit_signal(sigc::ptr_fun(exit_request_handler));

		// Register it with the library as the global application object ...
		k3d::register_application(application.interface());

		// Switch the UI to its "normal" (post-startup) layout ...
		startup_message_handler(_("Starting user interface"));
		g_user_interface->display_user_interface();

		// Instantiate "auto-start" plugins ...
		auto_start_plugins_t auto_start_plugins;
		create_auto_start_plugins(auto_start_plugins);

		// Let the UI parse arguments now that startup is complete ...
		arguments = g_user_interface->parse_runtime_arguments(arguments, quit, error);
		if(quit)
			return error ? 1 : 0;

	        // Parse any remaining arguments now that startup is complete ...
		arguments = parse_runtime_arguments(arguments, quit, error, application.interface());
		if(quit)
			return error ? 1 : 0;

		// Check for "unused" command-line arguments ...
		check_unused_arguments(arguments, quit, error);
		if(quit)
			return error ? 1 : 0;

		// Main UI event-loop ...
		g_user_interface->start_event_loop();

		// Cleanup "auto-start" plugins ...
		delete_auto_start_plugins(auto_start_plugins);

		//g_user_interface.reset();

		return 0;
	}
	catch(std::exception& e)
	{
		k3d::string_t message = "Caught exception [";
			message += k3d::demangle(typeid(e));
			message += "] - ";
			message += e.what();

		k3d::log() << critical << message << std::endl;

#ifdef K3D_API_WIN32
		MessageBox(0, message.c_str(), _("K-3D Fatal Error"), MB_OK | MB_ICONSTOP);
#endif // K3D_API_WIN32

		return 1;
	}
	catch(...)
	{
		const k3d::string_t message = "Caught unknown exception.";

		k3d::log() << critical << message << std::endl;

#ifdef K3D_API_WIN32
		MessageBox(0, message.c_str(), _("K-3D Fatal Error"), MB_OK | MB_ICONSTOP);
#endif // K3D_API_WIN32

		return 1;
	}
}



================================================
FILE: application/k3d_main.h
================================================
#ifndef APPLICATION_K3D_MAIN_H
#define APPLICATION_K3D_MAIN_H

// K-3D
// Copyright (c) 1995-2008, Timothy M. Shead
//
// Contact: tshead@k-3d.com
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

/** \file
	\author Tim Shead (tshead@k-3d.com)
*/

#include <k3dsdk/types.h>
#include <vector>

/// Main entry-point for the application ... callers should pass all command-line arguments *except for* the program name (i.e. argv[0])
int k3d_main(std::vector<k3d::string_t> arguments);

#endif // !APPLICATION_K3D_MAIN_H



================================================
FILE: application/main.cpp
================================================
// K-3D
// Copyright (c) 1995-2008, Timothy M. Shead
//
// Contact: tshead@k-3d.com
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

/** \file
	\author Tim Shead (tshead@k-3d.com)
*/

#include "k3d_main.h"
#include <k3dsdk/system.h>

int main(int argc, char* argv[])
{
	k3d::system::initialize_executable_path(argc, argv);

	std::vector<k3d::string_t> arguments(argv, argv + argc);
	if(arguments.size())
		arguments.erase(arguments.begin());

	return k3d_main(arguments);
}



================================================
FILE: application/winmain.cpp
================================================
// K-3D
// Copyright (c) 1995-2008, Timothy M. Shead
//
// Contact: tshead@k-3d.com
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

/** \file
	\author Tim Shead (tshead@k-3d.com)
*/

#include "k3d_main.h"

#include <k3dsdk/system.h>
#include <k3dsdk/win32.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	k3d::system::initialize_executable_path(__argc, __argv);

	std::vector<k3d::string_t> arguments(__argv, __argv + __argc);
	if(arguments.size())
		arguments.erase(arguments.begin());

	return k3d_main(arguments);
}



================================================
FILE: bugs/CMakeLists.txt
================================================
PROJECT(ditz)

FIND_PROGRAM(DITZ_EXECUTABLE ditz)

ADD_CUSTOM_TARGET(bugs-html
	WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
	COMMAND ${DITZ_EXECUTABLE} html "${CMAKE_CURRENT_BINARY_DIR}/html"
	)


================================================
FILE: bugs/issue-000e833956e3ebedbddc7a8f239368296cef05cf.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Remove legacy code from CollapseEdges.
desc: Like it says.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-12-29 03:13:38.485549 Z
references: []

id: 000e833956e3ebedbddc7a8f239368296cef05cf
log_events: 
- - 2009-12-29 03:13:39.029483 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-01 02:50:23.773581 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - edited title
  - ""
- - 2010-01-10 20:14:22.182315 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-01d720a02d5558508a3b56a7ad0e603d0b8e57f7.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: " Bug while moving vertices, edges and faces on a tutorial"
desc: "Resuming:\n\
  1-Start recording a tutorial\n\
  2-Select a face/edge/vertex\n\
  3-Move it\n\
  4-Without changing the move tool select and move another face/edge/vertex\n\
  5-Play the script\n\n\
  I attach a k3dscript file for reproducing the bug.\n\
  It throws on the terminal (in 0.6.7 and 0.7.0)\n\
  WARNING: Selection contained records without nodes\n\
  ERROR Command node [move_tool] unhandled command: [lmb_click_replace]\n\
  [<arguments><viewport>/document/window/viewport</viewport><mouse>0.418126\n\
  0.638689</mouse></arguments>]\n\n\
  This script was recorded on k3d 0.6.7 and when played on 0.7 it selects a\n\
  different face. Seems like coordinates are upside down. I'll will submit\n\
  another bug report on this subject.\n\n\
  Thanks for merging the mug script!\n\n\
  Cheers,\n\
  Joaqu\xC3\xADn."
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-05-19 03:46:01.911919 Z
references: []

id: 01d720a02d5558508a3b56a7ad0e603d0b8e57f7
log_events: 
- - 2009-05-19 03:46:02.495726 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-07-15 06:03:39.979069 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-07-15 06:06:42.765331 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-028d81eef227a051d03293c46b451db439f0c460.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: 5 Black screen on the work area
desc: |-
  Contact: hiper_army@hotmail.com
  Summary: Black screen on the work area
  Report Generated: 2008-Mar-07 21:25:28 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.1.3 20070831 (prerelease) (Ubuntu 4.1.2-16ubuntu1)
  Build Time: Sep 13 2007 03:47:14 local
  Description of problem:
  i have a black screen on the place ho i put 3d object
  Steps to reproduce problem:
  
  1. just simply open K-3D
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  ALAWS wen i open it
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:32:48.800093 Z
references: []

id: 028d81eef227a051d03293c46b451db439f0c460
log_events: 
- - 2009-05-19 03:32:49.536497 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:23.503077 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:42:08.446849 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Cannot reproduce.


================================================
FILE: bugs/issue-02e36eaa0b39160335d6eb8d576d75c56577c5f7.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: NURBS OpenGL rendering weird on OSX
desc: On OSX, NURBS patches have strange render artifacts, as if normals are flipped or something.
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-08-03 14:54:17.959519 Z
references: []

id: 02e36eaa0b39160335d6eb8d576d75c56577c5f7
log_events: 
- - 2009-08-03 14:54:19.159406 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-12-26 17:18:11.644487 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-067c122609d0478c12319a8cfebda9c4f290bc78.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Path User Properties are not well serialized
desc: |-
  Inspecting the file, they are serialized
  <property name="test" reference="relative" relative_path=""/>
  This xml above won't load any property
  
  If I edit it it will load well
  <property name="test" reference="relative" relative_path=""
  type="k3d::filesystem::path" user_property="generic"/>
  
  Cheers!
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-05-06 04:10:14.184556 Z
references: []

id: 067c122609d0478c12319a8cfebda9c4f290bc78
log_events: 
- - 2009-05-06 04:10:15.376459 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:07.015080 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-21 05:47:33.209467 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-0ca786b59608c113bdb0a99f16c1e0e8e0076d8f.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "5 Cannot correctly Undo a \"Delete All\" from a script "
desc: "1-Run the following code on the script editor\n\n\
  #python\n\n\
  import k3d\n\
  doc = Document\n\
  doc.start_change_set()\n\
  for i in doc.nodes():\n\
  doc.delete_node(i)\n\
  doc.finish_change_set(\"Delete All\")\n\n\
  2- Undo the script\n\
  3- The viewport stays grayed\n\
  Users need to change the viewport to another panel then back to viewport\n\n\
  not a big deal :D\n\n\
  Saludos!\n\
  Joaqu\xC3\xADn"
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-05-19 03:39:30.848536 Z
references: []

id: 0ca786b59608c113bdb0a99f16c1e0e8e0076d8f
log_events: 
- - 2009-05-19 03:39:31.639851 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:53:28.335169 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-21 05:49:42.137469 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-0f0dc8929f4bd8dd646aedbab164defb8b01ba68.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Closing main window during tutorial playback causes errors
desc: |-
  Contact: hendra_uzia@yahoo.com
  Summary: Errored Mouse after Tutorial
  Report Generated: 2007-Mar-12 03:15:06 UTC
  Package: k3d
  Version: 0.6.6.0
  Platform: i686-pc-mingw32
  Compiler: 3.4.4 (mingw special)
  Build Time: Jan 6 2007 13:08:21 local
  Description of problem:
  When I Finished my Tutorial, but unfortunately, I don't realy finished it
  yet by closing the tutorial panel, my mouse becomes errored and and cannot
  be controled.
  Even if I Force to end task, it ends in minutes, not in an immediate
  seconds.
  
  Steps to reproduce problem:
  I Use Windows XP
  1. Start tutorial
  2. When it finished (the mouse is moving to the help button), press
  [Alt]+[F4], so the tutorial window will clossed
  3. Switch to other apps.
  4. Bingo, The mouse cannot be controled anymore.
  
  Expected results:
  Non errored mouse after unfinished tutorial.
  
  Actual results:
  
  How often does this happen?
  This is my first error.
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-05-19 03:48:51.360421 Z
references: []

id: 0f0dc8929f4bd8dd646aedbab164defb8b01ba68
log_events: 
- - 2009-05-19 03:48:51.983381 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-07-15 06:03:48.675051 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-07-15 06:06:46.355156 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-0f2e779987beba2c16355000e49002e668efe3cd.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Provide manual creation of points.
desc: Like it says ... this is a very common request.
type: :feature
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-12-19 02:20:11.452512 Z
references: []

id: 0f2e779987beba2c16355000e49002e668efe3cd
log_events: 
- - 2009-12-19 02:20:12.541491 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""


================================================
FILE: bugs/issue-12ac6cbd6ff111c686796d107c8a9b8338158e8f.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "hings keep freezing and images stay up even after they've been exited out of "
desc: |-
  Contact: Junin_Ninja@yahoo.com
  Summary: Things keep freezing and images stay up even after they've been
  exited out of
  Report Generated: 2009-Jan-25 01:52:18 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i686-pc-mingw32
  Compiler: 3.4.4 (mingw special)
  Build Time: Jan 23 2007 09:37:14 local
  Description of problem: Whenever I start up the program it shows a block of
  my desktop picture. Also after tutorial windows are exited out of the image
  still remains.
  
  Steps to reproduce problem:open program
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :reorg
creation_time: 2009-05-06 04:04:37.984268 Z
references: []

id: 12ac6cbd6ff111c686796d107c8a9b8338158e8f
log_events: 
- - 2009-05-06 04:04:38.847914 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:03.279071 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:48:25.623078 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition reorg
  - This may be a duplicate of {issue da8965ea23097589e5b98a3b8c42580329dad12c}.


================================================
FILE: bugs/issue-13cd1ca286fd727add47164d6b9829a864732688.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Support display of non-SI units of measure.
desc: K-3D uses SI units internally for all data storage.  The UI supports automatic conversion from other units to SI, but there is no provision currently to display alternate units.  It should be possible to set global user preferences for display units, as-well-as changing preferences on a control-by-control basis.  Similarly, it should be possible to specify the number of digits to display.
type: :feature
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-11-14 23:18:23.284634 Z
references: []

id: 13cd1ca286fd727add47164d6b9829a864732688
log_events: 
- - 2009-11-14 23:18:24.252580 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-11-21 05:08:42.265667 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-1478f28b825b4003e89e19fd6627210de42670f1.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Fix MergeCoplanarFaces.
desc: Need to update MergeCoplanarFaces to match changes to the polyhedron schema for shells.
type: :task
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2010-01-01 03:16:51.261549 Z
references: []

id: 1478f28b825b4003e89e19fd6627210de42670f1
log_events: 
- - 2010-01-01 03:16:51.966218 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-17 16:54:24.893287 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""
- - 2010-02-21 06:13:49.194877 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""
claimer: 


================================================
FILE: bugs/issue-162c9fd22b62e2228b4963639d7cd652b4af2e5d.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Polygon meshes and NURBS meshes don't snap when translated.
desc: |-
  Polygon meshes and NURBS meshes don't snap when translated. That's pretty
  much all I need to say, I believe.
  
  -leiget
  leiget at gmail
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-05-06 04:06:43.128689 Z
references: []

id: 162c9fd22b62e2228b4963639d7cd652b4af2e5d
log_events: 
- - 2009-05-06 04:06:44.424268 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:04.559088 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 00:23:56.838746 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-164f2e0cd8b280e764bc49d2f1db806e4fef7fa3.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Create a test to ensure that const_cast isn't abused.
desc: ""
type: :task
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-07-19 20:53:20.743085 Z
references: []

id: 164f2e0cd8b280e764bc49d2f1db806e4fef7fa3
log_events: 
- - 2009-07-19 20:53:22.023030 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-07-19 21:23:29.542665 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-1787ece116f7300528f97ab0a9eb6c128a4ae826.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "Wiever doesn't show block being still, when moved it diplays. What's wrong? drivers are from ati "
desc: |-
  Contact: etteeeee@hotmail.com
  Summary: Wiever doesn't show block being still, when moved it diplays.
  What's wrong? drivers are from ati
  Report Generated: 2008-Jul-22 13:47:31 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.2.3 (Ubuntu 4.2.3-2ubuntu1)
  Build Time: Feb 27 2008 23:29:50 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :reorg
creation_time: 2009-05-07 04:13:46.669585 Z
references: []

id: 1787ece116f7300528f97ab0a9eb6c128a4ae826
log_events: 
- - 2009-05-07 04:13:47.533432 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:12.839075 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:56:19.950674 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition reorg
  - This may be a duplicate of {issue deed7f51f539b6c62b97c585ed7453b3242c9992}.


================================================
FILE: bugs/issue-1850897e4259a756faf449a72ea07ac863d83cd0.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: 5 shifted gizmo
desc: |-
  I created 3x3 cube, turned it to SDS, then selected a face; the
  transform/rotate/etc. gizmo is shifted, there is offset between the
  selected face and the gizmo. (See screenshots.)
  
  [K-3D .7.3 on Vista 64b, K-3D started with desktop composition disabled]
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:26:56.312764 Z
references: []

id: 1850897e4259a756faf449a72ea07ac863d83cd0
log_events: 
- - 2009-05-19 03:26:57.120619 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:18.999069 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-10-19 05:05:17.831079 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - This is expected behavior - the transform tools are transforming the SDS mesh, not the limit surface.


================================================
FILE: bugs/issue-1ae2d51bee03627b3d7136008951efc67ab7766e.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: GUI widgets to help users know direction and orientation of lights.
desc: |-
  All lights that are directional, including those with maps need a
  visual clue in the 3D view-port as to their orientation, even if it is
  fixed. Mapping an environment light's EXR file to the back of the
  veiw-port would be ideal, but in truth a luxury. All that is needed a
  simple arrow or other way of showing where the map's 0,0 point is and
  it's orientation.
type: :feature
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-06-27 15:33:51.240727 Z
references: []

id: 1ae2d51bee03627b3d7136008951efc67ab7766e
log_events: 
- - 2009-06-27 15:33:52.232586 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:46:56.006937 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from unassigned
  - ""


================================================
FILE: bugs/issue-1af4c139c1c4fe06ca2e3fbe31f1237cf963a20e.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: program freezing
desc: |-
  Contact: db_silvis@yahoo.com
  Summary: program freezing
  Report Generated: 2008-Oct-21 22:42:24 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i686-pc-mingw32
  Compiler: 3.4.4 (mingw special)
  Build Time: Jan 23 2007 09:37:14 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1.as soon as I start the program
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-07 04:04:40.125460 Z
references: []

id: 1af4c139c1c4fe06ca2e3fbe31f1237cf963a20e
log_events: 
- - 2009-05-07 04:04:42.333757 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:08.382631 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 00:29:59.534875 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - ""


================================================
FILE: bugs/issue-1e7b3a952423fcf332c8f369ee0646873cafb877.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "Python Script: bug on Document.delete_node()"
desc: "Steps:\n\n\
  1- Select a node (A) property on connect it to another's node property\n\
  (B).\n\
  2- Delete node B from the python engine.\n\
  3- Node A property is still connected to node B property although B doesn't\n\
  exist anymore.\n\n\
  I attach an example file.\n\
  1- Open test_doc.k3d\n\
  2- select polycube instance (the cube on the right)\n\
  3- run the delete_selected_instance.py\n\n\
  Go and see the input_mesh property of MeshInstance node.\n\
  It can't be disconnected unless you connect it first to other node.\n\n\
  Cheers!\n\
  Joaqu\xC3\xADn"
type: :bugfix
component: K-3D
release: 0.8.1.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-05-19 03:40:06.207476 Z
references: []

id: 1e7b3a952423fcf332c8f369ee0646873cafb877
log_events: 
- - 2009-05-19 03:40:06.904099 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:50:30.231031 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-21 05:49:56.041474 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""
- - 2010-05-22 00:36:19.846768 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.1.0 from 1.0.0.0
  - ""
- - 2010-05-22 00:44:32.070902 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - edited title
  - ""
claimer: 


================================================
FILE: bugs/issue-1f0827906ae4174800898596b0c8e4c623425ebd.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: " k3d 0.7.8 does not build in x86_64 arch"
desc: |-
  In file included from
  /home/mandrake/rpm/BUILD/k3d-source-0.7.8.0/modules/nurbs/nurbs_curve_modif
  ier.h:48,
  from
  /home/mandrake/rpm/BUILD/k3d-source-0.7.8.0/modules/nurbs/insert_knot.cpp:4
  4:
  /home/mandrake/rpm/BUILD/k3d-source-0.7.8.0/modules/nurbs/nurbs_patch_modif
  ier.h:56: warning: 'typedef' was ignored in this declaration
  /home/mandrake/rpm/BUILD/k3d-source-0.7.8.0/modules/nurbs/nurbs_patch_modif
  ier.h:66: warning: 'typedef' was ignored in this declaration
  /home/mandrake/rpm/BUILD/k3d-source-0.7.8.0/modules/nurbs/insert_knot.cpp:
  In member function 'virtual void
  module::nurbs::insert_knot::on_update_mesh(const k3d::mesh&, k3d::mesh&)':
  /home/mandrake/rpm/BUILD/k3d-source-0.7.8.0/modules/nurbs/insert_knot.cpp:9
  8: error: no matching function for call to
  'module::nurbs::nurbs_curve_modifier::knot_vector_adaption(std::vector<unsi
  gned int, std::allocator<unsigned int> >&)'
  /home/mandrake/rpm/BUILD/k3d-source-0.7.8.0/modules/nurbs/nurbs_curve_modif
  ier.h:166: note: candidates are: void
  module::nurbs::nurbs_curve_modifier::knot_vector_adaption(std::vector<long
  unsigned int, std::allocator<long unsigned inunsignedke[2]: unsigned int, std::allocator<long unsigned inunsignedke[2]: unsigned int,  could be found at attachment.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-05-07 04:10:55.493673 Z
references: []

id: 1f0827906ae4174800898596b0c8e4c623425ebd
log_events: 
- - 2009-05-07 04:10:57.069963 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:11.975067 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:58:53.103151 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - Should be fixed in mercurial.


================================================
FILE: bugs/issue-20324fd0e902a7a6bdb85dbf5f2ae4ce8180a61a.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Fix CatmullClark implementation.
desc: Need to update the CatmullClark implementation to handle changes to the polyhedron schema for shells.
type: :task
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2010-01-01 03:13:49.689458 Z
references: []

id: 20324fd0e902a7a6bdb85dbf5f2ae4ce8180a61a
log_events: 
- - 2010-01-01 03:13:50.285467 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-19 03:50:27.733213 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-20c18a2b4fe16b8e1a3982d83be136220b4cf863.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Restore robust picking.
desc: Robust primitive picking by looking at nearby components was commented-out during the transition to generic primitives / selections.  Restore it.
type: :task
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-08-21 05:52:31.977624 Z
references: []

id: 20c18a2b4fe16b8e1a3982d83be136220b4cf863
log_events: 
- - 2009-08-21 05:52:32.593544 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-08-27 03:43:59.461666 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-250f99eac16ec2eda3d6b7e324592efc46a1e250.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Duplicated / instantiated objects aren't visible when rendered.
desc: This is an error-of-omission, the duplicate / instantiate UI code needs to make the new objects visible to render engines.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2010-01-09 17:21:52.037546 Z
references: []

id: 250f99eac16ec2eda3d6b7e324592efc46a1e250
log_events: 
- - 2010-01-09 17:21:52.725491 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-02-12 06:51:38.878192 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""
claimer: 


================================================
FILE: bugs/issue-25c0b2699b08309f7452d4d7390d05a3fa78bf57.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Harmless warning messages when ATK is disabled.
desc: |-
  At startup, ATK code emits warning messages if the user hasn't enabled accessibility.  Typically (but not exclusively), this is done by checking "Enable assistive technologies" in the Gnome Assistive Technologies Preferences control center applet.
  
  Ideally, we should try to disable, prevent, or hide these warnings, since they generate support requests.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2010-02-03 01:58:46.629278 Z
references: []

id: 25c0b2699b08309f7452d4d7390d05a3fa78bf57
log_events: 
- - 2010-02-03 01:58:47.589285 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-02-06 06:04:53.400647 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - Forcing GTK to load atk-bridge at startup when the user didn't have accessibility turned-on for their desktop caused these warning messages.  We dont' actually need atk-bridge, since we call ATK interfaces directly in-process.  So turning this off fixes everything.
claimer: 


================================================
FILE: bugs/issue-26470a23cd083556484c98f6120b5f33661775c6.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Remove legacy code from BevelFaces.
desc: Like it says.
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-12-29 03:15:26.813547 Z
references: []

id: 26470a23cd083556484c98f6120b5f33661775c6
log_events: 
- - 2009-12-29 03:15:27.445492 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-15 06:13:06.225749 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-28d83330170a35565ca1ada32317f34b2daf37a2.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: when doing "unparent", the software crashes.
desc: |-
  Contact: ingirafn@this.is
  Summary: when doing "unparent", the software crashes.
  Report Generated: 2009-Mar-29 22:47:16 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.3.1
  Build Time: Jun 22 2008 18:41:27 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  everytime
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-06 03:55:34.072363 Z
references: []

id: 28d83330170a35565ca1ada32317f34b2daf37a2
log_events: 
- - 2009-05-06 03:55:36.184301 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-07-15 06:07:14.907209 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 00:18:54.550887 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Already fixed.


================================================
FILE: bugs/issue-28e8b98350d458dfe53427f2497401663b0dc97a.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: the K-3D wont start
desc: |-
  Contact: colonization1@yahoo.com
  Summary: the K-3D wont start
  Report Generated: 2008-Sep-01 07:13:28 UTC
  Package: k3d
  Version: 0.7.9.0
  Platform: Windows-5.1;x86
  Compiler: 3.4.5 (mingw special)
  Build Time: Aug 13 2008 17:13:57 local
  Description of problem:it wont start
  
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-07 04:07:15.781672 Z
references: []

id: 28e8b98350d458dfe53427f2497401663b0dc97a
log_events: 
- - 2009-05-07 04:07:17.245500 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:09.815133 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 00:33:17.679161 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Cannot reproduce.


================================================
FILE: bugs/issue-2c158e15ef869a5b8ec01db38e4ed19a507b0bc2.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Tried to render
desc: |-
  Contact: jfmotion@gmail.com
  Summary: Tried to render
  Report Generated: 2007-Jul-25 07:03:36 UTC
  Package: k3d
  Version: 0.6.6.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.1.2 20070106 (prerelease) (Ubuntu 4.1.1-21ubuntu7)
  Build Time: Jan 16 2007 15:55:06 local
  Description of problem:
  Without it, RIB files cannot be rendered. Check to ensure that you have
  Aqsis installed, and that the PATH envrionment variable points to the Aqsis
  binary installation directory.
  
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:44:08.808584 Z
references: []

id: 2c158e15ef869a5b8ec01db38e4ed19a507b0bc2
log_events: 
- - 2009-05-19 03:44:09.503967 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:49:43.231031 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:18:04.038993 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - The OP is describing expected behavior.  The real solution is to ensure that downstream distributors setup appropriate render engine support.


================================================
FILE: bugs/issue-2c5ca49215d98ef29255e323180b3715cee1b1c1.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: By default, automatically select both half-edges in the UI layer.
desc: Like it says.
type: :task
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-09-02 04:39:47.798984 Z
references: []

id: 2c5ca49215d98ef29255e323180b3715cee1b1c1
log_events: 
- - 2009-09-02 04:39:48.518792 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-02-07 17:48:33.240632 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""
claimer: 


================================================
FILE: bugs/issue-2e6128ca3bb63de99d369f1ae2f4f457cf7a1470.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: viewport doesn't work
desc: |-
  Contact: 4d3l.jarrah@gmail.com
  Summary: viewport doesn't work
  Report Generated: 2009-Apr-07 22:33:06 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.2.3 (Ubuntu 4.2.3-2ubuntu1)
  Build Time: Feb 27 2008 23:29:50 local
  Description of problem:
  When i chose the viewport tab from any window the viewport keeps on
  disappearing
  giving me a blank screen, i can only see the objects when i move the
  objects
  Steps to reproduce problem:
  At startup always.
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  Since i first installed k-3d til now
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-06 03:53:31.136389 Z
references: []

id: 2e6128ca3bb63de99d369f1ae2f4f457cf7a1470
log_events: 
- - 2009-05-06 03:53:33.160309 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-07-22 02:50:05.268385 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 00:13:03.198817 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Works for me on Ubuntu 8.10, 9.04 with nvidia graphics cards.


================================================
FILE: bugs/issue-3074be871fbce4de2da49a1abc0432d8e49e30c1.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Complete LuxRender material set.
desc: |-
  With materials the the missing part is texture input not a color,
  treat color as a 1x1 map of a given color, all the attributes of
  textures need map input to allow for realism and also to simulate
  things such as mesh http://images.google.com.au/images?q=architectural
  mesh and fritted glass
  http://images.google.com.au/images?q=fritted+glass  which is a common
  method of sun control in architecture.
type: :feature
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-06-27 15:34:38.921913 Z
references: []

id: 3074be871fbce4de2da49a1abc0432d8e49e30c1
log_events: 
- - 2009-06-27 15:34:39.657825 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-07-19 21:09:04.326798 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""
- - 2009-07-22 02:45:42.372434 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""


================================================
FILE: bugs/issue-361aa608201ea4f1ec2fd204a7c62df2ebfeb1b8.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: My view port is blank. does not show coordinates.
desc: |-
  Contact: justshonuff@yahoo.com
  Summary: My view port is blank. does not show coordinates.
  Report Generated: 2008-Nov-05 11:58:32 UTC
  Package: k3d
  Version: 0.5.14.0
  Platform: i686-pc-mingw32
  Compiler: 3.4.4 (mingw special)
  Build Time: Jul 9 2006 10:24:48 local
  Description of problem:
  my viewport has been blank since i installed the software. please help
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-06 04:12:57.304498 Z
references: []

id: 361aa608201ea4f1ec2fd204a7c62df2ebfeb1b8
log_events: 
- - 2009-05-06 04:12:58.232230 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:07.463065 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 00:28:25.942855 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - This is an extremely out-of-date version of K-3D.


================================================
FILE: bugs/issue-363308f0b4815dcf1b3fb24103eb8b40f6645779.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Add filtering to the Node List Panel.
desc: Like it says, much of the content in the Node List Panel is overkill for the casual user.  Need to add some reasonable filtering capabilities, i.e. show "common" nodes, nodes in specific categories (lights, materials, etc), nodes of a specific type, name matching, etc.
type: :feature
component: K-3D
release: 0.8.1.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2010-05-22 00:43:21.654820 Z
references: []

id: 363308f0b4815dcf1b3fb24103eb8b40f6645779
log_events: 
- - 2010-05-22 00:43:22.270780 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-05-22 00:44:06.238848 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - edited title, description
  - ""
claimer: 


================================================
FILE: bugs/issue-38ed366c277ad6ad3cbf7113a50c73ab0dc6ecb9.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Ensure primitive attributes are updated correctly.
desc: Many (probably most) current modifiers that create new geometry fail to update primitive attributes, meaning that those modifiers will fail when applied to primitives with attributes.  Since it's really easy to write code that doesn't take attributes into account, we need a way to consistently catch such errors.  One heavy-handed way to do it would be to simply update every mesh source to generate output with attributes - then, current tests would automatically start failing in an obvious way.  On the down-side, this means increasing memory usage for everyone for what is basically a test case.  Second alternative would be to do something in the test layer that automatically adds attributes to sources.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-12-26 17:27:03.044526 Z
references: []

id: 38ed366c277ad6ad3cbf7113a50c73ab0dc6ecb9
log_events: 
- - 2009-12-26 17:27:03.964468 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-09 17:50:08.324400 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - Enabled aggressive testing of primitive attributes on the dashboard - all mesh-related tests now generate attributes and enforce the validity of their output tests, so it should be impossible for a plugin to pass a regression test without generating valid attributes."


================================================
FILE: bugs/issue-3c77f6ba4e20fe744f97629df5b855476eaefef0.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Separate cuda bitmap functionality from cuda mesh functionality that doesn't build.
desc: In theory, the bitmap stuff works fine, just needs to be moved into a separate module.
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-08-02 21:19:56.399190 Z
references: []

id: 3c77f6ba4e20fe744f97629df5b855476eaefef0
log_events: 
- - 2009-08-02 21:19:56.895141 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""


================================================
FILE: bugs/issue-3cb4616e3fdf2b348db28c1ec4761759e7570b91.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Segmentation fault on startup (Linux/PPC)
desc: |-
  Hi,
  I'm running Debian etch (gcc-4.2, libstdc++.so.6.0.9, libc-2.5.so, let me
  know whatever else you need) on a powerpc (G4). I compiled a 0.6.6 tree and
  everything went fine:
  
  $ ./configure
  $ make
  (sleep a couple of hours)
  $ make install
  
  Unfortunately when I launch
  
  $ /usr/local/k3d/bin/k3d
  
  I get for a while the splash screen and a sudden
  
  /usr/local/k3d/bin/k3d: line 180: 23586 Segmentation fault
  /usr/local/k3d/bin/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  /usr/local/k3d/lib/k3d --shadercache /home/alex/.k3d/shadercache --share
  /usr/local/k3d/share/k3d --tutorials /usr/local/k3d/share/k3d/tutorials
  --ui /usr/local/k3d/lib/libk3dngui.so
  
  Just to keep doing something, I tried
  
  $ make check
  
  in the tree top directory; I attach the last part of the output:
  
  make check-TESTS
  make[3]: Entering directory `/home/alex/install/k3d-0.6.6.0/tests'
  ../application/k3d: line 180: 29954 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /ho../alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../nui/.libs/libk3dnui.so --batch --color --log-level warning --no-splash
  --shaders ../share/shaders --show-process --exit
  FAIL: testharness.startFAIL: testharness.startFAIcriptrecognition.null.001
  ../application/k3d: line 180: 30003 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../nui/.libs/libk3dnui.so --batch --color --log-level warning --no-splash
  --shad--shad--shad--shad--shad--shad--shad--s--shad--shad--shad--shad--shad--shadipt--shad--sha.k3--shad--shad--shad--shad--shad--shad--shad--s--shad--shad--shadult--shad--shad--s/k--shad--shad--shad--shad--shad--shad--shad--s--shad--shad--shad--gi--shad--shad--shad--shad--shad--shad--shad--s--shad--../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../nui/.libs/libk3dnui.so --batch --color --log-level warning --no-splash
  --shaders ..--shaders ..--shaders ..--shaders ..--shaders ..--IL: testharness.scriptrecognition.python.001
  PASS: testharness.scriptfailure.k3dscript.001
  PASS: testharness.scriptfailure.pyPASS: testharness.scriptfailure.pyPASS: testharness.scriptfailure.pyPASS: 4PASS: testharness.scriptfailure.pyPASS: testharness.snsPASS: testharness.scriptfailure.pyPASS: testharness.scriptfailure.pyPhoPASS: testharness.scriptfailure.pyPASS: testharness.scriptfailure.pyPASSre/k3d/tutorials --ui
  ../nui/.libs/libk3dnui.so --batch --color --log-level warning --no-splash
  --shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/shaders --sho--shaders ../share/s--ui
  ../nui/.libs/libk3dnui.so --batch --color --log-l../nui/.libs/libk3dnui.so --batch --color --log-l../nui/.libs/libk3dnui.ip../nui/.libs/libk3dnui.so --batch --color --log-l../nui/.libs/libk3dnui.so --batch --color --log-l../nui/lication/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../nui/.libs/libk3dnui.so --batch --color --log-level warning --no-splash
  --shaders ../share/shaders --show-process --script - --exit
  FAIL: document.stress_test.001
  ../application/k3d: l../application/k3d: l../application/k3d: l../application/k3d: l../applical../application/k3d: l../application/k3d: l../application/k3d: l../application/k3d: l../applical../application/k3d: l../application/k3d: l../application/k3d: l../application/k3d: l../applical../application/k3d: l../application/k3d: l../application/k3d: l../application/k3d: l../applical../application/k3d: l../application/k3d: l../application/kne../application/k3d: l../application/k3d: l../application/k3d: l../application/k3d: l../applical../application/k3d: l../application/k3d: l../application/k3d: l../application/k3d: l../applical../application/k3d: l../application/k3d: l../application/k3d: l../application/k3d: l../applical../appno../application/k3d: l../application/k3d: l../application/k3d: l../applic: ../application/k3d: l../application/k3d: l../appli0: 4961 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../s../bin/plugins --shadercache /home/alex/.k3d/shadercacui../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../se/ns.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.menu.activate.001
  ../application/k3d: line 180: 5101 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.menu.activate.002
  ../application/k3d: line 180: 5124 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.add_viewport.001
  ../application/k3d: line 180: 51../application/k3d: line 180: 51../application/k3d: line 180: 51../applipt../application/kns../application/k3d: line 18he../application/k3d: line 180: 51../application/k3d: rials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so../ngui/.libs/libk3dngui.so../ngui/.libs/libk3dngui.so../ngui/.libs/libkhaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.assign_hotkeys.001
  ../application/k3d: line 180: 5172 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --sh--no-custom-layouts --no-splash --sh--no-custom-la-e--no-custom-layouts --no-splash --sh--no-custom-layouts --no-s19--no-custom-layouts --no-splash --sh--no-custom-layouts --no-splash --shtions.k3d --plugins
  --no-custom-layouts --no-she /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.bitmaps.color_monochrome.001
  ../application/k3d: line 180: 5222 Segmentation fault
  ../application/k3d-bin --options /home/al../application/kk3d --plugins
  ../bin/plugins --s../bin/plugins --s../bin/plugins --s../bin/plugins -ar../bin/plugins --s../bin/plugins --s../bin/plugins --s../bin/plugins ibk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.bitmaps.gamma.001
  ../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li../application/k3d: li/l../application/k3d: li../application/k3d: li../application/k3d: li../appo-../application/k3d: li../application/k3d: li../app-script - --exit
  FAIL: ngui.bitmaps.matte_colordiff.001
  ../applica../applica../applica../applica../applica../applica../applica../applica..ions /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --../bin/plugins --../bin/plugins --../bin/plugins --.ha../bin/plugins --../bin/plugins --../bin/plugins --../bin/plugins --.libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.bitmaps.multiply.001
  ../application/k3d: line 180: 5291 Segmentation fault
  ../application/k3d-bin --options /home../application/kns../application/k3d-bin --opns --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.bitmaps.subtract.001
  ../application/k3d: line 180: 5315 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.bitmaps.threshold.001
  ../application/k3d: line 180: 5338 Segmentation fault
  ../application/k3d-bin --options /home/al../application/kk3../application/k3d-bin --optioha../application/k3d-bin --options /home/al../applicate
  ../application/k3d-bin --options /home/al../application/kk3../application/k3d-bin --optioha../application/k3d-bin --options /home/al../applicatlash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.shaders.undo_selection.001
  ../application/k3d: line 180: 5362 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script - --exit
  FAIL: ngui.tools.unparent.001
  ../application/k3../application/k3../application/k3../application/k3../application/k3../aome/alex/.k3d/options.k3d --plugins
  ../bin/plugins --../bin/plugins --../bin/plugins --../bin/plugins --.hare
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-s--no-custom-layouts --no-s--no-custom-layouts --no-s--no-custom-layouts --no-s--no-custom-layouts --no-s--no-custom-layouts --no-s--no-custom-layouts --no-s--no-custom-layouts --no-s--no-cions /home/alex/.k3d--no-custom-layouts --no-s--no-custos --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no--no-custom-layouts --no--no-custom-layouts --no----script ../share/tutorials/getting_started.k3dscript --exit
  FAIL: ngui.tutorials.getting_started.001
  ../application/k3d: line 180: 5431 Segmentation fault
  ../application/k3d-bin --options../application/k3d-bin --options../application/k3d-bin --options../application/k3d-bin --options../application/k3d-bin --ops ../application/k3d-bin --options../application/k3d-bin --options../applitc../application/k3d-bin --options../application/k3d--../application/k3d-bin --options../application/k3d-bin --optio./share/tutorials/panel_basics.k3dscript --exit
  FAIL: ngui.tutorials.panel_basics.001
  ../application/k3d: line 180: 5455 Segmentation fault
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials ---tutorials /usr/local/k3d/share/k3d/tutorials ---log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script ../share/tutorials/navigation.k3dscript --exit
  FAIL: ngui.tutorials.navigation.001
  ../application/k3../application/k3../application/k3../ap/a../application/k3../application/k3../application/k3..k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shadercache --share ../share
  --tutorials /usr/local/k3d/share/k3d/tutorials --ui
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script ../share/tutorials/basic_selection.k3dscript --exit
  FAIL: ngui.tutorials.basic_selection.001
  ../application../application../application../appliult
  ../application/k3d-bin --options /home/alex/.k3d/options.k3d --plugins
  ../bin/plugins --shadercache /home/alex/.k3d/shaderc../bin/plugins --shadercache /home/alex/.k3d/shaderc../bin/plugins --shai
  ../ngui/.libs/libk3dngui.so --batch --color --log-level warning
  --no-custom-layouts --no-splash --shaders ../share/shaders --show-process
  --script ../share/tutorials/gts_boolean.py --exit
  FAIL: ngui.tutorials.gts_boolean.001
  ====================================================================================================================================================================================[c========================================================================6.0/tests'
  make[1]: *** [check-recursive] Error 1
  makemakemakemakemakemakemakemakemakemakemakemakemakemakemakemakemamake: *** [check-recursive] Error 1
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:47:18.127477 Z
references: []

id: 3cb4616e3fdf2b348db28c1ec4761759e7570b91
log_events: 
- - 2009-05-19 03:47:18.928081 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:49:12.119165 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:37:46.415099 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - From the OP, 'make check' implies a really out-of-date version of K-3D.


================================================
FILE: bugs/issue-4084f1c41c9a58ab4b0b49b7c8f988f45328edcc.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: My Viewport is Blank. No Grid/ Axis Lines
desc: |-
  Contact: justshonuff@yahoo.com
  Summary: My Viewport is Blank. No Grid/ Axis Lines
  Report Generated: 2008-Oct-31 12:38:58 UTC
  Package: k3d
  Version: 0.5.14.0
  Platform: i686-pc-mingw32
  Compiler: 3.4.4 (mingw special)
  Build Time: Jul 9 2006 10:24:48 local
  Description of problem:
  This has been the case since I installed the sofware. Any Remedy?
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-07 04:03:49.116953 Z
references: []

id: 4084f1c41c9a58ab4b0b49b7c8f988f45328edcc
log_events: 
- - 2009-05-07 04:04:01.981448 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:07.934634 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 00:28:39.766838 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - This is an extremely out-of-date version of K-3D.


================================================
FILE: bugs/issue-40ed654ea75987f34bbe51980b5622cc079d3c7e.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Optionally create 'back' faces in ExtrudeFaces.
desc: When extruding outlines (such as 2D text), it would be useful for ExtrudeFaces to create 'back' faces, so the result is a solid polyhedron.
type: :feature
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2010-02-23 04:03:15.931930 Z
references: []

id: 40ed654ea75987f34bbe51980b5622cc079d3c7e
log_events: 
- - 2010-02-23 04:03:16.451870 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-02-27 06:42:08.882958 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""
claimer: 


================================================
FILE: bugs/issue-413564006de7bfe4283dc79f9165dedd9b49c271.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: SDSCorner modifier should produce vertex attributes instead of point attributes.
desc: Like it says.
type: :task
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2010-01-03 15:48:36.044517 Z
references: []

id: 413564006de7bfe4283dc79f9165dedd9b49c271
log_events: 
- - 2010-01-03 15:48:36.604554 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-19 17:05:05.148549 Z
  - Bart Janssens <bart.janssens@lid.kviv.be>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-41f14db348415ee631409034dafa0d42d0deddea.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Make the K-3D guide readable from the NGUI.
desc: |-
  Users should be able to open the K-3D guide from the NGUI, i.e. it should be distributed with the app and openable, either via HTML or PDF or both.
  
  Notes: we could use GtkHtml, or open the guide in the user's browser.
type: :feature
component: K-3D
release: 0.8.1.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2010-07-04 19:13:18.774227 Z
references: []

id: 41f14db348415ee631409034dafa0d42d0deddea
log_events: 
- - 2010-07-04 19:13:19.629998 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
claimer: 


================================================
FILE: bugs/issue-42a7588ab85a23f2a39a9fb36b63b6fa9d7af0f5.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "5 (k3d:26077): GdkGLExt-WARNING **: cannot load PangoFont Segmentation fault (core dumped)"
desc: |-
  Contact: jiricka@ints.cz
  Summary: (k3d:26077): GdkGLExt-WARNING **: cannot load PangoFont
  Segmentation fault (core dumped)
  
  Report Generated: 2008-Mar-25 23:27:24 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.1.3 20070831 (prerelease) (Ubuntu 4.1.2-16ubuntu1)
  Build Time: Sep 13 2007 03:47:14 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:30:12.528467 Z
references: []

id: 42a7588ab85a23f2a39a9fb36b63b6fa9d7af0f5
log_events: 
- - 2009-05-19 03:30:13.703998 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:21.926641 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:27:15.247046 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Can't reproduce.


================================================
FILE: bugs/issue-432f8b1d7711eb5d22d6046d20bc006c18d5090b.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Empty viewport on Windows Vista
desc: |-
  Contact: matts-address@hotmail.com
  Summary: The viewport does not display anything.
  Report Generated: 2007-Dec-12 23:28:38 UTC
  Package: k3d
  Version: 0.6.6.0
  Platform: i686-pc-mingw32
  Compiler: 3.4.4 (mingw special)
  Build Time: Jan 6 2007 13:08:21 local
  Description of problem: Upon opening, the viewport does not display
  anything, unless a shape has just been inserted. I'm running Vista.
  
  Steps to reproduce problem: Open up K-3D
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen? All the time.
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :reorg
creation_time: 2009-05-19 03:35:47.936321 Z
references: []

id: 432f8b1d7711eb5d22d6046d20bc006c18d5090b
log_events: 
- - 2009-05-19 03:35:48.712753 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:53:05.446654 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-11-11 05:42:44.867642 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - edited title
  - ""
- - 2009-11-15 16:12:46.718277 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition reorg
  - This is already fixed in 0.7, using the DisableDesktopComposition plugin.


================================================
FILE: bugs/issue-43ed5f6b35f29c0788a75461bf33f3120387f6c1.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Texture baking from RM SL to bitmaps.
desc: |-
  CGKit lets you bake a Renderman texture
  http://cgkit.sourceforge.net/tutorials/baking/baking.html  this method
  would allow renderman shaders as input to Luxrender textures, or any
  of the bitmap nodes for that matter. Perhaps not now, but in the
  future having GEGL in the pipeline would be very powerful (replace
  imagemagik?) http://gegl.org/  their way of doing things is very
  similar to your design of K-3D's architecture.
type: :feature
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-06-27 15:35:19.707036 Z
references: []

id: 43ed5f6b35f29c0788a75461bf33f3120387f6c1
log_events: 
- - 2009-06-27 15:35:20.466978 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:46:45.047080 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from unassigned
  - ""


================================================
FILE: bugs/issue-44735744038c3434abe3f3a7e13f881e2e2cc48e.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Remove legacy code from FilletEdges
desc: Like it says.
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-12-29 03:13:14.813546 Z
references: []

id: 44735744038c3434abe3f3a7e13f881e2e2cc48e
log_events: 
- - 2009-12-29 03:13:15.781482 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-15 06:12:48.958327 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-4523543999b211ff2977debc785b31e70964ea2b.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: compilation errors
desc: |-
  hi, i have compilation errors... version 0.7.9.0
  
  [ 26%] Building CXX object
  k3dsdk/ngui/CMakeFiles/k3dsdk-ngui.dir/widget_manip.o
  In file included from
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/inode.h:28,
  from /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/data.h:28,
  from
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/ngui/application_state.h:
  27,
  from
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/ngui/widget_manip.cpp:24:
  
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/almost_equal.h: In member
  function 'const bool k3d::almost_equal<double>::operator()(k3d::double_t,
  k3d::double_t) const':
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/almost_equal.h:149:
  warning: comparison between signed and unsigned integer expressions
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/almost_equal.h:149:
  warning: comparison between signed and unsigned integer expressions
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/almost_equal.h: In static
  member function 'static const k3d::int64_t
  k3d::almost_equal<double>::to_integer(k3d::double_t)':
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/almost_equal.h:156:
  warning: dereferencing type-punned pointer will break strict-aliasing
  rules
  Linking CXX shared library ../../lib/libk3dsdk-ngui.so
  [ 26%] Built target k3dsdk-ngui
  Scanning dependencies of target k3dsdk-python-types
  [ 26%] Building CXX object
  k3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3frok3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3dsdk/k3dhok3r/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/algebra.h:30,
  from
  /usr/src/p/usr/src/p/usr/src/p/rce-0.7.9.0/k3dsdk/python/angle_axis_python.
  h:27,
  from
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/python/angle_axis_python.
  cpp:24:
  cpp:24:
  /packages/BUILD/k3d-source-0.7.9.0/k3dsdk/python/angle_axis_ m/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/python/angle_axis_ m/pac3d/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/python/angle_axis_ m/packages/BU9.0/k3dsdk/almost_equal.h:149:
  warning: comparison between signed and unsigned integer expressions
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/almost_equal.h:149:
  warning: comparison between signed and unsigned integer expressions
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/almost_equal.h/usr/src/packages/BUILD/k3d-sota/usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/to_integer(k3d::double_t)':
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/almost_equal.h:156:
  warning: dereferencing type-punned pointer will break strict-aliasing
  rules
  In file included from /usr/include/boost/python/class.hpp:29,
  from /usr/includefroost/python.hpp:18,
  from
  /usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/pyth/usrngle_ax/usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/pyth/usrngle_ax/usr/src/ba/usr/se:/usr/sin/usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/pyth/usrngle_ax/usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/pyth/usrngle_ax/usr/src/ba/usr/se:/usr/sin/usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/pyth/usrngle_ax/usr/src/pa::/usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/pyth/usrngle_ax/t_/usr/src/packages/BUILD/k3d-source-0.7.9.0/k3dsdk/pyth/usrngle_ax/us >::result_type
  boost::python::detail::def_helper<T1, T2, T3, T4>::keyboost::python::detail::def_helper<T1, T2, T3, T4>::keyboost::python::detail::def_helper<T1, T2, T3, T4>::keyboost::python::detail::def_helper<T1, T2, T3, T4>::keyboost::pyt/Cboost::python::detail::def_helper<T1, T2, T3, T4>::keyboost::python:1]boost::python::detail::def_helper<T1, T2, T3, T4>::keyboost::python:
  mmmmm *** [all] Error 2
  
  can i fix it?
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:21:42.809002 Z
references: []

id: 4523543999b211ff2977debc785b31e70964ea2b
log_events: 
- - 2009-05-19 03:21:44.305029 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:16.102653 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-09-27 01:14:35.122172 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Can't reproduce.


================================================
FILE: bugs/issue-45a8e81c24329d52763349b662988a9969e2a929.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Cleanup icons
desc: We have many misnamed, obsolete, and missing icons - clean 'em up.
type: :bugfix
component: K-3D
release: 0.8.0.1
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2010-04-17 03:12:11.601190 Z
references: []

id: 45a8e81c24329d52763349b662988a9969e2a929
log_events: 
- - 2010-04-17 03:12:12.249148 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-04-17 21:17:47.089170 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""
claimer: 


================================================
FILE: bugs/issue-478fd768c3286ce365c29af422175f8b9969ca11.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Revisit how to properly interpolate integer attributes.
desc: Currently, interpolation of weighted integer primitive attributes produces wildly different results in some cases.  We need to figure-out how to get consistent results - perhaps we should simply pick the attribute with the largest weight, as we do with pointer attributes?
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2010-04-04 05:05:15.345316 Z
references: []

id: 478fd768c3286ce365c29af422175f8b9969ca11
log_events: 
- - 2010-04-04 05:05:16.225256 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
claimer: 


================================================
FILE: bugs/issue-49b3bc440ae6da65fec9979da016681ccdd7df24.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: 5 .7.3 crashes (SelectEdgeLoops Undo)
desc: |-
  0: Start K-3D,
  1: create a PolyCone (or make your choice),
  2: use ";" to SelectEdgeLoops,
  3: Undo the last operation
  4: Start K-3D again ;)
  
  Vista 64bit
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:26:22.464921 Z
references: []

id: 49b3bc440ae6da65fec9979da016681ccdd7df24
log_events: 
- - 2009-05-19 03:26:23.576851 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:18.583071 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-11-15 16:16:05.094276 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Cannot reproduce.


================================================
FILE: bugs/issue-4a400f4d42a40bb64cb5df9e83481ec74ea8974e.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "assertion `WIDGET_REALIZED_FOR_EVENT (widget, event)' failed "
desc: |-
  I typed in "shadowdistant" in the shader path string space, and then
  pressed the "Relative"
  pulldown menu, and then pressed it really fast, again. The error I get is:
  
  ERROR Gtk: gtk_widget_event: assertion `WIDGET_REALIZED_FOR_EVENT (widget,
  event)' failed
  
  K3D is still going, and when I highlight something with my cursor(like
  "Shader Path"), it
  shows a tooltip. I am not able to exit using the "X" in the upperright
  corner of K3D. I had to "Ctrl+C" K3D in the console I ran it from.
  
  Unfortunatly, I am not able to reproduce this bug on purpose, only on
  accident. But I know
  for a positive, 100% fact that it has to do with the "Relative, Absolute,
  Inline" pulldown menu.
  
  I hope this was descriptive enough. I've had a lot of problems with this in
  the past 2 days of working with K3D, and think it's a pretty big bug.
  
  System specs:
  PCLinuxOS 2007
  GTK 2.12.2-4pclos2007
  K3D 0.6.7.0
  
  K3D is nice, btw. I hope it "grows up" more.
  
  email: leiget at gmail . com
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-06 04:07:21.056584 Z
references: []

id: 4a400f4d42a40bb64cb5df9e83481ec74ea8974e
log_events: 
- - 2009-05-06 04:07:22.384467 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:05.111069 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-10-17 20:25:20.674081 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Can't reproduce.


================================================
FILE: bugs/issue-4a7cea3d5863e1dec9aa8e78e239963e9c451926.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Restore BridgeFaces
desc: Now that I understand how BridgeFaces differs from BridgeEdges, bring it back.
type: :task
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2010-02-21 06:15:36.907229 Z
references: []

id: 4a7cea3d5863e1dec9aa8e78e239963e9c451926
log_events: 
- - 2010-02-21 06:15:37.562852 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-02-24 08:18:57.627879 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""
claimer: 


================================================
FILE: bugs/issue-4ac006d705b9b7b5b3468932c4e7750d95564cce.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: no images come up on viewport
desc: |-
  Contact: markbaird88@hotmail.co.uk
  Summary: no images come up on viewport
  Report Generated: 2008-May-04 17:17:47 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i686-pc-mingw32
  Compiler: 3.4.4 (mingw special)
  Build Time: Jan 23 2007 09:37:14 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:22:32.920909 Z
references: []

id: 4ac006d705b9b7b5b3468932c4e7750d95564cce
log_events: 
- - 2009-05-19 03:22:33.936926 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:16.470642 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:31:01.095070 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Works here.


================================================
FILE: bugs/issue-52654f9476391c6612de54e91d54e4dcda7bb847.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: build error
desc: "In file included from\n\
  /home/7eggert/l/k3d-source-0.7.10.0/k3dsdk/python/const_typed_array_python.\n\
  cpp:27:\n\
  /home/7eggert/l/k3d-source-0.7.10.0/k3dsdk/python/utility_python.h: In\n\
  function \xE2\x80\x98void k3d::python::utility::copy(const boost::python::list&,\n\
  target_t&)\xE2\x80\x99:\n\
  /home/7eggert/l/k3d-source-0.7.10.0/k3dsdk/python/utility_python.h:102:\n\
  error: \xE2\x80\x98len\xE2\x80\x99 is not a member of \xE2\x80\x98boost::python\xE2\x80\x99\n\
  make[2]: ***\n\
  [k3dsdk/python/CMakeFiles/k3dsdk-python-const-arrays.dir/const_typed_array_\n\
  python.o] Error 1\n\
  make[1]: *** [k3dsdk/python/CMakeFiles/k3dsdk-python-const-arrays.dir/all]\n\
  Error 2\n\
  make: *** [all] Error 2"
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-06 03:57:46.656158 Z
references: []

id: 52654f9476391c6612de54e91d54e4dcda7bb847
log_events: 
- - 2009-05-06 03:57:48.248324 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-07-22 02:51:26.468479 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 00:22:09.566809 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Works fine here; there's been enough change in the file that it's difficult to tell whether this could be an issue for someone else, so punt.


================================================
FILE: bugs/issue-538f9fab4a345ba7c88ba39b4faa0ef55cfffaad.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Manipulators dissapear when changing the selection mode.
desc: "Steps:\n\
  1- New document\n\
  2- Create cube\n\
  3- Switch to vertex selection and select something\n\
  4- Change the selection mode. Manipulators are gone.\n\n\
  Seems that manipulators and transformations tools are acting weird. More\n\
  bugs on this later\n\n\
  Cheers!\n\
  Joaqu\xC3\xADn"
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-05-19 03:41:03.800783 Z
references: []

id: 538f9fab4a345ba7c88ba39b4faa0ef55cfffaad
log_events: 
- - 2009-05-19 03:41:04.512090 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:50:15.382652 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-20 06:33:06.249464 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-555cc14dcbca30e03f0a333f0236c8f653e0a7f1.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: keeps just closing (as if i had told it to do so, no error message) when using the tutorial
desc: |-
  Contact: wpi2@aol.com
  Summary: keeps just closing (as if i had told it to do so, no error
  message) when using the tutorial
  Report Generated: 2008-Mar-11 17:15:31 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.1.3 20070831 (prerelease) (Ubuntu 4.1.2-16ubuntu1)
  Build Time: Sep 13 2007 03:47:14 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1. I start the tutorial normally
  2. everything goes fine until it just closes everything and that's it.
  3. Particularly when i get to the fourth chapter in tuto, but also did the
  same a few times before getting that far
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-05-19 03:32:22.176629 Z
references: []

id: 555cc14dcbca30e03f0a333f0236c8f653e0a7f1
log_events: 
- - 2009-05-19 03:32:22.696225 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-07-15 06:03:05.939119 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-07-15 06:06:15.859240 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-5970a8d939cc358d1ab2bef5c0eeabf2baa2a9e8.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Remove legacy code from DissolveComponents.
desc: Like it says.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-12-29 03:14:04.757547 Z
references: []

id: 5970a8d939cc358d1ab2bef5c0eeabf2baa2a9e8
log_events: 
- - 2009-12-29 03:14:05.717480 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-02-02 01:37:53.526297 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - issue claimed
  - ""
- - 2010-02-06 04:59:42.583540 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""
- - 2010-02-21 06:16:04.978883 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from 1.0.0.0
  - ""
- - 2010-03-17 05:23:06.705251 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - "Replaced DissolveComponents with DissolveFaces.  TODO in a later release: create DissolveEdges and DissolvePoints to match."
claimer: Timothy M. Shead <tshead@k-3d.com>


================================================
FILE: bugs/issue-5d9c8400eb4dcb02edcf8dc56ce8bcd91955a53c.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: MakeCreases has no implementation.
desc: Like it says ... we either need to provide an implementation or remove it.
type: :task
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-12-01 06:34:31.520276 Z
references: []

id: 5d9c8400eb4dcb02edcf8dc56ce8bcd91955a53c
log_events: 
- - 2009-12-01 06:34:32.432220 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-11 16:42:28.958175 Z
  - Bart Janssens <bart.janssens@lid.kviv.be>
  - commented
  - Implementation should be postponed until we have a complete set of EUler operations. The last implementation dates back to the legacy mesh structure and was quite complex, but Euler operations would greatly simplify things.
- - 2010-01-12 06:16:55.565269 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - We are going to postpone work on this.


================================================
FILE: bugs/issue-5f88eac8fa3003c363a0364ee8827a438bcda2ca.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Viewport Display Not functioning
desc: |-
  Contact: truswellj@gmail.com
  Summary: Viewport Display Not functioning
  Report Generated: 2008-Mar-17 19:29:32 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.1.3 20070831 (prerelease) (Ubuntu 4.1.2-16ubuntu1)
  Build Time: Sep 13 2007 03:47:14 local
  Description of problem: Upon opening the program, the viewport area is
  black. I can get it to show the display but as soon as I click anyway, the
  display changes to completely gray.
  
  Steps to reproduce problem:
  
  1. Open K-3D
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:31:42.280743 Z
references: []

id: 5f88eac8fa3003c363a0364ee8827a438bcda2ca
log_events: 
- - 2009-05-19 03:31:42.880562 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:23.094726 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:43:10.879146 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - This might be a duplicate of {issue deed7f51f539b6c62b97c585ed7453b3242c9992}.


================================================
FILE: bugs/issue-5fde01d7a4fcdff886003dbaeb9773d33e2b9f18.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Selection issues when moving from 64-bit to 32-bit platforms.
desc: We store "select all" and "deselect all" operations as an assignment of selection weights to the entire range of values that can be stored in uint_t.  Because the range varies depending on platform word size, documents saved on a 64-bit platform cannot be deserialized on 32-bit platforms.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-07-19 22:11:44.622812 Z
references: []

id: 5fde01d7a4fcdff886003dbaeb9773d33e2b9f18
log_events: 
- - 2009-07-19 22:11:46.198687 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-07-20 05:07:10.686826 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - Clamp 64-bit values when loading files on a 32-bit platform.  This provides the correct semantics for selections, which will continue to work.


================================================
FILE: bugs/issue-607cbe27448028c9efc67e008d01f1e507bb1fbd.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Review plugin names
desc: |-
  Among other proposals:
  
  Should JoinPoints be changed to FusePoints, or UnitePoints, because
  join points means form a line between two points (or more if there is
  sequence data in the selection set)?
  
  "Join" has also been misused elsewhere so if we change join to a more
  appropriate word it should be done consistently.
type: :task
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-08-10 05:20:59.666799 Z
references: []

id: 607cbe27448028c9efc67e008d01f1e507bb1fbd
log_events: 
- - 2009-08-10 05:21:00.458739 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-02-23 03:48:27.282805 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""
claimer: 


================================================
FILE: bugs/issue-624ea57c7b26a27eba7f3bfd65f0dee40eb814d3.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: 5 when I try to point element, viewport become black, and after it return grid, but I cannot select nothing
desc: |-
  Contact: win22@pochta.ru
  Summary: when I try to point element, viewport become black, and after it
  return grid, but I cannot select nothing
  Report Generated: 2007-Dec-06 19:54:18 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.1.3 20070831 (prerelease) (Ubuntu 4.1.2-16ubuntu1)
  Build Time: Sep 13 2007 03:47:14 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:36:44.719801 Z
references: []

id: 624ea57c7b26a27eba7f3bfd65f0dee40eb814d3
log_events: 
- - 2009-05-19 03:36:46.816197 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:53:09.039044 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:40:20.167186 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Cannot reproduce.


================================================
FILE: bugs/issue-630255130a08cc316bba010d111dad725f7f9258.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Doesn't work with Windows 7
desc: |-
  This program isn't work with Windows 7 (Vienna). It gave about 55% of CPU
  and do nothing.
  
  version 0.6.7.0 os Windows 7 Ultimate build 7000
  I've installed full of package downloaded from
  http://switch.dl.sourceforge.net/sourceforge/k3d/k3d-all-in-one-setup-0.6.7
  .0.exe
  
  What about this reason?
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-06 03:48:51.680121 Z
references: []

id: 630255130a08cc316bba010d111dad725f7f9258
log_events: 
- - 2009-05-06 03:48:56.640234 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-07-22 02:48:29.156378 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:49:54.607054 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Cannot reproduce.


================================================
FILE: bugs/issue-637f683833589ed1b5cd3f5028206c80ec97d3e9.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: NurbsEditCurveKnotVector segfaults when created.
desc: ""
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-08-23 20:49:00.397697 Z
references: []

id: 637f683833589ed1b5cd3f5028206c80ec97d3e9
log_events: 
- - 2009-08-23 20:49:01.117777 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-10-07 01:24:35.873135 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-63e3d51ee3915a539f21adf515ed7275f359295b.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Fix broken NURBS tests.
desc: ""
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-08-23 23:44:54.773621 Z
references: []

id: 63e3d51ee3915a539f21adf515ed7275f359295b
log_events: 
- - 2009-08-23 23:44:55.413561 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-12-12 03:57:42.028512 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-66dbf9444de6bcf5ef19d5ad94b51e0e5b58c3cd.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "black box were the model should be "
desc: |-
  Contact: macfuehrbush@gmail.com
  Summary: black box were the model should be
  Report Generated: 2008-Jun-08 02:45:05 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.2.3 (Ubuntu 4.2.3-2ubuntu1)
  Build Time: Feb 27 2008 23:29:50 local
  black box were the model should be
  Steps to reproduce problem:
  
  1. open k 3d in extra efecks mode on ubuntu
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :reorg
creation_time: 2009-05-07 04:15:37.261676 Z
references: []

id: 66dbf9444de6bcf5ef19d5ad94b51e0e5b58c3cd
log_events: 
- - 2009-05-07 04:15:37.813342 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:14.078701 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:33:26.079051 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition reorg
  - This appears to be a duplicate of {issue deed7f51f539b6c62b97c585ed7453b3242c9992}.


================================================
FILE: bugs/issue-6a66838dfc4773a21c04575103c92d8e8802f5ff.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Remove legacy code from CollapseFaces.
desc: Like it says.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-12-29 03:14:35.677573 Z
references: []

id: 6a66838dfc4773a21c04575103c92d8e8802f5ff
log_events: 
- - 2009-12-29 03:14:36.509493 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2010-01-14 21:58:15.053279 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-6aedc6869efacb25e643f2bb3d447338cc7307e5.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "5 Das Tutorial Skript Nr. 5 st\xC3\xBCrzt ab"
desc: "Contact: hans.frericks@web.de\n\
  Summary: Das Tutorial Skript Nr. 5 st\xC3\xBCrzt ab\n\
  Report Generated: 2008-Oct-12 09:57:46 UTC\n\
  Package: k3d\n\
  Version: 0.6.7.0\n\
  Platform: i486-pc-linux-gnu\n\
  Compiler: 4.2.3 (Ubuntu 4.2.3-2ubuntu1)\n\
  Build Time: Feb 27 2008 23:29:50 local\n\
  Description of problem:\n\n\
  Steps to reproduce problem:\n\n\
  1. Help - Tutorial - GTS Boolean (Advanced) --> Programmabsturz\n\
  2.\n\
  3.\n\n\
  Expected results:\n\n\
  Actual results:\n\n\
  How often does this happen?\n\n\
  Additional information:"
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-07 04:05:21.149679 Z
references: []

id: 6aedc6869efacb25e643f2bb3d447338cc7307e5
log_events: 
- - 2009-05-07 04:05:22.205545 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-07-15 06:01:29.067072 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-07-15 06:05:33.043156 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""
- - 2009-08-03 00:30:04.398851 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - ""


================================================
FILE: bugs/issue-6b7163b333419334ced5dd726d5b5a5c669cb9c8.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: 5 Rendering of files does not work
desc: |-
  Contact: shashank.araokar@gmail.com
  Summary: Rendering of files does not work
  Report Generated: 2007-Aug-14 20:21:32 UTC
  Package: k3d
  Version: 0.6.6.0
  Platform: i486-pc-linux-gnu
  Compiler: 4.1.2 20070106 (prerelease) (Ubuntu 4.1.1-21ubuntu7)
  Build Time: Jan 16 2007 15:55:06 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1. Create any simple model
  2. Say render (either press F12 or render frame)
  3. Save the file as needed (if needed)
  
  Expected results:
  Anything sensible (say a preview or something)
  
  Actual results:
  Nothing happens. File is not saved. No error is reported. No warnings, no
  results
  
  How often does this happen?
  Each time
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:43:08.584443 Z
references: []

id: 6b7163b333419334ced5dd726d5b5a5c669cb9c8
log_events: 
- - 2009-05-19 03:43:09.280302 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:49:54.479171 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:19:42.470995 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Works here.


================================================
FILE: bugs/issue-6d0f5f71bcca568aab7d418c23ea12de51a07b88.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: 5  Bug while moving vertices, edges and faces on a tutorial
desc: "Resuming:\n\
  1-Start recording a tutorial\n\
  2-Select a face/edge/vertex\n\
  3-Move it\n\
  4-Without changing the move tool select and move another face/edge/vertex\n\
  5-Play the script\n\n\
  I attach a k3dscript file for reproducing the bug.\n\
  It throws on the terminal (in 0.6.7 and 0.7.0)\n\
  WARNING: Selection contained records without nodes\n\
  ERROR Command node [move_tool] unhandled command: [lmb_click_replace]\n\
  [<arguments><viewport>/document/window/viewport</viewport><mouse>0.418126\n\
  0.638689</mouse></arguments>]\n\n\
  This script was recorded on k3d 0.6.7 and when played on 0.7 it selects a\n\
  different face. Seems like coordinates are upside down. I'll will submit\n\
  another bug report on this subject.\n\n\
  Thanks for merging the mug script!\n\n\
  Cheers,\n\
  Joaqu\xC3\xADn."
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-05-19 03:45:29.375947 Z
references: []

id: 6d0f5f71bcca568aab7d418c23ea12de51a07b88
log_events: 
- - 2009-05-19 03:45:29.871867 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-07-15 06:03:32.795165 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-07-15 06:06:39.795088 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-6e358533fc719d3b3c1fe8b061f7091cd046453e.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: lots of soft of this packages are unsigned , loaded from mandriva 2008.0.rpm.I586
desc: |-
  Contact: mgb-system@wanadoo.fr
  Summary: lots of soft of this packages are unsigned , loaded from mandriva
  2008.0.rpm.I586
  Report Generated: 2008-Aug-30 14:21:44 UTC
  Package: k3d
  Version: 0.6.7.0
  Platform: i586-mandriva-linux-gnu
  Compiler: 4.1.2 20070302 (prerelease) (4.1.2-1mdv2007.1)
  Build Time: Jun 12 2007 17:42:53 local
  Description of problem:
  
  Steps to reproduce problem:
  
  1.
  2.
  3.
  
  Expected results:
  
  Actual results:
  
  How often does this happen?
  
  Additional information:
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-07 04:08:41.813615 Z
references: []

id: 6e358533fc719d3b3c1fe8b061f7091cd046453e
log_events: 
- - 2009-05-07 04:08:42.533530 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:10.686639 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-02 23:17:10.927021 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - This is a downstream distribution issue, if I understand the OP's meaning correctly.


================================================
FILE: bugs/issue-703980e3eb7434bec1481e3f7b5558bf64926f9e.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: 5  Segfault right after the splash screen comes up
desc: |-
  Contact: tuomi6@cs.tut.fi
  Summary: Segfault right after the splash screen comes up
  Report Generated: 2007-Jun-11 14:59:03 UTC
  Package: k3d
  Version: 0.6.0.0
  Platform: x86_64-pc-linux-gnu
  Compiler: 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)
  Build Time: Dec 3 2006 00:16:05 local
  Description of problem:
  Program starts up, displays splash screen, then segfaults:
  /usr/bin/k3d: line 180: 12802 Segmentation fault /usr/bin/k3d-bin
  --options /home/tuomi/.k3d/options.k3d --plugins /usr/lib/k3d --shadercache
  /home/tuomi/.k3d/shadercache --share /usr/share/k3d --tutorials
  /usr/share/k3d/tutorials --ui /usr/lib/libk3dngui.so
  
  Steps to reproduce problem:
  
  1. Start program.
  2.
  3. Crash and burn.
  
  Expected results:
  Wanted to try out this program.
  
  Actual results:
  It segfaulted before I even got it to load.
  
  How often does this happen?
  Every time I try.
  
  Additional information:
  Using k3d 0.6.0.0 (Debian package) on Debian 2.6.18-3-amd64 (testing), on
  my home computer.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :closed
disposition: :wontfix
creation_time: 2009-05-19 03:46:30.983802 Z
references: []

id: 703980e3eb7434bec1481e3f7b5558bf64926f9e
log_events: 
- - 2009-05-19 03:46:31.664463 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:49:18.510706 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-03 03:38:48.783075 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition wontfix
  - Cannot reproduce.


================================================
FILE: bugs/issue-7186061f7d139f1591333c49d6bc53b93cb6ecc3.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: RenderManArrayXD plugins should be more generic.
desc: |-
  I think that RenderManArray...
  (http://www.k-3d.org/wiki/Array_Plugins) should be converted into a
  more generic RenderingProxyArray and that it should also be able to
  generate an array of actual object instances so that it can be used as
  a modeling tool and for cases where a proxy cannot be used in the
  chosen output format.
  
  At the moment it will not work with LuxRender but Lux does support
  geometry instancing.
type: :feature
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-07-14 03:54:59.949374 Z
references: []

id: 7186061f7d139f1591333c49d6bc53b93cb6ecc3
log_events: 
- - 2009-07-14 03:55:01.277314 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:46:31.191045 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from unassigned
  - ""


================================================
FILE: bugs/issue-71a4669f4804254394b5e170afb5ca0fc537ad62.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Hint Refactoring
desc: Complete the action items documented in http://www.k-3d.org/wiki/Hint_Refactoring - in particular, update all pipeline components to implement hint-mapping when updating their state in response to property changed signals.
type: :task
component: K-3D
release: 0.8.1.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-04-29 01:55:58.107159 Z
references: []

id: 71a4669f4804254394b5e170afb5ca0fc537ad62
log_events: 
- - 2009-04-29 01:55:59.307170 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-08-21 05:53:07.681355 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""
- - 2010-05-22 00:34:48.558807 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.1.0 from 1.0.0.0
  - ""
claimer: 


================================================
FILE: bugs/issue-71abd763037b718e574529c33c58a458f05af48c.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: "User properties Order and NullOutputScript "
desc: |-
  On 0.7 rev 899, ubuntu feisty fawn
  
  When user properties are created via script, when the file is reloaded,
  they are reordered missing it's original order. (this doesn't happen on
  manually created user properties)
  
  NullOutputScript
  When opening a file it evaluates its script before its user properties are
  created.
  I guess is has to do with /scripting/null_output_script.cpp
  line 51: connect_script_changed_signal(sigc::mem_fun(*this,
  &null_output_script::on_execute));
type: :bugfix
component: K-3D
release: 1.0.0.0
reporter: Beverly L. Shead <bshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2009-05-19 03:24:08.601156 Z
references: []

id: 71abd763037b718e574529c33c58a458f05af48c
log_events: 
- - 2009-05-19 03:24:09.880832 Z
  - Beverly L. Shead <bshead@k-3d.com>
  - created
  - ""
- - 2009-08-02 22:52:17.303072 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 0.8.0.0 from unassigned
  - ""
- - 2009-08-21 05:48:04.465475 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - assigned to release 1.0.0.0 from 0.8.0.0
  - ""


================================================
FILE: bugs/issue-71e0e500fc3a528e690296d69e5f6c8d62cb0076.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Add support for merging polyhedra.
desc: |-
  The MergeMesh modifier generates the 'union' of geometric primitives in its output, but many operations (BridgeFaces and BridgeEdges come to mind) can only work on individual primitives.  Similarly, multiple polyhedron primitives must be merged into one to create a solid / manifold for operations such as CatmullClark.
  
  Create a MergePolyhedra filter to address these cases.
type: :feature
component: K-3D
release: 1.0.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2010-02-27 06:47:22.555937 Z
references: []

id: 71e0e500fc3a528e690296d69e5f6c8d62cb0076
log_events: 
- - 2010-02-27 06:47:23.178841 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
claimer: 


================================================
FILE: bugs/issue-720f97d969465f88647103a679fccfba9fdfe595.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Interactive node selection doesn't update node properties panel.
desc: When selecting nodes interactively, the node properties panel no longer updates to display properties for the selected node.
type: :bugfix
component: K-3D
release: 0.8.0.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :closed
disposition: :fixed
creation_time: 2009-08-03 15:29:18.385155 Z
references: []

id: 720f97d969465f88647103a679fccfba9fdfe595
log_events: 
- - 2009-08-03 15:29:19.233178 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
- - 2009-10-12 01:33:23.928497 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - closed with disposition fixed
  - ""


================================================
FILE: bugs/issue-726036fd940e69af892483f4fb81ced5076343c0.yaml
================================================
--- !ditz.rubyforge.org,2008-03-06/issue 
title: Add information on materials to the Guide.
desc: Like it says - there are a lot of support requests around material management.
type: :feature
component: K-3D
release: 0.8.1.0
reporter: Timothy M. Shead <tshead@k-3d.com>
status: :unstarted
disposition: 
creation_time: 2010-07-04 19:13:56.370134 Z
references: []

id: 726036fd940e69af892483f4fb81ced5076343c0
log_events: 
- - 2010-07-04 19:13:57.177396 Z
  - Timothy M. Shead <tshead@k-3d.com>
  - created
  - ""
claimer: 


================================================
FILE: bugs/issue-72b9eb7ea6f2ee49a1aa6de0f9bdda95fd8226af.yaml
=====================================
Download .txt
gitextract_y8b0ck_2/

├── .ditz-plugins
├── .gitignore
├── AUTHORS
├── CMakeLists.txt
├── COPYING
├── CTestConfig.cmake
├── CTestCustom.cmake.in
├── INSTALL
├── README
├── application/
│   ├── CMakeLists.txt
│   ├── Info.plist.in
│   ├── config.h.in
│   ├── icon.rc
│   ├── k3d_main.cpp
│   ├── k3d_main.h
│   ├── main.cpp
│   └── winmain.cpp
├── bugs/
│   ├── CMakeLists.txt
│   ├── issue-000e833956e3ebedbddc7a8f239368296cef05cf.yaml
│   ├── issue-01d720a02d5558508a3b56a7ad0e603d0b8e57f7.yaml
│   ├── issue-028d81eef227a051d03293c46b451db439f0c460.yaml
│   ├── issue-02e36eaa0b39160335d6eb8d576d75c56577c5f7.yaml
│   ├── issue-067c122609d0478c12319a8cfebda9c4f290bc78.yaml
│   ├── issue-0ca786b59608c113bdb0a99f16c1e0e8e0076d8f.yaml
│   ├── issue-0f0dc8929f4bd8dd646aedbab164defb8b01ba68.yaml
│   ├── issue-0f2e779987beba2c16355000e49002e668efe3cd.yaml
│   ├── issue-12ac6cbd6ff111c686796d107c8a9b8338158e8f.yaml
│   ├── issue-13cd1ca286fd727add47164d6b9829a864732688.yaml
│   ├── issue-1478f28b825b4003e89e19fd6627210de42670f1.yaml
│   ├── issue-162c9fd22b62e2228b4963639d7cd652b4af2e5d.yaml
│   ├── issue-164f2e0cd8b280e764bc49d2f1db806e4fef7fa3.yaml
│   ├── issue-1787ece116f7300528f97ab0a9eb6c128a4ae826.yaml
│   ├── issue-1850897e4259a756faf449a72ea07ac863d83cd0.yaml
│   ├── issue-1ae2d51bee03627b3d7136008951efc67ab7766e.yaml
│   ├── issue-1af4c139c1c4fe06ca2e3fbe31f1237cf963a20e.yaml
│   ├── issue-1e7b3a952423fcf332c8f369ee0646873cafb877.yaml
│   ├── issue-1f0827906ae4174800898596b0c8e4c623425ebd.yaml
│   ├── issue-20324fd0e902a7a6bdb85dbf5f2ae4ce8180a61a.yaml
│   ├── issue-20c18a2b4fe16b8e1a3982d83be136220b4cf863.yaml
│   ├── issue-250f99eac16ec2eda3d6b7e324592efc46a1e250.yaml
│   ├── issue-25c0b2699b08309f7452d4d7390d05a3fa78bf57.yaml
│   ├── issue-26470a23cd083556484c98f6120b5f33661775c6.yaml
│   ├── issue-28d83330170a35565ca1ada32317f34b2daf37a2.yaml
│   ├── issue-28e8b98350d458dfe53427f2497401663b0dc97a.yaml
│   ├── issue-2c158e15ef869a5b8ec01db38e4ed19a507b0bc2.yaml
│   ├── issue-2c5ca49215d98ef29255e323180b3715cee1b1c1.yaml
│   ├── issue-2e6128ca3bb63de99d369f1ae2f4f457cf7a1470.yaml
│   ├── issue-3074be871fbce4de2da49a1abc0432d8e49e30c1.yaml
│   ├── issue-361aa608201ea4f1ec2fd204a7c62df2ebfeb1b8.yaml
│   ├── issue-363308f0b4815dcf1b3fb24103eb8b40f6645779.yaml
│   ├── issue-38ed366c277ad6ad3cbf7113a50c73ab0dc6ecb9.yaml
│   ├── issue-3c77f6ba4e20fe744f97629df5b855476eaefef0.yaml
│   ├── issue-3cb4616e3fdf2b348db28c1ec4761759e7570b91.yaml
│   ├── issue-4084f1c41c9a58ab4b0b49b7c8f988f45328edcc.yaml
│   ├── issue-40ed654ea75987f34bbe51980b5622cc079d3c7e.yaml
│   ├── issue-413564006de7bfe4283dc79f9165dedd9b49c271.yaml
│   ├── issue-41f14db348415ee631409034dafa0d42d0deddea.yaml
│   ├── issue-42a7588ab85a23f2a39a9fb36b63b6fa9d7af0f5.yaml
│   ├── issue-432f8b1d7711eb5d22d6046d20bc006c18d5090b.yaml
│   ├── issue-43ed5f6b35f29c0788a75461bf33f3120387f6c1.yaml
│   ├── issue-44735744038c3434abe3f3a7e13f881e2e2cc48e.yaml
│   ├── issue-4523543999b211ff2977debc785b31e70964ea2b.yaml
│   ├── issue-45a8e81c24329d52763349b662988a9969e2a929.yaml
│   ├── issue-478fd768c3286ce365c29af422175f8b9969ca11.yaml
│   ├── issue-49b3bc440ae6da65fec9979da016681ccdd7df24.yaml
│   ├── issue-4a400f4d42a40bb64cb5df9e83481ec74ea8974e.yaml
│   ├── issue-4a7cea3d5863e1dec9aa8e78e239963e9c451926.yaml
│   ├── issue-4ac006d705b9b7b5b3468932c4e7750d95564cce.yaml
│   ├── issue-52654f9476391c6612de54e91d54e4dcda7bb847.yaml
│   ├── issue-538f9fab4a345ba7c88ba39b4faa0ef55cfffaad.yaml
│   ├── issue-555cc14dcbca30e03f0a333f0236c8f653e0a7f1.yaml
│   ├── issue-5970a8d939cc358d1ab2bef5c0eeabf2baa2a9e8.yaml
│   ├── issue-5d9c8400eb4dcb02edcf8dc56ce8bcd91955a53c.yaml
│   ├── issue-5f88eac8fa3003c363a0364ee8827a438bcda2ca.yaml
│   ├── issue-5fde01d7a4fcdff886003dbaeb9773d33e2b9f18.yaml
│   ├── issue-607cbe27448028c9efc67e008d01f1e507bb1fbd.yaml
│   ├── issue-624ea57c7b26a27eba7f3bfd65f0dee40eb814d3.yaml
│   ├── issue-630255130a08cc316bba010d111dad725f7f9258.yaml
│   ├── issue-637f683833589ed1b5cd3f5028206c80ec97d3e9.yaml
│   ├── issue-63e3d51ee3915a539f21adf515ed7275f359295b.yaml
│   ├── issue-66dbf9444de6bcf5ef19d5ad94b51e0e5b58c3cd.yaml
│   ├── issue-6a66838dfc4773a21c04575103c92d8e8802f5ff.yaml
│   ├── issue-6aedc6869efacb25e643f2bb3d447338cc7307e5.yaml
│   ├── issue-6b7163b333419334ced5dd726d5b5a5c669cb9c8.yaml
│   ├── issue-6d0f5f71bcca568aab7d418c23ea12de51a07b88.yaml
│   ├── issue-6e358533fc719d3b3c1fe8b061f7091cd046453e.yaml
│   ├── issue-703980e3eb7434bec1481e3f7b5558bf64926f9e.yaml
│   ├── issue-7186061f7d139f1591333c49d6bc53b93cb6ecc3.yaml
│   ├── issue-71a4669f4804254394b5e170afb5ca0fc537ad62.yaml
│   ├── issue-71abd763037b718e574529c33c58a458f05af48c.yaml
│   ├── issue-71e0e500fc3a528e690296d69e5f6c8d62cb0076.yaml
│   ├── issue-720f97d969465f88647103a679fccfba9fdfe595.yaml
│   ├── issue-726036fd940e69af892483f4fb81ced5076343c0.yaml
│   ├── issue-72b9eb7ea6f2ee49a1aa6de0f9bdda95fd8226af.yaml
│   ├── issue-734d997c30a2208e4cc49cfc83071a6e8c446203.yaml
│   ├── issue-73b9d9eaea5e3100dfbd016ed74852541fea45b3.yaml
│   ├── issue-748f4bfe0ef0aca0e383b81aa75f4ea91b90a9fb.yaml
│   ├── issue-7642bc88b925585b8359bf58a5e818edf5575823.yaml
│   ├── issue-79d92fefbdd858ed65e5dcc7605f304a4d29f4db.yaml
│   ├── issue-7b49e59fee09d9c477c0bc0099d17bda335bafc1.yaml
│   ├── issue-7bc390041917f4dad49790f8eaf5b365add00512.yaml
│   ├── issue-7c1f591407ab1ed2d13f8d12ac20f23ba757029b.yaml
│   ├── issue-7d151b992517ccf1a476e994da4ae95f811a0f28.yaml
│   ├── issue-7d2708ff9bb5cd775481c46e2c34639a6baece89.yaml
│   ├── issue-7f5736e37d226ef0df24d5ff0a103233993c1871.yaml
│   ├── issue-809dbf8876e9da36c54d116410338e64ea634de7.yaml
│   ├── issue-80b04a4ce93501dca03dff1f05711e2e22a6cdf7.yaml
│   ├── issue-810cbd67c6f6737ee2900a8a85fd107e81a416bf.yaml
│   ├── issue-83af56cb47d6d6414fdc911fd5ae4ea45b23691b.yaml
│   ├── issue-85307f5c478fef938ea9202d85d4fb6ca351f82b.yaml
│   ├── issue-87422f875fafba82217cb6ea9926431c664008e1.yaml
│   ├── issue-880751463fbb518318275de1613945c253d371d4.yaml
│   ├── issue-895d272b3cce6c0d083757a9b1d22066be7e8d48.yaml
│   ├── issue-8b7048ef71c42a4ddfbd754d0eec458ced28cabb.yaml
│   ├── issue-8e23f26186d044718dee4d0c597684d194ebb3ab.yaml
│   ├── issue-91df55f58cd343ef052644a22be6ed6da975f4ff.yaml
│   ├── issue-9340867dbd5c408b4505e0a5aac01dfd7cf13531.yaml
│   ├── issue-93918136ae33aada69f7550025c0fc8b9844630f.yaml
│   ├── issue-94d550d30436720fef32ba3311fd367a4b5317d2.yaml
│   ├── issue-956ceb914b4a6b27defd0c78bb54adc3c4893b32.yaml
│   ├── issue-9a2fb7311eae397db36e237be063404532b3b4a0.yaml
│   ├── issue-9b2e091f7e3b9e36ff649b48155458080d7da913.yaml
│   ├── issue-9c495b89016c7cceebed30b1c37286a935f9a2eb.yaml
│   ├── issue-9cc79c6fd45d45ec92cdac3eef3ad3f050bae375.yaml
│   ├── issue-9d6b0d8eaf8d80a966066c342bf1de0dd67869cf.yaml
│   ├── issue-9e18e7eda2cde5ef31f3c5d75099f7e5aafbbb70.yaml
│   ├── issue-9e5b6f8facf5da51725b10a558ac3560e03d651d.yaml
│   ├── issue-a121afe2e22a6a972946c3f90472758987ca1d11.yaml
│   ├── issue-a30d997fb6cf859f56794c2ba693d986d109a143.yaml
│   ├── issue-a35971476137c99b326c5df30dc1c65c05d251fa.yaml
│   ├── issue-a51f6fb9050dd6b4fc6b07052508b122ad181762.yaml
│   ├── issue-a8c5a1d70781b39476748bd155c24a309d8ff50f.yaml
│   ├── issue-ab67e65a87a4e7a37e5d858119e62a23fe218e09.yaml
│   ├── issue-ab989d228e5a69168eb8a345a1dd5d59e0e264c0.yaml
│   ├── issue-abb391e69f742b790e8da66ffaa784db0a5988bb.yaml
│   ├── issue-ac1657b6dc20fb04947f9d412ada980948978fb5.yaml
│   ├── issue-acffc0b1158b9235a406f1e988c574800e4cd368.yaml
│   ├── issue-ad39f08267111c35c8e26b5264df5d06af65f718.yaml
│   ├── issue-ad7ebb0ae83ac37ee352a9775b601e181d460e3d.yaml
│   ├── issue-ae912d5a99e4737fe82a9576842bf25a9b7a83bf.yaml
│   ├── issue-afe8a5c7a2db5849096010a7e4e37ffd246fc5de.yaml
│   ├── issue-b143f0495234766027975401fdc8c071ceaccdc2.yaml
│   ├── issue-b56196fba885cf00f611139e6b09a9135d465338.yaml
│   ├── issue-baacef33fb990943146dd8064244e33486e5ea09.yaml
│   ├── issue-c08027d5b63ee4951a747d366509431f86626ce3.yaml
│   ├── issue-c15440cffbee3a681e073542040ad92aaa03e211.yaml
│   ├── issue-c24cff95ec0290dc053789f3749c2d3a576427e6.yaml
│   ├── issue-c3442cdcfa64300b26c4e16560338858110051e0.yaml
│   ├── issue-c35b6212ab0df100143b32254a41325252ffec42.yaml
│   ├── issue-c38bd09d7aa33d18d9df72894e7d7f4231a7afa4.yaml
│   ├── issue-c3ec9bb8e635c2592d8ee6f80f29b56e939c7be4.yaml
│   ├── issue-c4141d8b96026e37fc47c03ec3a610eb76d255e4.yaml
│   ├── issue-c4fac5d4134a27c60a732f65c7aca6d081d888bd.yaml
│   ├── issue-c566b10c51cf9be076002e098a80e627f7e57ad7.yaml
│   ├── issue-c5bb24ef560d028232ce7243e179caf89232424a.yaml
│   ├── issue-c60b33c866619f09ee3d9d98a588097c246dce9d.yaml
│   ├── issue-c62d4189ed3035ce0a2c7896f97007ac715a1159.yaml
│   ├── issue-c7068025feb6bc837b3c8238689cbd2808e602ec.yaml
│   ├── issue-c88402eb19c30deba7254e8583c5554e169b4ee2.yaml
│   ├── issue-c920698bb22ce982c3f377ceebe1c146ff08fa9e.yaml
│   ├── issue-caa327a1b446cc943f4f8563d11862bb9a323006.yaml
│   ├── issue-cbc65707315095a3c85694e09e179f711248ae01.yaml
│   ├── issue-cf2cdc4985a66db59f55052f03c3c620237b451f.yaml
│   ├── issue-cfefcca75810ec3b784ee014ff12c2b345d0e37d.yaml
│   ├── issue-d171dd355a94e4b8c639dce81bab88f3b30ad4c1.yaml
│   ├── issue-d33d9c38e1484b8ca1380cee2cc381a58073f2b8.yaml
│   ├── issue-d641db2e9857dad68c2cb5cddad523f6a11a9f4c.yaml
│   ├── issue-d7a44bff78ad31a7e7a6762e37c67cc721882f83.yaml
│   ├── issue-d8ead7e3cb76c1f6312855dfb1007959bf2a81a3.yaml
│   ├── issue-da7d93a9b31ed0769f5b56af3f388737dd957b7f.yaml
│   ├── issue-da8965ea23097589e5b98a3b8c42580329dad12c.yaml
│   ├── issue-daee8a01c7a1e37079658831fb65738559dc0493.yaml
│   ├── issue-dbaae5eafd86c96dd10c4636fee6dbcf4a6223d2.yaml
│   ├── issue-dbc9bdf294e3af3096d5b7b0777fbd501dbec183.yaml
│   ├── issue-dbddd7fdc90195a94e62d0ae6440ac9d90308f40.yaml
│   ├── issue-dc74ee9aa83bfe125ef4948bd8e8a46d3b895167.yaml
│   ├── issue-dcaa8d49244983968dcc3d24b45671270e0238ba.yaml
│   ├── issue-deed7f51f539b6c62b97c585ed7453b3242c9992.yaml
│   ├── issue-e200400ec942d61b5d25ff523fbc59331e5cd00c.yaml
│   ├── issue-e223abcb170a54b129321cb4020ec090b91aa06d.yaml
│   ├── issue-e24dc27f9e5a9b6debdc7fbacdaef0390aa835b5.yaml
│   ├── issue-e345f325aab4099f88dfc47616a86d4ddea54db3.yaml
│   ├── issue-e4ab51a81942250ae3e8a0ecff44c1e0b329859e.yaml
│   ├── issue-e4e3a8d3d7b0effd24b47227a38154c7f9ad1af1.yaml
│   ├── issue-e695dc7181caa53d244666975fcb9416d23456d6.yaml
│   ├── issue-e7da3769c8568a8dd24b895d954ce0f2afb278fb.yaml
│   ├── issue-e7e2260686f43af5350ced8daf3fd52f748b7d4d.yaml
│   ├── issue-e7f06c793e88c43060dc24a5e7b645e87f5c3372.yaml
│   ├── issue-e83e4967aac6828eb4e02208edacd68d23252cde.yaml
│   ├── issue-e86ef362f926037001e1c60a9fedea2822620595.yaml
│   ├── issue-eab8f46b39c3ce8da3052e6c33ad2942556f3c8d.yaml
│   ├── issue-ebaf6c348e0fa045023a7a486ea7c70969f96dde.yaml
│   ├── issue-ec7e14fd48fc42fd5b2ca9a3d30caf4f1b027c1a.yaml
│   ├── issue-ee2fe3f71ced0add4f940683db864c5cfe7422d9.yaml
│   ├── issue-eefe2f1c031bdf2fbe9723b6baf8aaa7a6daac91.yaml
│   ├── issue-efc598f7db94d366529406ccc835541ed77da749.yaml
│   ├── issue-f0214576609193a60f014f6c1b55e5b01af8197d.yaml
│   ├── issue-f20b5cc0c3904cfa8ec18ee3c7753e4bbff69d4e.yaml
│   ├── issue-f70081ac577a3f841537885c3d1d3af7f23f5aef.yaml
│   ├── issue-f7a6867233d707004a53404495ec68af38de7dc2.yaml
│   ├── issue-f838455f2a342a4d7c1d2aa13e3bd4d459d9c289.yaml
│   ├── issue-fd6e33c28fa0b3d7a02b1c4972bc5577b61d8838.yaml
│   ├── issue-ff8b9cee50b4d5422d195a8a64467eaca0b11ded.yaml
│   ├── issue-ff93d0f500a475dc818ff0f85fa530f5fbc58be0.yaml
│   └── project.yaml
├── cmake/
│   ├── dashboards/
│   │   ├── continuous-debug.cmake
│   │   ├── nightly-coverage.cmake
│   │   ├── nightly-debug.cmake
│   │   └── nightly-release.cmake
│   └── modules/
│       ├── FindK3DAsciiDoc.cmake
│       ├── K3DCompileResource.cmake
│       ├── K3DCompiler.cmake
│       ├── K3DDependencies.cmake
│       ├── K3DFind3ds.cmake
│       ├── K3DFindBoost.cmake
│       ├── K3DFindCARVE.cmake
│       ├── K3DFindCGAL.cmake
│       ├── K3DFindCairomm.cmake
│       ├── K3DFindCollada.cmake
│       ├── K3DFindDBus.cmake
│       ├── K3DFindFTGL.cmake
│       ├── K3DFindFreetype2.cmake
│       ├── K3DFindGMM.cmake
│       ├── K3DFindGPerftools.cmake
│       ├── K3DFindGTS.cmake
│       ├── K3DFindGiomm.cmake
│       ├── K3DFindGlibmm.cmake
│       ├── K3DFindGthread.cmake
│       ├── K3DFindGtkGLExt.cmake
│       ├── K3DFindGtkSourceView.cmake
│       ├── K3DFindGtkmm.cmake
│       ├── K3DFindImageMagick.cmake
│       ├── K3DFindInotify.cmake
│       ├── K3DFindIntl.cmake
│       ├── K3DFindJPEG.cmake
│       ├── K3DFindODE.cmake
│       ├── K3DFindOSMesa.cmake
│       ├── K3DFindOpenEXR.cmake
│       ├── K3DFindOpenGL.cmake
│       ├── K3DFindPNG.cmake
│       ├── K3DFindPkgConfig.cmake
│       ├── K3DFindPython.cmake
│       ├── K3DFindSigC.cmake
│       ├── K3DFindSuperLU.cmake
│       ├── K3DFindTBB.cmake
│       ├── K3DFindTIFF.cmake
│       ├── K3DFindXML.cmake
│       ├── K3DFindZlib.cmake
│       ├── K3DGenerateDEF.cmake
│       ├── K3DOutOfSourceBuild.cmake
│       ├── K3DParseArguments.cmake
│       ├── K3DSystemConfiguration.cmake
│       └── K3DWordSize.cmake
├── configuration/
│   └── size_type.cpp
├── desktop/
│   ├── CMakeLists.txt
│   └── k3d.desktop.in
├── distribution/
│   ├── CMakeLists.txt
│   ├── genslmeta.bat
│   ├── osx/
│   │   ├── CMakeLists.txt
│   │   ├── bundle/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── Info.plist.in
│   │   │   ├── k3d-startup
│   │   │   ├── package-binary-bundle.cpack.in
│   │   │   ├── volume.icns
│   │   │   └── volume_logo.xcf
│   │   ├── dependencies.cmake.in
│   │   └── packagemaker/
│   │       ├── CMakeLists.txt
│   │       ├── package-binary-packagemaker.cpack.in
│   │       ├── readme.txt
│   │       └── welcome.txt
│   ├── posix/
│   │   ├── CMakeLists.txt
│   │   ├── package-binary-stgz.cpack.in
│   │   ├── package-binary-tbz2.cpack.in
│   │   └── package-binary-tgz.cpack.in
│   ├── source/
│   │   ├── CMakeLists.txt
│   │   ├── package-source-tbz2.cpack.in
│   │   ├── package-source-tgz.cpack.in
│   │   └── package-source-zip.cpack.in
│   └── win32/
│       ├── CMakeLists.txt
│       ├── aqsisrc
│       ├── gtkrc
│       └── nsis/
│           ├── CMakeLists.txt
│           ├── headerimage.xcf
│           └── package-binary-nsis.cpack.in
├── docs/
│   ├── CMakeLists.txt
│   ├── coding_style/
│   │   ├── CMakeLists.txt
│   │   ├── astylerc
│   │   └── k3d-style.in
│   ├── doxygen/
│   │   ├── CMakeLists.txt
│   │   ├── Doxyfile.in
│   │   ├── footer.html
│   │   ├── header.html
│   │   └── k3d.css
│   ├── epydoc/
│   │   ├── CMakeLists.txt
│   │   ├── epydoc.css
│   │   └── make-epydoc-docs.py
│   ├── mesh_arrays.ods
│   ├── sample_module/
│   │   ├── CMakeLists.txt
│   │   └── module.cpp
│   ├── uml/
│   │   ├── data.xmi
│   │   ├── network_rendering.xmi
│   │   └── subdivision_surface/
│   │       ├── classes.dia
│   │       ├── sds_design.tex
│   │       ├── set_input_initial.dia
│   │       ├── set_input_invalid.dia
│   │       ├── update_detail.dia
│   │       ├── update_invalid.dia
│   │       └── update_valid.dia
│   ├── wiki/
│   │   ├── CMakeLists.txt
│   │   ├── make-wiki-docs-plugins.py
│   │   └── make-wiki-docs-primitives.py
│   └── xml/
│       ├── document_schema.xsd
│       └── slmeta_schema.xsd
├── gendef/
│   ├── CMakeLists.txt
│   └── gendef.cc
├── k3dsdk/
│   ├── CMakeLists.txt
│   ├── Half/
│   │   ├── AUTHORS
│   │   ├── CMakeLists.txt
│   │   ├── COPYING
│   │   ├── LICENSE
│   │   ├── README
│   │   ├── eLut.cpp
│   │   ├── half.cpp
│   │   ├── half.h
│   │   ├── halfFunction.h
│   │   ├── halfLimits.h
│   │   └── toFloat.cpp
│   ├── algebra.h
│   ├── application.cpp
│   ├── application.h
│   ├── application_detail.cpp
│   ├── application_detail.h
│   ├── application_plugin_factory.h
│   ├── array.cpp
│   ├── array.h
│   ├── aspect_ratios.cpp
│   ├── aspect_ratios.h
│   ├── axis.cpp
│   ├── axis.h
│   ├── base64.cpp
│   ├── base64.h
│   ├── basic_math.h
│   ├── batch_mode.cpp
│   ├── batch_mode.h
│   ├── batch_mode_init.h
│   ├── bezier.cpp
│   ├── bezier.h
│   ├── bezier_private.h
│   ├── bezier_triangle_patch.cpp
│   ├── bezier_triangle_patch.h
│   ├── bicubic_patch.cpp
│   ├── bicubic_patch.h
│   ├── bilinear_patch.cpp
│   ├── bilinear_patch.h
│   ├── bitmap.h
│   ├── bitmap_modifier.h
│   ├── bitmap_sink.h
│   ├── bitmap_source.h
│   ├── blobby.cpp
│   ├── blobby.h
│   ├── boost_throw_exception.cpp
│   ├── bounding_box3.cpp
│   ├── bounding_box3.h
│   ├── classes.h
│   ├── color.h
│   ├── color_source.h
│   ├── component.cpp
│   ├── component.h
│   ├── cone.cpp
│   ├── cone.h
│   ├── contributors.cpp
│   ├── contributors.h
│   ├── convert.h
│   ├── cubic_curve.cpp
│   ├── cubic_curve.h
│   ├── cylinder.cpp
│   ├── cylinder.h
│   ├── data.cpp
│   ├── data.h
│   ├── dependencies.cpp
│   ├── dependencies.h
│   ├── difference.h
│   ├── disk.cpp
│   ├── disk.h
│   ├── document.cpp
│   ├── document.h
│   ├── document_plugin_factory.h
│   ├── double_source.h
│   ├── euler_operations.cpp
│   ├── euler_operations.h
│   ├── exceptions.h
│   ├── explicit_instantiation.cpp
│   ├── explicit_snap_source.cpp
│   ├── explicit_snap_source.h
│   ├── explicit_snap_target.cpp
│   ├── explicit_snap_target.h
│   ├── expression/
│   │   ├── CMakeLists.txt
│   │   ├── basic_parser.cpp
│   │   ├── basic_parser.h
│   │   ├── fparser.cpp
│   │   ├── fparser.h
│   │   ├── fparser_license.txt
│   │   ├── fpconfig.h
│   │   ├── fpoptimizer.cpp
│   │   ├── fptypes.h
│   │   ├── parser.cpp
│   │   └── parser.h
│   ├── expression_grammar.h
│   ├── file_helpers.cpp
│   ├── file_helpers.h
│   ├── file_range.cpp
│   ├── file_range.h
│   ├── frames.cpp
│   ├── frames.h
│   ├── fstream.h
│   ├── geometric_operations.cpp
│   ├── geometric_operations.h
│   ├── geometry.cpp
│   ├── geometry.h
│   ├── gil/
│   │   └── boost/
│   │       ├── gil/
│   │       │   └── extension/
│   │       │       └── numeric/
│   │       │           ├── affine.hpp
│   │       │           ├── algorithm.hpp
│   │       │           ├── channel_numeric_operations.hpp
│   │       │           ├── convolve.hpp
│   │       │           ├── kernel.hpp
│   │       │           ├── pixel_numeric_operations.hpp
│   │       │           ├── resample.hpp
│   │       │           └── sampler.hpp
│   │       └── uuid/
│   │           ├── nil_generator.hpp
│   │           ├── random_generator.hpp
│   │           ├── seed_rng.hpp
│   │           └── sha1.hpp
│   ├── gl/
│   │   ├── CMakeLists.txt
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── context_factory.h
│   │   ├── enum.spec
│   │   ├── enumext.spec
│   │   ├── extension.cpp
│   │   ├── extension.h
│   │   ├── gl.spec
│   │   ├── gl.tm
│   │   ├── offscreen_context.h
│   │   └── offscreen_context_factory.h
│   ├── gl.h
│   ├── graph.cpp
│   ├── graph.h
│   ├── gzstream.cpp
│   ├── gzstream.h
│   ├── high_res_timer.h
│   ├── hints.cpp
│   ├── hints.h
│   ├── hyperboloid.cpp
│   ├── hyperboloid.h
│   ├── i3d_2d_mapping.h
│   ├── iapplication.h
│   ├── iapplication_plugin_factory.h
│   ├── iattribute_property_ri.h
│   ├── ibitmap_exporter.h
│   ├── ibitmap_importer.h
│   ├── ibitmap_sink.h
│   ├── ibitmap_source.h
│   ├── ibounded.h
│   ├── icamera.h
│   ├── icolor_source.h
│   ├── icrop_window.h
│   ├── idependencies.h
│   ├── idisplacement_shader_ri.h
│   ├── idocument.h
│   ├── idocument_exporter.h
│   ├── idocument_importer.h
│   ├── idocument_plugin_factory.h
│   ├── idocument_sink.h
│   ├── idouble_source.h
│   ├── ienumeration_property.h
│   ├── ievent_loop.h
│   ├── ifile_change_notifier.h
│   ├── ihint.h
│   ├── iimager_shader_ri.h
│   ├── iint32_source.h
│   ├── ikeyframer.h
│   ├── ilight_gl.h
│   ├── ilight_ri.h
│   ├── ilight_shader_ri.h
│   ├── ilight_yafray.h
│   ├── ilist_property.h
│   ├── imaterial.h
│   ├── imaterial_ri.h
│   ├── imaterial_sink.h
│   ├── imaterial_yafray.h
│   ├── imatrix_sink.h
│   ├── imatrix_source.h
│   ├── imeasurement_property.h
│   ├── imesh_painter_gl.h
│   ├── imesh_painter_ri.h
│   ├── imesh_selection_algorithm.h
│   ├── imesh_selection_sink.h
│   ├── imesh_sink.h
│   ├── imesh_source.h
│   ├── imesh_storage.h
│   ├── imeta_object.cpp
│   ├── imeta_object.h
│   ├── imetadata.h
│   ├── imime_type_handler.h
│   ├── imulti_mesh_sink.h
│   ├── inetwork_render_farm.h
│   ├── inetwork_render_frame.h
│   ├── inetwork_render_job.h
│   ├── inode.h
│   ├── inode_change_signal.h
│   ├── inode_collection.h
│   ├── inode_collection_property.h
│   ├── inode_collection_sink.h
│   ├── inode_name_map.h
│   ├── inode_property.h
│   ├── inode_selection.h
│   ├── int32_source.h
│   ├── interface_list.h
│   ├── iomanip.cpp
│   ├── iomanip.h
│   ├── ioption_property_ri.h
│   ├── iparentable.h
│   ├── ipath_property.h
│   ├── ipersistent.h
│   ├── ipersistent_collection.h
│   ├── ipersistent_lookup.h
│   ├── ipipeline.h
│   ├── ipipeline_profiler.h
│   ├── iplugin_factory.h
│   ├── iplugin_factory_collection.h
│   ├── iplugin_registry.h
│   ├── iprojection.h
│   ├── iproperty.h
│   ├── iproperty_collection.h
│   ├── iproperty_group_collection.h
│   ├── iproperty_sink.h
│   ├── irender_animation.h
│   ├── irender_camera_animation.h
│   ├── irender_camera_frame.h
│   ├── irender_camera_preview.h
│   ├── irender_engine_ri.h
│   ├── irender_frame.h
│   ├── irender_preview.h
│   ├── irender_viewport_gl.h
│   ├── irenderable_gl.h
│   ├── irenderable_ri.h
│   ├── ireset_properties.h
│   ├── iscript_engine.h
│   ├── iscript_property.h
│   ├── iscripted_action.h
│   ├── iselectable.h
│   ├── ishader_collection_ri.h
│   ├── isnap_source.h
│   ├── isnap_target.h
│   ├── isnappable.h
│   ├── istate_container.h
│   ├── istate_recorder.h
│   ├── istate_recorder_sink.h
│   ├── istream_ri.h
│   ├── istreaming_bitmap_source.h
│   ├── istring_source.h
│   ├── isurface_shader_ri.h
│   ├── itexture.h
│   ├── itexture_ri.h
│   ├── itime_sink.h
│   ├── itransform_array_1d.h
│   ├── itransform_array_2d.h
│   ├── itransform_array_3d.h
│   ├── iunknown.h
│   ├── iuri_handler.h
│   ├── iuser_interface.h
│   ├── iuser_property.h
│   ├── ivector3_source.h
│   ├── ivolume_shader_ri.h
│   ├── iwatched_path_property.h
│   ├── iwritable_property.h
│   ├── k3d-i18n-config.h.in
│   ├── k3d-ngui-config.h.in
│   ├── k3d-parallel-config.h.in
│   ├── k3d-platform-config.h.in
│   ├── k3d-version-config.h.in
│   ├── keyboard.cpp
│   ├── keyboard.h
│   ├── line2.cpp
│   ├── line2.h
│   ├── line3.cpp
│   ├── line3.h
│   ├── linear_curve.cpp
│   ├── linear_curve.h
│   ├── log.cpp
│   ├── log.h
│   ├── log_control.h
│   ├── material.h
│   ├── material_sink.h
│   ├── matrix_source.h
│   ├── measurement.cpp
│   ├── measurement.h
│   ├── mesh.cpp
│   ├── mesh.h
│   ├── mesh_deformation_modifier.cpp
│   ├── mesh_deformation_modifier.h
│   ├── mesh_modifier.h
│   ├── mesh_painter_gl.h
│   ├── mesh_reader.h
│   ├── mesh_selection_modifier.h
│   ├── mesh_selection_sink.h
│   ├── mesh_simple_deformation_modifier.cpp
│   ├── mesh_simple_deformation_modifier.h
│   ├── mesh_sink.h
│   ├── mesh_source.h
│   ├── mesh_triangulate_detail.h
│   ├── mesh_writer.h
│   ├── metadata.cpp
│   ├── metadata.h
│   ├── metadata_keys.cpp
│   ├── metadata_keys.h
│   ├── mime_types.cpp
│   ├── mime_types.h
│   ├── module.h
│   ├── named_array_types.h
│   ├── named_arrays.cpp
│   ├── named_arrays.h
│   ├── named_tables.cpp
│   ├── named_tables.h
│   ├── namespace_documentation.h
│   ├── network_render_farm.cpp
│   ├── network_render_farm.h
│   ├── network_render_farm_detail.h
│   ├── ngui/
│   │   ├── CMakeLists.txt
│   │   ├── angle_axis.cpp
│   │   ├── angle_axis.h
│   │   ├── application_state.cpp
│   │   ├── application_state.h
│   │   ├── application_window.cpp
│   │   ├── application_window.h
│   │   ├── asynchronous_update.cpp
│   │   ├── asynchronous_update.h
│   │   ├── auto_property_page.cpp
│   │   ├── auto_property_page.h
│   │   ├── auto_property_toolbar.cpp
│   │   ├── auto_property_toolbar.h
│   │   ├── basic_input_model.cpp
│   │   ├── basic_input_model.h
│   │   ├── basic_viewport_input_model.cpp
│   │   ├── basic_viewport_input_model.h
│   │   ├── bitmap_preview.cpp
│   │   ├── bitmap_preview.h
│   │   ├── bounding_box.cpp
│   │   ├── bounding_box.h
│   │   ├── button.cpp
│   │   ├── button.h
│   │   ├── check_button.cpp
│   │   ├── check_button.h
│   │   ├── check_menu_item.cpp
│   │   ├── check_menu_item.h
│   │   ├── collapsible_frame.cpp
│   │   ├── collapsible_frame.h
│   │   ├── color_chooser.cpp
│   │   ├── color_chooser.h
│   │   ├── combo_box.cpp
│   │   ├── combo_box.h
│   │   ├── console.cpp
│   │   ├── console.h
│   │   ├── context_menu.cpp
│   │   ├── context_menu.h
│   │   ├── custom_property_control.h
│   │   ├── custom_property_page.h
│   │   ├── document.cpp
│   │   ├── document.h
│   │   ├── document_state.cpp
│   │   ├── document_state.h
│   │   ├── document_window.cpp
│   │   ├── document_window.h
│   │   ├── entry.cpp
│   │   ├── entry.h
│   │   ├── enumeration_chooser.cpp
│   │   ├── enumeration_chooser.h
│   │   ├── event_button.h
│   │   ├── file_chooser_dialog.cpp
│   │   ├── file_chooser_dialog.h
│   │   ├── hotkey_cell_renderer_text.cpp
│   │   ├── hotkey_cell_renderer_text.h
│   │   ├── hotkey_entry.cpp
│   │   ├── hotkey_entry.h
│   │   ├── icons.cpp
│   │   ├── icons.h
│   │   ├── image_toggle_button.cpp
│   │   ├── image_toggle_button.h
│   │   ├── input_model.h
│   │   ├── interactive.cpp
│   │   ├── interactive.h
│   │   ├── keyboard.cpp
│   │   ├── keyboard.h
│   │   ├── main_document_window.cpp
│   │   ├── main_document_window.h
│   │   ├── menus.cpp
│   │   ├── menus.h
│   │   ├── merge_nodes.cpp
│   │   ├── merge_nodes.h
│   │   ├── messages.cpp
│   │   ├── messages.h
│   │   ├── modifiers.cpp
│   │   ├── modifiers.h
│   │   ├── move_tool.cpp
│   │   ├── move_tool.h
│   │   ├── navigation_input_model.cpp
│   │   ├── navigation_input_model.h
│   │   ├── node.cpp
│   │   ├── node.h
│   │   ├── node_chooser.cpp
│   │   ├── node_chooser.h
│   │   ├── node_collection_chooser.cpp
│   │   ├── node_collection_chooser.h
│   │   ├── node_window.cpp
│   │   ├── node_window.h
│   │   ├── null_viewport_input_model.cpp
│   │   ├── null_viewport_input_model.h
│   │   ├── options.cpp
│   │   ├── options.h
│   │   ├── panel.h
│   │   ├── panel_frame.cpp
│   │   ├── panel_frame.h
│   │   ├── panel_mediator.cpp
│   │   ├── panel_mediator.h
│   │   ├── path_chooser.cpp
│   │   ├── path_chooser.h
│   │   ├── pipeline.cpp
│   │   ├── pipeline.h
│   │   ├── point3.cpp
│   │   ├── point3.h
│   │   ├── property.cpp
│   │   ├── property.h
│   │   ├── property_button.cpp
│   │   ├── property_button.h
│   │   ├── property_label.cpp
│   │   ├── property_label.h
│   │   ├── property_widget.cpp
│   │   ├── property_widget.h
│   │   ├── render.cpp
│   │   ├── render.h
│   │   ├── rotate_tool.cpp
│   │   ├── rotate_tool.h
│   │   ├── safe_close_dialog.cpp
│   │   ├── safe_close_dialog.h
│   │   ├── savable_application_window.cpp
│   │   ├── savable_application_window.h
│   │   ├── savable_document_window.cpp
│   │   ├── savable_document_window.h
│   │   ├── scale_tool.cpp
│   │   ├── scale_tool.h
│   │   ├── screen_overlay.cpp
│   │   ├── screen_overlay.h
│   │   ├── script_button.cpp
│   │   ├── script_button.h
│   │   ├── scripting.cpp
│   │   ├── scripting.h
│   │   ├── selection.cpp
│   │   ├── selection.h
│   │   ├── selection_input_model.cpp
│   │   ├── selection_input_model.h
│   │   ├── selection_tool.cpp
│   │   ├── selection_tool.h
│   │   ├── spin_button.cpp
│   │   ├── spin_button.h
│   │   ├── target.cpp
│   │   ├── target.h
│   │   ├── text.cpp
│   │   ├── text.h
│   │   ├── toggle_button.cpp
│   │   ├── toggle_button.h
│   │   ├── tool.cpp
│   │   ├── tool.h
│   │   ├── tool_selection.h
│   │   ├── toolbar.cpp
│   │   ├── toolbar.h
│   │   ├── transform.cpp
│   │   ├── transform.h
│   │   ├── transform_tool.cpp
│   │   ├── transform_tool.h
│   │   ├── undo_utility.cpp
│   │   ├── undo_utility.h
│   │   ├── unknown.xpm
│   │   ├── unsaved_document.h
│   │   ├── uri.cpp
│   │   ├── uri.h
│   │   ├── utility.cpp
│   │   ├── utility.h
│   │   ├── viewport.cpp
│   │   ├── viewport.h
│   │   ├── viewport_input_model.h
│   │   ├── widget_manip.cpp
│   │   └── widget_manip.h
│   ├── node.cpp
│   ├── node.h
│   ├── node_change_signal.h
│   ├── node_name_map.cpp
│   ├── node_name_map.h
│   ├── nodes.cpp
│   ├── nodes.h
│   ├── noise.cpp
│   ├── noise.h
│   ├── normal3.h
│   ├── nurbs_curve.cpp
│   ├── nurbs_curve.h
│   ├── nurbs_patch.cpp
│   ├── nurbs_patch.h
│   ├── options.cpp
│   ├── options.h
│   ├── options_policy.h
│   ├── os_load_module.cpp
│   ├── os_load_module.h
│   ├── painter_render_state_gl.h
│   ├── painter_selection_state_gl.h
│   ├── paraboloid.cpp
│   ├── paraboloid.h
│   ├── parallel/
│   │   ├── CMakeLists.txt
│   │   ├── blocked_range.h
│   │   ├── parallel_for.h
│   │   ├── threads.cpp
│   │   └── threads.h
│   ├── parentable.h
│   ├── particle.cpp
│   ├── particle.h
│   ├── path.cpp
│   ├── path.h
│   ├── persistent_lookup.cpp
│   ├── persistent_lookup.h
│   ├── persistent_property_collection.cpp
│   ├── persistent_property_collection.h
│   ├── pipeline.cpp
│   ├── pipeline.h
│   ├── pipeline_data.h
│   ├── pipeline_profiler.cpp
│   ├── pipeline_profiler.h
│   ├── plane.cpp
│   ├── plane.h
│   ├── plugin.cpp
│   ├── plugin.h
│   ├── plugin_factory.cpp
│   ├── plugin_factory.h
│   ├── plugin_factory_collection.cpp
│   ├── plugin_factory_collection.h
│   ├── plugins_detail.h
│   ├── point2.h
│   ├── point3.h
│   ├── point4.h
│   ├── pointer_demand_storage.h
│   ├── polyhedron.cpp
│   ├── polyhedron.h
│   ├── primitive_validation.cpp
│   ├── primitive_validation.h
│   ├── property.cpp
│   ├── property.h
│   ├── property_collection.cpp
│   ├── property_collection.h
│   ├── property_group_collection.cpp
│   ├── property_group_collection.h
│   ├── property_types.h
│   ├── property_types_ri.h
│   ├── python/
│   │   ├── CMakeLists.txt
│   │   ├── angle_axis_python.cpp
│   │   ├── angle_axis_python.h
│   │   ├── any_python.cpp
│   │   ├── any_python.h
│   │   ├── atk_python.cpp
│   │   ├── atk_python.h
│   │   ├── bezier_triangle_patch_python.cpp
│   │   ├── bezier_triangle_patch_python.h
│   │   ├── bicubic_patch_python.cpp
│   │   ├── bicubic_patch_python.h
│   │   ├── bilinear_patch_python.cpp
│   │   ├── bilinear_patch_python.h
│   │   ├── bitmap_python.cpp
│   │   ├── bitmap_python.h
│   │   ├── blobby_python.cpp
│   │   ├── blobby_python.h
│   │   ├── bounding_box3_python.cpp
│   │   ├── bounding_box3_python.h
│   │   ├── color_python.cpp
│   │   ├── color_python.h
│   │   ├── cone_python.cpp
│   │   ├── cone_python.h
│   │   ├── const_bitmap_python.cpp
│   │   ├── const_bitmap_python.h
│   │   ├── const_named_arrays_python.cpp
│   │   ├── const_named_arrays_python.h
│   │   ├── const_named_tables_python.cpp
│   │   ├── const_named_tables_python.h
│   │   ├── const_table_python.cpp
│   │   ├── const_table_python.h
│   │   ├── const_typed_array_python.cpp
│   │   ├── const_typed_array_python.h
│   │   ├── cubic_curve_python.cpp
│   │   ├── cubic_curve_python.h
│   │   ├── cylinder_python.cpp
│   │   ├── cylinder_python.h
│   │   ├── difference_python.cpp
│   │   ├── difference_python.h
│   │   ├── disk_python.cpp
│   │   ├── disk_python.h
│   │   ├── euler_angles_python.cpp
│   │   ├── euler_angles_python.h
│   │   ├── euler_python.cpp
│   │   ├── euler_python.h
│   │   ├── file_signal_python.cpp
│   │   ├── file_signal_python.h
│   │   ├── filesystem_python.cpp
│   │   ├── filesystem_python.h
│   │   ├── geometry_python.cpp
│   │   ├── geometry_python.h
│   │   ├── hyperboloid_python.cpp
│   │   ├── hyperboloid_python.h
│   │   ├── idocument_exporter_python.cpp
│   │   ├── idocument_exporter_python.h
│   │   ├── idocument_importer_python.cpp
│   │   ├── idocument_importer_python.h
│   │   ├── idocument_python.cpp
│   │   ├── idocument_python.h
│   │   ├── ifile_change_notifier_python.cpp
│   │   ├── ifile_change_notifier_python.h
│   │   ├── ikeyframer_python.cpp
│   │   ├── ikeyframer_python.h
│   │   ├── imesh_storage_python.cpp
│   │   ├── imesh_storage_python.h
│   │   ├── imeta_object_python.cpp
│   │   ├── imeta_object_python.h
│   │   ├── imetadata_python.cpp
│   │   ├── imetadata_python.h
│   │   ├── inode_python.cpp
│   │   ├── inode_python.h
│   │   ├── inode_selection_python.cpp
│   │   ├── inode_selection_python.h
│   │   ├── instance_wrapper_python.h
│   │   ├── iplugin_factory_python.cpp
│   │   ├── iplugin_factory_python.h
│   │   ├── iproperty_collection_python.cpp
│   │   ├── iproperty_collection_python.h
│   │   ├── iproperty_python.cpp
│   │   ├── iproperty_python.h
│   │   ├── irender_camera_frame_python.cpp
│   │   ├── irender_camera_frame_python.h
│   │   ├── irender_camera_preview_python.cpp
│   │   ├── irender_camera_preview_python.h
│   │   ├── isnappable_python.cpp
│   │   ├── isnappable_python.h
│   │   ├── iunknown_python.cpp
│   │   ├── iunknown_python.h
│   │   ├── iuser_interface_python.cpp
│   │   ├── iuser_interface_python.h
│   │   ├── linear_curve_python.cpp
│   │   ├── linear_curve_python.h
│   │   ├── log_python.cpp
│   │   ├── log_python.h
│   │   ├── matrix4_python.cpp
│   │   ├── matrix4_python.h
│   │   ├── mesh_python.cpp
│   │   ├── mesh_python.h
│   │   ├── mime_python.cpp
│   │   ├── mime_python.h
│   │   ├── named_arrays_python.cpp
│   │   ├── named_arrays_python.h
│   │   ├── named_tables_python.cpp
│   │   ├── named_tables_python.h
│   │   ├── node_python.cpp
│   │   ├── node_python.h
│   │   ├── normal3_python.cpp
│   │   ├── normal3_python.h
│   │   ├── nurbs_curve_python.cpp
│   │   ├── nurbs_curve_python.h
│   │   ├── nurbs_patch_python.cpp
│   │   ├── nurbs_patch_python.h
│   │   ├── object_model_python.cpp
│   │   ├── object_model_python.h
│   │   ├── offscreen_context_factory_gl_python.cpp
│   │   ├── offscreen_context_factory_gl_python.h
│   │   ├── owned_instance_wrapper_python.h
│   │   ├── paraboloid_python.cpp
│   │   ├── paraboloid_python.h
│   │   ├── parallel_python.cpp
│   │   ├── parallel_python.h
│   │   ├── particle_python.cpp
│   │   ├── particle_python.h
│   │   ├── plugin_python.cpp
│   │   ├── plugin_python.h
│   │   ├── point2_python.cpp
│   │   ├── point2_python.h
│   │   ├── point3_python.cpp
│   │   ├── point3_python.h
│   │   ├── point4_python.cpp
│   │   ├── point4_python.h
│   │   ├── polyhedron_python.cpp
│   │   ├── polyhedron_python.h
│   │   ├── property_python.cpp
│   │   ├── property_python.h
│   │   ├── resource_python.cpp
│   │   ├── resource_python.h
│   │   ├── ri_python.cpp
│   │   ├── ri_python.h
│   │   ├── script_python.cpp
│   │   ├── script_python.h
│   │   ├── selection_python.cpp
│   │   ├── selection_python.h
│   │   ├── sphere_python.cpp
│   │   ├── sphere_python.h
│   │   ├── table_python.cpp
│   │   ├── table_python.h
│   │   ├── teapot_python.cpp
│   │   ├── teapot_python.h
│   │   ├── texture3_python.cpp
│   │   ├── texture3_python.h
│   │   ├── torus_python.cpp
│   │   ├── torus_python.h
│   │   ├── typed_array_python.cpp
│   │   ├── typed_array_python.h
│   │   ├── utility_python.h
│   │   ├── uuid_python.cpp
│   │   ├── uuid_python.h
│   │   ├── vector2_python.cpp
│   │   ├── vector2_python.h
│   │   ├── vector3_python.cpp
│   │   ├── vector3_python.h
│   │   ├── vector4_python.cpp
│   │   └── vector4_python.h
│   ├── qtui/
│   │   ├── CMakeLists.txt
│   │   ├── action.cpp
│   │   ├── action.h
│   │   ├── application.cpp
│   │   ├── application.h
│   │   ├── application_widget.cpp
│   │   ├── application_widget.h
│   │   ├── console.cpp
│   │   ├── console.h
│   │   ├── convert.h
│   │   ├── document.cpp
│   │   ├── document.h
│   │   ├── document_widget.cpp
│   │   ├── document_widget.h
│   │   ├── file_dialog.cpp
│   │   ├── file_dialog.h
│   │   ├── focus.cpp
│   │   ├── focus.h
│   │   ├── icon_factory.cpp
│   │   ├── icon_factory.h
│   │   ├── message.cpp
│   │   ├── message.h
│   │   ├── modal_text_editor.cpp
│   │   ├── modal_text_editor.h
│   │   ├── mode.cpp
│   │   ├── mode.h
│   │   ├── nag_message_dialog.cpp
│   │   ├── nag_message_dialog.h
│   │   ├── nag_message_dialog.ui
│   │   ├── node_list_model.cpp
│   │   ├── node_list_model.h
│   │   ├── options.cpp
│   │   ├── options.h
│   │   ├── panel.h
│   │   ├── property_widget.h
│   │   ├── property_widget_factory.cpp
│   │   ├── property_widget_factory.h
│   │   ├── script/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── color.cpp
│   │   │   ├── color.h
│   │   │   ├── console.cpp
│   │   │   ├── console.h
│   │   │   ├── engine.cpp
│   │   │   ├── engine.h
│   │   │   ├── iunknown.cpp
│   │   │   ├── iunknown.h
│   │   │   ├── log.cpp
│   │   │   ├── log.h
│   │   │   ├── matrix4.cpp
│   │   │   ├── matrix4.h
│   │   │   ├── model.cpp
│   │   │   ├── model.h
│   │   │   ├── plugin.cpp
│   │   │   └── plugin.h
│   │   ├── script.cpp
│   │   ├── script.h
│   │   ├── selection.cpp
│   │   ├── selection.h
│   │   ├── uri.cpp
│   │   └── uri.h
│   ├── rectangle.cpp
│   ├── rectangle.h
│   ├── register_application.h
│   ├── register_plugin_factories.h
│   ├── render_state_gl.h
│   ├── render_state_ri.h
│   ├── renderable_gl.h
│   ├── renderable_ri.cpp
│   ├── renderable_ri.h
│   ├── resolutions.cpp
│   ├── resolutions.h
│   ├── resource/
│   │   ├── CMakeLists.txt
│   │   ├── resource.cpp
│   │   └── resource.h
│   ├── result.h
│   ├── scalar_source.cpp
│   ├── scalar_source.h
│   ├── scripted_node.h
│   ├── scripted_plugin.h
│   ├── scripting.cpp
│   ├── scripting.h
│   ├── selectable.h
│   ├── selection.cpp
│   ├── selection.h
│   ├── selection_state_gl.h
│   ├── selection_validation.h
│   ├── serialization_xml.cpp
│   ├── serialization_xml.h
│   ├── sgi_tesselator/
│   │   ├── CMakeLists.txt
│   │   ├── README
│   │   ├── alg-outline
│   │   ├── dict-list.h
│   │   ├── dict.c
│   │   ├── dict.h
│   │   ├── geom.c
│   │   ├── geom.h
│   │   ├── gluos.h
│   │   ├── memalloc.c
│   │   ├── memalloc.h
│   │   ├── mesh.c
│   │   ├── mesh.h
│   │   ├── normal.c
│   │   ├── normal.h
│   │   ├── priorityq-heap.c
│   │   ├── priorityq-heap.h
│   │   ├── priorityq-sort.h
│   │   ├── priorityq.c
│   │   ├── render.c
│   │   ├── render.h
│   │   ├── sweep.c
│   │   ├── sweep.h
│   │   ├── tess.c
│   │   ├── tess.h
│   │   ├── tessmono.c
│   │   └── tessmono.h
│   ├── sgi_tesselator.h
│   ├── shader_cache.cpp
│   ├── shader_cache.h
│   ├── shader_cache_detail.h
│   ├── shader_collection_ri.cpp
│   ├── shader_collection_ri.h
│   ├── shader_ri.cpp
│   ├── shader_ri.h
│   ├── share.cpp
│   ├── share.h
│   ├── share_detail.h
│   ├── signal_accumulators.h
│   ├── signal_slots.h
│   ├── signal_system.h
│   ├── sl.cpp
│   ├── sl.h
│   ├── snap_source.cpp
│   ├── snap_source.h
│   ├── snap_target.cpp
│   ├── snap_target.h
│   ├── snappable.h
│   ├── snappable_detail.cpp
│   ├── snappable_detail.h
│   ├── socket.cpp
│   ├── socket.h
│   ├── sphere.cpp
│   ├── sphere.h
│   ├── state_change_set.cpp
│   ├── state_change_set.h
│   ├── stream_io_ri.cpp
│   ├── stream_io_ri.h
│   ├── stream_ri.cpp
│   ├── stream_ri.h
│   ├── string_cast.h
│   ├── string_modifiers.cpp
│   ├── string_modifiers.h
│   ├── string_source.h
│   ├── subdivision_surface/
│   │   ├── CMakeLists.txt
│   │   ├── catmull_clark.cpp
│   │   └── catmull_clark.h
│   ├── system.cpp
│   ├── system.h
│   ├── table.cpp
│   ├── table.h
│   ├── table_copier.cpp
│   ├── table_copier.h
│   ├── teapot.cpp
│   ├── teapot.h
│   ├── texture3.h
│   ├── time_sink.h
│   ├── time_source.cpp
│   ├── time_source.h
│   ├── tokens.cpp
│   ├── tokens.h
│   ├── torus.cpp
│   ├── torus.h
│   ├── transform.cpp
│   ├── transform.h
│   ├── transformable.h
│   ├── triangulator.cpp
│   ├── triangulator.h
│   ├── type_registry.cpp
│   ├── type_registry.h
│   ├── typed_array.h
│   ├── types.h
│   ├── types_ri.cpp
│   ├── types_ri.h
│   ├── uint_t_array.h
│   ├── user_interface.cpp
│   ├── user_interface.h
│   ├── user_interface_init.h
│   ├── user_property.cpp
│   ├── user_property.h
│   ├── user_property_changed_signal.cpp
│   ├── user_property_changed_signal.h
│   ├── ustring.cpp
│   ├── ustring.h
│   ├── utility.h
│   ├── utility_gl.cpp
│   ├── utility_gl.h
│   ├── uuid.cpp
│   ├── uuid.h
│   ├── value_demand_storage.h
│   ├── vector2.h
│   ├── vector3.h
│   ├── vector3_source.h
│   ├── vector4.h
│   ├── vectors.h
│   ├── virtual_document_plugin_factory.h
│   ├── watched_path_property.h
│   ├── win32.h
│   ├── xml.cpp
│   ├── xml.h
│   ├── xpath.cpp
│   └── xpath.h
├── make-module-proxy/
│   ├── CMakeLists.txt
│   └── main.cpp
├── man/
│   └── k3d.1.in
├── modules/
│   ├── 3ds_io/
│   │   ├── 3dschunknames.h
│   │   ├── CMakeLists.txt
│   │   ├── integration.cpp
│   │   ├── integration.h
│   │   ├── mesh_reader.cpp
│   │   └── module.cpp
│   ├── CMakeLists.txt
│   ├── advanced_opengl_painters/
│   │   ├── CMakeLists.txt
│   │   ├── attic/
│   │   │   ├── cached_triangulation.cpp
│   │   │   ├── cached_triangulation.h
│   │   │   ├── face_varying_painter.cpp
│   │   │   ├── hidden_line_painter.cpp
│   │   │   ├── normal_cache.cpp
│   │   │   ├── normal_cache.h
│   │   │   ├── point_normal_painter.cpp
│   │   │   ├── sds_cache.h
│   │   │   ├── sds_painter.cpp
│   │   │   ├── selection_cache.h
│   │   │   ├── textured_face_painter.cpp
│   │   │   ├── vbo.cpp
│   │   │   ├── vbo.h
│   │   │   ├── vbo_edge_painter.cpp
│   │   │   ├── vbo_face_painter.cpp
│   │   │   ├── vbo_point_painter.cpp
│   │   │   └── vbo_sds_painter.cpp
│   │   ├── module.cpp
│   │   ├── painter_cache.h
│   │   ├── sds_cache.cpp
│   │   ├── sds_cache.h
│   │   ├── sds_edge_painter.cpp
│   │   ├── sds_face_painter.cpp
│   │   ├── sds_point_painter.cpp
│   │   ├── texture_colored_selection_painter_gl.h
│   │   ├── vbo.cpp
│   │   └── vbo.h
│   ├── animation/
│   │   ├── CMakeLists.txt
│   │   ├── animation_track.cpp
│   │   ├── interpolator.cpp
│   │   ├── interpolator.h
│   │   └── module.cpp
│   ├── annotation/
│   │   ├── CMakeLists.txt
│   │   ├── annotate_normal.cpp
│   │   ├── annotation.cpp
│   │   ├── annotation_2d.cpp
│   │   ├── annotation_3d.cpp
│   │   ├── common.cpp
│   │   ├── common.h
│   │   └── module.cpp
│   ├── aqsis/
│   │   ├── CMakeLists.txt
│   │   └── engine.cpp
│   ├── array/
│   │   ├── CMakeLists.txt
│   │   ├── alternate_array_1d.cpp
│   │   ├── alternate_array_2d.cpp
│   │   ├── alternate_array_3d.cpp
│   │   ├── detail.h
│   │   ├── module.cpp
│   │   ├── rotate_array_1d.cpp
│   │   ├── rotate_array_2d.cpp
│   │   ├── rotate_array_3d.cpp
│   │   ├── translate_array_1d.cpp
│   │   ├── translate_array_2d.cpp
│   │   └── translate_array_3d.cpp
│   ├── bicubic_patch/
│   │   ├── CMakeLists.txt
│   │   ├── bicubic_to_poly.cpp
│   │   ├── module.cpp
│   │   └── newell_primitives.cpp
│   ├── bilinear_patch/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── poly_to_bilinear.cpp
│   ├── bitmap/
│   │   ├── CMakeLists.txt
│   │   ├── add.cpp
│   │   ├── checker.cpp
│   │   ├── color_monochrome.cpp
│   │   ├── gamma.cpp
│   │   ├── invert.cpp
│   │   ├── matte_colordiff.cpp
│   │   ├── matte_invert.cpp
│   │   ├── module.cpp
│   │   ├── multiply.cpp
│   │   ├── reader.cpp
│   │   ├── reference_image_2d.cpp
│   │   ├── reference_image_3d.cpp
│   │   ├── simple_modifier.h
│   │   ├── solid.cpp
│   │   ├── subtract.cpp
│   │   └── threshold.cpp
│   ├── blobby/
│   │   ├── CMakeLists.txt
│   │   ├── add.cpp
│   │   ├── detail.cpp
│   │   ├── detail.h
│   │   ├── divide.cpp
│   │   ├── edges_to_blobby.cpp
│   │   ├── ellipsoid.cpp
│   │   ├── maximum.cpp
│   │   ├── minimum.cpp
│   │   ├── module.cpp
│   │   ├── multiply.cpp
│   │   ├── negate.cpp
│   │   ├── points_to_blobby.cpp
│   │   ├── segment.cpp
│   │   └── subtract.cpp
│   ├── bundled_renderman_engines/
│   │   ├── CMakeLists.txt
│   │   ├── aqsis.cpp
│   │   └── module.cpp
│   ├── carve/
│   │   ├── CMakeLists.txt
│   │   ├── boolean.cpp
│   │   └── module.cpp
│   ├── cgal/
│   │   ├── CMakeLists.txt
│   │   ├── big_integer.h
│   │   ├── boolean.cpp
│   │   ├── cgal_simplifying_constructors.h
│   │   ├── conversion.h
│   │   ├── k3d_to_nef.h
│   │   └── module.cpp
│   ├── cloth/
│   │   ├── CMakeLists.txt
│   │   ├── cloth_solver.h
│   │   ├── d_Vec3f.h
│   │   ├── d_Vecf.h
│   │   ├── particle.h
│   │   └── simulation.cpp
│   ├── collada_io/
│   │   ├── CMakeLists.txt
│   │   ├── collada.cpp
│   │   ├── collada.h
│   │   ├── document_exporter.cpp
│   │   ├── document_importer.cpp
│   │   ├── int_elements.cpp
│   │   ├── int_elements.h
│   │   ├── integration.cpp
│   │   ├── integration.h
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── compiz/
│   │   ├── CMakeLists.txt
│   │   ├── compiz_check.cpp
│   │   └── module.cpp
│   ├── core/
│   │   ├── CMakeLists.txt
│   │   ├── axes.cpp
│   │   ├── camera.cpp
│   │   ├── module.cpp
│   │   ├── multi_material.cpp
│   │   └── null.cpp
│   ├── cuda/
│   │   ├── CMakeLists.txt
│   │   ├── FindCUDA.cmake
│   │   ├── cuda_bitmap_add.cpp
│   │   ├── cuda_bitmap_color_monochrome.cpp
│   │   ├── cuda_bitmap_gamma.cpp
│   │   ├── cuda_bitmap_invert.cpp
│   │   ├── cuda_bitmap_matte_colordiff.cpp
│   │   ├── cuda_bitmap_matte_invert.cpp
│   │   ├── cuda_bitmap_multiply.cpp
│   │   ├── cuda_bitmap_simple_modifier.h
│   │   ├── cuda_bitmap_subtract.cpp
│   │   ├── cuda_bitmap_threshold.cpp
│   │   ├── cuda_deformation_transform_points.cpp
│   │   ├── cuda_device_mesh.cpp
│   │   ├── cuda_device_mesh.h
│   │   ├── cuda_device_polyhedra.cpp
│   │   ├── cuda_device_polyhedra.h
│   │   ├── cuda_entry_points.cu
│   │   ├── cuda_entry_points.h
│   │   ├── cuda_kernels.cu
│   │   ├── cuda_mesh_cuda_to_k3d_converter.cpp
│   │   ├── cuda_mesh_k3d_to_cuda_converter.cpp
│   │   ├── cuda_mesh_poly_grid.cpp
│   │   ├── cuda_mesh_poly_grid_with_transform_points.cpp
│   │   ├── cuda_mesh_simple_deformation_modifier.cpp
│   │   ├── cuda_mesh_simple_deformation_modifier.h
│   │   ├── cuda_mesh_subdivide_edges.cpp
│   │   ├── cuda_mesh_topology_data.cpp
│   │   ├── cuda_mesh_topology_data.h
│   │   └── module.cpp
│   ├── deformation/
│   │   ├── CMakeLists.txt
│   │   ├── bend_points.cpp
│   │   ├── bulge_points.cpp
│   │   ├── center_points.cpp
│   │   ├── cylindrical_wave_points.cpp
│   │   ├── deformation_expression.cpp
│   │   ├── linear_point_noise.cpp
│   │   ├── linear_transformation_worker.h
│   │   ├── linear_wave_points.cpp
│   │   ├── mesh_modifier.h
│   │   ├── module.cpp
│   │   ├── morph_points.cpp
│   │   ├── rotate_points.cpp
│   │   ├── scale_points.cpp
│   │   ├── set_position.cpp
│   │   ├── shear_points.cpp
│   │   ├── smooth_points.cpp
│   │   ├── sphereize_points.cpp
│   │   ├── taper_points.cpp
│   │   ├── transform_points.cpp
│   │   ├── translate_points.cpp
│   │   ├── tweak_points.cpp
│   │   └── twist_points.cpp
│   ├── development/
│   │   ├── CMakeLists.txt
│   │   ├── glsl_painter.cpp
│   │   └── module.cpp
│   ├── double/
│   │   ├── CMakeLists.txt
│   │   ├── add.cpp
│   │   ├── divide.cpp
│   │   ├── double_to_string.cpp
│   │   ├── expression.cpp
│   │   ├── module.cpp
│   │   ├── modulo.cpp
│   │   ├── multiply.cpp
│   │   ├── sine.cpp
│   │   └── subtract.cpp
│   ├── euler_operations/
│   │   ├── CMakeLists.txt
│   │   ├── kill_edge_and_vertex.cpp
│   │   ├── kill_edge_make_loop.cpp
│   │   └── module.cpp
│   ├── external/
│   │   └── CMakeLists.txt
│   ├── file_magic/
│   │   ├── CMakeLists.txt
│   │   ├── mime_type_handler.cpp
│   │   └── module.cpp
│   ├── freetype2/
│   │   ├── CMakeLists.txt
│   │   ├── freetype.h
│   │   └── poly_text.cpp
│   ├── gio/
│   │   ├── CMakeLists.txt
│   │   ├── mime_type_handler.cpp
│   │   ├── module.cpp
│   │   └── uri_handler.cpp
│   ├── glx/
│   │   ├── CMakeLists.txt
│   │   ├── context_factory.cpp
│   │   └── module.cpp
│   ├── gmsh_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── gperftools/
│   │   ├── CMakeLists.txt
│   │   ├── gperftools.cpp
│   │   └── module.cpp
│   ├── graphviz/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_writer.cpp
│   │   ├── module.cpp
│   │   └── render_engine.cpp
│   ├── gts/
│   │   ├── CMakeLists.txt
│   │   ├── helpers.cpp
│   │   ├── helpers.h
│   │   ├── mesh_area.cpp
│   │   ├── mesh_volume.cpp
│   │   └── module.cpp
│   ├── gts_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_reader.cpp
│   │   └── module.cpp
│   ├── highlighting/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── rubber_band.cpp
│   ├── iges_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── imagemagick_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_importer.cpp
│   │   └── module.cpp
│   ├── indigo/
│   │   ├── CMakeLists.txt
│   │   ├── background.cpp
│   │   ├── diffuse_material.cpp
│   │   ├── light.h
│   │   ├── material.h
│   │   ├── module.cpp
│   │   ├── rectangle_light.cpp
│   │   ├── render_engine.cpp
│   │   ├── skylight.cpp
│   │   ├── spectrum.cpp
│   │   └── spectrum.h
│   ├── inotify/
│   │   ├── CMakeLists.txt
│   │   ├── file_change_notifier.cpp
│   │   ├── inotify-cxx.cpp
│   │   ├── inotify-cxx.h
│   │   └── module.cpp
│   ├── jpeg_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_importer.cpp
│   │   ├── bitmap_reader.cpp
│   │   ├── bitmap_writer.cpp
│   │   └── module.cpp
│   ├── k3d_io/
│   │   ├── CMakeLists.txt
│   │   ├── document_exporter.cpp
│   │   ├── document_importer.cpp
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── linear_curve/
│   │   ├── CMakeLists.txt
│   │   ├── knot_curve.cpp
│   │   ├── lissajous_curve.cpp
│   │   └── module.cpp
│   ├── lipsync/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── papagayo_lipsync_reader.cpp
│   ├── lsystem/
│   │   ├── CMakeLists.txt
│   │   └── l_parser.cpp
│   ├── luxrender/
│   │   ├── CMakeLists.txt
│   │   ├── bilinear_interpolation_texture.cpp
│   │   ├── carpaint_material.cpp
│   │   ├── color_texture.h
│   │   ├── color_texture_reference.cpp
│   │   ├── color_texture_reference.h
│   │   ├── distant_light.cpp
│   │   ├── environment_light.cpp
│   │   ├── glass_material.cpp
│   │   ├── glossy_material.cpp
│   │   ├── goniometric_light.cpp
│   │   ├── image_texture.cpp
│   │   ├── light.cpp
│   │   ├── light.h
│   │   ├── material.cpp
│   │   ├── material.h
│   │   ├── matte_material.cpp
│   │   ├── matte_translucent_material.cpp
│   │   ├── metal_material.cpp
│   │   ├── mirror_material.cpp
│   │   ├── mix_material.cpp
│   │   ├── module.cpp
│   │   ├── null_material.cpp
│   │   ├── point_light.cpp
│   │   ├── render_engine.cpp
│   │   ├── rough_glass_material.cpp
│   │   ├── scalar_image_texture.cpp
│   │   ├── scalar_texture.h
│   │   ├── scalar_texture_reference.cpp
│   │   ├── scalar_texture_reference.h
│   │   ├── shiny_metal_material.cpp
│   │   ├── sky_light.cpp
│   │   ├── sun_light.cpp
│   │   ├── texture.cpp
│   │   ├── texture.h
│   │   ├── texture2.cpp
│   │   ├── texture2.h
│   │   ├── utility.cpp
│   │   └── utility.h
│   ├── matrix/
│   │   ├── CMakeLists.txt
│   │   ├── frozen_matrix.cpp
│   │   ├── inverse.cpp
│   │   ├── look.cpp
│   │   ├── module.cpp
│   │   ├── orientation.cpp
│   │   ├── position.cpp
│   │   ├── scale.cpp
│   │   ├── snap.cpp
│   │   ├── snap_test.py
│   │   └── view.cpp
│   ├── md2_io/
│   │   ├── CMakeLists.txt
│   │   ├── md2.cpp
│   │   ├── md2.h
│   │   ├── mesh_reader.cpp
│   │   └── module.cpp
│   ├── mesh/
│   │   ├── CMakeLists.txt
│   │   ├── array_1d.cpp
│   │   ├── array_2d.cpp
│   │   ├── array_3d.cpp
│   │   ├── merge_mesh.cpp
│   │   ├── module.cpp
│   │   ├── points_centroid.cpp
│   │   └── weld_points.cpp
│   ├── mesh_attributes/
│   │   ├── CMakeLists.txt
│   │   ├── calculate_normals.cpp
│   │   ├── module.cpp
│   │   ├── named_text_array.cpp
│   │   ├── set_color.cpp
│   │   └── set_material.cpp
│   ├── mesh_instance/
│   │   ├── CMakeLists.txt
│   │   ├── frozen_mesh.cpp
│   │   ├── mesh_instance.cpp
│   │   └── module.cpp
│   ├── ngui/
│   │   ├── CMakeLists.txt
│   │   ├── file_notification.cpp
│   │   ├── file_notification.h
│   │   ├── splash_box.cpp
│   │   ├── splash_box.h
│   │   └── user_interface.cpp
│   ├── ngui_about/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_animation_timeline_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_assign_hotkeys/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_atk_event_recorder/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_knot_vector_control/
│   │   ├── CMakeLists.txt
│   │   └── control.cpp
│   ├── ngui_learning/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_log/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_material_manager_panel/
│   │   ├── CMakeLists.txt
│   │   ├── ContentPanel.cpp
│   │   ├── ContentPanel.h
│   │   ├── DocumentUtilities.cpp
│   │   ├── DocumentUtilities.h
│   │   ├── GroupContentPanel.cpp
│   │   ├── GroupContentPanel.h
│   │   ├── MaterialContentPanel.cpp
│   │   ├── MaterialContentPanel.h
│   │   ├── MaterialGroup.cpp
│   │   ├── MaterialGroup.h
│   │   ├── MaterialObj.cpp
│   │   ├── MaterialObj.h
│   │   ├── PreviewCube.cpp
│   │   ├── PreviewCube.h
│   │   ├── PreviewObj.cpp
│   │   ├── PreviewObj.h
│   │   ├── PreviewSphere.cpp
│   │   ├── PreviewSphere.h
│   │   ├── PreviewTorus.cpp
│   │   ├── PreviewTorus.h
│   │   ├── RenderedImage.cpp
│   │   ├── RenderedImage.h
│   │   └── panel.cpp
│   ├── ngui_mesh_control/
│   │   ├── CMakeLists.txt
│   │   └── control.cpp
│   ├── ngui_morph_points_page/
│   │   ├── CMakeLists.txt
│   │   └── page.cpp
│   ├── ngui_node_list_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_node_properties_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_opengl_dialog/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_parent_tool/
│   │   ├── CMakeLists.txt
│   │   └── tool.cpp
│   ├── ngui_pipeline_panel/
│   │   ├── CMakeLists.txt
│   │   ├── document_to_graph.cpp
│   │   ├── document_to_graph.h
│   │   ├── edge_indices.cpp
│   │   ├── edge_indices.h
│   │   ├── extract_tree.cpp
│   │   ├── extract_tree.h
│   │   ├── graph_modifier.h
│   │   ├── graph_source.h
│   │   ├── panel.cpp
│   │   ├── tree_layout.cpp
│   │   └── tree_layout.h
│   ├── ngui_pipeline_profiler_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_python_shell/
│   │   ├── CMakeLists.txt
│   │   ├── completion.py
│   │   └── dialog.cpp
│   ├── ngui_rectangle_control/
│   │   ├── CMakeLists.txt
│   │   └── control.cpp
│   ├── ngui_render_region_tool/
│   │   ├── CMakeLists.txt
│   │   └── tool.cpp
│   ├── ngui_selection_control/
│   │   ├── CMakeLists.txt
│   │   └── control.cpp
│   ├── ngui_snap_tool/
│   │   ├── CMakeLists.txt
│   │   ├── snap_tool_detail.cpp
│   │   ├── snap_tool_detail.h
│   │   └── tool.cpp
│   ├── ngui_space_navigator/
│   │   ├── CMakeLists.txt
│   │   └── dialog.cpp
│   ├── ngui_text_editor/
│   │   ├── CMakeLists.txt
│   │   ├── config.h.in
│   │   └── dialog.cpp
│   ├── ngui_timeline_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_tool_properties_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_toolbar_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_undo_tree_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── ngui_uv_editor_panel/
│   │   ├── CMakeLists.txt
│   │   └── panel.cpp
│   ├── nui/
│   │   ├── CMakeLists.txt
│   │   └── user_interface.cpp
│   ├── nurbs/
│   │   ├── CMakeLists.txt
│   │   ├── add_trim_curve.cpp
│   │   ├── close_curve.cpp
│   │   ├── connect_curves.cpp
│   │   ├── create_cap.cpp
│   │   ├── curve_degree_elevation.cpp
│   │   ├── curve_traversal.cpp
│   │   ├── edit_knot_vector.cpp
│   │   ├── extract_curve_point.cpp
│   │   ├── extract_patch_curve.cpp
│   │   ├── extract_trim_curves.cpp
│   │   ├── extrude_curve.cpp
│   │   ├── extrude_patch.cpp
│   │   ├── flip_curve.cpp
│   │   ├── insert_knot.cpp
│   │   ├── merge_connected_curves.cpp
│   │   ├── merge_curve_knot_vectors.cpp
│   │   ├── module.cpp
│   │   ├── nurbs_curves.cpp
│   │   ├── nurbs_curves.h
│   │   ├── nurbs_patches.cpp
│   │   ├── nurbs_patches.h
│   │   ├── patch_degree_elevation.cpp
│   │   ├── patch_insert_knot.cpp
│   │   ├── polygonize_curve.cpp
│   │   ├── polygonize_patch.cpp
│   │   ├── revolve_curve.cpp
│   │   ├── ruled_surface.cpp
│   │   ├── set_weight.cpp
│   │   ├── skinned_surface.cpp
│   │   ├── split_curve.cpp
│   │   ├── split_patch.cpp
│   │   ├── sweep_surface.cpp
│   │   ├── utility.cpp
│   │   └── utility.h
│   ├── nurbs_sources/
│   │   ├── CMakeLists.txt
│   │   ├── circle.cpp
│   │   ├── cone.cpp
│   │   ├── curve.cpp
│   │   ├── cylinder.cpp
│   │   ├── disk.cpp
│   │   ├── grid.cpp
│   │   ├── hyperboloid.cpp
│   │   ├── module.cpp
│   │   ├── paraboloid.cpp
│   │   ├── polygon.cpp
│   │   ├── sphere.cpp
│   │   └── torus.cpp
│   ├── obj_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   ├── module.cpp
│   │   ├── obj_parser.cpp
│   │   ├── obj_parser.h
│   │   └── obj_specification.txt
│   ├── ode/
│   │   ├── CMakeLists.txt
│   │   ├── isimulation.h
│   │   ├── module.cpp
│   │   ├── node.cpp
│   │   └── simulation.cpp
│   ├── ogre_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── openexr_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_importer.cpp
│   │   └── module.cpp
│   ├── opengl/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   ├── render_engine.cpp
│   │   └── version_check.cpp
│   ├── osmesa/
│   │   ├── CMakeLists.txt
│   │   ├── context_factory.cpp
│   │   └── module.cpp
│   ├── osx/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── uri_handler.cpp
│   ├── particle/
│   │   ├── CMakeLists.txt
│   │   ├── make_particles.cpp
│   │   └── module.cpp
│   ├── pdiff/
│   │   ├── CMakeLists.txt
│   │   ├── CompareArgs.cpp
│   │   ├── CompareArgs.h
│   │   ├── LPyramid.cpp
│   │   ├── LPyramid.h
│   │   ├── Metric.cpp
│   │   ├── Metric.h
│   │   ├── README.txt
│   │   ├── RGBAImage.cpp
│   │   ├── RGBAImage.h
│   │   ├── gpl.txt
│   │   ├── module.cpp
│   │   └── perceptual_difference.cpp
│   ├── pixie/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── raytrace_map.cpp
│   ├── plot/
│   │   ├── CMakeLists.txt
│   │   ├── least_squares_plot.cpp
│   │   ├── module.cpp
│   │   └── surface_plot.cpp
│   ├── ply_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── png_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_importer.cpp
│   │   ├── bitmap_reader.cpp
│   │   ├── bitmap_writer.cpp
│   │   └── module.cpp
│   ├── polyhedron/
│   │   ├── CMakeLists.txt
│   │   ├── bevel_faces.cpp
│   │   ├── bevel_points.cpp
│   │   ├── bridge_edges.cpp
│   │   ├── bridge_faces.cpp
│   │   ├── cap_holes.cpp
│   │   ├── collapse_edges.cpp
│   │   ├── collapse_faces.cpp
│   │   ├── collapse_points.cpp
│   │   ├── connect_vertices.cpp
│   │   ├── delete_components.cpp
│   │   ├── dissolve_faces.cpp
│   │   ├── extrude_faces.cpp
│   │   ├── fillet_edges.cpp
│   │   ├── flip_orientation.cpp
│   │   ├── make_hole.cpp
│   │   ├── make_sds.cpp
│   │   ├── merge_collinear_edges.cpp
│   │   ├── merge_coplanar_faces.cpp
│   │   ├── merge_polyhedra.cpp
│   │   ├── module.cpp
│   │   ├── move_first_edge.cpp
│   │   ├── reshape_face_to_circle.cpp
│   │   ├── sds_corner.cpp
│   │   ├── sds_crease.cpp
│   │   ├── sds_hole.cpp
│   │   ├── selected_faces_to_polyhedron.cpp
│   │   ├── subdivide_edges.cpp
│   │   ├── subdivide_faces.cpp
│   │   └── triangulate_faces.cpp
│   ├── polyhedron_sources/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   ├── poly_cone.cpp
│   │   ├── poly_cube.cpp
│   │   ├── poly_cushion.cpp
│   │   ├── poly_cylinder.cpp
│   │   ├── poly_disk.cpp
│   │   ├── poly_grid.cpp
│   │   ├── poly_icosahedron.cpp
│   │   ├── poly_sphere.cpp
│   │   └── poly_torus.cpp
│   ├── python/
│   │   ├── CMakeLists.txt
│   │   └── engine.cpp
│   ├── pyui/
│   │   ├── CMakeLists.txt
│   │   └── user_interface.cpp
│   ├── qslim/
│   │   ├── CMakeLists.txt
│   │   ├── MxBlockModel.cpp
│   │   ├── MxBlockModel.h
│   │   ├── MxHeap.cpp
│   │   ├── MxHeap.h
│   │   ├── MxMath.cpp
│   │   ├── MxMath.h
│   │   ├── MxMesh.h
│   │   ├── MxQMetric3.cpp
│   │   ├── MxQMetric3.h
│   │   ├── MxQSlim.cpp
│   │   ├── MxQSlim.h
│   │   ├── MxStdModel.cpp
│   │   ├── MxStdModel.h
│   │   ├── MxStdSlim.cpp
│   │   ├── MxStdSlim.h
│   │   ├── MxTriangle.cpp
│   │   ├── MxTriangle.h
│   │   └── qslim.cpp
│   ├── qtui/
│   │   ├── CMakeLists.txt
│   │   ├── config.h.in
│   │   ├── extrude_faces.ui
│   │   ├── main_window.cpp
│   │   ├── main_window.h
│   │   ├── main_window.ui
│   │   ├── scene.cpp
│   │   ├── scene.h
│   │   ├── stylesheet.css
│   │   ├── user_interface.cpp
│   │   ├── user_interface.h
│   │   ├── user_interface.qrc
│   │   ├── viewport.cpp
│   │   └── viewport.h
│   ├── qtui_about_dialog/
│   │   ├── CMakeLists.txt
│   │   ├── dialog.cpp
│   │   ├── dialog.qrc
│   │   └── dialog.ui
│   ├── qtui_aqsis/
│   │   ├── CMakeLists.txt
│   │   ├── dialog.cpp
│   │   ├── dialog.h
│   │   ├── dialog.ui
│   │   ├── thread.cpp
│   │   └── thread.h
│   ├── qtui_aqsis_mode/
│   │   ├── CMakeLists.txt
│   │   ├── mode.cpp
│   │   ├── mode.h
│   │   ├── thread.cpp
│   │   └── thread.h
│   ├── qtui_boolean/
│   │   ├── CMakeLists.txt
│   │   ├── widget.cpp
│   │   └── widget.h
│   ├── qtui_color/
│   │   ├── CMakeLists.txt
│   │   ├── widget.cpp
│   │   └── widget.h
│   ├── qtui_default_mode/
│   │   ├── CMakeLists.txt
│   │   └── mode.cpp
│   ├── qtui_javascript_shell/
│   │   ├── CMakeLists.txt
│   │   ├── shell.cpp
│   │   ├── shell.h
│   │   └── shell.ui
│   ├── qtui_log/
│   │   ├── CMakeLists.txt
│   │   ├── window.cpp
│   │   ├── window.h
│   │   └── window.ui
│   ├── qtui_matrix/
│   │   ├── CMakeLists.txt
│   │   ├── dialog.cpp
│   │   ├── dialog.h
│   │   ├── dialog.ui
│   │   ├── widget.cpp
│   │   ├── widget.h
│   │   └── widget.ui
│   ├── qtui_move_mode/
│   │   ├── CMakeLists.txt
│   │   ├── mode.cpp
│   │   ├── mode.h
│   │   ├── module.cpp
│   │   ├── move_manipulators.cpp
│   │   └── move_manipulators.h
│   ├── qtui_node_list/
│   │   ├── CMakeLists.txt
│   │   ├── panel.cpp
│   │   ├── panel.h
│   │   └── panel.ui
│   ├── qtui_node_properties/
│   │   ├── CMakeLists.txt
│   │   ├── panel.cpp
│   │   ├── panel.h
│   │   └── panel.ui
│   ├── qtui_opengl/
│   │   ├── CMakeLists.txt
│   │   ├── window.cpp
│   │   ├── window.h
│   │   └── window.ui
│   ├── qtui_path/
│   │   ├── CMakeLists.txt
│   │   ├── widget.cpp
│   │   ├── widget.h
│   │   └── widget.ui
│   ├── qtui_programmable_mode/
│   │   ├── CMakeLists.txt
│   │   ├── default_script.js
│   │   ├── mode.cpp
│   │   └── mode.h
│   ├── qtui_string/
│   │   ├── CMakeLists.txt
│   │   ├── widget.cpp
│   │   └── widget.h
│   ├── qtui_text_editor/
│   │   ├── CMakeLists.txt
│   │   ├── window.cpp
│   │   ├── window.h
│   │   └── window.ui
│   ├── quadrics/
│   │   ├── CMakeLists.txt
│   │   ├── cone.cpp
│   │   ├── cylinder.cpp
│   │   ├── detail.h
│   │   ├── disk.cpp
│   │   ├── hyperboloid.cpp
│   │   ├── logo.cpp
│   │   ├── module.cpp
│   │   ├── paraboloid.cpp
│   │   ├── sphere.cpp
│   │   ├── teapot.cpp
│   │   └── torus.cpp
│   ├── reference_opengl_painters/
│   │   ├── CMakeLists.txt
│   │   ├── bezier_triangle_patch_painter.cpp
│   │   ├── bicubic_patch_painter.cpp
│   │   ├── bilinear_patch_painter.cpp
│   │   ├── blobby_point_painter.cpp
│   │   ├── color_face_painter.cpp
│   │   ├── colored_selection_painter_gl.h
│   │   ├── cone_painter.cpp
│   │   ├── cubic_curve_painter.cpp
│   │   ├── cylinder_painter.cpp
│   │   ├── disk_painter.cpp
│   │   ├── edge_numbering_painter.cpp
│   │   ├── edge_painter.cpp
│   │   ├── face_normal_painter.cpp
│   │   ├── face_numbering_painter.cpp
│   │   ├── face_orientation_painter.cpp
│   │   ├── face_painter.cpp
│   │   ├── half_edge_painter.cpp
│   │   ├── hyperboloid_painter.cpp
│   │   ├── linear_curve_painter.cpp
│   │   ├── module.cpp
│   │   ├── multi_painter.cpp
│   │   ├── normal_array_painter.cpp
│   │   ├── nurbs_curve_numbering_painter.cpp
│   │   ├── nurbs_curve_painter.cpp
│   │   ├── nurbs_patch_numbering_painter.cpp
│   │   ├── nurbs_patch_painter.cpp
│   │   ├── paraboloid_painter.cpp
│   │   ├── point_numbering_painter.cpp
│   │   ├── point_painter.cpp
│   │   ├── sphere_painter.cpp
│   │   ├── teapot_painter.cpp
│   │   ├── torus_painter.cpp
│   │   ├── utility.cpp
│   │   ├── utility.h
│   │   ├── varying_data_painter.cpp
│   │   └── vertex_data_painter.cpp
│   ├── release/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   └── welcome.cpp
│   ├── renderman/
│   │   ├── CMakeLists.txt
│   │   ├── area_light.cpp
│   │   ├── array_1d.cpp
│   │   ├── array_2d.cpp
│   │   ├── array_3d.cpp
│   │   ├── background_plane.cpp
│   │   ├── csg_operator.cpp
│   │   ├── csg_solid.cpp
│   │   ├── delayed_read_archive.cpp
│   │   ├── direct_texture_map.cpp
│   │   ├── lat_long_environment_map.cpp
│   │   ├── light.cpp
│   │   ├── material.cpp
│   │   ├── module.cpp
│   │   ├── read_archive.cpp
│   │   ├── render_engine.cpp
│   │   ├── renderman_script.cpp
│   │   ├── shaders.cpp
│   │   ├── shadow_map.cpp
│   │   └── texture_map.cpp
│   ├── renderman_engines/
│   │   ├── CMakeLists.txt
│   │   ├── air.cpp
│   │   ├── aqsis.cpp
│   │   ├── bmrt.cpp
│   │   ├── delight.cpp
│   │   ├── module.cpp
│   │   ├── netprman.cpp
│   │   ├── pixie.cpp
│   │   ├── povman.cpp
│   │   ├── prman.cpp
│   │   └── rdc.cpp
│   ├── renderman_painters/
│   │   ├── CMakeLists.txt
│   │   ├── array_helpers.cpp
│   │   ├── array_helpers.h
│   │   ├── bicubic_patch_painter.cpp
│   │   ├── bilinear_patch_painter.cpp
│   │   ├── blobby_painter.cpp
│   │   ├── cone_painter.cpp
│   │   ├── cubic_curve_painter.cpp
│   │   ├── cylinder_painter.cpp
│   │   ├── disk_painter.cpp
│   │   ├── hyperboloid_painter.cpp
│   │   ├── linear_curve_painter.cpp
│   │   ├── module.cpp
│   │   ├── multi_painter.cpp
│   │   ├── nurbs_patch_painter.cpp
│   │   ├── paraboloid_painter.cpp
│   │   ├── particle_painter.cpp
│   │   ├── polyhedron_painter.cpp
│   │   ├── scripted_painter.cpp
│   │   ├── sphere_painter.cpp
│   │   ├── subdivision_surface_painter.cpp
│   │   ├── teapot_painter.cpp
│   │   └── torus_painter.cpp
│   ├── scripted_plugins/
│   │   ├── CMakeLists.txt
│   │   └── module.cpp
│   ├── scripting/
│   │   ├── CMakeLists.txt
│   │   ├── action_script.cpp
│   │   ├── action_script.py
│   │   ├── bitmap_modifier_script.cpp
│   │   ├── bitmap_modifier_script.py
│   │   ├── bitmap_source_script.cpp
│   │   ├── bitmap_source_script.py
│   │   ├── color_source_script.cpp
│   │   ├── color_source_script.py
│   │   ├── double_source_script.cpp
│   │   ├── double_source_script.py
│   │   ├── int32_source_script.cpp
│   │   ├── int32_source_script.py
│   │   ├── matrix_modifier_script.cpp
│   │   ├── matrix_modifier_script.py
│   │   ├── matrix_source_script.cpp
│   │   ├── matrix_source_script.py
│   │   ├── mesh_modifier_script.cpp
│   │   ├── mesh_modifier_script.py
│   │   ├── mesh_source_script.cpp
│   │   ├── mesh_source_script.py
│   │   ├── meta_object_script.cpp
│   │   ├── meta_object_script.py
│   │   ├── module.cpp
│   │   ├── null_output_script.cpp
│   │   ├── null_output_script.py
│   │   ├── opengl_painter_script.cpp
│   │   ├── opengl_painter_script.py
│   │   ├── opengl_renderable_script.cpp
│   │   ├── opengl_renderable_script.py
│   │   ├── render_engine_script.cpp
│   │   ├── render_engine_script.py
│   │   ├── string_source_script.cpp
│   │   ├── string_source_script.py
│   │   ├── vector3_source_script.cpp
│   │   └── vector3_source_script.py
│   ├── selection/
│   │   ├── CMakeLists.txt
│   │   ├── face_to_point_selections.cpp
│   │   ├── grow_selection.cpp
│   │   ├── make_curve_selection.cpp
│   │   ├── make_edge_selection.cpp
│   │   ├── make_face_selection.cpp
│   │   ├── make_patch_selection.cpp
│   │   ├── make_point_selection.cpp
│   │   ├── mesh_selection.cpp
│   │   ├── module.cpp
│   │   ├── node_selection.cpp
│   │   ├── select_bicubic_patch_by_number.cpp
│   │   ├── select_bilinear_patch_by_number.cpp
│   │   ├── select_boundary_edges.cpp
│   │   ├── select_clockwise.cpp
│   │   ├── select_companion.cpp
│   │   ├── select_connected_components.cpp
│   │   ├── select_cube.cpp
│   │   ├── select_cubic_curve_by_number.cpp
│   │   ├── select_degenerate_faces.cpp
│   │   ├── select_edge_by_number.cpp
│   │   ├── select_edgeloops.cpp
│   │   ├── select_edgerings.cpp
│   │   ├── select_face_by_number.cpp
│   │   ├── select_linear_curve_by_number.cpp
│   │   ├── select_n_sided.cpp
│   │   ├── select_nurbs_curve_by_number.cpp
│   │   ├── select_nurbs_patch_by_number.cpp
│   │   ├── select_point_by_number.cpp
│   │   └── select_points_above_number.cpp
│   ├── solar/
│   │   ├── CMakeLists.txt
│   │   ├── module.cpp
│   │   ├── position.cpp
│   │   └── solpos/
│   │       ├── CMakeLists.txt
│   │       ├── aboutsolpos.html
│   │       ├── solpos.cpp
│   │       └── solpos.h
│   ├── stl_io/
│   │   ├── CMakeLists.txt
│   │   ├── binary_stl.h
│   │   ├── mesh_reader.cpp
│   │   ├── mesh_writer.cpp
│   │   └── module.cpp
│   ├── subdivision_surface/
│   │   ├── CMakeLists.txt
│   │   ├── catmull_clark_subdivider.cpp
│   │   └── module.cpp
│   ├── svg_io/
│   │   ├── CMakeLists.txt
│   │   ├── mesh_reader.cpp
│   │   └── module.cpp
│   ├── test/
│   │   ├── CMakeLists.txt
│   │   ├── add_color_attribute.cpp
│   │   ├── add_color_attributes.cpp
│   │   ├── add_index_attributes.cpp
│   │   ├── add_point_attributes.cpp
│   │   ├── mesh_to_stdout.cpp
│   │   ├── module.cpp
│   │   ├── pipeline_profiler.cpp
│   │   ├── selection_to_stdout.cpp
│   │   ├── string_to_stdout.cpp
│   │   └── valid_meshes.cpp
│   ├── tiff_io/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap_exporter.cpp
│   │   ├── bitmap_importer.cpp
│   │   ├── bitmap_reader.cpp
│   │   ├── bitmap_writer.cpp
│   │   └── module.cpp
│   ├── time/
│   │   ├── CMakeLists.txt
│   │   ├── manual_time_source.cpp
│   │   ├── module.cpp
│   │   ├── real_time_source.cpp
│   │   ├── time_source.cpp
│   │   └── time_to_string.cpp
│   ├── uniform_polyhedron/
│   │   ├── CMakeLists.txt
│   │   ├── data/
│   │   │   ├── augmented_dodecahedron.xml
│   │   │   ├── augmented_hexagonal_prism.xml
│   │   │   ├── augmented_pentagonal_prism.xml
│   │   │   ├── augmented_sphenocorona.xml
│   │   │   ├── augmented_triangular_prism.xml
│   │   │   ├── augmented_tridiminished_icosahedron.xml
│   │   │   ├── augmented_truncated_cube.xml
│   │   │   ├── augmented_truncated_dodecahedron.xml
│   │   │   ├── augmented_truncated_tetrahedron.xml
│   │   │   ├── biaugmented_pentagonal_prism.xml
│   │   │   ├── biaugmented_triangular_prism.xml
│   │   │   ├── biaugmented_truncated_cube.xml
│   │   │   ├── bigyrate_diminished_rhombicosidodecahedron.xml
│   │   │   ├── bilunabirotunda.xml
│   │   │   ├── cube.xml
│   │   │   ├── decagonal_antiprism.xml
│   │   │   ├── decagonal_prism.xml
│   │   │   ├── diminished_rhombicosidodecahedron.xml
│   │   │   ├── disphenocingulum.xml
│   │   │   ├── dodecadodecahedron.xml
│   │   │   ├── dodecahedron.xml
│   │   │   ├── echidnahedron.xml
│   │   │   ├── elongated_pentagonal_cupola.xml
│   │   │   ├── elongated_pentagonal_dipyramid.xml
│   │   │   ├── elongated_pentagonal_gyrobicupola.xml
│   │   │   ├── elongated_pentagonal_gyrobirotunda.xml
│   │   │   ├── elongated_pentagonal_gyrocupolarotunda.xml
│   │   │   ├── elongated_pentagonal_orthobicupola.xml
│   │   │   ├── elongated_pentagonal_orthobirotunda.xml
│   │   │   ├── elongated_pentagonal_orthocupolarotunda.xml
│   │   │   ├── elongated_pentagonal_pyramid.xml
│   │   │   ├── elongated_pentagonal_rotunds.xml
│   │   │   ├── elongated_square_cupola.xml
│   │   │   ├── elongated_square_dipyramid.xml
│   │   │   ├── elongated_square_gyrobicupola.xml
│   │   │   ├── elongated_square_pyramid.xml
│   │   │   ├── elongated_triangular_cupola.xml
│   │   │   ├── elongated_triangular_dipyramid.xml
│   │   │   ├── elongated_triangular_gyrobicupola.xml
│   │   │   ├── elongated_triangular_orthobicupola.xml
│   │   │   ├── elongated_triangular_pyramid.xml
│   │   │   ├── great_dodecahedron.xml
│   │   │   ├── great_icosahedron.xml
│   │   │   ├── great_stellated_dodecahedron.xml
│   │   │   ├── gyrate_bidiminished_rhombicosidodecahedron.xml
│   │   │   ├── gyrate_rhombicosidodecahedron.xml
│   │   │   ├── gyrobifastigium.xml
│   │   │   ├── gyroelongated_pentagonal_bicupola.xml
│   │   │   ├── gyroelongated_pentagonal_birotunda.xml
│   │   │   ├── gyroelongated_pentagonal_cupola.xml
│   │   │   ├── gyroelongated_pentagonal_cupolarotunda.xml
│   │   │   ├── gyroelongated_pentagonal_pyramid.xml
│   │   │   ├── gyroelongated_pentagonal_rotunda.xml
│   │   │   ├── gyroelongated_square_bicupola.xml
│   │   │   ├── gyroelongated_square_cupola.xml
│   │   │   ├── gyroelongated_square_dipyramid.xml
│   │   │   ├── gyroelongated_square_pyramid.xml
│   │   │   ├── gyroelongated_triangular_bicupola.xml
│   │   │   ├── gyroelongated_triangular_cupola.xml
│   │   │   ├── hebesphenomegacorona.xml
│   │   │   ├── hexagonal_antiprism.xml
│   │   │   ├── hexagonal_prism.xml
│   │   │   ├── hexakis_icosahedron.xml
│   │   │   ├── hexakis_octahedron.xml
│   │   │   ├── icosahedron.xml
│   │   │   ├── metabiaugmented_dodecahedron.xml
│   │   │   ├── metabiaugmented_hexagonal_prism.xml
│   │   │   ├── metabiaugmented_truncated_dodecahedron.xml
│   │   │   ├── metabidiminished_icosahedron.xml
│   │   │   ├── metabidiminished_rhombicosidodecahedron.xml
│   │   │   ├── metabigyrate_rhombicosidodecahedron.xml
│   │   │   ├── metagyrate_diminished_rhombicosidodecahedron.xml
│   │   │   ├── octagonal_antiprism.xml
│   │   │   ├── octagonal_prism.xml
│   │   │   ├── octahedron.xml
│   │   │   ├── octahemioctahedron.xml
│   │   │   ├── parabiaugmented_dodecahedron.xml
│   │   │   ├── parabiaugmented_hexagonal_prism.xml
│   │   │   ├── parabiaugmented_truncated_dodecahedron.xml
│   │   │   ├── parabidiminished_rhombicosidodecahedron.xml
│   │   │   ├── parabigyrate_rhombicosidodecahedron.xml
│   │   │   ├── paragyrate_diminished_rhombicosidodecahedron.xml
│   │   │   ├── pentagonal_antiprism.xml
│   │   │   ├── pentagonal_cupola.xml
│   │   │   ├── pentagonal_dipyramid.xml
│   │   │   ├── pentagonal_gyrobicupola.xml
│   │   │   ├── pentagonal_gyrocupolarotunda.xml
│   │   │   ├── pentagonal_hexecontahedron.xml
│   │   │   ├── pentagonal_icositetrahedron.xml
│   │   │   ├── pentagonal_orthobicupola.xml
│   │   │   ├── pentagonal_orthobirotunda.xml
│   │   │   ├── pentagonal_orthocupolarontunda.xml
│   │   │   ├── pentagonal_prism.xml
│   │   │   ├── pentagonal_pyramid.xml
│   │   │   ├── pentagonal_rotunda.xml
│   │   │   ├── pentakis_dodecahedron.xml
│   │   │   ├── polyhedra.txt
│   │   │   ├── rhombic_dodecahedron.xml
│   │   │   ├── rhombic_triacontahedron.xml
│   │   │   ├── small_ditrigonal_icosidodecahedron.xml
│   │   │   ├── small_stellated_dodecahedron.xml
│   │   │   ├── snub_disphenoid.xml
│   │   │   ├── snub_square_antiprism.xml
│   │   │   ├── sphenocorona.xml
│   │   │   ├── sphenomegacorona.xml
│   │   │   ├── square_antiprism.xml
│   │   │   ├── square_cupola.xml
│   │   │   ├── square_gyrobicupola.xml
│   │   │   ├── square_orthobicupola.xml
│   │   │   ├── square_pyramid.xml
│   │   │   ├── tetrahedron.xml
│   │   │   ├── tetrahemihexahedron.xml
│   │   │   ├── tetrakis_hexahedron.xml
│   │   │   ├── trapezoidal_hexecontahedron.xml
│   │   │   ├── trapezoidal_icositetrahedron.xml
│   │   │   ├── triakis_icosahedron.xml
│   │   │   ├── triakis_octahedron.xml
│   │   │   ├── triangular_cupola.xml
│   │   │   ├── triangular_dipyramid.xml
│   │   │   ├── triangular_hebesphenorotunda.xml
│   │   │   ├── triangular_orthobicupola.xml
│   │   │   ├── triangular_prism.xml
│   │   │   ├── triaugmented_dodecahedron.xml
│   │   │   ├── triaugmented_hexagonal_prism.xml
│   │   │   ├── triaugmented_triangular_prism.xml
│   │   │   ├── triaugmented_truncated_dodecahedron.xml
│   │   │   ├── tridiminished_icosahedron.xml
│   │   │   ├── tridiminished_rhombicosidodecahedron.xml
│   │   │   ├── trigyrate_rhombicosidodecahedron.xml
│   │   │   └── vacuum.py
│   │   ├── module.cpp
│   │   └── uniform_polyhedron.cpp
│   ├── virtual_offscreen/
│   │   ├── CMakeLists.txt
│   │   ├── camera_to_bitmap.cpp
│   │   └── module.cpp
│   ├── virtual_opengl_painters/
│   │   ├── CMakeLists.txt
│   │   ├── edge_painter.cpp
│   │   ├── face_painter.cpp
│   │   ├── module.cpp
│   │   ├── point_painter.cpp
│   │   ├── sds_edge_painter.cpp
│   │   ├── sds_face_painter.cpp
│   │   └── sds_point_painter.cpp
│   ├── wgl/
│   │   ├── CMakeLists.txt
│   │   ├── camera_to_bitmap.cpp
│   │   └── module.cpp
│   ├── windows/
│   │   ├── CMakeLists.txt
│   │   ├── disable_desktop_composition.cpp
│   │   ├── module.cpp
│   │   └── uri_handler.cpp
│   ├── xtrackcad/
│   │   ├── CMakeLists.txt
│   │   ├── document_importer.cpp
│   │   └── module.cpp
│   └── yafray/
│       ├── CMakeLists.txt
│       ├── area_light.cpp
│       ├── global_photon_light.cpp
│       ├── hemi_light.cpp
│       ├── lights.h
│       ├── material.cpp
│       ├── module.cpp
│       ├── photon_light.cpp
│       ├── point_light.cpp
│       ├── render_engine.cpp
│       ├── soft_light.cpp
│       ├── spot_light.cpp
│       └── sun_light.cpp
├── po/
│   ├── CMakeLists.txt
│   └── chef.po
├── renderframe/
│   ├── CMakeLists.txt
│   └── main.cpp
├── renderjob/
│   ├── CMakeLists.txt
│   └── main.cpp
├── resource-compiler/
│   ├── CMakeLists.txt
│   └── main.cpp
├── share/
│   ├── CMakeLists.txt
│   ├── k3d/
│   │   ├── CMakeLists.txt
│   │   ├── aspect_ratios.k3d
│   │   ├── documents/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── animation/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── arc_length.k3d
│   │   │   │   ├── digital_clock.k3d
│   │   │   │   └── euler_angles.k3d
│   │   │   ├── index.k3d
│   │   │   └── logo.k3d
│   │   ├── fonts/
│   │   │   └── CMakeLists.txt
│   │   ├── geometry/
│   │   │   ├── CMakeLists.txt
│   │   │   └── knot.obj
│   │   ├── guide/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── content/
│   │   │   │   ├── building_plugins.txt
│   │   │   │   ├── debugging.txt
│   │   │   │   ├── guide-docinfo.xml.in
│   │   │   │   ├── guide.txt.in
│   │   │   │   ├── importing_exporting.txt
│   │   │   │   ├── logging.txt
│   │   │   │   ├── luxrender.txt
│   │   │   │   ├── on_demand_modules.txt
│   │   │   │   ├── pipeline.txt
│   │   │   │   ├── pipeline_hints.txt
│   │   │   │   ├── plugin_design.txt
│   │   │   │   ├── plugins.py.in
│   │   │   │   ├── render_models.txt
│   │   │   │   ├── resources.txt
│   │   │   │   ├── scripting.txt
│   │   │   │   ├── time.txt
│   │   │   │   └── wiki2asciidoc.py
│   │   │   └── qt/
│   │   │       ├── about.txt.in
│   │   │       ├── guide.qhcp.in
│   │   │       └── guide.qhp.in
│   │   ├── icons/
│   │   │   ├── CMakeLists.txt
│   │   │   └── k3d.icns
│   │   ├── logo/
│   │   │   └── CMakeLists.txt
│   │   ├── lsystem/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── abop-2d-form.ls
│   │   │   ├── abop-block-form.ls
│   │   │   ├── abop-bush.ls
│   │   │   ├── abop-compound-leave-3d.ls
│   │   │   ├── abop-compound-leave.ls
│   │   │   ├── abop-cordate-leave.ls
│   │   │   ├── abop-dragon-curves.ls
│   │   │   ├── abop-fractal.ls
│   │   │   ├── abop-lychnis-structure.ls
│   │   │   ├── abop-maple-like-leave.ls
│   │   │   ├── abop-monopodial-tree.ls
│   │   │   ├── abop-monopodial-tree2.ls
│   │   │   ├── abop-nested-polygon-leaves.ls
│   │   │   ├── abop-plant.ls
│   │   │   ├── abop-ternary-tree.ls
│   │   │   ├── airhorse.ls
│   │   │   ├── axis.ls
│   │   │   ├── best-tree.ls
│   │   │   ├── cees-3dartist.ls
│   │   │   ├── cees-crystal-with-leaves.ls
│   │   │   ├── cees-crystal-with-leaves2.ls
│   │   │   ├── cees-crystal.ls
│   │   │   ├── cees-crystals.ls
│   │   │   ├── cees-koch.ls
│   │   │   ├── cees-koch2.ls
│   │   │   ├── cees-pascal-cube.ls
│   │   │   ├── cees-pascal-cube2.ls
│   │   │   ├── cees-passion-flower.ls
│   │   │   ├── cees-plant-kwal.ls
│   │   │   ├── cees-plant.ls
│   │   │   ├── cees-plant2.ls
│   │   │   ├── cees-sierpinski-gasket.ls
│   │   │   ├── cees-sierpinski-gasket2.ls
│   │   │   ├── cello-plant.ls
│   │   │   ├── circle-form.ls
│   │   │   ├── conifer-type-tree.ls
│   │   │   ├── conifer-type-tree2.ls
│   │   │   ├── cordate-leave-arrangement.ls
│   │   │   ├── cordate-leaves.ls
│   │   │   ├── dasysiphonia-rigidula.ls
│   │   │   ├── daysa-rigidula.ls
│   │   │   ├── fern-plant.ls
│   │   │   ├── flower.ls
│   │   │   ├── fractint.ls
│   │   │   ├── fractint2.ls
│   │   │   ├── fractint3.ls
│   │   │   ├── fractint4.ls
│   │   │   ├── half-cycle.ls
│   │   │   ├── half-cycle2.ls
│   │   │   ├── higgs-butterfly.ls
│   │   │   ├── higgs-copepoda-crustacean-mutated.ls
│   │   │   ├── higgs-copepoda-crustacean.ls
│   │   │   ├── higgs-lobster.ls
│   │   │   ├── higgs-sierpinski-variants.ls
│   │   │   ├── large-spiral-plant.ls
│   │   │   ├── large-spiral-plant2.ls
│   │   │   ├── leavy-ternary-tree-type.ls
│   │   │   ├── lobster-form.ls
│   │   │   ├── lobster-form2.ls
│   │   │   ├── lobster-form3.ls
│   │   │   ├── lobster-form4.ls
│   │   │   ├── lobster-form5.ls
│   │   │   ├── menger-cube.ls
│   │   │   ├── octo-spider.ls
│   │   │   ├── palm-tree.ls
│   │   │   ├── shell.ls
│   │   │   ├── shell2.ls
│   │   │   ├── shell3.ls
│   │   │   ├── shell4.ls
│   │   │   ├── spiral-bush.ls
│   │   │   ├── spiral-design.ls
│   │   │   ├── spiral-form.ls
│   │   │   ├── spiral-tree.ls
│   │   │   ├── spiral-types.ls
│   │   │   ├── tree-base.ls
│   │   │   ├── tree.ls
│   │   │   ├── tree2.ls
│   │   │   ├── tree3.ls
│   │   │   ├── trees.ls
│   │   │   ├── trees2.ls
│   │   │   ├── trees3.ls
│   │   │   ├── tropism-experimental-tree.ls
│   │   │   ├── tropism.ls
│   │   │   └── willow-tree.ls
│   │   ├── ngui/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── pixmap/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── about.xpm
│   │   │   │   ├── automagic-off.xpm
│   │   │   │   ├── automagic-on.xpm
│   │   │   │   ├── fast_forward.xpm
│   │   │   │   ├── mat_edit_shader_icon.xpm
│   │   │   │   ├── mat_preview_bg_icon.xpm
│   │   │   │   ├── mat_preview_date_icon.xpm
│   │   │   │   ├── pinned.xpm
│   │   │   │   ├── play.xpm
│   │   │   │   ├── play_from_cursor.xpm
│   │   │   │   ├── play_loop.xpm
│   │   │   │   ├── record.xpm
│   │   │   │   ├── render_animation.xpm
│   │   │   │   ├── render_frame.xpm
│   │   │   │   ├── render_preview.xpm
│   │   │   │   ├── reverse_play.xpm
│   │   │   │   ├── reverse_play_loop.xpm
│   │   │   │   ├── rewind.xpm
│   │   │   │   ├── splash.xpm
│   │   │   │   ├── stop.xpm
│   │   │   │   └── unpinned.xpm
│   │   │   ├── rasterized/
│   │   │   │   └── CMakeLists.txt
│   │   │   ├── scalable/
│   │   │   │   └── CMakeLists.txt
│   │   │   ├── tool_layout.k3d
│   │   │   └── toolbar_layout.k3d
│   │   ├── qtui/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── icons/
│   │   │   │   └── CMakeLists.txt
│   │   │   ├── scripted_modes/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── browser.js
│   │   │   │   ├── console.js
│   │   │   │   ├── create_node.js
│   │   │   │   ├── hello_world.js
│   │   │   │   ├── null.js
│   │   │   │   ├── sound_effects.js
│   │   │   │   └── state_machine.js
│   │   │   └── sounds/
│   │   │       └── CMakeLists.txt
│   │   ├── resolutions.k3d
│   │   ├── scripts/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── MeshModifierScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── random_face_varying_colors.py
│   │   │   │   ├── random_per_face_colors.py
│   │   │   │   ├── random_per_vertex_colors.py
│   │   │   │   └── snow_animation.py
│   │   │   ├── MeshSourceScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── bezier_triangle_patches.py
│   │   │   │   ├── bicubic_patches.py
│   │   │   │   ├── bilinear_patches.py
│   │   │   │   ├── blobby.py
│   │   │   │   ├── cones.py
│   │   │   │   ├── cubes.py
│   │   │   │   ├── cubic_curves.py
│   │   │   │   ├── cylinders.py
│   │   │   │   ├── disks.py
│   │   │   │   ├── hyperboloids.py
│   │   │   │   ├── linear_curves.py
│   │   │   │   ├── nurbs_curves.py
│   │   │   │   ├── nurbs_patches.py
│   │   │   │   ├── paraboloids.py
│   │   │   │   ├── particles.py
│   │   │   │   ├── polyhedra.py
│   │   │   │   ├── simple_polyhedron.py
│   │   │   │   ├── snow_source.py
│   │   │   │   ├── spheres.py
│   │   │   │   ├── teapots.py
│   │   │   │   └── tori.py
│   │   │   ├── OpenGLPainterScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   └── blue_particles.py
│   │   │   ├── OpenGLRenderableScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   └── gradient_background.py
│   │   │   ├── RenderManScript/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   └── tribble.py
│   │   │   ├── animation/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   └── keyframes.py
│   │   │   ├── count_plugins.py
│   │   │   ├── create_bicubic_patch.py
│   │   │   ├── create_bilinear_patch.py
│   │   │   ├── create_blobby.py
│   │   │   ├── create_cubic_curve.py
│   │   │   ├── create_linear_curve.py
│   │   │   ├── create_particles.py
│   │   │   ├── create_polyhedron.py
│   │   │   ├── create_polyhedron_simple.py
│   │   │   ├── describe_plugins.py
│   │   │   ├── hello_world.py
│   │   │   ├── innovation.py
│   │   │   ├── log_messages.py
│   │   │   ├── print_selected_objects.py
│   │   │   ├── pygtk_hello_world.py
│   │   │   ├── pygtk_plot_function.py
│   │   │   ├── script_context.py
│   │   │   ├── script_recursion.py
│   │   │   ├── script_recursion_context.py
│   │   │   ├── scripted_plugins/
│   │   │   │   └── CMakeLists.txt
│   │   │   ├── shell/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── batch_render.k3d
│   │   │   │   ├── batch_render.py
│   │   │   │   └── simple_rpc.py
│   │   │   ├── undo_redo_errors.py
│   │   │   ├── user_interface.py
│   │   │   └── user_properties.py
│   │   ├── shaders/
│   │   │   ├── CMakeLists.txt
│   │   │   ├── displacement/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── k3d_brickbump.sl
│   │   │   │   ├── k3d_brickbump.sl.slmeta
│   │   │   │   ├── k3d_bubbles.sl
│   │   │   │   ├── k3d_bubbles.sl.slmeta
│   │   │   │   ├── k3d_bubbly.sl
│   │   │   │   ├── k3d_bubbly.sl.slmeta
│   │   │   │   ├── k3d_castucco.sl
│   │   │   │   ├── k3d_castucco.sl.slmeta
│   │   │   │   ├── k3d_dented.sl
│   │   │   │   ├── k3d_dented.sl.slmeta
│   │   │   │   ├── k3d_displacementmap.sl
│   │   │   │   ├── k3d_displacementmap.sl.slmeta
│   │   │   │   ├── k3d_droop.sl
│   │   │   │   ├── k3d_droop.sl.slmeta
│   │   │   │   ├── k3d_dturb.sl
│   │   │   │   ├── k3d_fractal.sl
│   │   │   │   ├── k3d_fractal.sl.slmeta
│   │   │   │   ├── k3d_gloop.sl
│   │   │   │   ├── k3d_gloop.sl.slmeta
│   │   │   │   ├── k3d_ridged_multifractal.sl
│   │   │   │   ├── k3d_ridged_multifractal.sl.slmeta
│   │   │   │   ├── k3d_round.sl
│   │   │   │   ├── k3d_round.sl.slmeta
│   │   │   │   ├── k3d_slateroofd.sl
│   │   │   │   ├── k3d_slateroofd.sl.slmeta
│   │   │   │   ├── k3d_square_ridges.sl
│   │   │   │   ├── k3d_square_ridges.sl.slmeta
│   │   │   │   ├── k3d_stucco.sl
│   │   │   │   ├── k3d_stucco.sl.slmeta
│   │   │   │   ├── k3d_terranbump.sl
│   │   │   │   ├── k3d_terranbump.sl.slmeta
│   │   │   │   ├── k3d_threads.sl
│   │   │   │   ├── k3d_threads.sl.slmeta
│   │   │   │   ├── k3d_windywave.sl
│   │   │   │   └── k3d_windywave.sl.slmeta
│   │   │   ├── glsl/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── gooch_fragment.glsl
│   │   │   │   ├── gooch_vertex.glsl
│   │   │   │   ├── show_normals_fragment.glsl
│   │   │   │   └── show_normals_vertex.glsl
│   │   │   ├── imager/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── k3d_background.sl
│   │   │   │   ├── k3d_background.sl.slmeta
│   │   │   │   ├── k3d_bluescreen.sl
│   │   │   │   ├── k3d_bluescreen.sl.slmeta
│   │   │   │   ├── k3d_clamptoalpha.sl
│   │   │   │   └── k3d_clamptoalpha.sl.slmeta
│   │   │   ├── k3d_colors.h
│   │   │   ├── k3d_constants.h
│   │   │   ├── k3d_displace.h
│   │   │   ├── k3d_filterwidth.h
│   │   │   ├── k3d_functions.h
│   │   │   ├── k3d_isshad.h
│   │   │   ├── k3d_km.h
│   │   │   ├── k3d_locillum.h
│   │   │   ├── k3d_material.h
│   │   │   ├── k3d_noises.h
│   │   │   ├── k3d_oak.h
│   │   │   ├── k3d_patterns.h
│   │   │   ├── k3d_proctext.h
│   │   │   ├── k3d_project.h
│   │   │   ├── k3d_pshad.h
│   │   │   ├── k3d_rayserver.h
│   │   │   ├── k3d_raysphere.h
│   │   │   ├── k3d_reflections.h
│   │   │   ├── k3d_rmannotes.h
│   │   │   ├── k3d_tile.h
│   │   │   ├── light/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── k3d_ambientlight.sl
│   │   │   │   ├── k3d_ambientlight.sl.slmeta
│   │   │   │   ├── k3d_distant_shadow.sl
│   │   │   │   ├── k3d_distant_shadow.sl.slmeta
│   │   │   │   ├── k3d_distantlight.sl
│   │   │   │   ├── k3d_distantlight.sl.slmeta
│   │   │   │   ├── k3d_pointlight.sl
│   │   │   │   ├── k3d_pointlight.sl.slmeta
│   │   │   │   ├── k3d_spotlight.sl
│   │   │   │   ├── k3d_spotlight.sl.slmeta
│   │   │   │   ├── k3d_waterlight.sl
│   │   │   │   └── k3d_waterlight.sl.slmeta
│   │   │   ├── surface/
│   │   │   │   ├── CMakeLists.txt
│   │   │   │   ├── k3d_bluemarble.sl
│   │   │   │   ├── k3d_bluemarble.sl.slmeta
│   │   │   │   ├── k3d_brick.sl
│   │   │   │   ├── k3d_brick.sl.slmeta
│   │   │   │   ├── k3d_brushedmetal.sl
│   │   │   │   ├── k3d_brushedmetal.sl.slmeta
│   │   │   │   ├── k3d_ceramic.sl
│   │   │   │   ├── k3d_ceramic.sl.slmeta
│   │   │   │   ├── k3d_checks.sl
│   │   │   │   ├── k3d_checks.sl.slmeta
│   │   │   │   ├── k3d_constant.sl
│   │   │   │   ├── k3d_constant.sl.slmeta
│   │   │   │   ├── k3d_corktile.sl
│   │   │   │   ├── k3d_corktile.sl.slmeta
│   │   │   │   ├── k3d_craters.sl
│   │   │   │   ├── k3d_craters.sl.slmeta
│   │   │   │   ├── k3d_crayon.sl
│   │   │   │   ├── k3d_crayon.sl.slmeta
│   │   │   │   ├── k3d_crayontoon.sl
│   │   │   │   ├── k3d_crayontoon.sl.slmeta
│   │   │   │   ├── k3d_dots.sl
│   │   │   │   ├── k3d_dots.sl.slmeta
│   │   │   │   ├── k3d_easysurface.sl
│   │   │   │   ├── k3d_easysurface.sl.slmeta
│   │   │   │   ├── k3d_environment_plastic.sl
│   │   │   │   ├── k3d_environment_plastic.sl.slmeta
│   │   │   │   ├── k3d_envsurf.sl
│   │   │   │   ├── k3d_envsurf.sl.slmeta
│   │   │   │   ├── k3d_eyeball.sl
│   │   │   │   ├── k3d_eyeball.sl.slmeta
│   │   │   │   ├── k3d_filament.sl
│   │   │   │   ├── k3d_filament.sl.slmeta
│   │   │   │   ├── k3d_fire.sl
│   │   │   │   ├── k3d_fire.sl.slmeta
│   │   │   │   ├── k3d_fresnelplastic.sl
│   │   │   │   ├── k3d_fresnelplastic.sl.slmeta
│   │   │   │   ├── k3d_funkyglass.sl
│   │   │   │   ├── k3d_funkyglass.sl.slmeta
│   │   │   │   ├── k3d_fur2.sl
│   │   │   │   ├── k3d_fur2.sl.slmeta
│   │   │   │   ├── k3d_glow.sl
│   │   │   │   ├── k3d_glow.sl.slmeta
│   │   │   │   ├── k3d_gooch.sl
│   │   │   │   ├── k3d_gooch.sl.slmeta
│   │   │   │   ├── k3d_gradient_t.sl
│   │   │   │   ├── k3d_gradient_t.sl.slmeta
│   │   │   │   ├── k3d_granite.sl
│   │   │   │   ├── k3d_granite.sl.slmeta
│   │   │   │   ├── k3d_greenmarble.sl
│   │   │   │   ├── k3d_greenmarble.sl.slmeta
│   │   │   │   ├── k3d_hair.sl
│   │   │   │   ├── k3d_hair.sl.slmeta
│   │   │   │   ├── k3d_hextile.sl
│   │   │   │   ├── k3d_hextile.sl.slmeta
│   │   │   │   ├── k3d_incandplastic.sl
│   │   │   │   ├── k3d_incandplastic.sl.slmeta
│   │   │   │   ├── k3d_luna.sl
│   │   │   │   ├── k3d_luna.sl.slmeta
│   │   │   │   ├── k3d_lunette.sl
│   │   │   │   ├── k3d_lunette.sl.slmeta
│   │   │   │   ├── k3d_matte.sl
│   │   │   │   ├── k3d_matte.sl.slmeta
│   │   │   │   ├── k3d_metal.sl
│   │   │   │   ├── k3d_metal.sl.slmeta
│   │   │   │   ├── k3d_mondometal.sl
│   │   │   │   ├── k3d_mondometal.sl.slmeta
│   │   │   │   ├── k3d_mottled_clay.sl
│   │   │   │   ├── k3d_mottled_clay.sl.slmeta
│   │   │   │   ├── k3d_oak.sl
│   │   │   │   ├── k3d_oak.sl.slmeta
│   │   │   │   ├── k3d_oakplank.sl
│   │   │   │   ├── k3d_oakplank.sl.slmeta
│   │   │   │   ├── k3d_orennayar.sl
│   │   │   │   ├── k3d_orennayar.sl.slmeta
│   │   │   │   ├── k3d_paintedplastic.sl
│   │   │   │   ├── k3d_paintedplastic.sl.slmeta
│   │   │   │   ├── k3d_parquet_plank.sl
│   │   │   │   ├── k3d_parquet_plank.sl.slmeta
│   │   │   │   ├── k3d_particle.sl
│   │   │   │   ├── k3d_particle.sl.slmeta
│   │   │   │   ├── k3d_planetclouds.sl
│   │   │   │   ├── k3d_planetclouds.sl.slmeta
│   │   │   │   ├── k3d_plastic.sl
│   │   │   │   ├── k3d_plastic.sl.slmeta
│   │   │   │   ├── k3d_puffyclouds.sl
│   │   │   │   ├── k3d_puffyclouds.sl.slmeta
│   │   │   │   ├── k3d_redapple.sl
│   │   │   │   ├── k3d_redapple.sl.slmeta
│   │   │   │   ├── k3d_roughmetal.sl
│   │   │   │   ├── k3d_roughmetal.sl.slmeta
│   │   │   │   ├── k3d_rubber.sl
│   │   │   │   ├── k3d_rubber.sl.slmeta
│   │   │   │   ├── k3d_saturn.sl
│   │   │   │   ├── k3d_saturn.sl.slmeta
│   │   │   │   ├── k3d_screen.sl
│   │   │   │   ├── k3d_screen.sl.slmeta
│   │   │   │   ├── k3d_shiny.sl
│   │   │   │   ├── k3d_shiny.sl.slmeta
│   │   │   │   ├── k3d_shinymetal.sl
│   │   │   │   ├── k3d_shinymetal.sl.slmeta
│   │   │   │   ├── k3d_show_st.sl
│   │   │   │   ├── k3d_show_st.sl.slmeta
│   │   │   │   ├── k3d_slateroof.sl
│   │   │   │   ├── k3d_slateroof.sl.slmeta
│   │   │   │   ├── k3d_star.sl
│   │   │   │   ├── k3d_star.sl.slmeta
│   │   │   │   ├── k3d_strata.sl
│   │   │   │   ├── k3d_strata.sl.slmeta
│   │   │   │   ├── k3d_superplank.sl
│   │   │   │   ├── k3d_superplank.sl.slmeta
│   │   │   │   ├── k3d_supertoon.sl
│   │   │   │   ├── k3d_supertoon.sl.slmeta
│   │   │   │   ├── k3d_terran.sl
│   │   │   │   ├── k3d_terran.sl.slmeta
│   │   │   │   ├── k3d_tooledsteel.sl
│   │   │   │   ├── k3d_tooledsteel.sl.slmeta
│   │   │   │   ├── k3d_urbermap.sl
│   │   │   │   ├── k3d_urbermap.sl.slmeta
│   │   │   │   ├── k3d_veinedmarble.sl
│   │   │   │   ├── k3d_veinedmarble.sl.slmeta
│   │   │   │   ├── k3d_velvet.sl
│   │   │   │   ├── k3d_velvet.sl.slmeta
│   │   │   │   ├── k3d_venus.sl
│   │   │   │   ├── k3d_venus.sl.slmeta
│   │   │   │   ├── k3d_warningstripes.sl
│   │   │   │   ├── k3d_warningstripes.sl.slmeta
│   │   │   │   ├── k3d_wood2.sl
│   │   │   │   ├── k3d_wood2.sl.slmeta
│   │   │   │   ├── k3d_woodcut.sl
│   │   │   │   └── k3d_woodcut.sl.slmeta
│   │   │   └── volume/
│   │   │       ├── CMakeLists.txt
│   │   │       ├── k3d_altitude_fog.sl
│   │   │       ├── k3d_altitude_fog.sl.slmeta
│   │   │       ├── k3d_depthcue.sl
│   │   │       ├── k3d_depthcue.sl.slmeta
│   │   │       ├── k3d_fog.sl
│   │   │       └── k3d_fog.sl.slmeta
│   │   └── textures/
│   │       └── CMakeLists.txt
│   └── man/
│       ├── CMakeLists.txt
│       ├── k3d-renderframe.1.txt.in
│       ├── k3d-renderjob.1.txt.in
│       ├── k3d-sl2xml.1.txt.in
│       ├── k3d-uuidgen.1.txt.in
│       └── k3d.1.txt.in
├── sl2xml/
│   ├── CMakeLists.txt
│   └── main.cpp
├── tests/
│   ├── CMakeLists.txt
│   ├── animation/
│   │   ├── AnimationTrack.py
│   │   └── CMakeLists.txt
│   ├── benchmarking.py
│   ├── bitmap/
│   │   ├── CMakeLists.txt
│   │   ├── bitmap.modifier.BenchmarkComparison.py
│   │   ├── bitmap.modifier.BitmapAdd.py
│   │   ├── bitmap.modifier.BitmapColorMonochrome.py
│   │   ├── bitmap.modifier.BitmapGamma.py
│   │   ├── bitmap.modifier.BitmapInvert.py
│   │   ├── bitmap.modifier.BitmapMatteColorDiff.py
│   │   ├── bitmap.modifier.BitmapMatteInvert.py
│   │   ├── bitmap.modifier.BitmapMultiply.py
│   │   ├── bitmap.modifier.BitmapSubtract.py
│   │   ├── bitmap.modifier.BitmapThreshold.py
│   │   ├── bitmap.modifier.CUDABitmapAdd.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapAdd.py
│   │   ├── bitmap.modifier.CUDABitmapColorMonochrome.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapColorMonochrome.py
│   │   ├── bitmap.modifier.CUDABitmapGamma.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapGamma.py
│   │   ├── bitmap.modifier.CUDABitmapInvert.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapInvert.py
│   │   ├── bitmap.modifier.CUDABitmapMatteColorDiff.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapMatteColorDiff.py
│   │   ├── bitmap.modifier.CUDABitmapMatteInvert.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapMatteInvert.py
│   │   ├── bitmap.modifier.CUDABitmapMultiply.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapMultiply.py
│   │   ├── bitmap.modifier.CUDABitmapSubtract.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapSubtract.py
│   │   ├── bitmap.modifier.CUDABitmapThreshold.benchmark.py
│   │   ├── bitmap.modifier.CUDABitmapThreshold.py
│   │   ├── bitmap.source.BitmapChecker.py
│   │   ├── bitmap.source.BitmapReader.bmp.py
│   │   ├── bitmap.source.BitmapReader.jpeg.py
│   │   ├── bitmap.source.BitmapReader.png.py
│   │   ├── bitmap.source.BitmapReader.sun.py
│   │   ├── bitmap.source.BitmapReader.tiff.py
│   │   ├── bitmap.source.BitmapSolid.py
│   │   ├── bitmap.source.BitmapSourceScript.py
│   │   ├── bitmap.source.JPEGBitmapReader.py
│   │   ├── bitmap.source.PNGBitmapReader.py
│   │   └── bitmap.source.TIFFBitmapReader.py
│   ├── bitmaps/
│   │   ├── test_rgb_8.sun
│   │   └── test_rgb_8.tif
│   ├── code/
│   │   ├── CMakeLists.txt
│   │   ├── const_cast.cmake
│   │   ├── debug_logging.cmake
│   │   ├── exit.cmake
│   │   ├── filename_case.cmake
│   │   ├── filename_length.cmake
│   │   ├── header_guard.cmake
│   │   ├── legacy.cmake
│   │   ├── line_endings.cmake
│   │   ├── pretty_function.cmake
│   │   ├── printf.cmake
│   │   ├── quoted_includes.cmake
│   │   └── typed_array_uint_t.cmake
│   ├── color/
│   │   ├── CMakeLists.txt
│   │   └── source.ColorSourceScript.py
│   ├── double/
│   │   ├── CMakeLists.txt
│   │   ├── source.DoubleExpression.py
│   │   ├── source.DoubleSourceScript.py
│   │   └── source.PapagayoLipsyncReader.py
│   ├── int32/
│   │   ├── CMakeLists.txt
│   │   └── source.Int32SourceScript.py
│   ├── matrix/
│   │   ├── CMakeLists.txt
│   │   ├── modifier.FrozenMatrix.py
│   │   └── modifier.MatrixInverse.py
│   ├── mesh/
│   │   ├── CMakeLists.txt
│   │   ├── mesh.diff.py
│   │   ├── mesh.metrics.GTSMeshArea.PolyCube.py
│   │   ├── mesh.metrics.GTSMeshArea.self_intersection.py
│   │   ├── mesh.metrics.GTSMeshVolume.PolyCube.py
│   │   ├── mesh.modifier.BenchmarkComparison.py
│   │   ├── mesh.modifier.BendPoints.py
│   │   ├── mesh.modifier.BevelFaces.py
│   │   ├── mesh.modifier.BevelPoints.boundary.py
│   │   ├── mesh.modifier.BevelPoints.py
│   │   ├── mesh.modifier.BlobbyAdd.py
│   │   ├── mesh.modifier.BlobbyDivide.py
│   │   ├── mesh.modifier.BlobbyMaximum.py
│   │   ├── mesh.modifier.BlobbyMinimum.py
│   │   ├── mesh.modifier.BlobbyMultiply.py
│   │   ├── mesh.modifier.BlobbyNegate.py
│   │   ├── mesh.modifier.BlobbySubtract.py
│   │   ├── mesh.modifier.BridgeEdges.py
│   │   ├── mesh.modifier.BridgeFaces.py
│   │   ├── mesh.modifier.BulgePoints.py
│   │   ├── mesh.modifier.CARVEBoolean.benchmark.py
│   │   ├── mesh.modifier.CARVEBoolean.cubes.py
│   │   ├── mesh.modifier.CARVEBoolean.cylinders.py
│   │   ├── mesh.modifier.CARVEBoolean.ply.py
│   │   ├── mesh.modifier.CGALBoolean.benchmark.py
│   │   ├── mesh.modifier.CGALBoolean.cubes.py
│   │   ├── mesh.modifier.CGALBoolean.cylinders.py
│   │   ├── mesh.modifier.CUDA.Breakdown.py
│   │   ├── mesh.modifier.CUDAConversion.py
│   │   ├── mesh.modifier.CUDASubdivideEdges.benchmark.py
│   │   ├── mesh.modifier.CUDASubdivideEdges.py
│   │   ├── mesh.modifier.CUDASubdivideEdgesSimple.py
│   │   ├── mesh.modifier.CUDATransformPoints.benchmark.py
│   │   ├── mesh.modifier.CUDATransformPoints.py
│   │   ├── mesh.modifier.CUDATransformPointsAsynchronous.benchmark.py
│   │   ├── mesh.modifier.CUDATransformPointsAsynchronous.py
│   │   ├── mesh.modifier.CalculateNormals.2.py
│   │   ├── mesh.modifier.CalculateNormals.py
│   │   ├── mesh.modifier.CapHoles.py
│   │   ├── mesh.modifier.CatmullClark.benchmark.py
│   │   ├── mesh.modifier.CatmullClark.complex.py
│   │   ├── mesh.modifier.CatmullClark.cube.py
│   │   ├── mesh.modifier.CatmullClark.py
│   │   ├── mesh.modifier.CenterPoints.py
│   │   ├── mesh.modifier.CollapseEdges.py
│   │   ├── mesh.modifier.CollapseFaces.py
│   │   ├── mesh.modifier.CollapsePoints.py
│   │   ├── mesh.modifier.ConnectVertices.py
│   │   ├── mesh.modifier.CylindricalWavePoints.py
│   │   ├── mesh.modifier.DeformationExpression.py
│   │   ├── mesh.modifier.EdgesToBlobby.py
│   │   ├── mesh.modifier.EulerKillEdgeAndVertex.py
│   │   ├── mesh.modifier.EulerKillEdgeMakeLoop.py
│   │   ├── mesh.modifier.ExtrudeFaces.py
│   │   ├── mesh.modifier.LeastSquaresPlot.py
│   │   ├── mesh.modifier.LinearPointNoise.py
│   │   ├── mesh.modifier.LinearWavePoints.py
│   │   ├── mesh.modifier.MakeHole.py
│   │   ├── mesh.modifier.MergeCollinearEdges.py
│   │   ├── mesh.modifier.MergeCoplanarFaces.py
│   │   ├── mesh.modifier.MergeMesh.generic.py
│   │   ├── mesh.modifier.MergeMesh.py
│   │   ├── mesh.modifier.MergePolyhedra.py
│   │   ├── mesh.modifier.MeshArray1D.py
│   │   ├── mesh.modifier.MeshArray2D.py
│   │   ├── mesh.modifier.MeshArray3D.py
│   │   ├── mesh.modifier.MorphPoints.py
│   │   ├── mesh.modifier.MoveFirstEdge.py
│   │   ├── mesh.modifier.NurbsAddTrimCurve.py
│   │   ├── mesh.modifier.NurbsCloseCurve1.py
│   │   ├── mesh.modifier.NurbsCloseCurve2.py
│   │   ├── mesh.modifier.NurbsConnectCurves.py
│   │   ├── mesh.modifier.NurbsCreateCap.py
│   │   ├── mesh.modifier.NurbsCurveInsertKnot.py
│   │   ├── mesh.modifier.NurbsCurveTraversal.py
│   │   ├── mesh.modifier.NurbsDegreeElevateCurve.py
│   │   ├── mesh.modifier.NurbsEditKnotVector1.py
│   │   ├── mesh.modifier.NurbsExtractCurvePoint.py
│   │   ├── mesh.modifier.NurbsExtractPatchCurve.py
│   │   ├── mesh.modifier.NurbsExtractTrimCurves.py
│   │   ├── mesh.modifier.NurbsExtrudeCurve.py
│   │   ├── mesh.modifier.NurbsExtrudePatch.py
│   │   ├── mesh.modifier.NurbsFlipCurve.py
│   │   ├── mesh.modifier.NurbsMergeConnectedCurves.py
│   │   ├── mesh.modifier.NurbsMergeCurveKnotVectors.py
│   │   ├── mesh.modifier.NurbsPatchDegreeElevation.py
│   │   ├── mesh.modifier.NurbsPatchInsertKnot.py
│   │   ├── mesh.modifier.NurbsPolygonizeCurve.py
│   │   ├── mesh.modifier.NurbsPolygonizePatch.py
│   │   ├── mesh.modifier.NurbsRevolveCurve.py
│   │   ├── mesh.modifier.NurbsRuledSurface.py
│   │   ├── mesh.modifier.NurbsSetWeight1.py
│   │   ├── mesh.modifier.NurbsSetWeight2.py
│   │   ├── mesh.modifier.NurbsSkinnedSurface.py
│   │   ├── mesh.modifier.NurbsSplitCurve.py
│   │   ├── mesh.modifier.NurbsSplitPatch.py
│   │   ├── mesh.modifier.NurbsSplitPatch2.py
│   │   ├── mesh.modifier.NurbsSweepSurface.py
│   │   ├── mesh.modifier.PGPRemesh.bun_zipper_res4.py
│   │   ├── mesh.modifier.PGPRemesh.high.py
│   │   ├── mesh.modifier.PGPRemesh.ply.bunny.py
│   │   ├── mesh.modifier.PGPRemesh.ply.torus.py
│   │   ├── mesh.modifier.PGPRemesh.py
│   │   ├── mesh.modifier.PGPRemesh.triang.py
│   │   ├── mesh.modifier.PointsToBlobby.py
│   │   ├── mesh.modifier.QSlim.py
│   │   ├── mesh.modifier.RotatePoints.py
│   │   ├── mesh.modifier.SDSCorner.py
│   │   ├── mesh.modifier.SDSCrease.py
│   │   ├── mesh.modifier.SDSHole.py
│   │   ├── mesh.modifier.ScalePoints.py
│   │   ├── mesh.modifier.SelectConnectedComponents.py
│   │   ├── mesh.modifier.SelectCube.py
│   │   ├── mesh.modifier.SelectNSided.py
│   │   ├── mesh.modifier.SelectedFacesToPolyhedron.py
│   │   ├── mesh.modifier.SetColor.py
│   │   ├── mesh.modifier.SetPosition.py
│   │   ├── mesh.modifier.ShearPoints.py
│   │   ├── mesh.modifier.SmoothPoints.py
│   │   ├── mesh.modifier.SphereizePoints.py
│   │   ├── mesh.modifier.SubdivideEdges.benchmark.py
│   │   ├── mesh.modifier.SubdivideEdges.py
│   │   ├── mesh.modifier.SubdivideFaces.Center.py
│   │   ├── mesh.modifier.SubdivideFaces.CenterMidpoints.py
│   │   ├── mesh.modifier.SubdivideFaces.Midpoints.py
│   │   ├── mesh.modifier.TaperPoints.py
│   │   ├── mesh.modifier.TransformPoints.benchmark.py
│   │   ├── mesh.modifier.TransformPoints.py
│   │   ├── mesh.modifier.TranslatePoints.py
│   │   ├── mesh.modifier.TriangulateFaces.PolyCube.py
│   │   ├── mesh.modifier.TriangulateFaces.PolyGrid.py
│   │   ├── mesh.modifier.TriangulateFaces.PolyGrid.selection.py
│   │   ├── mesh.modifier.TriangulateFaces.self_intersection.py
│   │   ├── mesh.modifier.TriangulateFaces.vertex.py
│   │   ├── mesh.modifier.TwistPoints.py
│   │   ├── mesh.selection.GrowSelection.py
│   │   ├── mesh.selection.SelectBoundaryEdges.py
│   │   ├── mesh.selection.SelectDegenerateFaces.py
│   │   ├── mesh.selection.all.py
│   │   ├── mesh.selection.none.py
│   │   ├── mesh.selection.null.py
│   │   ├── mesh.selection.points.py
│   │   ├── mesh.serialization.py
│   │   ├── mesh.sink.GmshGeoMeshWriter.py
│   │   ├── mesh.sink.IGESMeshWriter.py
│   │   ├── mesh.sink.K3DMeshWriter.py
│   │   ├── mesh.sink.OBJMeshWriter.py
│   │   ├── mesh.sink.PLYMeshWriter.py
│   │   ├── mesh.sink.PointsCentroid.py
│   │   ├── mesh.sink.STLMeshWriter.magics.py
│   │   ├── mesh.sink.STLMeshWriter.py
│   │   ├── mesh.sink.STLMeshWriter.viscam.py
│   │   ├── mesh.solid.failure.py
│   │   ├── mesh.solid.py
│   │   ├── mesh.source.3DSMeshReader.py
│   │   ├── mesh.source.BenchmarkComparison.py
│   │   ├── mesh.source.BlobbyEllipsoid.py
│   │   ├── mesh.source.BlobbySegment.py
│   │   ├── mesh.source.COLLADAMeshReader.py
│   │   ├── mesh.source.CUDA.Breakdown.py
│   │   ├── mesh.source.CUDAPolyGrid.benchmark.py
│   │   ├── mesh.source.CUDAPolyGrid.py
│   │   ├── mesh.source.CUDAPolyGridAndTransformPoints.benchmark.py
│   │   ├── mesh.source.CUDAPolyGridAndTransformPoints.py
│   │   ├── mesh.source.GTSMeshReader.cube.py
│   │   ├── mesh.source.GTSMeshReader.gz.cube.py
│   │   ├── mesh.source.LSystemParser.py
│   │   ├── mesh.source.MD2MeshReader.py
│   │   ├── mesh.source.MeshSourceScript.bezier_triangle_patches.py
│   │   ├── mesh.source.MeshSourceScript.bicubic.patches.py
│   │   ├── mesh.source.MeshSourceScript.bilinear.patches.py
│   │   ├── mesh.source.MeshSourceScript.blobby.py
│   │   ├── mesh.source.MeshSourceScript.cones.py
│   │   ├── mesh.source.MeshSourceScript.cubic.curves.py
│   │   ├── mesh.source.MeshSourceScript.cylinders.py
│   │   ├── mesh.source.MeshSourceScript.disks.py
│   │   ├── mesh.source.MeshSourceScript.hyperboloids.py
│   │   ├── mesh.source.MeshSourceScript.linear.curves.py
│   │   ├── mesh.source.MeshSourceScript.nurbs.curves.py
│   │   ├── mesh.source.MeshSourceScript.nurbs.patches.py
│   │   ├── mesh.source.MeshSourceScript.paraboloids.py
│   │   ├── mesh.source.MeshSourceScript.particles.py
│   │   ├── mesh.source.MeshSourceScript.polyhedra.py
│   │   ├── mesh.source.MeshSourceScript.simple_polyhedron.py
│   │   ├── mesh.source.MeshSourceScript.spheres.py
│   │   ├── mesh.source.MeshSourceScript.teapots.py
│   │   ├── mesh.source.MeshSourceScript.tori.py
│   │   ├── mesh.source.Newell.teacup.py
│   │   ├── mesh.source.Newell.teapot.py
│   │   ├── mesh.source.Newell.teaspoon.py
│   │   ├── mesh.source.NurbsCircle.py
│   │   ├── mesh.source.NurbsCone.py
│   │   ├── mesh.source.NurbsCurve.py
│   │   ├── mesh.source.NurbsCylinder.py
│   │   ├── mesh.source.NurbsDisk.py
│   │   ├── mesh.source.NurbsGrid.py
│   │   ├── mesh.source.NurbsHyperboloid.py
│   │   ├── mesh.source.NurbsParaboloid.py
│   │   ├── mesh.source.NurbsPolygon.py
│   │   ├── mesh.source.NurbsSphere.py
│   │   ├── mesh.source.NurbsTorus.py
│   │   ├── mesh.source.OBJMeshReader.nurbs.py
│   │   ├── mesh.source.OBJMeshReader.polyhedron.py
│   │   ├── mesh.source.PLYMeshReader.py
│   │   ├── mesh.source.PolyCone.py
│   │   ├── mesh.source.PolyCube.py
│   │   ├── mesh.source.PolyCushion.py
│   │   ├── mesh.source.PolyCylinder.caps.py
│   │   ├── mesh.source.PolyCylinder.py
│   │   ├── mesh.source.PolyDisk.py
│   │   ├── mesh.source.PolyGrid.benchmark.py
│   │   ├── mesh.source.PolyGrid.py
│   │   ├── mesh.source.PolyIcosahedron.py
│   │   ├── mesh.source.PolySphere.1.py
│   │   ├── mesh.source.PolySphere.2.py
│   │   ├── mesh.source.PolySphere.3.py
│   │   ├── mesh.source.PolyText.py
│   │   ├── mesh.source.PolyTorus.py
│   │   ├── mesh.source.QuadricCone.py
│   │   ├── mesh.source.QuadricCylinder.py
│   │   ├── mesh.source.QuadricDisk.py
│   │   ├── mesh.source.QuadricHyperboloid.py
│   │   ├── mesh.source.QuadricLogo.py
│   │   ├── mesh.source.QuadricParaboloid.py
│   │   ├── mesh.source.QuadricSphere.py
│   │   ├── mesh.source.QuadricTorus.py
│   │   ├── mesh.source.STLMeshReader.magics.py
│   │   ├── mesh.source.STLMeshReader.py
│   │   ├── mesh.source.STLMeshReader.viscam.py
│   │   ├── mesh.source.SVGMeshReader.py
│   │   ├── mesh.source.SurfacePlot.py
│   │   ├── mesh.source.Teapot.py
│   │   ├── mesh.source.reader.bogus_input.py
│   │   ├── mesh.validation.py
│   │   ├── modifier.BicubicToPoly.py
│   │   ├── modifier.DeleteComponents.complex.py
│   │   ├── modifier.DeleteComponents.edge.py
│   │   ├── modifier.DeleteComponents.face.py
│   │   ├── modifier.DeleteComponents.point.py
│   │   ├── modifier.DissolveFaces.py
│   │   ├── modifier.PointsToParticles.py
│   │   ├── modifier.PolyToBilinear.py
│   │   ├── modifier.WeldPoints.py
│   │   ├── source.LinearKnot.py
│   │   ├── source.LinearLissajousCurve.py
│   │   └── source.UniformPolyhedron.py
│   ├── meshes/
│   │   ├── mesh.modifier.BendPoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.BendPoints.reference.k3d
│   │   ├── mesh.modifier.BevelFaces.reference.k3d
│   │   ├── mesh.modifier.BevelPoints.boundary.reference.k3d
│   │   ├── mesh.modifier.BevelPoints.reference.k3d
│   │   ├── mesh.modifier.BicubicToPoly.reference.k3d
│   │   ├── mesh.modifier.BlobbyAdd.reference.k3d
│   │   ├── mesh.modifier.BlobbyDivide.reference.k3d
│   │   ├── mesh.modifier.BlobbyMaximum.reference.k3d
│   │   ├── mesh.modifier.BlobbyMinimum.reference.k3d
│   │   ├── mesh.modifier.BlobbyMultiply.reference.k3d
│   │   ├── mesh.modifier.BlobbyNegate.reference.k3d
│   │   ├── mesh.modifier.BlobbySubtract.reference.k3d
│   │   ├── mesh.modifier.BridgeEdges.reference.k3d
│   │   ├── mesh.modifier.BridgeEdges.source.k3d
│   │   ├── mesh.modifier.BridgeFaces.reference.k3d
│   │   ├── mesh.modifier.BridgeFaces.source.k3d
│   │   ├── mesh.modifier.BulgePoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.BulgePoints.reference.k3d
│   │   ├── mesh.modifier.CARVEBoolean.benchmark.reference.k3d
│   │   ├── mesh.modifier.CARVEBoolean.cubes.reference.k3d
│   │   ├── mesh.modifier.CARVEBoolean.cylinders.reference.k3d
│   │   ├── mesh.modifier.CARVEBoolean.input.a.ply
│   │   ├── mesh.modifier.CARVEBoolean.input.b.ply
│   │   ├── mesh.modifier.CARVEBoolean.ply.reference.k3d
│   │   ├── mesh.modifier.CGALBoolean.benchmark.reference.k3d
│   │   ├── mesh.modifier.CGALBoolean.cubes.reference.k3d
│   │   ├── mesh.modifier.CGALBoolean.cylinders.reference.k3d
│   │   ├── mesh.modifier.CalculateNormals.2.reference.k3d
│   │   ├── mesh.modifier.CalculateNormals.reference.k3d
│   │   ├── mesh.modifier.CapHoles.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.CapHoles.reference.k3d
│   │   ├── mesh.modifier.CatmullClark.complex.reference.k3d
│   │   ├── mesh.modifier.CatmullClark.cube.reference.k3d
│   │   ├── mesh.modifier.CatmullClark.reference.k3d
│   │   ├── mesh.modifier.CenterPoints.reference.k3d
│   │   ├── mesh.modifier.CollapseEdges.reference.k3d
│   │   ├── mesh.modifier.CollapseFaces.reference.k3d
│   │   ├── mesh.modifier.CollapsePoints.reference.k3d
│   │   ├── mesh.modifier.ConnectVertices.reference.k3d
│   │   ├── mesh.modifier.CreateTrimCurve.reference.k3d
│   │   ├── mesh.modifier.CylindricalWavePoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.CylindricalWavePoints.reference.k3d
│   │   ├── mesh.modifier.DeformationExpression.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.DeformationExpression.reference.k3d
│   │   ├── mesh.modifier.DeleteComponents.complex.reference.k3d
│   │   ├── mesh.modifier.DeleteComponents.edge.reference.k3d
│   │   ├── mesh.modifier.DeleteComponents.face.reference.k3d
│   │   ├── mesh.modifier.DeleteComponents.point.reference.k3d
│   │   ├── mesh.modifier.EdgesToBlobby.reference.k3d
│   │   ├── mesh.modifier.EulerKillEdgeAndVertex.reference.k3d
│   │   ├── mesh.modifier.EulerKillEdgeMakeLoop.reference.k3d
│   │   ├── mesh.modifier.ExtrudeFaces.reference.k3d
│   │   ├── mesh.modifier.LinearPointNoise.reference.k3d
│   │   ├── mesh.modifier.LinearWavePoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.LinearWavePoints.reference.k3d
│   │   ├── mesh.modifier.MakeHole.reference.k3d
│   │   ├── mesh.modifier.MergeCollinearEdges.reference.k3d
│   │   ├── mesh.modifier.MergeCoplanarFaces.reference.k3d
│   │   ├── mesh.modifier.MergeMesh.generic.reference.k3d
│   │   ├── mesh.modifier.MergeMesh.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.MergeMesh.reference.k3d
│   │   ├── mesh.modifier.MergePolyhedra.reference.k3d
│   │   ├── mesh.modifier.MeshArray1D.reference.k3d
│   │   ├── mesh.modifier.MeshArray2D.reference.k3d
│   │   ├── mesh.modifier.MeshArray3D.reference.k3d
│   │   ├── mesh.modifier.MorphPoints.reference.k3d
│   │   ├── mesh.modifier.MoveFirstEdge.reference.k3d
│   │   ├── mesh.modifier.NurbsAddTrimCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsAddTrimCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsCloseCurve1.reference.k3d
│   │   ├── mesh.modifier.NurbsCloseCurve2.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsCloseCurve2.reference.k3d
│   │   ├── mesh.modifier.NurbsConnectCurves.reference.k3d
│   │   ├── mesh.modifier.NurbsCreateCap.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsCreateCap.reference.k3d
│   │   ├── mesh.modifier.NurbsCurveInsertKnot.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsCurveInsertKnot.reference.k3d
│   │   ├── mesh.modifier.NurbsCurveTraversal.reference.k3d
│   │   ├── mesh.modifier.NurbsDegreeElevateCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsEditKnotVector.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsEditKnotVector.reference.k3d
│   │   ├── mesh.modifier.NurbsExtractCurvePoint.reference.k3d
│   │   ├── mesh.modifier.NurbsExtractPatchCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsExtractPatchCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsExtractTrimCurves.reference.k3d
│   │   ├── mesh.modifier.NurbsExtrudeCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsExtrudeCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsExtrudePatch.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsExtrudePatch.reference.k3d
│   │   ├── mesh.modifier.NurbsFlipCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsFlipCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsMergeConnectedCurves.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsMergeConnectedCurves.reference.k3d
│   │   ├── mesh.modifier.NurbsMergeCurveKnotVectors.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsMergeCurveKnotVectors.reference.k3d
│   │   ├── mesh.modifier.NurbsPatchDegreeElevation.reference.k3d
│   │   ├── mesh.modifier.NurbsPatchInsertKnot.reference.k3d
│   │   ├── mesh.modifier.NurbsPolygonizeCurve.reference.3.k3d
│   │   ├── mesh.modifier.NurbsPolygonizeCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsPolygonizeCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsPolygonizePatch.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsPolygonizePatch.reference.k3d
│   │   ├── mesh.modifier.NurbsRevolveCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsRevolveCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsRuledSurface.reference.k3d
│   │   ├── mesh.modifier.NurbsSetWeight1.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsSetWeight1.reference.k3d
│   │   ├── mesh.modifier.NurbsSetWeight2.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.NurbsSetWeight2.reference.k3d
│   │   ├── mesh.modifier.NurbsSkinnedSurface.reference.k3d
│   │   ├── mesh.modifier.NurbsSplitCurve.reference.k3d
│   │   ├── mesh.modifier.NurbsSplitPatch1.reference.k3d
│   │   ├── mesh.modifier.NurbsSplitPatch2.reference.k3d
│   │   ├── mesh.modifier.NurbsSweepSurface.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.bun_zipper_res4.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.bunny.ply
│   │   ├── mesh.modifier.PGPRemesh.bunny.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.high.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.torus.ply
│   │   ├── mesh.modifier.PGPRemesh.torus.reference.k3d
│   │   ├── mesh.modifier.PGPRemesh.triang.reference.k3d
│   │   ├── mesh.modifier.PointsToBlobby.reference.k3d
│   │   ├── mesh.modifier.PointsToParticles.reference.k3d
│   │   ├── mesh.modifier.PolyToBilinear.reference.k3d
│   │   ├── mesh.modifier.QSlim.reference.k3d
│   │   ├── mesh.modifier.QuadrilateralRemeshing.reference.k3d
│   │   ├── mesh.modifier.RotatePoints.reference.k3d
│   │   ├── mesh.modifier.SDSCorner.reference.k3d
│   │   ├── mesh.modifier.SDSCrease.reference.k3d
│   │   ├── mesh.modifier.SDSHole.reference.k3d
│   │   ├── mesh.modifier.ScalePoints.reference.k3d
│   │   ├── mesh.modifier.SelectConnectedComponents.reference.k3d
│   │   ├── mesh.modifier.SelectCube.reference.k3d
│   │   ├── mesh.modifier.SelectNSided.reference.k3d
│   │   ├── mesh.modifier.SelectedFacesToPolyhedron.reference.k3d
│   │   ├── mesh.modifier.SetColor.reference.k3d
│   │   ├── mesh.modifier.SetPosition.reference.k3d
│   │   ├── mesh.modifier.ShearPoints.reference.k3d
│   │   ├── mesh.modifier.SimplifyPolyhedra.reference.k3d
│   │   ├── mesh.modifier.SmoothPoints.reference.k3d
│   │   ├── mesh.modifier.SphereizePoints.reference.k3d
│   │   ├── mesh.modifier.SubdivideEdges.reference.k3d
│   │   ├── mesh.modifier.SubdivideFaces.Center.reference.k3d
│   │   ├── mesh.modifier.SubdivideFaces.CenterMidpoints.reference.k3d
│   │   ├── mesh.modifier.SubdivideFaces.Midpoints.reference.k3d
│   │   ├── mesh.modifier.TaperPoints.reference.Darwin-i386.k3d
│   │   ├── mesh.modifier.TaperPoints.reference.k3d
│   │   ├── mesh.modifier.TransformPoints.reference.k3d
│   │   ├── mesh.modifier.TranslatePoints.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.PolyCube.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.PolyGrid.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.PolyGrid.selection.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.self_intersection.reference.k3d
│   │   ├── mesh.modifier.TriangulateFaces.vertex.reference.k3d
│   │   ├── mesh.modifier.TwistPoints.reference.k3d
│   │   ├── mesh.modifier.WeldPoints.reference.k3d
│   │   ├── mesh.selection.GrowSelection.reference.k3d
│   │   ├── mesh.selection.SelectBoundaryEdges.reference.k3d
│   │   ├── mesh.selection.SelectDegenerateFaces.reference.k3d
│   │   ├── mesh.selection.all.reference.k3d
│   │   ├── mesh.selection.none.reference.k3d
│   │   ├── mesh.selection.null.reference.k3d
│   │   ├── mesh.selection.points.reference.k3d
│   │   ├── mesh.sink.K3DMeshWriter.reference.k3d
│   │   ├── mesh.sink.OBJMeshWriter.reference.k3d
│   │   ├── mesh.sink.PLYMeshWriter.reference.k3d
│   │   ├── mesh.sink.STLMeshWriter.magics.reference.k3d
│   │   ├── mesh.sink.STLMeshWriter.magics.stl
│   │   ├── mesh.sink.STLMeshWriter.reference.k3d
│   │   ├── mesh.sink.STLMeshWriter.viscam.reference.k3d
│   │   ├── mesh.source.3DSMeshReader.test.3ds
│   │   ├── mesh.source.3DSMeshReader.test.reference.k3d
│   │   ├── mesh.source.BlobbyEllipsoid.reference.k3d
│   │   ├── mesh.source.BlobbySegment.reference.k3d
│   │   ├── mesh.source.COLLADAMeshReader.duck.dae
│   │   ├── mesh.source.COLLADAMeshReader.duck.reference.k3d
│   │   ├── mesh.source.GTSMeshReader.cube.gts
│   │   ├── mesh.source.GTSMeshReader.cube.reference.k3d
│   │   ├── mesh.source.GTSMeshReader.gz.cube.reference.k3d
│   │   ├── mesh.source.GTSPolySphere.reference.k3d
│   │   ├── mesh.source.LSystemParser.reference.k3d
│   │   ├── mesh.source.LeastSquaresPlot.reference.k3d
│   │   ├── mesh.source.LinearKnot.reference.Darwin-i386.k3d
│   │   ├── mesh.source.LinearKnot.reference.k3d
│   │   ├── mesh.source.LinearLissajousCurve.reference.Darwin-i386.k3d
│   │   ├── mesh.source.LinearLissajousCurve.reference.k3d
│   │   ├── mesh.source.MD2MeshReader.md2
│   │   ├── mesh.source.MD2MeshReader.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.bezier_triangle_patches.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.bicubic.patches.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.bilinear.patches.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.blobby.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.cones.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.cubic.curves.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.cylinders.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.disks.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.hyperboloids.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.linear.curves.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.nurbs.curves.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.nurbs.patches.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.paraboloids.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.particles.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.polyhedra.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.simple_polyhedron.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.spheres.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.teapots.reference.k3d
│   │   ├── mesh.source.MeshSourceScript.tori.reference.k3d
│   │   ├── mesh.source.Newell.teacup.reference.k3d
│   │   ├── mesh.source.Newell.teapot.reference.k3d
│   │   ├── mesh.source.Newell.teaspoon.reference.k3d
│   │   ├── mesh.source.NurbsCircle.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsCircle.reference.k3d
│   │   ├── mesh.source.NurbsCone.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsCone.reference.k3d
│   │   ├── mesh.source.NurbsCurve.reference.k3d
│   │   ├── mesh.source.NurbsCylinder.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsCylinder.reference.k3d
│   │   ├── mesh.source.NurbsDisk.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsDisk.reference.k3d
│   │   ├── mesh.source.NurbsGrid.reference.k3d
│   │   ├── mesh.source.NurbsHyperboloid.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsHyperboloid.reference.k3d
│   │   ├── mesh.source.NurbsParaboloid.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsParaboloid.reference.k3d
│   │   ├── mesh.source.NurbsPolygon.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsPolygon.reference.k3d
│   │   ├── mesh.source.NurbsSphere.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsSphere.reference.k3d
│   │   ├── mesh.source.NurbsTorus.reference.Darwin-i386.k3d
│   │   ├── mesh.source.NurbsTorus.reference.k3d
│   │   ├── mesh.source.OBJMeshReader.nurbs.obj
│   │   ├── mesh.source.OBJMeshReader.nurbs.reference.k3d
│   │   ├── mesh.source.OBJMeshReader.polyhedron.obj
│   │   ├── mesh.source.OBJMeshReader.polyhedron.reference.k3d
│   │   ├── mesh.source.PLYMeshReader.ply
│   │   ├── mesh.source.PLYMeshReader.reference.k3d
│   │   ├── mesh.source.PolyCone.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyCone.reference.k3d
│   │   ├── mesh.source.PolyCube.reference.k3d
│   │   ├── mesh.source.PolyCushion.reference.k3d
│   │   ├── mesh.source.PolyCylinder.caps.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyCylinder.caps.reference.k3d
│   │   ├── mesh.source.PolyCylinder.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyCylinder.reference.k3d
│   │   ├── mesh.source.PolyDisk.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyDisk.reference.k3d
│   │   ├── mesh.source.PolyGrid.reference.k3d
│   │   ├── mesh.source.PolyGridAndTransformPoints.reference.k3d
│   │   ├── mesh.source.PolyIcosahedron.reference.k3d
│   │   ├── mesh.source.PolySphere.1.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolySphere.1.reference.k3d
│   │   ├── mesh.source.PolySphere.2.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolySphere.2.reference.k3d
│   │   ├── mesh.source.PolySphere.3.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolySphere.3.reference.k3d
│   │   ├── mesh.source.PolyText.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyText.reference.k3d
│   │   ├── mesh.source.PolyTorus.reference.Darwin-i386.k3d
│   │   ├── mesh.source.PolyTorus.reference.k3d
│   │   ├── mesh.source.QuadricCone.reference.k3d
│   │   ├── mesh.source.QuadricCylinder.reference.k3d
│   │   ├── mesh.source.QuadricDisk.reference.k3d
│   │   ├── mesh.source.QuadricHyperboloid.reference.k3d
│   │   ├── mesh.source.QuadricLogo.reference.Darwin-i386.k3d
│   │   ├── mesh.source.QuadricLogo.reference.k3d
│   │   ├── mesh.source.QuadricParaboloid.reference.k3d
│   │   ├── mesh.source.QuadricSphere.reference.k3d
│   │   ├── mesh.source.QuadricTorus.reference.k3d
│   │   ├── mesh.source.STLMeshReader.magics.reference.k3d
│   │   ├── mesh.source.STLMeshReader.reference.k3d
│   │   ├── mesh.source.STLMeshReader.stl
│   │   ├── mesh.source.STLMeshReader.viscam.reference.k3d
│   │   ├── mesh.source.STLMeshReader.viscam.stl
│   │   ├── mesh.source.SVGMeshReader.reference.k3d
│   │   ├── mesh.source.SphereEversion.reference.k3d
│   │   ├── mesh.source.SurfacePlot.reference.k3d
│   │   ├── mesh.source.Teapot.reference.k3d
│   │   ├── modifier.DissolveFaces.reference.k3d
│   │   ├── ngui.tools.move.reference.k3d
│   │   ├── ngui.tools.rotate.reference.k3d
│   │   ├── polyhedron.hole.k3d
│   │   ├── random_bytes
│   │   ├── source.UniformPolyhedron.reference.k3d
│   │   └── zero_bytes
│   ├── ngui/
│   │   ├── CMakeLists.txt
│   │   ├── MoveTool.py
│   │   ├── RotateTool.py
│   │   ├── icons.missing.py
│   │   ├── icons.unexpected.py
│   │   └── icons.unrasterized.py
│   ├── offscreen/
│   │   ├── CMakeLists.txt
│   │   ├── offscreen.GLXCameraToBitmap.py
│   │   ├── offscreen.OpenGLFramebufferCameraToBitmap.py
│   │   ├── offscreen.VirtualCameraToBitmap.py
│   │   └── offscreen.WGLCameraToBitmap.py
│   ├── other/
│   │   ├── CMakeLists.txt
│   │   ├── document.create.py
│   │   ├── document.importer.bogus_input.py
│   │   ├── document.serialization.properties.py
│   │   └── notifier.InotifyFileChangeNotifier.py
│   ├── parallel/
│   │   ├── CMakeLists.txt
│   │   ├── grain_size.ScalePoints.py
│   │   └── thread_count.ScalePoints.py
│   ├── platform/
│   │   ├── CMakeLists.txt
│   │   ├── platform_configuration.py
│   │   ├── platform_floating_point.cpp
│   │   ├── platform_normalized.cpp
│   │   ├── platform_statistics.cpp
│   │   └── platform_types.cpp
│   ├── python/
│   │   ├── CMakeLists.txt
│   │   ├── angle_axis.py
│   │   ├── document_environment.py
│   │   ├── get_dependency.py
│   │   ├── module.py
│   │   ├── named_arrays.py
│   │   ├── node_selection.py
│   │   ├── property_linking.py
│   │   ├── property_value.py
│   │   ├── renderman_attributes.py
│   │   ├── renderman_options.py
│   │   └── user_properties.py
│   ├── sdk/
│   │   ├── CMakeLists.txt
│   │   ├── array_metadata.cpp
│   │   ├── bitmap_conversion.cpp
│   │   ├── circular_signals.cpp
│   │   ├── data_sizes.cpp
│   │   ├── difference.cpp
│   │   ├── document_upgrade.cpp
│   │   ├── float_to_string.cpp
│   │   ├── hint_mapping.cpp
│   │   ├── non_blocking_server.cpp
│   │   ├── nurbs_deserialize.cpp
│   │   ├── nurbs_evaluate.cpp
│   │   ├── nurbs_serialize.cpp
│   │   ├── path_decomposition.cpp
│   │   ├── pipeline_data.cpp
│   │   ├── program_options.cpp
│   │   ├── relative_path.cpp
│   │   ├── selection_equality.cpp
│   │   ├── selection_serialization.cpp
│   │   ├── shared_dynamic_cast.cpp
│   │   ├── shared_dynamic_cast_config.h.in
│   │   ├── shared_dynamic_cast_library.cpp
│   │   ├── shared_dynamic_cast_library.h
│   │   ├── uuid.cpp
│   │   ├── xml_input.cpp
│   │   ├── xml_output.cpp
│   │   ├── xml_sanity_checks.cpp
│   │   └── xml_xpath.cpp
│   ├── shaders/
│   │   ├── CMakeLists.txt
│   │   ├── displacement_shader_test.k3d
│   │   ├── light_shader_test.k3d
│   │   ├── surface_shader_test.k3d
│   │   └── volume_shader_test.k3d
│   ├── string/
│   │   ├── CMakeLists.txt
│   │   └── source.StringSourceScript.py
│   ├── testing/
│   │   ├── CMakeLists.txt
│   │   ├── PipelineProfiler.py
│   │   ├── detect_language_failure
│   │   ├── detect_python.py
│   │   ├── detect_python_exception.py
│   │   ├── detect_python_failure.py
│   │   └── measurements.py
│   ├── testing.py
│   └── vector3/
│       ├── CMakeLists.txt
│       └── source.Vector3SourceScript.py
├── uuidgen/
│   ├── CMakeLists.txt
│   └── main.cpp
└── web/
    ├── CMakeLists.txt
    ├── developer/
    │   ├── dashboard-index.html
    │   ├── dashboard.html
    │   ├── developer.css
    │   ├── documentation.html
    │   ├── index.html
    │   ├── logo.xcf
    │   ├── navigation.html
    │   └── tracker/
    │       ├── issue.html
    │       ├── navigation.html
    │       ├── project.html
    │       ├── release.html
    │       ├── tracker
    │       └── tracker.css
    ├── k3d.css
    ├── planet/
    │   ├── index.html
    │   ├── logo.xcf
    │   ├── planet
    │   └── planet.css
    └── www/
        ├── donations.html
        ├── downloads.html
        ├── index.html
        ├── maintenance.html
        ├── navigation.html
        ├── resources/
        │   └── banner
        └── video.html
Download .txt
Showing preview only (870K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (10113 symbols across 1711 files)

FILE: application/k3d_main.cpp
  function handle_error (line 117) | void handle_error(const k3d::string_t& Message, k3d::bool_t& Quit, k3d::...
  function startup_message_handler (line 129) | void startup_message_handler(const k3d::string_t& Message)
  function exit_request_handler (line 141) | k3d::bool_t exit_request_handler()
  function set_default_options (line 153) | void set_default_options(k3d::bool_t& Quit, k3d::bool_t& Error)
  function arguments_t (line 210) | const arguments_t parse_log_arguments(const arguments_t& Arguments, k3d:...
  function arguments_t (line 271) | const arguments_t parse_startup_arguments(const arguments_t& Arguments, ...
  function check_dependencies (line 350) | void check_dependencies(k3d::bool_t& Quit, k3d::bool_t& Error)
  function create_user_interface (line 426) | void create_user_interface(k3d::plugin_factory_collection& Plugins, k3d:...
  function load_modules (line 467) | void load_modules(k3d::plugin_factory_collection& Plugins, k3d::bool_t& ...
  function arguments_t (line 476) | const arguments_t parse_runtime_arguments(const arguments_t& Arguments, ...
  function check_unused_arguments (line 569) | void check_unused_arguments(const arguments_t& Arguments, k3d::bool_t& Q...
  function create_auto_start_plugins (line 585) | void create_auto_start_plugins(auto_start_plugins_t& Plugins)
  function delete_auto_start_plugins (line 617) | void delete_auto_start_plugins(auto_start_plugins_t& Plugins)
  function k3d_main (line 637) | int k3d_main(std::vector<k3d::string_t> raw_arguments)

FILE: application/main.cpp
  function main (line 27) | int main(int argc, char* argv[])

FILE: application/winmain.cpp
  function WinMain (line 29) | int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR l...

FILE: configuration/size_type.cpp
  function main (line 3) | int main(int argc, char* argv[])

FILE: docs/sample_module/module.cpp
  type module (line 8) | namespace module
    type sample (line 11) | namespace sample
      class plugin (line 14) | class plugin :
        method plugin (line 18) | plugin(k3d::iplugin_factory& Factory, k3d::idocument& Document) :

FILE: docs/wiki/make-wiki-docs-plugins.py
  function plugin_sort (line 10) | def plugin_sort(lhs, rhs):

FILE: gendef/gendef.cc
  function main (line 35) | int main(int argc,char** argv)

FILE: k3dsdk/Half/eLut.cpp
  function initELut (line 52) | void
  function main (line 85) | int

FILE: k3dsdk/Half/half.cpp
  function testNormalized (line 227) | void
  function testDenormalized (line 244) | void
  function ostream (line 294) | ostream &
  function istream (line 302) | istream &
  function printBits (line 317) | void
  function printBits (line 332) | void
  function printBits (line 348) | void
  function printBits (line 365) | void

FILE: k3dsdk/Half/half.h
  function class (line 109) | class half
  function isNan (line 691) | inline bool
  function half (line 716) | inline half
  function half (line 725) | inline half
  function half (line 734) | inline half
  function half (line 743) | inline half
  function setBits (line 759) | inline void

FILE: k3dsdk/Half/halfLimits.h
  function namespace (line 55) | namespace std {

FILE: k3dsdk/Half/toFloat.cpp
  function halfToFloat (line 61) | unsigned int
  function main (line 134) | int

FILE: k3dsdk/algebra.h
  function namespace (line 57) | namespace k3d
  function quaternion (line 880) | inline quaternion::quaternion()
  function quaternion (line 883) | inline quaternion::quaternion(const double u, const point3& t)
  function quaternion (line 886) | inline quaternion::quaternion(const double u, const vector3& t)
  function quaternion (line 889) | inline quaternion::quaternion(const double u, const double x, const doub...
  function quaternion (line 892) | inline quaternion::quaternion(const angle_axis& AngleAxis)
  function quaternion (line 895) | inline quaternion::quaternion(euler_angles Angles)
  function quaternion (line 940) | inline quaternion& quaternion::operator*=(const double d)
  function quaternion (line 943) | inline quaternion& quaternion::operator/=(const double d)
  function quaternion (line 953) | inline quaternion& quaternion::operator+=(const quaternion& q)
  function quaternion (line 956) | inline quaternion& quaternion::operator-=(const quaternion& q)
  function quaternion (line 959) | inline quaternion& quaternion::operator*=(const quaternion& q)
  function quaternion (line 962) | inline quaternion& quaternion::operator/=(const quaternion& q)
  function Magnitude (line 965) | inline double quaternion::Magnitude() const
  function quaternion (line 976) | inline quaternion& quaternion::Conjugate()
  function quaternion (line 979) | inline quaternion& quaternion::Inverse()
  function quaternion (line 982) | inline quaternion& quaternion::Square()
  function quaternion (line 985) | inline quaternion& quaternion::AxisRotation(const double phi)
  function d (line 1009) | double d)
  function angle_axis (line 1038) | inline angle_axis::angle_axis()
  function angle_axis (line 1041) | inline angle_axis::angle_axis(const double Angle, const point3& Axis)
  function angle_axis (line 1044) | inline angle_axis::angle_axis(const double Angle, const vector3& Axis)
  function angle_axis (line 1047) | inline angle_axis::angle_axis(const double Angle, const double X, const ...
  function angle_axis (line 1050) | inline angle_axis::angle_axis(const double AngleAxis[4])
  function angle_axis (line 1053) | inline angle_axis::angle_axis(const quaternion& Quaternion)
  function angle_axis (line 1067) | inline angle_axis::angle_axis(const angle_axis& AngleAxis)
  function CopyArray (line 1090) | inline void angle_axis::CopyArray(float AngleAxis[4]) const
  function CopyArray (line 1093) | inline void angle_axis::CopyArray(double AngleAxis[4]) const
  function quaternion (line 1122) | inline quaternion Slerp(const quaternion& q1, const quaternion& q2, doub...
  function euler_angles (line 1146) | inline euler_angles::euler_angles()
  function euler_angles (line 1152) | inline euler_angles::euler_angles(point3 Angles, AngleOrder Order)
  function euler_angles (line 1160) | inline euler_angles::euler_angles(double X, double Y, double Z, AngleOrd...
  function euler_angles (line 1168) | inline euler_angles::euler_angles(const quaternion& Quaternion, AngleOrd...
  function euler_angles (line 1192) | inline euler_angles::euler_angles(const matrix4& Matrix, AngleOrder Order)
  function Axes (line 1246) | inline void euler_angles::Axes(AngleOrder& Order, int& i, int& j, int& k)
  function const (line 1262) | inline double euler_angles::operator[](int i) const
  function namespace (line 1284) | namespace difference

FILE: k3dsdk/application.cpp
  type k3d (line 37) | namespace k3d
    function register_application (line 40) | void register_application(k3d::iapplication& Application)
    function iapplication (line 46) | iapplication& application()

FILE: k3dsdk/application.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/application_detail.cpp
  type k3d (line 46) | namespace k3d
    class application_implementation::implementation (line 53) | class application_implementation::implementation :
      method implementation (line 57) | implementation()
      method exit (line 71) | bool exit()
      method close_document (line 114) | void close_document(k3d::idocument& Document)
      method documents (line 145) | const k3d::iapplication::document_collection_t documents()
      method connect_close_signal (line 155) | sigc::connection connect_close_signal(const sigc::slot<void>& Slot)
      method connect_close_document_signal (line 160) | sigc::connection connect_close_document_signal(const sigc::slot<void...
    function iapplication (line 194) | iapplication& application_implementation::interface()

FILE: k3dsdk/application_detail.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/application_plugin_factory.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/array.cpp
  type k3d (line 23) | namespace k3d
    function string_t (line 59) | const string_t array::get_metadata_value(const string_t& Name) const

FILE: k3dsdk/array.h
  function class (line 33) | class array

FILE: k3dsdk/aspect_ratios.cpp
  type k3d (line 30) | namespace k3d
    function aspect_ratios_t (line 33) | const aspect_ratios_t& aspect_ratios()

FILE: k3dsdk/aspect_ratios.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/axis.cpp
  type k3d (line 30) | namespace k3d

FILE: k3dsdk/axis.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/base64.cpp
  type k3d (line 218) | namespace k3d
    type base64 (line 221) | namespace base64
      function encodeblock (line 231) | void encodeblock( unsigned char in[3], unsigned char out[4], int len )
      function encode (line 239) | void encode(std::istream& Input, std::ostream& Output, const unsigne...
      function decodeblock (line 272) | void decodeblock( unsigned char in[4], unsigned char out[3] )
      function decode (line 279) | void decode(std::istream& Input, std::ostream& Output)

FILE: k3dsdk/base64.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/basic_math.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/batch_mode.cpp
  type k3d (line 29) | namespace k3d
    type detail (line 32) | namespace detail
    function set_batch_mode (line 40) | void set_batch_mode(const bool Mode)
    function bool_t (line 45) | bool_t batch_mode()

FILE: k3dsdk/batch_mode.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/batch_mode_init.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/bezier.cpp
  type k3d (line 27) | namespace k3d
    function BernsteinBasis (line 30) | double BernsteinBasis(const unsigned long Order, const unsigned long C...

FILE: k3dsdk/bezier.h
  function namespace (line 35) | namespace k3d
  function Parameter (line 75) | double Parameter)

FILE: k3dsdk/bezier_private.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/bezier_triangle_patch.cpp
  type k3d (line 32) | namespace k3d
    type bezier_triangle_patch (line 35) | namespace bezier_triangle_patch
      function primitive (line 97) | primitive* create(mesh& Mesh)
      function const_primitive (line 123) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 178) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 233) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/bezier_triangle_patch.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/bicubic_patch.cpp
  type k3d (line 28) | namespace k3d
    type bicubic_patch (line 31) | namespace bicubic_patch
      function primitive (line 81) | primitive* create(mesh& Mesh)
      function const_primitive (line 104) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 141) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 178) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/bicubic_patch.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/bilinear_patch.cpp
  type k3d (line 28) | namespace k3d
    type bilinear_patch (line 31) | namespace bilinear_patch
      function primitive (line 81) | primitive* create(mesh& Mesh)
      function const_primitive (line 104) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 141) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 178) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/bilinear_patch.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/bitmap.h
  function namespace (line 43) | namespace boost
  function namespace (line 82) | namespace k3d

FILE: k3dsdk/bitmap_modifier.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/bitmap_sink.h
  function namespace (line 28) | namespace k3d

FILE: k3dsdk/bitmap_source.h
  function namespace (line 31) | namespace k3d
  function execute (line 72) | void execute(const std::vector<ihint*>& Hints, bitmap& Bitmap)

FILE: k3dsdk/blobby.cpp
  type k3d (line 25) | namespace k3d
    type blobby (line 28) | namespace blobby
      function primitive (line 118) | primitive* create(mesh& Mesh)
      function const_primitive (line 148) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 194) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 240) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/blobby.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/boost_throw_exception.cpp
  type boost (line 26) | namespace boost
    function throw_exception (line 30) | void throw_exception(std::exception const & e)

FILE: k3dsdk/bounding_box3.cpp
  type k3d (line 28) | namespace k3d
    function bounding_box3 (line 31) | bounding_box3& bounding_box3::operator*=(const matrix4 Transformation)
    function bounding_box3 (line 48) | bounding_box3 operator*(const bounding_box3& BBox, const matrix4& Tran...
    function bounding_box3 (line 56) | bounding_box3 operator*(const matrix4& Transformation, const bounding_...

FILE: k3dsdk/bounding_box3.h
  function namespace (line 36) | namespace k3d

FILE: k3dsdk/classes.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/color.h
  function namespace (line 43) | namespace k3d
  type SampleTraits (line 355) | typedef SampleTraits sample_traits;
  type basic_alpha (line 356) | typedef basic_alpha<sample_type, sample_traits> this_type;
  function alpha (line 365) | basic_alpha(const sample_type Alpha) :
  function alpha (line 388) | basic_alpha(const basic_hsv& RHS) :
  type SampleTraits (line 420) | typedef SampleTraits sample_traits;
  type basic_luma (line 421) | typedef basic_luma<sample_type, sample_traits> this_type;
  function luma (line 430) | basic_luma(const sample_type Luma) :
  function luma (line 453) | basic_luma(const basic_hsv& RHS) :
  type SampleTraits (line 485) | typedef SampleTraits sample_traits;
  type basic_luma_alpha (line 486) | typedef basic_luma_alpha<sample_type, sample_traits> this_type;
  function alpha (line 490) | luma(sample_traits::minimum()),
  type SampleTraits (line 563) | typedef SampleTraits sample_traits;
  type basic_rgb (line 564) | typedef basic_rgb<sample_type, sample_traits> this_type;
  function double_t (line 668) | const double_t* data() const
  type SampleTraits (line 730) | typedef SampleTraits sample_traits;
  type basic_rgba (line 731) | typedef basic_rgba<sample_type, sample_traits> this_type;
  type basic_rgb (line 818) | typedef basic_rgb<double_t> color;
  function namespace (line 821) | namespace difference

FILE: k3dsdk/color_source.h
  function namespace (line 28) | namespace k3d

FILE: k3dsdk/component.cpp
  type k3d (line 31) | namespace k3d
    function uint_t (line 52) | const uint_t component_size(const mesh::primitive& Primitive, const st...

FILE: k3dsdk/component.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/cone.cpp
  type k3d (line 26) | namespace k3d
    type cone (line 29) | namespace cone
      function primitive (line 87) | primitive* create(mesh& Mesh)
      function const_primitive (line 111) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 147) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 183) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/cone.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/contributors.cpp
  type k3d (line 23) | namespace k3d
    function contributors_t (line 37) | const contributors_t& contributors()

FILE: k3dsdk/contributors.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/convert.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/cubic_curve.cpp
  type k3d (line 28) | namespace k3d
    type cubic_curve (line 31) | namespace cubic_curve
      function primitive (line 93) | primitive* create(mesh& Mesh)
      function const_primitive (line 119) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 160) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 201) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/cubic_curve.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/cylinder.cpp
  type k3d (line 26) | namespace k3d
    type cylinder (line 29) | namespace cylinder
      function primitive (line 91) | primitive* create(mesh& Mesh)
      function const_primitive (line 116) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 153) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 190) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/cylinder.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/data.cpp
  type k3d (line 27) | namespace k3d
    type data (line 68) | namespace data
      function iproperty (line 71) | iproperty* property_lookup(iproperty* const Source)
      function load_external_resource (line 167) | void load_external_resource(xml::element& Element, const ipersistent...

FILE: k3dsdk/data.h
  function namespace (line 58) | namespace k3d
  function std (line 512) | const std::string property_name()
  function std (line 517) | const std::string property_label()
  function std (line 522) | const std::string property_description()
  function std (line 527) | const std::type_info& property_type()
  function boost (line 532) | const boost::any property_internal_value()
  function boost (line 545) | const boost::any property_pipeline_value()
  function inode (line 550) | inode* property_node()
  function typename (line 555) | typename name_policy_t::changed_signal_t& property_changed_signal()
  function iproperty (line 565) | iproperty* property_dependency()
  function property_set_dependency (line 570) | void property_set_dependency(iproperty* Dependency)
  function property_set_value (line 575) | bool property_set_value(const boost::any Value, ihint* const Hint)
  function std (line 639) | const std::string property_name()
  function std (line 644) | const std::string property_label()
  function std (line 649) | const std::string property_description()
  function std (line 654) | const std::type_info& property_type()
  function boost (line 659) | const boost::any property_internal_value()
  function boost (line 664) | const boost::any property_pipeline_value()
  function inode (line 669) | inode* property_node()
  function typename (line 674) | typename name_policy_t::changed_signal_t& property_changed_signal()
  function iproperty (line 684) | iproperty* property_dependency()
  function property_set_dependency (line 689) | void property_set_dependency(iproperty* Dependency)
  function property_set_value (line 694) | bool property_set_value(const boost::any Value, ihint* const Hint)
  function std (line 708) | const std::string property_path_type()
  function set_property_path_reference (line 718) | void set_property_path_reference(const ipath_property::reference_t Refer...
  function ipath_property (line 733) | const ipath_property::pattern_filters_t pattern_filters()
  function add_pattern_filter (line 738) | void add_pattern_filter(const ipath_property::pattern_filter& PatternFil...
  function std (line 797) | const std::string property_name()
  function std (line 802) | const std::string property_label()
  function std (line 807) | const std::string property_description()
  function std (line 812) | const std::type_info& property_type()
  function boost (line 817) | const boost::any property_internal_value()
  function boost (line 830) | const boost::any property_pipeline_value()
  function inode (line 835) | inode* property_node()
  function typename (line 840) | typename name_policy_t::changed_signal_t& property_changed_signal()
  function iproperty (line 850) | iproperty* property_dependency()
  function property_set_dependency (line 855) | void property_set_dependency(iproperty* Dependency)
  function property_set_value (line 860) | bool property_set_value(const boost::any Value, ihint* const Hint)
  function string_t (line 935) | const string_t property_name()
  function string_t (line 940) | const string_t property_label()
  function string_t (line 945) | const string_t property_description()
  function std (line 950) | const std::type_info& property_type()
  function boost (line 955) | const boost::any property_internal_value()
  function boost (line 968) | const boost::any property_pipeline_value()
  function inode (line 981) | inode* property_node()
  function typename (line 986) | typename name_policy_t::changed_signal_t& property_changed_signal()
  function iproperty (line 996) | iproperty* property_dependency()
  function property_set_dependency (line 1001) | void property_set_dependency(iproperty* Dependency)
  function property_set_value (line 1006) | bool property_set_value(const boost::any Value, ihint* const Hint)
  function enumeration_values_t (line 1024) | enumeration_values_t enumeration_values()
  function notify_enumeration_values_changed (line 1034) | void notify_enumeration_values_changed()
  function std (line 1088) | const std::string property_name()
  function std (line 1093) | const std::string property_label()
  function std (line 1098) | const std::string property_description()
  function std (line 1103) | const std::type_info& property_type()
  function boost (line 1108) | const boost::any property_internal_value()
  function boost (line 1113) | const boost::any property_pipeline_value()
  function inode (line 1118) | inode* property_node()
  function typename (line 1123) | typename name_policy_t::changed_signal_t& property_changed_signal()
  function iproperty (line 1133) | iproperty* property_dependency()
  function property_set_dependency (line 1138) | void property_set_dependency(iproperty* Dependency)
  function property_set_value (line 1143) | bool property_set_value(const boost::any Value, ihint* const Hint)
  function typename (line 1153) | typename ilist_property<value_t>::values_t property_values()
  function std (line 1206) | const std::string property_name()
  function std (line 1211) | const std::string property_label()
  function std (line 1216) | const std::string property_description()
  function std (line 1221) | const std::type_info& property_type()
  function boost (line 1226) | const boost::any property_internal_value()
  function boost (line 1231) | const boost::any property_pipeline_value()
  function inode (line 1236) | inode* property_node()
  function typename (line 1241) | typename name_policy_t::changed_signal_t& property_changed_signal()
  function iproperty (line 1251) | iproperty* property_dependency()
  function property_set_dependency (line 1256) | void property_set_dependency(iproperty* Dependency)
  function property_set_value (line 1261) | bool property_set_value(const boost::any Value, ihint* const Hint)
  function property_allow_none (line 1271) | bool property_allow_none()
  function property_allow (line 1276) | bool property_allow(iplugin_factory& Factory)
  function property_allow (line 1281) | bool property_allow(inode& Object)
  function std (line 1332) | const std::string property_name()
  function std (line 1337) | const std::string property_label()
  function std (line 1342) | const std::string property_description()
  function std (line 1347) | const std::type_info& property_type()
  function boost (line 1352) | const boost::any property_internal_value()
  function boost (line 1357) | const boost::any property_pipeline_value()
  function inode (line 1362) | inode* property_node()
  function typename (line 1367) | typename name_policy_t::changed_signal_t& property_changed_signal()
  function iproperty (line 1377) | iproperty* property_dependency()
  function property_set_dependency (line 1382) | void property_set_dependency(iproperty* Dependency)
  function property_set_value (line 1387) | bool property_set_value(const boost::any Value, ihint* const Hint)
  function property_step_increment (line 1397) | double property_step_increment()
  function std (line 1402) | const std::type_info& property_units()
  function value_t (line 1495) | const value_t constrain_value(const value_t Value)
  function constrain (line 1518) | void constrain(value_t& Value)
  function m_next_constraint (line 1528) | m_next_constraint(NextConstraint)
  function namespace (line 1540) | namespace constraint
  function value_t (line 1636) | const value_t constrain_value(value_t Value)
  function internal_set_value (line 1672) | void internal_set_value(const value_t& Value, ihint* const Hint)
  type with_undo (line 1709) | typedef with_undo<value_t, storage_policy_t> this_t;
  function internal_set_value (line 1712) | void internal_set_value(const value_t& Value, ihint* const Hint)
  function start_recording (line 1778) | void start_recording(istate_recorder& StateRecorder)
  function finish_recording (line 1792) | void finish_recording(istate_recorder& StateRecorder)
  function class (line 1803) | class value_container :
  function inode (line 1841) | inode* internal_node()
  function allow_none (line 1847) | bool allow_none()
  function allow (line 1853) | bool allow(iplugin_factory& Factory)
  function allow (line 1859) | bool allow(inode& Object)
  function virtual (line 1878) | virtual ~node_storage()
  function on_node_deleted (line 1882) | void on_node_deleted()
  function start_recording (line 1888) | void start_recording(istate_recorder& StateRecorder)
  function set_value (line 1895) | void set_value(value_t Value, ihint* const Hint)
  function finish_recording (line 1916) | void finish_recording(istate_recorder& StateRecorder)
  function class (line 1934) | class value_container :
  type pointer_storage (line 1969) | typedef pointer_storage<pointer_t, signal_policy_t> this_t;
  function set_initialize_slot (line 1972) | void set_initialize_slot(const sigc::slot<void, non_pointer_t&>& Slot)
  function set_update_slot (line 1979) | void set_update_slot(const sigc::slot<void, non_pointer_t&>& Slot)
  function pointer_t (line 2020) | pointer_t internal_value()
  function sigc (line 2155) | const sigc::connection connect_explicit_change_signal(const sigc::slot<v...
  function class (line 2250) | class name_t
  function initializer_t (line 2267) | inline const initializer_t<name_t> init_name(const char* const Name)
  function class (line 2273) | class label_t
  function initializer_t (line 2290) | inline const initializer_t<label_t> init_label(const char* const Label)
  function class (line 2296) | class description_t
  function initializer_t (line 2313) | inline const initializer_t<description_t> init_description(const char* c...
  function m_constraint (line 2324) | m_constraint(Constraint)
  function class (line 2344) | class path_mode_t
  function initializer_t (line 2361) | inline const initializer_t<path_mode_t> init_path_mode(const ipath_prope...
  function class (line 2367) | class path_type_t
  function initializer_t (line 2384) | inline const initializer_t<path_type_t> init_path_type(const std::string...
  function class (line 2390) | class enumeration_t
  function initializer_t (line 2407) | inline const initializer_t<enumeration_t> init_enumeration(const ienumer...
  function class (line 2438) | class step_increment_t
  function initializer_t (line 2455) | inline const initializer_t<step_increment_t> init_step_increment(const d...
  function class (line 2461) | class units_t
  function initializer_t (line 2478) | inline const initializer_t<units_t> init_units(const std::type_info& Units)
  function inode (line 2513) | inode* node() const
  function class (line 2529) | class external_owner_initializer_t
  function inode (line 2555) | inode* node() const
  function initializer_t (line 2567) | inline const initializer_t<external_owner_initializer_t> init_owner(idoc...
  function namespace (line 2599) | namespace detail
  function restore_state (line 2620) | void restore_state()
  function on_owned (line 2624) | void on_owned(bool Owned)
  type detail (line 2649) | typedef detail::instance_container<object_t> container_t;
  type detail (line 2673) | typedef detail::instance_container<object_t> container_t;

FILE: k3dsdk/dependencies.cpp
  type k3d (line 27) | namespace k3d

FILE: k3dsdk/dependencies.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/difference.h
  function namespace (line 36) | namespace k3d

FILE: k3dsdk/disk.cpp
  type k3d (line 26) | namespace k3d
    type disk (line 29) | namespace disk
      function primitive (line 87) | primitive* create(mesh& Mesh)
      function const_primitive (line 111) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 147) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 183) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/disk.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/document.cpp
  type k3d (line 60) | namespace k3d
    type detail (line 63) | namespace detail
      class state_recorder_implementation (line 70) | class state_recorder_implementation :
        method state_recorder_implementation (line 74) | state_recorder_implementation() :
        method delete_node (line 91) | void delete_node(node* const Node)
        method start_recording (line 101) | void start_recording(std::unique_ptr<state_change_set> ChangeSet, ...
        method state_change_set (line 120) | state_change_set* current_change_set()
        method stop_recording (line 125) | std::unique_ptr<state_change_set> stop_recording(const char* const...
        method commit_change_set (line 143) | void commit_change_set(std::unique_ptr<state_change_set> ChangeSet...
        method nodes_t (line 178) | const nodes_t& root_nodes()
        method node (line 183) | const node* current_node()
        method node (line 188) | const node* newest_node()
        method node (line 193) | const node* last_saved_node()
        method mark_saved (line 198) | void mark_saved()
        method set_current_node (line 204) | void set_current_node(const node* const Node)
        method connect_recording_done_signal (line 210) | sigc::connection connect_recording_done_signal(const sigc::slot<vo...
        method connect_node_added_signal (line 215) | sigc::connection connect_node_added_signal(const sigc::slot<void, ...
        method connect_current_node_changed_signal (line 220) | sigc::connection connect_current_node_changed_signal(const sigc::s...
        method connect_last_saved_node_changed_signal (line 225) | sigc::connection connect_last_saved_node_changed_signal(const sigc...
      class node_collection_implementation (line 253) | class node_collection_implementation :
        method node_collection_implementation (line 257) | node_collection_implementation(istate_recorder& StateRecorder) :
        method add_nodes (line 266) | void add_nodes(const nodes_t& Nodes)
        method remove_nodes (line 295) | void remove_nodes(const nodes_t& Nodes)
        method add_nodes_signal_t (line 320) | add_nodes_signal_t& add_nodes_signal()
        method remove_nodes_signal_t (line 325) | remove_nodes_signal_t& remove_nodes_signal()
        method rename_node_signal_t (line 330) | rename_node_signal_t& rename_node_signal()
        method on_close_document (line 335) | void on_close_document()
        class add_nodes_container (line 349) | class add_nodes_container :
          method add_nodes_container (line 353) | add_nodes_container(inode_collection& Collection, const inode_co...
          method restore_state (line 363) | void restore_state()
        class remove_nodes_container (line 373) | class remove_nodes_container :
          method remove_nodes_container (line 377) | remove_nodes_container(inode_collection& Collection, const inode...
          method restore_state (line 387) | void restore_state()
      class public_document_implementation (line 413) | class public_document_implementation :
        method public_document_implementation (line 419) | public_document_implementation(istate_recorder& StateRecorder, ino...
        method idocument (line 435) | idocument& document()
        method inode_collection (line 440) | inode_collection& nodes()
        method ipipeline (line 445) | ipipeline& pipeline()
        method ipipeline_profiler (line 450) | ipipeline_profiler& pipeline_profiler()
        method istate_recorder (line 455) | istate_recorder& state_recorder()
        method inode_name_map (line 460) | inode_name_map& unique_node_names()
        method iproperty (line 465) | iproperty& path()
        method iproperty (line 470) | iproperty& title()
      class document_implementation (line 502) | class document_implementation
        method document_implementation (line 505) | document_implementation() :
      function documents_t (line 539) | documents_t& documents()
    function idocument (line 547) | idocument* create_document()
    function close_document (line 554) | void close_document(idocument& Document)

FILE: k3dsdk/document.h
  function namespace (line 28) | namespace k3d

FILE: k3dsdk/document_plugin_factory.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/double_source.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/euler_operations.cpp
  type k3d (line 25) | namespace k3d
    type euler (line 28) | namespace euler
      type detail (line 31) | namespace detail
        function cumulative_sum (line 34) | void cumulative_sum(const ArrayT& InputArray, ArrayT& OutputArray)
        function set_edge_loop (line 47) | void set_edge_loop(const uint_t Loop, const uint_t FirstEdge, cons...
        function bool_t (line 60) | bool_t is_polyline(const uint_t FirstEdge, const mesh::indices_t& ...
        function delete_loop (line 76) | void delete_loop(const uint_t Loop, const mesh::indices_t& LoopFac...
        function delete_loop_if_degenerate (line 106) | void delete_loop_if_degenerate(const uint_t Loop, const mesh::indi...
        function remove_deleted_geometry (line 120) | void remove_deleted_geometry(polyhedron::primitive& Output,
        function create_edge_loop_face_lookup (line 239) | void create_edge_loop_face_lookup(const mesh::indices_t& FaceFirst...
      function kill_edge_make_loop (line 271) | void kill_edge_make_loop(polyhedron::primitive& Output, const mesh::...
      function kill_edge_and_vertex (line 438) | void kill_edge_and_vertex(polyhedron::primitive& Output, const mesh:...

FILE: k3dsdk/euler_operations.h
  function namespace (line 26) | namespace k3d

FILE: k3dsdk/exceptions.h
  function namespace (line 23) | namespace k3d

FILE: k3dsdk/explicit_snap_source.cpp
  type k3d (line 29) | namespace k3d
    function point3 (line 67) | const point3 explicit_snap_source::source_position()

FILE: k3dsdk/explicit_snap_source.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/explicit_snap_target.cpp
  type k3d (line 29) | namespace k3d

FILE: k3dsdk/explicit_snap_target.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/expression/basic_parser.cpp
  type k3d (line 24) | namespace k3d
    type expression (line 27) | namespace expression
      class basic_parser::implementation (line 30) | class basic_parser::implementation
      function bool_t (line 56) | bool_t basic_parser::parse(const std::string& Function, const std::s...
      function double_t (line 71) | double_t basic_parser::evaluate(const double_t* Variables)

FILE: k3dsdk/expression/basic_parser.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/expression/fparser.cpp
  function FuncDefinition (line 40) | const FuncDefinition* fp_lower_bound(const FuncDefinition* first,
  function FuncDefinition (line 57) | inline const FuncDefinition* FindFunction(const char* F)
  function FunctionParser (line 118) | FunctionParser& FunctionParser::operator=(const FunctionParser& cpy)
  function ParseVars (line 198) | bool ParseVars(const string& Vars, map<string, unsigned>& dest)
  function IsOperator (line 347) | inline int IsOperator(const char* F)
  function sws (line 362) | inline void sws(const char* F, int& Ind)
  function doubleToInt (line 997) | inline int doubleToInt(double d)
  function Min (line 1002) | inline double Min(double d1, double d2)
  function Max (line 1006) | inline double Max(double d1, double d2)
  function DegreesToRadians (line 1012) | inline double DegreesToRadians(double degrees)
  function RadiansToDegrees (line 1016) | inline double RadiansToDegrees(double radians)
  function printHex (line 1245) | inline void printHex(std::ostream& dest, unsigned n)

FILE: k3dsdk/expression/fparser.h
  type ParseErrorType (line 35) | enum ParseErrorType
  type FuncPtrData (line 102) | struct FuncPtrData

FILE: k3dsdk/expression/fpoptimizer.cpp
  function Min (line 58) | inline double Min(double d1, double d2)
  function Max (line 62) | inline double Max(double d1, double d2)
  class compres (line 67) | class compres
    method compres (line 71) | compres(bool b) : state(b) {}
    method compres (line 72) | compres(char v) : state(v) {}
  type CodeTree (line 85) | struct CodeTree
    method pcit (line 270) | const pcit GetBegin() const { return data->args.begin(); }
    method pcit (line 271) | const pcit GetEnd()   const { return data->args.end(); }
    method pit (line 272) | const pit GetBegin() { return data->args.begin(); }
    method pit (line 273) | const pit GetEnd()   { return data->args.end(); }
    method SubTree (line 274) | const SubTree& getp0() const { /*chk<1>();*/pcit tmp=GetBegin();      ...
    method SubTree (line 275) | const SubTree& getp1() const { /*chk<2>();*/pcit tmp=GetBegin(); ++tmp...
    method SubTree (line 276) | const SubTree& getp2() const { /*chk<3>();*/pcit tmp=GetBegin(); ++tmp...
    method GetArgCount (line 277) | unsigned GetArgCount() const { return data->args.size(); }
    method Erase (line 278) | void Erase(const pit p)      { data->args.erase(p); }
    method SubTree (line 280) | SubTree& getp0() { /*chk<1>();*/pit tmp=GetBegin();               retu...
    method SubTree (line 281) | SubTree& getp1() { /*chk<2>();*/pit tmp=GetBegin(); ++tmp;        retu...
    method SubTree (line 282) | SubTree& getp2() { /*chk<3>();*/pit tmp=GetBegin(); ++tmp; ++tmp; retu...
    method SetImmed (line 285) | void SetImmed(double v) { data->SetImmed(v); }
    method SetOp (line 286) | void SetOp(unsigned op) { data->SetOp(op); }
    method SetVar (line 287) | void SetVar(unsigned v) { data->SetVar(v); }
    method GetImmed (line 289) | double GetImmed() const { return data->GetImmed(); }
    method GetVar (line 290) | unsigned GetVar() const { return data->GetVar(); }
    method GetOp (line 291) | unsigned GetOp() const  { return data->GetOp(); }
    method IsImmed (line 293) | bool IsImmed() const { return data->IsImmed(); }
    method IsVar (line 294) | bool IsVar()   const { return data->IsVar(); }
    method AddParam (line 296) | void AddParam(const SubTree &p) { data->AddParam(p); }
    method NegateImmed (line 297) | void NegateImmed() { data->NegateImmed(); }
    method InvertImmed (line 298) | void InvertImmed() { data->InvertImmed(); }
    method compres (line 300) | compres NonZero() const { if(!IsImmed()) return maybe;
    method compres (line 302) | compres IsPositive() const { if(!IsImmed()) return maybe;
    type ConstList (line 306) | struct ConstList
      method size (line 311) | unsigned size() const { return cp.size(); }
    type ConstList (line 313) | struct ConstList
      method size (line 311) | unsigned size() const { return cp.size(); }
    method KillConst (line 314) | void KillConst(const ConstList &cl)
    method FinishConst (line 319) | void FinishConst(const ConstList &cl)
    method CodeTree (line 326) | CodeTree() {}
    method CodeTree (line 327) | CodeTree(double v) { SetImmed(v); }
    method CodeTree (line 329) | CodeTree(unsigned op, const SubTree &p)
    method CodeTree (line 334) | CodeTree(unsigned op, const SubTree &p1, const SubTree &p2)
    method IsSortable (line 345) | bool IsSortable() const
    method SortIfPossible (line 358) | void SortIfPossible()
    method ReplaceWithConst (line 366) | void ReplaceWithConst(double value)
    method ReplaceWith (line 375) | void ReplaceWith(const CodeTree &b)
    method ReplaceWith (line 385) | void ReplaceWith(unsigned op, const SubTree &p)
    method ReplaceWith (line 390) | void ReplaceWith(unsigned op, const SubTree &p1, const SubTree &p2)
    method OptimizeConflict (line 395) | void OptimizeConflict()
    method OptimizeRedundant (line 424) | void OptimizeRedundant()
    method OptimizeDoubleNegations (line 449) | void OptimizeDoubleNegations()
    method OptimizeConstantMath1 (line 504) | void OptimizeConstantMath1()
    method OptimizeAddMulFlat (line 593) | void OptimizeAddMulFlat()
    method OptimizeLinearCombine (line 637) | void OptimizeLinearCombine()
    method OptimizeLogarithm (line 705) | void OptimizeLogarithm()
    method OptimizeFunctionCalls (line 925) | void OptimizeFunctionCalls()
    method OptimizePowMulAdd (line 940) | void OptimizePowMulAdd()
    method OptimizeExponents (line 963) | void OptimizeExponents()
    method OptimizeLinearExplode (line 1060) | void OptimizeLinearExplode()
    method OptimizePascal (line 1071) | void OptimizePascal()
    method FinalOptimize (line 1102) | void FinalOptimize()
  class SubTree (line 87) | class SubTree
    method flipsign (line 92) | inline void flipsign() { sign = !sign; }
    method getsign (line 103) | bool getsign() const { return sign; }
    method CodeTree (line 105) | const CodeTree* operator-> () const { return tree; }
    method CodeTree (line 106) | const CodeTree& operator* () const { return *tree; }
    type CodeTree (line 107) | struct CodeTree
    type CodeTree (line 108) | struct CodeTree
  type CodeTreeData (line 124) | struct CodeTreeData
    method CodeTreeData (line 135) | CodeTreeData() : op(cAdd) {}
    method SetOp (line 138) | void SetOp(unsigned newop)     { op=newop; }
    method SetFuncNo (line 139) | void SetFuncNo(unsigned newno) { funcno=newno; }
    method GetFuncNo (line 140) | unsigned GetFuncNo() const { return funcno; }
    method IsFunc (line 142) | bool IsFunc() const  { return op == cFCall || op == cPCall; }
    method IsImmed (line 143) | bool IsImmed() const { return op == cImmed; }
    method IsVar (line 144) | bool IsVar() const   { return op == cVar; }
    method GetOp (line 145) | inline unsigned GetOp() const { return op; }
    method GetImmed (line 146) | inline double GetImmed() const
    method GetVar (line 150) | inline unsigned GetVar() const
    method AddParam (line 155) | void AddParam(const SubTree &p)
    method SetVar (line 159) | void SetVar(unsigned v)
    method SetImmed (line 165) | void SetImmed(double v)
    method NegateImmed (line 172) | void NegateImmed()
    method InvertImmed (line 177) | void InvertImmed()
    method IsOriginal (line 183) | bool IsOriginal() const { return !(IsInverted() || IsNegated()); }
    method IsInverted (line 184) | bool IsInverted() const { return inverted; }
    method IsNegated (line 185) | bool IsNegated() const { return negated; }
    method IsInvertedOriginal (line 186) | bool IsInvertedOriginal() const { return IsInverted() && !IsNegated(); }
    method IsNegatedOriginal (line 187) | bool IsNegatedOriginal() const { return !IsInverted() && IsNegated(); }
    method UpdateValue (line 190) | void UpdateValue()
  class CodeTreeDataPtr (line 208) | class CodeTreeDataPtr
    method Alloc (line 214) | void Alloc()   const { ++p->second; }
    method Dealloc (line 215) | void Dealloc() const { if(!--p->second) delete p; p = 0; }
    method PrepareForWrite (line 217) | void PrepareForWrite()
    method CodeTreeDataPtr (line 231) | CodeTreeDataPtr() : p(new p_t) { p->second = 1; }
    method CodeTreeDataPtr (line 232) | CodeTreeDataPtr(const CodeTreeDataPtr &b): p(b.p) { Alloc(); }
    method CodeTreeDataPtr (line 234) | const CodeTreeDataPtr &operator= (const CodeTreeDataPtr &b)
    method CodeTreeData (line 241) | const CodeTreeData *operator-> () const { return &p->first; }
    method CodeTreeData (line 242) | const CodeTreeData &operator*  () const { return p->first; }
    method CodeTreeData (line 243) | CodeTreeData *operator-> () { PrepareForWrite(); return &p->first; }
    method CodeTreeData (line 244) | CodeTreeData &operator*  () { PrepareForWrite(); return p->first; }
  type CodeTree (line 255) | struct CodeTree
    method pcit (line 270) | const pcit GetBegin() const { return data->args.begin(); }
    method pcit (line 271) | const pcit GetEnd()   const { return data->args.end(); }
    method pit (line 272) | const pit GetBegin() { return data->args.begin(); }
    method pit (line 273) | const pit GetEnd()   { return data->args.end(); }
    method SubTree (line 274) | const SubTree& getp0() const { /*chk<1>();*/pcit tmp=GetBegin();      ...
    method SubTree (line 275) | const SubTree& getp1() const { /*chk<2>();*/pcit tmp=GetBegin(); ++tmp...
    method SubTree (line 276) | const SubTree& getp2() const { /*chk<3>();*/pcit tmp=GetBegin(); ++tmp...
    method GetArgCount (line 277) | unsigned GetArgCount() const { return data->args.size(); }
    method Erase (line 278) | void Erase(const pit p)      { data->args.erase(p); }
    method SubTree (line 280) | SubTree& getp0() { /*chk<1>();*/pit tmp=GetBegin();               retu...
    method SubTree (line 281) | SubTree& getp1() { /*chk<2>();*/pit tmp=GetBegin(); ++tmp;        retu...
    method SubTree (line 282) | SubTree& getp2() { /*chk<3>();*/pit tmp=GetBegin(); ++tmp; ++tmp; retu...
    method SetImmed (line 285) | void SetImmed(double v) { data->SetImmed(v); }
    method SetOp (line 286) | void SetOp(unsigned op) { data->SetOp(op); }
    method SetVar (line 287) | void SetVar(unsigned v) { data->SetVar(v); }
    method GetImmed (line 289) | double GetImmed() const { return data->GetImmed(); }
    method GetVar (line 290) | unsigned GetVar() const { return data->GetVar(); }
    method GetOp (line 291) | unsigned GetOp() const  { return data->GetOp(); }
    method IsImmed (line 293) | bool IsImmed() const { return data->IsImmed(); }
    method IsVar (line 294) | bool IsVar()   const { return data->IsVar(); }
    method AddParam (line 296) | void AddParam(const SubTree &p) { data->AddParam(p); }
    method NegateImmed (line 297) | void NegateImmed() { data->NegateImmed(); }
    method InvertImmed (line 298) | void InvertImmed() { data->InvertImmed(); }
    method compres (line 300) | compres NonZero() const { if(!IsImmed()) return maybe;
    method compres (line 302) | compres IsPositive() const { if(!IsImmed()) return maybe;
    type ConstList (line 306) | struct ConstList
      method size (line 311) | unsigned size() const { return cp.size(); }
    type ConstList (line 313) | struct ConstList
      method size (line 311) | unsigned size() const { return cp.size(); }
    method KillConst (line 314) | void KillConst(const ConstList &cl)
    method FinishConst (line 319) | void FinishConst(const ConstList &cl)
    method CodeTree (line 326) | CodeTree() {}
    method CodeTree (line 327) | CodeTree(double v) { SetImmed(v); }
    method CodeTree (line 329) | CodeTree(unsigned op, const SubTree &p)
    method CodeTree (line 334) | CodeTree(unsigned op, const SubTree &p1, const SubTree &p2)
    method IsSortable (line 345) | bool IsSortable() const
    method SortIfPossible (line 358) | void SortIfPossible()
    method ReplaceWithConst (line 366) | void ReplaceWithConst(double value)
    method ReplaceWith (line 375) | void ReplaceWith(const CodeTree &b)
    method ReplaceWith (line 385) | void ReplaceWith(unsigned op, const SubTree &p)
    method ReplaceWith (line 390) | void ReplaceWith(unsigned op, const SubTree &p1, const SubTree &p2)
    method OptimizeConflict (line 395) | void OptimizeConflict()
    method OptimizeRedundant (line 424) | void OptimizeRedundant()
    method OptimizeDoubleNegations (line 449) | void OptimizeDoubleNegations()
    method OptimizeConstantMath1 (line 504) | void OptimizeConstantMath1()
    method OptimizeAddMulFlat (line 593) | void OptimizeAddMulFlat()
    method OptimizeLinearCombine (line 637) | void OptimizeLinearCombine()
    method OptimizeLogarithm (line 705) | void OptimizeLogarithm()
    method OptimizeFunctionCalls (line 925) | void OptimizeFunctionCalls()
    method OptimizePowMulAdd (line 940) | void OptimizePowMulAdd()
    method OptimizeExponents (line 963) | void OptimizeExponents()
    method OptimizeLinearExplode (line 1060) | void OptimizeLinearExplode()
    method OptimizePascal (line 1071) | void OptimizePascal()
    method FinalOptimize (line 1102) | void FinalOptimize()
  function IsNegate (line 1496) | bool IsNegate(const SubTree &p1, const SubTree &p2) /*const */
  function IsInverse (line 1505) | bool IsInverse(const SubTree &p1, const SubTree &p2) /*const*/
  function SubTree (line 1537) | const SubTree &SubTree::operator= (const SubTree &b)
    method flipsign (line 92) | inline void flipsign() { sign = !sign; }
    method getsign (line 103) | bool getsign() const { return sign; }
    method CodeTree (line 105) | const CodeTree* operator-> () const { return tree; }
    method CodeTree (line 106) | const CodeTree& operator* () const { return *tree; }
    type CodeTree (line 107) | struct CodeTree
    type CodeTree (line 108) | struct CodeTree
  function SubTree (line 1545) | const SubTree &SubTree::operator= (const CodeTree &b)
    method flipsign (line 92) | inline void flipsign() { sign = !sign; }
    method getsign (line 103) | bool getsign() const { return sign; }
    method CodeTree (line 105) | const CodeTree* operator-> () const { return tree; }
    method CodeTree (line 106) | const CodeTree& operator* () const { return *tree; }
    type CodeTree (line 107) | struct CodeTree
    type CodeTree (line 108) | struct CodeTree

FILE: k3dsdk/expression/fptypes.h
  function namespace (line 24) | namespace FUNCTIONPARSERTYPES

FILE: k3dsdk/expression/parser.cpp
  type k3d (line 23) | namespace k3d
    type expression (line 26) | namespace expression

FILE: k3dsdk/expression/parser.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/expression_grammar.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/file_helpers.cpp
  class endian_test (line 29) | class endian_test
    method endian_test (line 32) | endian_test()
    method little_endian (line 37) | bool little_endian()
  type k3d (line 54) | namespace k3d
    function getline (line 57) | void getline(std::istream& Stream, std::ostream& LineBuffer)
    function getline (line 76) | void getline(std::istream& Stream, std::string& LineBuffer)
    function big_endian (line 83) | bool big_endian()
    function little_endian (line 89) | bool little_endian()

FILE: k3dsdk/file_helpers.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/file_range.cpp
  type k3d (line 30) | namespace k3d

FILE: k3dsdk/file_range.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/frames.cpp
  type k3d (line 29) | namespace k3d

FILE: k3dsdk/frames.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/fstream.h
  function namespace (line 30) | namespace k3d
  type basic_ifstream (line 61) | typedef basic_ifstream<char> ifstream;
  function virtual (line 78) | virtual ~basic_ofstream()
  type basic_ofstream (line 89) | typedef basic_ofstream<char> ofstream;
  function virtual (line 106) | virtual ~basic_fstream()
  type basic_fstream (line 117) | typedef basic_fstream<char> fstream;

FILE: k3dsdk/geometric_operations.cpp
  type k3d (line 36) | namespace k3d
    function bool_t (line 42) | bool_t intersect(const plane& Plane, const line3& Line, point3& Inters...
    function double_t (line 61) | double_t distance(const point2& Point, const line2& Line)
    function bool_t (line 77) | bool_t intersect_lines(const point3& P1, const vector3& T1, const poin...

FILE: k3dsdk/geometric_operations.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/geometry.cpp
  type k3d (line 28) | namespace k3d
    type geometry (line 31) | namespace geometry
      type point_selection (line 34) | namespace point_selection
        function storage (line 68) | storage* create(k3d::selection::set& Set)
        function storage (line 81) | storage* create(k3d::selection::set& Set, const double_t Weight)
        function const_storage (line 91) | const_storage* validate(const k3d::selection::storage& Storage)
        function storage (line 118) | storage* validate(k3d::selection::storage& Storage)
        function append (line 145) | void append(storage& Storage, const double_t Weight)
        function append (line 155) | void append(storage& Storage, const uint_t Begin, const uint_t End...
        function merge (line 165) | void merge(const_storage& Storage, mesh& Mesh)
      type primitive_selection (line 189) | namespace primitive_selection
        function storage (line 243) | storage* create(k3d::selection::set& Set)
        function storage (line 261) | storage* create(k3d::selection::set& Set, const uint_t PrimitiveBe...
        function storage (line 274) | storage* create(k3d::selection::set& Set, const int32_t SelectionT...
        function const_storage (line 290) | const_storage* validate(const k3d::selection::storage& Storage)
        function storage (line 326) | storage* validate(k3d::selection::storage& Storage)
        function append (line 362) | void append(storage& Storage, const uint_t PrimitiveBegin, const u...
        function append (line 375) | void append(storage& Storage, const int32_t SelectionType, const u...
        function append (line 388) | void append(storage& Storage, const int32_t SelectionType, const d...
        function append (line 401) | void append(storage& Storage, const uint_t Begin, const uint_t End...
        function append (line 412) | void append(storage& Storage, const double_t Weight)
        class merge_primitive_selection (line 426) | class merge_primitive_selection
          method merge_primitive_selection (line 429) | merge_primitive_selection(const_storage& Storage, const string_t...
        function merge (line 470) | void merge(const_storage& Storage, mesh& Mesh)
      type selection (line 491) | namespace selection
        function create (line 494) | k3d::selection::set create(const double_t Weight)
        function merge (line 514) | void merge(const k3d::selection::set& Set, mesh& Mesh)

FILE: k3dsdk/geometry.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/gil/boost/gil/extension/numeric/affine.hpp
  type boost (line 23) | namespace boost { namespace gil {
    type gil (line 23) | namespace gil {
      class matrix3x2 (line 31) | class matrix3x2 {
        method matrix3x2 (line 33) | matrix3x2() : a(1), b(0), c(0), d(1), e(0), f(0) {}
        method matrix3x2 (line 34) | matrix3x2(T A, T B, T C, T D, T E, T F) : a(A),b(B),c(C),d(D),e(E)...
        method matrix3x2 (line 35) | matrix3x2(const matrix3x2& mat) : a(mat.a), b(mat.b), c(mat.c), d(...
        method matrix3x2 (line 36) | matrix3x2& operator=(const matrix3x2& m)           { a=m.a; b=m.b;...
        method matrix3x2 (line 38) | matrix3x2& operator*=(const matrix3x2& m)          { (*this) = (*t...
        method matrix3x2 (line 40) | static matrix3x2 get_rotate(T rads)                { T c=std::cos(...
        method matrix3x2 (line 41) | static matrix3x2 get_translate(const point2<T>& t) { return matrix...
        method matrix3x2 (line 42) | static matrix3x2 get_translate(T x, T y)           { return matrix...
        method matrix3x2 (line 43) | static matrix3x2 get_scale    (const point2<T>& s) { return matrix...
        method matrix3x2 (line 44) | static matrix3x2 get_scale    (T x, T y)           { return matrix...
        method matrix3x2 (line 45) | static matrix3x2 get_scale    (T s)                { return matrix...
      function BOOST_FORCEINLINE (line 50) | BOOST_FORCEINLINE
      function BOOST_FORCEINLINE (line 61) | BOOST_FORCEINLINE
      type mapping_traits (line 79) | struct mapping_traits
      type mapping_traits<matrix3x2<F> > (line 82) | struct mapping_traits<matrix3x2<F> > {
      function BOOST_FORCEINLINE (line 86) | BOOST_FORCEINLINE

FILE: k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp
  type boost (line 33) | namespace boost { namespace gil {
    type gil (line 33) | namespace gil {
      type pixel_proxy (line 39) | struct pixel_proxy : public remove_reference<typename T::reference> {}
      function BinaryFunction (line 43) | BinaryFunction for_each(Iterator1 first1,Iterator1 last1,Iterator2 f...
      function DstIterator (line 50) | inline DstIterator assign_pixels(SrcIterator src,SrcIterator src_end...
      type detail (line 56) | namespace detail {
        type inner_product_k_t (line 58) | struct inner_product_k_t {
          method _Tp (line 61) | static _Tp apply(_InputIterator1 __first1,
        type inner_product_k_t<0> (line 72) | struct inner_product_k_t<0> {
          method _Tp (line 75) | static _Tp apply(_InputIterator1 __first1,
      function BOOST_FORCEINLINE (line 88) | BOOST_FORCEINLINE
      function DstIterator (line 100) | inline DstIterator correlate_pixels_n(SrcIterator src_begin,SrcItera...
      function DstIterator (line 120) | inline DstIterator correlate_pixels_k(SrcIterator src_begin,SrcItera...
      function view_multiplies_scalar (line 140) | inline void view_multiplies_scalar(const SrcView& src,const Scalar& ...

FILE: k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp
  type boost (line 35) | namespace boost { namespace gil {
    type gil (line 35) | namespace gil {
      type channel_plus_t (line 41) | struct channel_plus_t : public std::binary_function<Channel1,Channel...
        method ChannelR (line 42) | ChannelR operator()(typename channel_traits<Channel1>::const_refer...
      type channel_minus_t (line 52) | struct channel_minus_t : public std::binary_function<Channel1,Channe...
        method ChannelR (line 53) | ChannelR operator()(typename channel_traits<Channel1>::const_refer...
      type channel_multiplies_t (line 63) | struct channel_multiplies_t : public std::binary_function<Channel1,C...
        method ChannelR (line 64) | ChannelR operator()(typename channel_traits<Channel1>::const_refer...
      type channel_divides_t (line 74) | struct channel_divides_t : public std::binary_function<Channel1,Chan...
        method ChannelR (line 75) | ChannelR operator()(typename channel_traits<Channel1>::const_refer...
      type channel_plus_scalar_t (line 85) | struct channel_plus_scalar_t : public std::binary_function<Channel,S...
        method ChannelR (line 86) | ChannelR operator()(typename channel_traits<Channel>::const_refere...
      type channel_minus_scalar_t (line 96) | struct channel_minus_scalar_t : public std::binary_function<Channel,...
        method ChannelR (line 97) | ChannelR operator()(typename channel_traits<Channel>::const_refere...
      type channel_multiplies_scalar_t (line 107) | struct channel_multiplies_scalar_t : public std::binary_function<Cha...
        method ChannelR (line 108) | ChannelR operator()(typename channel_traits<Channel>::const_refere...
      type channel_divides_scalar_t (line 118) | struct channel_divides_scalar_t : public std::binary_function<Channe...
        method ChannelR (line 119) | ChannelR operator()(typename channel_traits<Channel>::const_refere...
      type channel_halves_t (line 129) | struct channel_halves_t : public std::unary_function<Channel,Channel> {
      type channel_zeros_t (line 140) | struct channel_zeros_t : public std::unary_function<Channel,Channel> {
      type channel_assigns_t (line 151) | struct channel_assigns_t : public std::binary_function<Channel1,Chan...

FILE: k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp
  type boost (line 39) | namespace boost { namespace gil {
    type gil (line 39) | namespace gil {
      type convolve_boundary_option (line 43) | enum convolve_boundary_option  {
      type detail (line 51) | namespace detail {
        function correlate_rows_imp (line 54) | void correlate_rows_imp(const SrcView& src, const Kernel& ker, con...
        class correlator_n (line 123) | class correlator_n {
          method correlator_n (line 127) | correlator_n(std::size_t size_in) : _size(size_in) {}
        type correlator_k (line 136) | struct correlator_k {
      function BOOST_FORCEINLINE (line 150) | BOOST_FORCEINLINE
      function BOOST_FORCEINLINE (line 159) | BOOST_FORCEINLINE
      function BOOST_FORCEINLINE (line 168) | BOOST_FORCEINLINE
      function BOOST_FORCEINLINE (line 177) | BOOST_FORCEINLINE
      function BOOST_FORCEINLINE (line 186) | BOOST_FORCEINLINE
      function BOOST_FORCEINLINE (line 195) | BOOST_FORCEINLINE
      function BOOST_FORCEINLINE (line 204) | BOOST_FORCEINLINE
      function BOOST_FORCEINLINE (line 213) | BOOST_FORCEINLINE

FILE: k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp
  type boost (line 34) | namespace boost { namespace gil {
    type gil (line 34) | namespace gil {
      type detail (line 36) | namespace detail {
        class kernel_1d_adaptor (line 42) | class kernel_1d_adaptor : public Core {
          method kernel_1d_adaptor (line 46) | kernel_1d_adaptor() : _center(0) {}
          method kernel_1d_adaptor (line 47) | explicit kernel_1d_adaptor(std::size_t center_in) : _center(cent...
          method kernel_1d_adaptor (line 48) | kernel_1d_adaptor(std::size_t size_in,std::size_t center_in) :
          method kernel_1d_adaptor (line 50) | kernel_1d_adaptor(const kernel_1d_adaptor& k_in) : Core(k_in), _...
          method kernel_1d_adaptor (line 52) | kernel_1d_adaptor& operator=(const kernel_1d_adaptor& k_in) {
          method left_size (line 57) | std::size_t left_size() const {assert(_center<this->size());retu...
          method right_size (line 58) | std::size_t right_size() const {assert(_center<this->size());ret...
      class kernel_1d (line 67) | class kernel_1d : public detail::kernel_1d_adaptor<std::vector<T,All...
        method kernel_1d (line 70) | kernel_1d() {}
        method kernel_1d (line 71) | kernel_1d(std::size_t size_in,std::size_t center_in) : parent_t(si...
        method kernel_1d (line 73) | kernel_1d(FwdIterator elements, std::size_t size_in, std::size_t c...
        method kernel_1d (line 76) | kernel_1d(const kernel_1d& k_in)                     : parent_t(k_...
      class kernel_1d_fixed (line 81) | class kernel_1d_fixed : public detail::kernel_1d_adaptor<array<T,Siz...
        method kernel_1d_fixed (line 84) | kernel_1d_fixed() {}
        method kernel_1d_fixed (line 85) | explicit kernel_1d_fixed(std::size_t center_in) : parent_t(center_...
        method kernel_1d_fixed (line 88) | explicit kernel_1d_fixed(FwdIterator elements, std::size_t center_...
        method kernel_1d_fixed (line 91) | kernel_1d_fixed(const kernel_1d_fixed& k_in)    : parent_t(k_in) {}
      function Kernel (line 96) | inline Kernel reverse_kernel(const Kernel& kernel) {

FILE: k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp
  type boost (line 36) | namespace boost { namespace gil {
    type gil (line 36) | namespace gil {
      type pixel_plus_t (line 43) | struct pixel_plus_t {
        method PixelR (line 44) | PixelR operator() (const PixelRef1& p1,
      type pixel_minus_t (line 60) | struct pixel_minus_t {
        method PixelR (line 61) | PixelR operator() (const PixelRef1& p1,
      type pixel_multiplies_scalar_t (line 77) | struct pixel_multiplies_scalar_t {
        method PixelR (line 78) | PixelR operator () (const PixelRef& p,
      type pixel_divides_scalar_t (line 94) | struct pixel_divides_scalar_t {
        method PixelR (line 95) | PixelR operator () (const PixelRef& p,
      type pixel_halves_t (line 109) | struct pixel_halves_t {
        method PixelRef (line 110) | PixelRef& operator () (PixelRef& p) const {
      type pixel_zeros_t (line 119) | struct pixel_zeros_t {
        method PixelRef (line 120) | PixelRef& operator () (PixelRef& p) const {
      function zero_channels (line 128) | void zero_channels(Pixel& p) {
      type pixel_assigns_t (line 138) | struct pixel_assigns_t {
        method PixelRefR (line 139) | PixelRefR operator () (const PixelRef& src,

FILE: k3dsdk/gil/boost/gil/extension/numeric/resample.hpp
  type boost (line 27) | namespace boost { namespace gil {
    type gil (line 27) | namespace gil {
      type mapping_traits (line 35) | struct mapping_traits {}
      function resample_pixels (line 45) | void resample_pixels(const SrcView& src_view, const DstView& dst_vie...
      type detail (line 64) | namespace detail {
        type resample_pixels_fn (line 66) | struct resample_pixels_fn : public binary_operation_obj<resample_p...
          method resample_pixels_fn (line 69) | resample_pixels_fn(const MapFn& dst_to_src, const Sampler& sampl...
          method BOOST_FORCEINLINE (line 71) | BOOST_FORCEINLINE void apply_compatible(const SrcView& src, cons...
      function resample_pixels (line 81) | void resample_pixels(const any_image_view<Types1>& src, const V2& ds...
      function resample_pixels (line 89) | void resample_pixels(const V1& src, const any_image_view<Types2>& ds...
      function resample_pixels (line 97) | void resample_pixels(const any_image_view<SrcTypes>& src, const any_...
      function resample_subimage (line 111) | void resample_subimage(const SrcMetaView& src, const DstMetaView& dst,
      function resize_view (line 135) | void resize_view(const SrcMetaView& src, const DstMetaView& dst, con...

FILE: k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp
  type boost (line 25) | namespace boost { namespace gil {
    type gil (line 25) | namespace gil {
      type nearest_neighbor_sampler (line 44) | struct nearest_neighbor_sampler {}
      function sample (line 47) | bool sample(nearest_neighbor_sampler, const SrcView& src, const poin...
      function cast_pixel (line 57) | void cast_pixel(const SrcPixel& src, DstPixel& dst) {
      type detail (line 62) | namespace detail {
        type add_dst_mul_src_channel (line 65) | struct add_dst_mul_src_channel {
          method add_dst_mul_src_channel (line 67) | add_dst_mul_src_channel(Weight w) : _w(w) {}
        type add_dst_mul_src (line 77) | struct add_dst_mul_src {
      type bilinear_sampler (line 92) | struct bilinear_sampler {}
      function sample (line 95) | bool sample(bilinear_sampler, const SrcView& src, const point2<F>& p...

FILE: k3dsdk/gil/boost/uuid/nil_generator.hpp
  type boost (line 13) | namespace boost {
    type uuids (line 14) | namespace uuids {
      type nil_generator (line 17) | struct nil_generator {
        method uuid (line 20) | uuid operator()() const {
      function uuid (line 27) | inline uuid nil_uuid() {

FILE: k3dsdk/gil/boost/uuid/random_generator.hpp
  type boost (line 20) | namespace boost {
    type uuids (line 21) | namespace uuids {
      class basic_random_generator (line 25) | class basic_random_generator {
        type null_deleter (line 30) | struct null_deleter
        method basic_random_generator (line 39) | basic_random_generator()
        method basic_random_generator (line 55) | explicit basic_random_generator(UniformRandomNumberGenerator& gen)
        method basic_random_generator (line 68) | explicit basic_random_generator(UniformRandomNumberGenerator* pGen)
        method uuid (line 81) | uuid operator()()

FILE: k3dsdk/gil/boost/uuid/seed_rng.hpp
  type std (line 45) | namespace std {
  type boost (line 60) | namespace boost {
    class random_device (line 61) | class random_device
    type uuids (line 65) | namespace uuids {
      type detail (line 66) | namespace detail {
        class seed_rng (line 69) | class seed_rng
          method seed_rng (line 79) | seed_rng()
          method result_type (line 91) | result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const
          method result_type (line 95) | result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
          method result_type (line 100) | result_type operator()()
          method sha1_random_digest_ (line 120) | void sha1_random_digest_()
        class generator_iterator (line 197) | class generator_iterator
          method generator_iterator (line 213) | generator_iterator() : m_g(NULL) {}
          method generator_iterator (line 214) | generator_iterator(Generator* g) : m_g(g), m_value((*m_g)()) {}
          method increment (line 216) | void increment()
          method equal (line 227) | bool equal(generator_iterator const& y) const
        function seed (line 240) | inline void seed(UniformRandomNumberGenerator& rng)
  type boost (line 64) | namespace boost {
    class random_device (line 61) | class random_device
    type uuids (line 65) | namespace uuids {
      type detail (line 66) | namespace detail {
        class seed_rng (line 69) | class seed_rng
          method seed_rng (line 79) | seed_rng()
          method result_type (line 91) | result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const
          method result_type (line 95) | result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
          method result_type (line 100) | result_type operator()()
          method sha1_random_digest_ (line 120) | void sha1_random_digest_()
        class generator_iterator (line 197) | class generator_iterator
          method generator_iterator (line 213) | generator_iterator() : m_g(NULL) {}
          method generator_iterator (line 214) | generator_iterator(Generator* g) : m_g(g), m_value((*m_g)()) {}
          method increment (line 216) | void increment()
          method equal (line 227) | bool equal(generator_iterator const& y) const
        function seed (line 240) | inline void seed(UniformRandomNumberGenerator& rng)

FILE: k3dsdk/gil/boost/uuid/sha1.hpp
  type std (line 23) | namespace std {
  type boost (line 28) | namespace boost {
    type uuids (line 29) | namespace uuids {
      type detail (line 30) | namespace detail {
        function left_rotate (line 35) | inline unsigned int left_rotate(unsigned int x, std::size_t n)
        class sha1 (line 40) | class sha1

FILE: k3dsdk/gl/context.cpp
  type k3d (line 28) | namespace k3d
    type gl (line 31) | namespace gl
      function context (line 34) | static context*& g_current()
      function GLEWContext (line 40) | static GLEWContext*& g_current_glew()
      function context (line 53) | context* context::current()
      function GLEWContext (line 58) | GLEWContext* context::current_glew_context()
      function GLEWContext (line 69) | GLEWContext* context::glew_context()

FILE: k3dsdk/gl/context.h
  type GLEWContext (line 31) | struct GLEWContext {}
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/gl/context_factory.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/gl/extension.cpp
  type k3d (line 33) | namespace k3d
    type gl (line 36) | namespace gl
      type extension (line 39) | namespace extension
        function list (line 88) | const std::set<string_t> list()
        function disable (line 93) | void disable(const string_t& Extension)
        function enable (line 99) | void enable(const string_t& Extension)
        function bool_t (line 105) | bool_t query(const string_t& Extension)
        function bool_t (line 116) | bool_t query_vbo()

FILE: k3dsdk/gl/extension.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/gl/offscreen_context.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/gl/offscreen_context_factory.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/graph.cpp
  type k3d (line 28) | namespace k3d
    type graph (line 31) | namespace graph
      type detail (line 34) | namespace detail
        function print (line 37) | static void print(std::ostream& Stream, const pipeline_data<undire...
        function print (line 50) | static bool print(std::ostream& Stream, const array& Array)
        function print (line 61) | static void print(std::ostream& Stream, const std::string& Name, c...
        function print (line 100) | static void print(std::ostream& Stream, const k3d::graph::table_t&...

FILE: k3dsdk/graph.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/gzstream.cpp
  type k3d (line 36) | namespace k3d
    type filesystem (line 39) | namespace filesystem
      class gzstreambuf (line 45) | class gzstreambuf :
        method gzstreambuf (line 58) | gzstreambuf() :
        method is_open (line 67) | int is_open() { return opened; }
      function gzstreambuf (line 77) | gzstreambuf* gzstreambuf::open(const filesystem::path& name, int ope...
        method gzstreambuf (line 58) | gzstreambuf() :
        method is_open (line 67) | int is_open() { return opened; }
      function gzstreambuf (line 100) | gzstreambuf * gzstreambuf::close() {
        method gzstreambuf (line 58) | gzstreambuf() :
        method is_open (line 67) | int is_open() { return opened; }

FILE: k3dsdk/gzstream.h
  function namespace (line 36) | namespace k3d

FILE: k3dsdk/high_res_timer.h
  function namespace (line 43) | namespace k3d

FILE: k3dsdk/hints.cpp
  type k3d (line 29) | namespace k3d
    type hint (line 32) | namespace hint
      function ihint (line 38) | ihint* bitmap_dimensions_changed::clone()
      function bitmap_dimensions_changed (line 48) | bitmap_dimensions_changed* bitmap_dimensions_changed::instance()
      function ihint (line 57) | ihint* bitmap_pixels_changed::clone()
      function bitmap_pixels_changed (line 67) | bitmap_pixels_changed* bitmap_pixels_changed::instance()
      function ihint (line 76) | ihint* selection_changed::clone()
      function selection_changed (line 86) | selection_changed* selection_changed::instance()
      function ihint (line 95) | ihint* mesh_geometry_changed::clone()
      function mesh_geometry_changed (line 105) | mesh_geometry_changed* mesh_geometry_changed::instance()
      function ihint (line 114) | ihint* mesh_topology_changed::clone()
      function mesh_topology_changed (line 124) | mesh_topology_changed* mesh_topology_changed::instance()
      function ihint (line 133) | ihint* mesh_deleted::clone()
      function mesh_deleted (line 143) | mesh_deleted* mesh_deleted::instance()
      function ihint (line 152) | ihint* file_changed::clone()
      function file_changed (line 162) | file_changed* file_changed::instance()
      function ihint (line 171) | ihint* graph_topology_changed::clone()
      function graph_topology_changed (line 181) | graph_topology_changed* graph_topology_changed::instance()
      function ihint (line 190) | ihint* graph_attributes_changed::clone()
      function graph_attributes_changed (line 200) | graph_attributes_changed* graph_attributes_changed::instance()

FILE: k3dsdk/hints.h
  function class (line 47) | class print
  type sigc (line 62) | typedef sigc::slot<void, ihint*> slot_t;
  function class (line 68) | class bitmap_dimensions_changed :
  function class (line 82) | class bitmap_pixels_changed :
  function class (line 96) | class selection_changed :
  function class (line 110) | class mesh_geometry_changed :
  function class (line 129) | class mesh_topology_changed :
  function class (line 143) | class mesh_deleted :
  function class (line 157) | class file_changed :
  function class (line 171) | class graph_topology_changed :
  function class (line 185) | class graph_attributes_changed :
  function class (line 217) | class unchanged

FILE: k3dsdk/hyperboloid.cpp
  type k3d (line 26) | namespace k3d
    type hyperboloid (line 29) | namespace hyperboloid
      function primitive (line 87) | primitive* create(mesh& Mesh)
      function const_primitive (line 111) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 147) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 183) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/hyperboloid.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/i3d_2d_mapping.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/iapplication.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/iapplication_plugin_factory.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/iattribute_property_ri.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ibitmap_exporter.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ibitmap_importer.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ibitmap_sink.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ibitmap_source.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ibounded.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/icamera.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/icolor_source.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/icrop_window.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/idependencies.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/idisplacement_shader_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/idocument.h
  function namespace (line 36) | namespace k3d

FILE: k3dsdk/idocument_exporter.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/idocument_importer.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/idocument_plugin_factory.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/idocument_sink.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/idouble_source.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ienumeration_property.h
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ievent_loop.h
  function namespace (line 34) | namespace boost { namespace filesystem { class path; } }
  function namespace (line 35) | namespace boost { namespace program_options { class options_description;...
  function namespace (line 37) | namespace k3d

FILE: k3dsdk/ifile_change_notifier.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ihint.h
  function namespace (line 7) | namespace k3d

FILE: k3dsdk/iimager_shader_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/iint32_source.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ikeyframer.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ilight_gl.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ilight_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ilight_shader_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ilight_yafray.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ilist_property.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/imaterial.h
  function namespace (line 30) | namespace k3d
  function namespace (line 45) | namespace difference

FILE: k3dsdk/imaterial_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/imaterial_sink.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/imaterial_yafray.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imatrix_sink.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imatrix_source.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imeasurement_property.h
  function namespace (line 35) | namespace k3d

FILE: k3dsdk/imesh_painter_gl.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imesh_painter_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/imesh_selection_algorithm.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/imesh_selection_sink.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imesh_sink.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imesh_source.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imesh_storage.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imeta_object.cpp
  type k3d (line 26) | namespace k3d

FILE: k3dsdk/imeta_object.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/imetadata.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/imime_type_handler.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/imulti_mesh_sink.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/inetwork_render_farm.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/inetwork_render_frame.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/inetwork_render_job.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/inode.h
  function namespace (line 34) | namespace k3d
  function namespace (line 74) | namespace difference

FILE: k3dsdk/inode_change_signal.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/inode_collection.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/inode_collection_property.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/inode_collection_sink.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/inode_name_map.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/inode_property.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/inode_selection.h
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/int32_source.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/interface_list.h
  function namespace (line 30) | namespace k3d
  function null_interface (line 82) | struct get_interfaces<null_interface>

FILE: k3dsdk/iomanip.cpp
  type k3d (line 29) | namespace k3d

FILE: k3dsdk/iomanip.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ioption_property_ri.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/iparentable.h
  function namespace (line 6) | namespace k3d

FILE: k3dsdk/ipath_property.h
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ipersistent.h
  function namespace (line 51) | namespace k3d

FILE: k3dsdk/ipersistent_collection.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/ipersistent_lookup.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ipipeline.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ipipeline_profiler.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/iplugin_factory.h
  function namespace (line 37) | namespace k3d

FILE: k3dsdk/iplugin_factory_collection.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/iplugin_registry.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/iprojection.h
  function namespace (line 40) | namespace k3d
  function class (line 63) | class iperspective :
  function virtual (line 78) | virtual ~iperspective() {}
  function class (line 82) | class iorthographic :
  function virtual (line 97) | virtual ~iorthographic() {}

FILE: k3dsdk/iproperty.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/iproperty_collection.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/iproperty_group_collection.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/iproperty_sink.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/irender_animation.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/irender_camera_animation.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/irender_camera_frame.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/irender_camera_preview.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/irender_engine_ri.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/irender_frame.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/irender_preview.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/irender_viewport_gl.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/irenderable_gl.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/irenderable_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ireset_properties.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/iscript_engine.h
  function namespace (line 37) | namespace k3d

FILE: k3dsdk/iscript_property.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/iscripted_action.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/iselectable.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ishader_collection_ri.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/isnap_source.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/isnap_target.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/isnappable.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/istate_container.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/istate_recorder.h
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/istate_recorder_sink.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/istream_ri.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/istreaming_bitmap_source.h
  function namespace (line 38) | namespace k3d

FILE: k3dsdk/istring_source.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/isurface_shader_ri.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/itexture.h
  function namespace (line 30) | namespace k3d
  function namespace (line 45) | namespace difference

FILE: k3dsdk/itexture_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/itime_sink.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/itransform_array_1d.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/itransform_array_2d.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/itransform_array_3d.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/iunknown.h
  function namespace (line 28) | namespace k3d

FILE: k3dsdk/iuri_handler.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/iuser_interface.h
  function namespace (line 36) | namespace k3d

FILE: k3dsdk/iuser_property.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ivector3_source.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ivolume_shader_ri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/iwatched_path_property.h
  function namespace (line 35) | namespace k3d

FILE: k3dsdk/iwritable_property.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/keyboard.cpp
  type k3d (line 23) | namespace k3d
    function key_modifiers (line 29) | key_modifiers& key_modifiers::set() { m_storage.set(); return *this; }
    function key_modifiers (line 30) | key_modifiers& key_modifiers::set_shift(bool val) { m_storage.set(0, v...
    function key_modifiers (line 31) | key_modifiers& key_modifiers::set_lock(bool val) { m_storage.set(1, va...
    function key_modifiers (line 32) | key_modifiers& key_modifiers::set_control(bool val) { m_storage.set(2,...
    function key_modifiers (line 33) | key_modifiers& key_modifiers::set_mod1(bool val) { m_storage.set(3, va...
    function key_modifiers (line 34) | key_modifiers& key_modifiers::set_mod2(bool val) { m_storage.set(4, va...
    function key_modifiers (line 35) | key_modifiers& key_modifiers::set_mod3(bool val) { m_storage.set(5, va...
    function key_modifiers (line 36) | key_modifiers& key_modifiers::set_mod4(bool val) { m_storage.set(6, va...
    function key_modifiers (line 37) | key_modifiers& key_modifiers::set_mod5(bool val) { m_storage.set(7, va...
    function key_modifiers (line 38) | key_modifiers& key_modifiers::set_button1(bool val) { m_storage.set(8,...
    function key_modifiers (line 39) | key_modifiers& key_modifiers::set_button2(bool val) { m_storage.set(9,...
    function key_modifiers (line 40) | key_modifiers& key_modifiers::set_button3(bool val) { m_storage.set(10...
    function key_modifiers (line 41) | key_modifiers& key_modifiers::set_button4(bool val) { m_storage.set(11...
    function key_modifiers (line 42) | key_modifiers& key_modifiers::set_button5(bool val) { m_storage.set(12...
    function key_modifiers (line 43) | key_modifiers& key_modifiers::set_release(bool val) { m_storage.set(13...
    function key_modifiers (line 45) | key_modifiers& key_modifiers::reset() { m_storage.reset(); return *thi...
    function key_modifiers (line 46) | key_modifiers& key_modifiers::reset_shift() { m_storage.reset(0); retu...
    function key_modifiers (line 47) | key_modifiers& key_modifiers::reset_lock() { m_storage.reset(1); retur...
    function key_modifiers (line 48) | key_modifiers& key_modifiers::reset_control() { m_storage.reset(2); re...
    function key_modifiers (line 49) | key_modifiers& key_modifiers::reset_mod1() { m_storage.reset(3); retur...
    function key_modifiers (line 50) | key_modifiers& key_modifiers::reset_mod2() { m_storage.reset(4); retur...
    function key_modifiers (line 51) | key_modifiers& key_modifiers::reset_mod3() { m_storage.reset(5); retur...
    function key_modifiers (line 52) | key_modifiers& key_modifiers::reset_mod4() { m_storage.reset(6); retur...
    function key_modifiers (line 53) | key_modifiers& key_modifiers::reset_mod5() { m_storage.reset(7); retur...
    function key_modifiers (line 54) | key_modifiers& key_modifiers::reset_button1() { m_storage.reset(8); re...
    function key_modifiers (line 55) | key_modifiers& key_modifiers::reset_button2() { m_storage.reset(9); re...
    function key_modifiers (line 56) | key_modifiers& key_modifiers::reset_button3() { m_storage.reset(10); r...
    function key_modifiers (line 57) | key_modifiers& key_modifiers::reset_button4() { m_storage.reset(11); r...
    function key_modifiers (line 58) | key_modifiers& key_modifiers::reset_button5() { m_storage.reset(12); r...
    function key_modifiers (line 59) | key_modifiers& key_modifiers::reset_release() { m_storage.reset(13); r...
    function key_modifiers (line 61) | key_modifiers& key_modifiers::flip() { m_storage.flip(); return *this; }
    function key_modifiers (line 62) | key_modifiers& key_modifiers::flip_shift() { m_storage.set(0); return ...
    function key_modifiers (line 63) | key_modifiers& key_modifiers::flip_lock() { m_storage.set(1); return *...
    function key_modifiers (line 64) | key_modifiers& key_modifiers::flip_control() { m_storage.flip(2); retu...
    function key_modifiers (line 65) | key_modifiers& key_modifiers::flip_mod1() { m_storage.flip(3); return ...
    function key_modifiers (line 66) | key_modifiers& key_modifiers::flip_mod2() { m_storage.flip(4); return ...
    function key_modifiers (line 67) | key_modifiers& key_modifiers::flip_mod3() { m_storage.flip(5); return ...
    function key_modifiers (line 68) | key_modifiers& key_modifiers::flip_mod4() { m_storage.flip(6); return ...
    function key_modifiers (line 69) | key_modifiers& key_modifiers::flip_mod5() { m_storage.flip(7); return ...
    function key_modifiers (line 70) | key_modifiers& key_modifiers::flip_button1() { m_storage.flip(8); retu...
    function key_modifiers (line 71) | key_modifiers& key_modifiers::flip_button2() { m_storage.flip(9); retu...
    function key_modifiers (line 72) | key_modifiers& key_modifiers::flip_button3() { m_storage.flip(10); ret...
    function key_modifiers (line 73) | key_modifiers& key_modifiers::flip_button4() { m_storage.flip(11); ret...
    function key_modifiers (line 74) | key_modifiers& key_modifiers::flip_button5() { m_storage.flip(12); ret...
    function key_modifiers (line 75) | key_modifiers& key_modifiers::flip_release() { m_storage.flip(13); ret...
    function key_modifiers (line 98) | key_modifiers& key_modifiers::operator&=(const key_modifiers& RHS) { m...
    function key_modifiers (line 99) | key_modifiers& key_modifiers::operator|=(const key_modifiers& RHS) { m...
    function key_modifiers (line 101) | const key_modifiers operator&(const key_modifiers& LHS, const key_modi...
    function key_modifiers (line 102) | const key_modifiers operator|(const key_modifiers& LHS, const key_modi...
    function save_state (line 107) | void save_state(std::ostream& Stream, const std::string& Serialized, c...

FILE: k3dsdk/keyboard.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/line2.cpp
  type k3d (line 27) | namespace k3d

FILE: k3dsdk/line2.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/line3.cpp
  type k3d (line 27) | namespace k3d

FILE: k3dsdk/line3.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/linear_curve.cpp
  type k3d (line 28) | namespace k3d
    type linear_curve (line 31) | namespace linear_curve
      function primitive (line 93) | primitive* create(mesh& Mesh)
      function const_primitive (line 119) | const_primitive* validate(const mesh& Mesh, const mesh::primitive& P...
      function primitive (line 160) | primitive* validate(const mesh& Mesh, mesh::primitive& Primitive)
      function primitive (line 201) | primitive* validate(const mesh& Mesh, pipeline_data<mesh::primitive>...

FILE: k3dsdk/linear_curve.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/log.cpp
  type k3d (line 47) | namespace k3d
    type detail (line 50) | namespace detail
      function log_level_index (line 56) | int log_level_index()
      function log_cerr (line 84) | void log_cerr(const time_t Timestamp, const log_level_t Level, const...
      function log_file (line 158) | void log_file(const time_t Timestamp, const log_level_t Level, const...
      function log_cache (line 206) | void log_cache(const time_t Timestamp, const log_level_t Level, cons...
      function log_syslog (line 218) | void log_syslog(const time_t, const log_level_t Level, const std::st...
      function log_output_debug_string (line 254) | void log_output_debug_string(const time_t Timestamp, const log_level...
      class signal_buf (line 265) | class signal_buf :
        method signal_buf (line 269) | signal_buf() :
        method init (line 283) | void init(std::ostream& Stream)
        method connect (line 288) | sigc::connection connect(const sigc::slot<void, const time_t, cons...
        method overflow (line 294) | int overflow(int c)
      class log_stream_init (line 324) | class log_stream_init
        method signal_buf (line 327) | signal_buf* buf()
      class log_stream (line 339) | class log_stream :
        method log_stream (line 344) | static log_stream& instance()
        method connect (line 350) | sigc::connection connect(const sigc::slot<void, const time_t, cons...
        method log_stream (line 356) | log_stream() :
    function print_debug (line 422) | void print_debug(const std::string& Message)
    function log_show_timestamps (line 427) | void log_show_timestamps(bool Enable)
    function log_set_tag (line 432) | void log_set_tag(const std::string& Tag)
    function log_color_level (line 437) | void log_color_level(bool Enable)
    function log_show_level (line 442) | void log_show_level(bool Enable)
    function log_syslog (line 447) | void log_syslog(bool Enable)
    function log_minimum_level (line 452) | void log_minimum_level(const log_level_t Level)
    function connect_log_message (line 460) | sigc::connection connect_log_message(const sigc::slot<void, const time...
    function get_log_cache (line 468) | void get_log_cache(const sigc::slot<void, const time_t, const log_leve...

FILE: k3dsdk/log.h
  function namespace (line 26) | namespace k3d

FILE: k3dsdk/log_control.h
  function namespace (line 26) | namespace k3d

FILE: k3dsdk/material.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/material_sink.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/matrix_source.h
  function namespace (line 28) | namespace k3d

FILE: k3dsdk/measurement.cpp
  type k3d (line 31) | namespace k3d
    type measurement (line 34) | namespace measurement
      function parse (line 39) | bool parse(std::istream& Stream, double&Value, std::string& Units)
      function parse (line 47) | bool parse(const std::string& Buffer, double& Value, std::string& Un...
      function parse (line 62) | bool parse(const std::string& Buffer, double&Value, const std::type_...
      function angle_units_t (line 122) | const angle_units_t& angle_units()
      function area_units_t (line 142) | const area_units_t& area_units()
      function distance_units_t (line 156) | const distance_units_t& distance_units()
      function force_units_t (line 214) | const force_units_t& force_units()
      function mass_units_t (line 232) | const mass_units_t& mass_units()
      function pressure_units_t (line 257) | const pressure_units_t& pressure_units()
      function time_units_t (line 276) | const time_units_t& time_units()
      function volume_units_t (line 298) | const volume_units_t& volume_units()
      function angle (line 329) | const angle& angle_units(const std::string& Symbol)
      function area (line 339) | const area& area_units(const std::string& Symbol)
      function distance (line 349) | const distance& distance_units(const std::string& Symbol)
      function force (line 359) | const force& force_units(const std::string& Symbol)
      function mass (line 369) | const mass& mass_units(const std::string& Symbol)
      function pressure (line 379) | const pressure& pressure_units(const std::string& Symbol)
      function time (line 389) | const time& time_units(const std::string& Symbol)
      function volume (line 399) | const volume& volume_units(const std::string& Symbol)

FILE: k3dsdk/measurement.h
  function namespace (line 35) | namespace k3d

FILE: k3dsdk/mesh.cpp
  type k3d (line 34) | namespace k3d
    type difference (line 41) | namespace difference
      function test (line 45) | void test(const pipeline_data<typed_array<T> >& A, const pipeline_da...
      function test (line 56) | void test(const pipeline_data<uint_t_array>& A, const pipeline_data<...
      function test (line 68) | void test(const pipeline_data<T>& A, const pipeline_data<T>& B, accu...
      function test (line 79) | void test(const mesh::primitives_t& A, const mesh::primitives_t& B, ...
    type detail (line 112) | namespace detail
      function mark_used_points (line 116) | void mark_used_points(const mesh::indices_t& PrimitivePoints, mesh::...
      type mark_used_primitive_points (line 125) | struct mark_used_primitive_points
        method mark_used_primitive_points (line 127) | mark_used_primitive_points(mesh::bools_t& UnusedPoints) :
      function remap_points (line 206) | void remap_points(mesh::indices_t& PrimitivePoints, const mesh::indi...
      type remap_primitive_points (line 215) | struct remap_primitive_points
        method remap_primitive_points (line 217) | remap_primitive_points(const mesh::indices_t& PointMap) :
      class offset_point_indices (line 290) | class offset_point_indices
        method offset_point_indices (line 293) | offset_point_indices(const uint_t Offset) :
    function bounding_box3 (line 146) | const bounding_box3 mesh::bounds(const mesh& Mesh)
    function bounding_box3 (line 151) | const bounding_box3 mesh::bounds(const points_t& Points)
    type detail (line 202) | namespace detail
      function mark_used_points (line 116) | void mark_used_points(const mesh::indices_t& PrimitivePoints, mesh::...
      type mark_used_primitive_points (line 125) | struct mark_used_primitive_points
        method mark_used_primitive_points (line 127) | mark_used_primitive_points(mesh::bools_t& UnusedPoints) :
      function remap_points (line 206) | void remap_points(mesh::indices_t& PrimitivePoints, const mesh::indi...
      type remap_primitive_points (line 215) | struct remap_primitive_points
        method remap_primitive_points (line 217) | remap_primitive_points(const mesh::indices_t& PointMap) :
      class offset_point_indices (line 290) | class offset_point_indices
        method offset_point_indices (line 293) | offset_point_indices(const uint_t Offset) :
    type detail (line 287) | namespace detail
      function mark_used_points (line 116) | void mark_used_points(const mesh::indices_t& PrimitivePoints, mesh::...
      type mark_used_primitive_points (line 125) | struct mark_used_primitive_points
        method mark_used_primitive_points (line 127) | mark_used_primitive_points(mesh::bools_t& UnusedPoints) :
      function remap_points (line 206) | void remap_points(mesh::indices_t& PrimitivePoints, const mesh::indi...
      type remap_primitive_points (line 215) | struct remap_primitive_points
        method remap_primitive_points (line 217) | remap_primitive_points(const mesh::indices_t& PointMap) :
      class offset_point_indices (line 290) | class offset_point_indices
        method offset_point_indices (line 293) | offset_point_indices(const uint_t Offset) :

FILE: k3dsdk/mesh.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/mesh_deformation_modifier.cpp
  type k3d (line 27) | namespace k3d

FILE: k3dsdk/mesh_deformation_modifier.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/mesh_modifier.h
  function namespace (line 36) | namespace k3d
  function update_mesh (line 96) | void update_mesh(mesh& Output)

FILE: k3dsdk/mesh_painter_gl.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/mesh_reader.h
  function namespace (line 40) | namespace k3d
  function reset_mesh (line 58) | void reset_mesh(mesh* const Mesh)

FILE: k3dsdk/mesh_selection_modifier.h
  function namespace (line 35) | namespace k3d
  function execute (line 75) | void execute(const std::vector<ihint*>& Hints, mesh& Mesh)

FILE: k3dsdk/mesh_selection_sink.h
  function namespace (line 28) | namespace k3d

FILE: k3dsdk/mesh_simple_deformation_modifier.cpp
  type k3d (line 27) | namespace k3d

FILE: k3dsdk/mesh_simple_deformation_modifier.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/mesh_sink.h
  function namespace (line 28) | namespace k3d

FILE: k3dsdk/mesh_source.h
  function namespace (line 35) | namespace k3d

FILE: k3dsdk/mesh_triangulate_detail.h
  function namespace (line 25) | namespace detail

FILE: k3dsdk/mesh_writer.h
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/metadata.cpp
  type k3d (line 26) | namespace k3d
    type metadata (line 29) | namespace metadata
      function string_t (line 54) | const string_t storage::get_metadata_value(const string_t& Name)

FILE: k3dsdk/metadata.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/metadata_keys.cpp
  type k3d (line 26) | namespace k3d
    type metadata (line 29) | namespace metadata
      type key (line 32) | namespace key
        function string_t (line 35) | const string_t authors()
        function string_t (line 40) | const string_t copyright()
        function string_t (line 45) | const string_t domain()
        function string_t (line 50) | const string_t role()
        function string_t (line 55) | const string_t version()
      type value (line 62) | namespace value
        function string_t (line 65) | const string_t point_indices_domain()
        function string_t (line 70) | const string_t multi_line_text_role()
        function string_t (line 75) | const string_t selection_role()
        function string_t (line 80) | const string_t nurbs_knot_vector_role()

FILE: k3dsdk/metadata_keys.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/mime_types.cpp
  type k3d (line 31) | namespace k3d
    type mime (line 34) | namespace mime
      class handler_iterator (line 40) | class handler_iterator
        method handler_iterator (line 43) | static handler_iterator begin()
        method handler_iterator (line 76) | static handler_iterator end()
        method bool_t (line 82) | bool_t operator!=(const handler_iterator& other) const
        method handler_iterator (line 87) | handler_iterator& operator++()
        method imime_type_handler (line 96) | imime_type_handler* operator->() const
        method bool_t (line 104) | static bool_t load_order(iplugin_factory* a, iplugin_factory* b)
        method get_index (line 110) | static boost::optional<uint_t> get_index(const uint_t Index)
      function type (line 141) | const type type::lookup(const filesystem::path& File)
      function type (line 154) | const type type::lookup(const string_t& Data)
      function bool_t (line 167) | bool_t type::operator==(const string_t& RHS) const
      function bool_t (line 172) | bool_t type::operator==(const type& RHS) const
      function bool_t (line 177) | bool_t type::operator!=(const type& RHS) const
      function string_t (line 182) | const string_t type::str() const
      function bool_t (line 187) | bool_t type::empty() const
      function bool_t (line 197) | bool_t operator==(const string_t& LHS, const type& RHS)

FILE: k3dsdk/mime_types.h
  function namespace (line 32) | namespace filesystem { class path; }
  function namespace (line 34) | namespace mime

FILE: k3dsdk/module.h
  function namespace (line 60) | namespace k3d

FILE: k3dsdk/named_array_types.h
  function namespace (line 38) | namespace k3d

FILE: k3dsdk/named_arrays.cpp
  type k3d (line 26) | namespace k3d
    function array (line 32) | const array* named_arrays::lookup(const string_t& Name) const
    function array (line 38) | array* named_arrays::writable(const string_t& Name)
    function named_arrays (line 44) | named_arrays named_arrays::clone_types() const
    function named_arrays (line 54) | named_arrays named_arrays::clone() const

FILE: k3dsdk/named_arrays.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/named_tables.cpp
  type k3d (line 23) | namespace k3d
    function table (line 29) | const table* named_tables::lookup(const string_t& Name) const
    function table (line 35) | table* named_tables::writable(const string_t& Name)

FILE: k3dsdk/named_tables.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/namespace_documentation.h
  function namespace (line 10) | namespace boost
  function namespace (line 19) | namespace Gdk {}
  function namespace (line 22) | namespace Glib {}
  function namespace (line 25) | namespace Gtk {}
  function namespace (line 28) | namespace module {}
  function namespace (line 31) | namespace k3d
  function namespace (line 95) | namespace sigc {}
  function namespace (line 98) | namespace SigC {}
  function namespace (line 101) | namespace std {}
  function namespace (line 104) | namespace Magick {}

FILE: k3dsdk/network_render_farm.cpp
  type k3d (line 44) | namespace k3d
    type detail (line 47) | namespace detail
    class network_render_frame (line 58) | class network_render_frame :
      method network_render_frame (line 62) | network_render_frame(const filesystem::path& JobPath, const string_t...
      method add_file (line 75) | const filesystem::path add_file(const string_t& Name)
      method add_exec_command (line 91) | void add_exec_command(const string_t& Binary, const environment& Env...
      method add_copy_command (line 99) | void add_copy_command(const filesystem::path& Source, const filesyst...
      method add_view_command (line 108) | void add_view_command(const filesystem::path& File)
      method write_control_file (line 113) | void write_control_file()
      method mark_ready (line 168) | void mark_ready()
      class command (line 185) | class command
        method command (line 191) | command() {}
        method command (line 192) | command(const command&) {}
        method command (line 193) | command& operator=(const command&) { return *this; }
      class exec_command (line 196) | class exec_command :
        method exec_command (line 200) | exec_command(const string_t& Binary, const environment& Environmen...
      class copy_command (line 212) | class copy_command :
        method copy_command (line 216) | copy_command(const filesystem::path& Source, const filesystem::pat...
      class view_command (line 226) | class view_command :
        method view_command (line 230) | view_command(const filesystem::path& File) :
    class network_render_job (line 245) | class network_render_job :
      method network_render_job (line 249) | network_render_job(const filesystem::path Path, const string_t JobNa...
      method inetwork_render_frame (line 262) | inetwork_render_frame& create_frame(const string_t& FrameName)
      method write_control_files (line 268) | bool write_control_files()
      method mark_ready (line 285) | bool mark_ready()
      method string_t (line 299) | const string_t path()
    class network_render_farm::implementation (line 314) | class network_render_farm::implementation
      method implementation (line 317) | implementation(const filesystem::path& OptionsPath) :
      method inetwork_render_job (line 322) | inetwork_render_job& create_job(const string_t& JobName)
      method start_job (line 340) | void start_job(inetwork_render_job& Job)
    function inetwork_render_job (line 392) | inetwork_render_job& network_render_farm::create_job(const string_t& J...
    function set_network_render_farm (line 405) | void set_network_render_farm(inetwork_render_farm& RenderFarm)
    function inetwork_render_farm (line 414) | inetwork_render_farm& get_network_render_farm()

FILE: k3dsdk/network_render_farm.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/network_render_farm_detail.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/angle_axis.cpp
  type k3d (line 38) | namespace k3d
    type ngui (line 41) | namespace ngui
      type angle_axis (line 44) | namespace angle_axis
        type detail (line 47) | namespace detail
          class data_proxy (line 51) | class data_proxy :
            method data_proxy (line 55) | data_proxy(k3d::iproperty& Property, k3d::istate_recorder* con...
            method value (line 62) | const k3d::angle_axis value()
            method set_value (line 67) | void set_value(const k3d::angle_axis& Value)
            method changed_signal_t (line 75) | changed_signal_t& changed_signal()
        class spin_button_model (line 87) | class spin_button_model :
          method spin_button_model (line 91) | spin_button_model(angle_axis::idata_proxy& Data, const unsigned ...
          method label (line 98) | const Glib::ustring label()
          method writable (line 103) | k3d::bool_t writable()
          method value (line 108) | k3d::double_t value()
          method set_value (line 114) | void set_value(const double Value)
          method connect_changed_signal (line 122) | sigc::connection connect_changed_signal(const sigc::slot<void>& ...
          method step_increment (line 127) | k3d::double_t step_increment()
        function proxy (line 184) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Property, k3d::...

FILE: k3dsdk/ngui/angle_axis.h
  function namespace (line 34) | namespace Gtk { class Button; }
  function namespace (line 35) | namespace k3d { class ihint; }
  function namespace (line 36) | namespace k3d { class iproperty; }
  function namespace (line 37) | namespace k3d { class istate_recorder; }
  function namespace (line 39) | namespace k3d

FILE: k3dsdk/ngui/application_state.cpp
  type k3d (line 38) | namespace k3d
    type ngui (line 41) | namespace ngui
      class application_state::implementation (line 47) | class application_state::implementation :
        method implementation (line 51) | implementation() :
        type sort_by_title (line 58) | struct sort_by_title
      function application_state (line 78) | application_state& application_state::instance()

FILE: k3dsdk/ngui/application_state.h
  function namespace (line 30) | namespace Gtk { class Window; }
  function namespace (line 32) | namespace k3d { namespace ngui { class unsaved_document; } }
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/application_window.cpp
  type k3d (line 32) | namespace k3d
    type ngui (line 35) | namespace ngui

FILE: k3dsdk/ngui/application_window.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/asynchronous_update.cpp
  type k3d (line 25) | namespace k3d
    type ngui (line 28) | namespace ngui

FILE: k3dsdk/ngui/asynchronous_update.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/ngui/auto_property_page.cpp
  type k3d (line 69) | namespace k3d
    type ngui (line 72) | namespace ngui
      type auto_property_page (line 75) | namespace auto_property_page
        class control::implementation (line 81) | class control::implementation
          method implementation (line 84) | implementation(document_state& DocumentState) :
          method set_properties (line 89) | void set_properties(const objects_t& Objects)
          method set_properties (line 160) | void set_properties(const iproperty_group_collection::groups_t& ...
          method on_delete_user_property (line 422) | void on_delete_user_property(iproperty_collection* Collection, i...

FILE: k3dsdk/ngui/auto_property_page.h
  function namespace (line 31) | namespace Gtk { class Widget; }
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/auto_property_toolbar.cpp
  type k3d (line 55) | namespace k3d
    type ngui (line 58) | namespace ngui
      type auto_property_toolbar (line 61) | namespace auto_property_toolbar
        class bypass_property_proxy (line 65) | class bypass_property_proxy :
          method bypass_property_proxy (line 69) | bypass_property_proxy(document_state& DocumentState, iproperty& ...
          method label (line 76) | const Glib::ustring label()
          method bool_t (line 81) | const bool_t value()
          method set_value (line 87) | void set_value(const bool_t Value)
          method connect_changed_signal (line 97) | sigc::connection connect_changed_signal(const sigc::slot<void>& ...
        class control::implementation (line 116) | class control::implementation
          method implementation (line 119) | implementation(document_state& DocumentState) :
          method set_object (line 125) | void set_object(iunknown* Object)
          method on_add_user_property (line 308) | void on_add_user_property(inode* Node)
          method on_render_camera_camera_preview (line 313) | void on_render_camera_camera_preview(icamera* Camera)
          method on_render_camera_camera_frame (line 322) | void on_render_camera_camera_frame(icamera* Camera)
          method on_render_camera_camera_animation (line 331) | void on_render_camera_camera_animation(icamera* Camera)
          method on_render_camera_preview (line 340) | void on_render_camera_preview(irender_camera_preview* RenderCame...
          method on_render_camera_frame (line 349) | void on_render_camera_frame(irender_camera_frame* RenderCameraFr...
          method on_render_camera_animation (line 358) | void on_render_camera_animation(irender_camera_animation* Render...
          method on_render_preview (line 367) | void on_render_preview(irender_preview* RenderPreview)
          method on_render_frame (line 372) | void on_render_frame(irender_frame* RenderFrame)
          method on_render_animation (line 377) | void on_render_animation(irender_animation* RenderAnimation)
          method on_reset_mesh (line 382) | void on_reset_mesh(imesh_storage* MeshStorage)

FILE: k3dsdk/ngui/auto_property_toolbar.h
  function namespace (line 29) | namespace Gtk { class Widget; }
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/basic_input_model.cpp
  type k3d (line 31) | namespace k3d
    type ngui (line 34) | namespace ngui
      type basic_input_model::implementation (line 40) | struct basic_input_model::implementation
        method implementation (line 42) | implementation() :
        method button (line 49) | const bool button(const unsigned long Button) const

FILE: k3dsdk/ngui/basic_input_model.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ngui/basic_viewport_input_model.cpp
  type k3d (line 31) | namespace k3d
    type ngui (line 34) | namespace ngui
      type basic_viewport_input_model::implementation (line 40) | struct basic_viewport_input_model::implementation
        method implementation (line 42) | implementation() :
        method button (line 49) | const bool button(const unsigned long Button) const

FILE: k3dsdk/ngui/basic_viewport_input_model.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ngui/bitmap_preview.cpp
  type k3d (line 34) | namespace k3d
    type ngui (line 37) | namespace ngui
      type bitmap_preview (line 40) | namespace bitmap_preview
        class property_proxy (line 44) | class property_proxy :
          method property_proxy (line 48) | property_proxy(k3d::iproperty& Data) :
          method changed_signal_t (line 63) | changed_signal_t& changed_signal()
        function proxy (line 75) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Data)
        type extract_rgb (line 100) | struct extract_rgb
        type extract_alpha (line 111) | struct extract_alpha

FILE: k3dsdk/ngui/bitmap_preview.h
  function namespace (line 31) | namespace Gtk { class Image; }
  function namespace (line 32) | namespace k3d { class ihint; }
  function namespace (line 33) | namespace k3d { class iproperty; }
  function namespace (line 35) | namespace k3d

FILE: k3dsdk/ngui/bounding_box.cpp
  type k3d (line 37) | namespace k3d
    type ngui (line 40) | namespace ngui
      type bounding_box (line 43) | namespace bounding_box
        type detail (line 46) | namespace detail
          class data_proxy (line 50) | class data_proxy :
            method data_proxy (line 54) | data_proxy(k3d::iproperty& Property, k3d::istate_recorder* con...
            method value (line 61) | const k3d::bounding_box3 value()
            method set_value (line 66) | void set_value(const k3d::bounding_box3& Value)
            method changed_signal_t (line 74) | changed_signal_t& changed_signal()
        class spin_button_model (line 86) | class spin_button_model :
          method spin_button_model (line 90) | spin_button_model(bounding_box::idata_proxy& Data, double k3d::b...
          method label (line 96) | const Glib::ustring label()
          method writable (line 101) | k3d::bool_t writable()
          method value (line 106) | k3d::double_t value()
          method set_value (line 111) | void set_value(const double Value)
          method connect_changed_signal (line 118) | sigc::connection connect_changed_signal(const sigc::slot<void>& ...
          method step_increment (line 123) | k3d::double_t step_increment()
        function proxy (line 168) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Property, k3d::...

FILE: k3dsdk/ngui/bounding_box.h
  function namespace (line 35) | namespace Gtk { class Button; }
  function namespace (line 36) | namespace k3d { class ihint; }
  function namespace (line 37) | namespace k3d { class iproperty; }
  function namespace (line 38) | namespace k3d { class istate_recorder; }
  function namespace (line 40) | namespace k3d

FILE: k3dsdk/ngui/button.cpp
  type k3d (line 37) | namespace k3d
    type ngui (line 40) | namespace ngui
      type button (line 43) | namespace button

FILE: k3dsdk/ngui/button.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/check_button.cpp
  type k3d (line 32) | namespace k3d
    type ngui (line 35) | namespace ngui
      type check_button (line 38) | namespace check_button
        class data_proxy<k3d::iproperty> (line 43) | class data_proxy<k3d::iproperty> :
          method data_proxy (line 49) | data_proxy(data_t& Data, k3d::istate_recorder* const StateRecord...
          method writable (line 56) | const bool writable()
          method value (line 61) | bool value()
          method set_value (line 66) | void set_value(const bool Value)
          method changed_signal_t (line 72) | changed_signal_t& changed_signal()
        function proxy (line 85) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Data, k3d::ista...

FILE: k3dsdk/ngui/check_button.h
  function namespace (line 35) | namespace k3d { class istate_recorder; }
  function namespace (line 37) | namespace k3d

FILE: k3dsdk/ngui/check_menu_item.cpp
  type k3d (line 33) | namespace k3d
    type ngui (line 36) | namespace ngui
      type check_menu_item (line 39) | namespace check_menu_item
        class data_proxy<k3d::iproperty> (line 44) | class data_proxy<k3d::iproperty> :
          method data_proxy (line 50) | data_proxy(data_t& Data, k3d::istate_recorder* const StateRecord...
          method value (line 57) | bool value()
          method set_value (line 62) | void set_value(const bool Value)
          method changed_signal_t (line 68) | changed_signal_t& changed_signal()
        function proxy (line 81) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Data, k3d::ista...

FILE: k3dsdk/ngui/check_menu_item.h
  function namespace (line 34) | namespace k3d { class ihint; }
  function namespace (line 35) | namespace k3d { class istate_recorder; }
  function namespace (line 37) | namespace k3d

FILE: k3dsdk/ngui/collapsible_frame.cpp
  type k3d (line 38) | namespace k3d
    type ngui (line 41) | namespace ngui
      type collapsible_frame (line 44) | namespace collapsible_frame
        class group::implementation (line 50) | class group::implementation
        class control::implementation (line 83) | class control::implementation :
          method implementation (line 87) | implementation(const Glib::ustring& Name, Gtk::Frame& Frame) :
          method expand (line 121) | void expand()
          method collapse (line 129) | void collapse()
          method is_collapsed (line 137) | bool is_collapsed()
          method on_toggle (line 142) | void on_toggle()
          method on_button_press_event (line 150) | bool on_button_press_event(GdkEventButton* Event)

FILE: k3dsdk/ngui/collapsible_frame.h
  function namespace (line 26) | namespace Gtk { class Button; }
  function namespace (line 28) | namespace k3d

FILE: k3dsdk/ngui/color_chooser.cpp
  type k3d (line 42) | namespace k3d
    type ngui (line 45) | namespace ngui
      type color_chooser (line 48) | namespace color_chooser
        type detail (line 51) | namespace detail
          class color_selection_dialog (line 55) | class color_selection_dialog:
            method color_selection_dialog (line 61) | color_selection_dialog(std::unique_ptr<idata_proxy> Data) :
            method on_color_changed (line 88) | void on_color_changed()
            method on_data_changed (line 105) | void on_data_changed(k3d::ihint*)
        class data_proxy<k3d::iproperty> (line 127) | class data_proxy<k3d::iproperty> :
          method data_proxy (line 133) | data_proxy(data_t& Data, k3d::istate_recorder* const StateRecord...
          method value (line 140) | k3d::color value()
          method set_value (line 153) | void set_value(const k3d::color Value)
          method changed_signal_t (line 166) | changed_signal_t& changed_signal()
          method clone (line 171) | std::unique_ptr<idata_proxy> clone()
        function proxy (line 184) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Data, k3d::ista...

FILE: k3dsdk/ngui/color_chooser.h
  function namespace (line 35) | namespace Gtk { class DrawingArea; }
  function namespace (line 36) | namespace k3d { class istate_recorder; }
  function namespace (line 38) | namespace k3d

FILE: k3dsdk/ngui/combo_box.cpp
  type k3d (line 34) | namespace k3d
    type ngui (line 37) | namespace ngui
      type combo_box (line 40) | namespace combo_box
        class data_proxy<k3d::iproperty> (line 45) | class data_proxy<k3d::iproperty> :
          method data_proxy (line 51) | data_proxy(data_t& Data, k3d::istate_recorder* const StateRecord...
          method value (line 58) | const std::string value()
          method set_value (line 63) | void set_value(const std::string& Value)
          method changed_signal_t (line 69) | changed_signal_t& changed_signal()
        function proxy (line 82) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Data, k3d::ista...

FILE: k3dsdk/ngui/combo_box.h
  function namespace (line 37) | namespace k3d { class istate_recorder; }
  function namespace (line 39) | namespace k3d

FILE: k3dsdk/ngui/console.cpp
  type k3d (line 33) | namespace k3d
    type ngui (line 36) | namespace ngui
      type console (line 39) | namespace console
        class control::implementation (line 45) | class control::implementation
          method implementation (line 48) | implementation() :
          method on_key_press_event (line 70) | bool on_key_press_event(GdkEventKey* event)
          method print_string (line 168) | void print_string(const string_t& String, const bool_t Editable)

FILE: k3dsdk/ngui/console.h
  function namespace (line 32) | namespace Gtk { class TextTag; }
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/context_menu.cpp
  type k3d (line 71) | namespace k3d
    type ngui (line 74) | namespace ngui
      type detail (line 77) | namespace detail
        class node_context_menu (line 81) | class node_context_menu :
          method node_context_menu (line 85) | node_context_menu(document_state& DocumentState) :
          method update_menu (line 254) | void update_menu()
          method on_show (line 289) | void on_show()
          method on_set_viewport_camera (line 296) | void on_set_viewport_camera()
          method on_set_viewport_preview_engine (line 307) | void on_set_viewport_preview_engine()
          method on_set_viewport_still_engine (line 318) | void on_set_viewport_still_engine()
          method on_set_viewport_animation_engine (line 329) | void on_set_viewport_animation_engine()
          method on_set_viewport_gl_engine (line 340) | void on_set_viewport_gl_engine()
          method on_render_preview (line 351) | void on_render_preview()
          method on_render_frame (line 373) | void on_render_frame()
          method on_render_animation (line 396) | void on_render_animation()
          method on_delete (line 499) | void on_delete()
          method on_instantiate (line 510) | void on_instantiate()
          method on_duplicate (line 516) | void on_duplicate()
          method on_animate_transformation (line 522) | void on_animate_transformation()
          method on_modify_meshes (line 595) | void on_modify_meshes(k3d::iplugin_factory* Modifier)
          method on_modifier_transform (line 605) | void on_modifier_transform(k3d::iplugin_factory* Modifier)
          method on_hide_selection (line 626) | void on_hide_selection()
          method on_show_selection (line 634) | void on_show_selection()
          method on_hide_unselected (line 642) | void on_hide_unselected()
          method on_show_all (line 654) | void on_show_all()

FILE: k3dsdk/ngui/context_menu.h
  function namespace (line 27) | namespace Gtk { class Menu; }
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/custom_property_control.h
  function namespace (line 29) | namespace Gtk { class Widget; }
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/custom_property_page.h
  function namespace (line 29) | namespace Gtk { class Widget; }
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/document.cpp
  type k3d (line 52) | namespace k3d
    type ngui (line 55) | namespace ngui
      type detail (line 58) | namespace detail
        function next_document_number (line 65) | unsigned long next_document_number()
        function setup_camera_document (line 74) | void setup_camera_document(k3d::idocument& Document)
        function setup_renderman_document (line 99) | void setup_renderman_document(k3d::idocument& Document)
        function setup_document (line 202) | void setup_document(k3d::idocument& Document)
        function setup_opengl_document (line 215) | void setup_opengl_document(k3d::idocument& Document)
      function create_document (line 268) | void create_document()
      function open_document (line 293) | void open_document(const k3d::filesystem::path& Path)

FILE: k3dsdk/ngui/document.h
  function namespace (line 27) | namespace k3d { namespace filesystem { class path; } }
  function namespace (line 28) | namespace k3d { class idocument; }
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ngui/document_state.cpp
  type k3d (line 77) | namespace k3d
    type ngui (line 80) | namespace ngui
      type detail (line 83) | namespace detail
      class document_state::implementation (line 106) | class document_state::implementation :
        method implementation (line 111) | implementation(k3d::idocument& Document) :
        method GdkGLContext (line 153) | GdkGLContext* gdkgl_share_list()
        method GdkGLContext (line 178) | GdkGLContext* gdkgl_share_list()
        method document_selection_change_signal_t (line 205) | document_selection_change_signal_t& document_selection_change_sign...
        method tool (line 211) | tool& active_tool()
        method set_active_tool (line 217) | void set_active_tool(tool& ActiveTool)
        method on_nodes_removed (line 226) | void on_nodes_removed(const k3d::inode_collection::nodes_t& Nodes)
        method popup_context_menu (line 272) | void popup_context_menu(const bool UserAction)
        type sort_by_title (line 313) | struct sort_by_title
      function GdkGLContext (line 464) | GdkGLContext* document_state::gdkgl_share_list()
      function tool (line 474) | tool& document_state::active_tool()
      function tool (line 489) | tool* document_state::get_tool(const k3d::string_t& Name)
      function tool (line 506) | tool& document_state::selection_tool()
      function tool (line 511) | tool& document_state::move_tool()
      function tool (line 516) | tool& document_state::rotate_tool()
      function tool (line 521) | tool& document_state::scale_tool()

FILE: k3dsdk/ngui/document_state.h
  function namespace (line 36) | namespace Gdk { class Pixbuf; }
  function namespace (line 37) | namespace Gtk { class Window; }
  function namespace (line 38) | namespace k3d { class ianimation_render_engine; }
  function namespace (line 39) | namespace k3d { class idocument; }
  function namespace (line 40) | namespace k3d { class inode; }
  function namespace (line 41) | namespace k3d { class ipreview_render_engine; }
  function namespace (line 42) | namespace k3d { class istill_render_engine; }
  function namespace (line 43) | namespace k3d { namespace ngui { class unsaved_document; } }
  function namespace (line 45) | namespace k3d

FILE: k3dsdk/ngui/document_window.cpp
  type k3d (line 29) | namespace k3d
    type ngui (line 32) | namespace ngui

FILE: k3dsdk/ngui/document_window.h
  function namespace (line 29) | namespace k3d { class idocument; }
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/entry.cpp
  type k3d (line 40) | namespace k3d
    type ngui (line 43) | namespace ngui
      type entry (line 46) | namespace entry
        class property_model (line 53) | class property_model :
          method property_model (line 57) | property_model(k3d::iproperty& Data) :
          method label (line 63) | const Glib::ustring label()
          method value (line 73) | const k3d::string_t value()
          method set_value (line 83) | void set_value(const k3d::string_t& Value)
          method connect_changed_signal (line 95) | sigc::connection connect_changed_signal(const sigc::slot<void>& ...
        function imodel (line 111) | imodel* const model(k3d::iproperty& Property)
        class control::implementation (line 119) | class control::implementation
          method implementation (line 122) | implementation(imodel* const Model, k3d::istate_recorder* const ...

FILE: k3dsdk/ngui/entry.h
  function namespace (line 31) | namespace k3d { class iproperty; }
  function namespace (line 32) | namespace k3d { class istate_recorder; }
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/enumeration_chooser.cpp
  type k3d (line 38) | namespace k3d
    type ngui (line 41) | namespace ngui
      type enumeration_chooser (line 44) | namespace enumeration_chooser
        class property_model (line 51) | class property_model :
          method property_model (line 55) | property_model(k3d::iproperty& Data) :
          method label (line 62) | const Glib::ustring label()
          method enumeration_values (line 72) | const k3d::ienumeration_property::enumeration_values_t enumerati...
          method value (line 78) | const k3d::string_t value()
          method set_value (line 83) | void set_value(const k3d::string_t& Value)
          method connect_changed (line 89) | sigc::connection connect_changed(const sigc::slot<void, k3d::iun...
          method connect_enumeration_values_changed (line 94) | sigc::connection connect_enumeration_values_changed(const sigc::...
        function imodel (line 112) | imodel* const model(k3d::iproperty& Property)
        class control::implementation (line 120) | class control::implementation
          method implementation (line 123) | implementation(imodel* const Model, k3d::istate_recorder* const ...
          class columns (line 138) | class columns :
            method columns (line 142) | columns()

FILE: k3dsdk/ngui/enumeration_chooser.h
  function namespace (line 35) | namespace k3d { class iproperty; }
  function namespace (line 36) | namespace k3d { class istate_recorder; }
  function namespace (line 38) | namespace k3d

FILE: k3dsdk/ngui/event_button.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/ngui/file_chooser_dialog.cpp
  type k3d (line 42) | namespace k3d
    type ngui (line 45) | namespace ngui

FILE: k3dsdk/ngui/file_chooser_dialog.h
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/ngui/hotkey_cell_renderer_text.cpp
  type k3d (line 27) | namespace k3d
    type ngui (line 30) | namespace ngui

FILE: k3dsdk/ngui/hotkey_cell_renderer_text.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ngui/hotkey_entry.cpp
  type k3d (line 27) | namespace k3d
    type ngui (line 30) | namespace ngui

FILE: k3dsdk/ngui/hotkey_entry.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/icons.cpp
  type k3d (line 35) | namespace k3d
    type ngui (line 38) | namespace ngui
      type detail (line 41) | namespace detail
        function scalable_path (line 44) | const k3d::filesystem::path scalable_path()
        function rasterized_path (line 49) | const k3d::filesystem::path rasterized_path()
        function pixmap_path (line 54) | const k3d::filesystem::path pixmap_path()
      function load_icon (line 63) | Glib::RefPtr<Gdk::Pixbuf> load_icon(const std::string& Name, const G...
      function quiet_load_icon (line 111) | Glib::RefPtr<Gdk::Pixbuf> quiet_load_icon(const std::string& Name, c...

FILE: k3dsdk/ngui/icons.h
  function namespace (line 30) | namespace Gdk { class Pixbuf; }
  function namespace (line 31) | namespace Gtk { class IconSize; }
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/image_toggle_button.cpp
  type k3d (line 28) | namespace k3d
    type ngui (line 31) | namespace ngui
      type image_toggle_button (line 34) | namespace image_toggle_button

FILE: k3dsdk/ngui/image_toggle_button.h
  function namespace (line 29) | namespace Gtk { class Image; }
  function namespace (line 30) | namespace Gdk { class Pixbuf; }
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/ngui/input_model.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/interactive.cpp
  type k3d (line 56) | namespace k3d
    type ngui (line 59) | namespace ngui
      type interactive (line 62) | namespace interactive
        type detail (line 65) | namespace detail
          function warp_pointer (line 68) | void warp_pointer(const k3d::point2& Offset)
          function warp_pointer (line 94) | void warp_pointer(Glib::RefPtr<Gdk::Window> Window, const k3d::p...
          function screen_coordinates (line 105) | const k3d::point2 screen_coordinates(Gtk::Widget& Widget)
        function get_pointer (line 125) | const k3d::point2 get_pointer()
        function warp_pointer (line 135) | void warp_pointer(const k3d::point2& Coords)
        function warp_pointer (line 140) | void warp_pointer(Gtk::Widget& Widget, const k3d::point2& Coords)
        function warp_pointer (line 145) | void warp_pointer(Gtk::Widget& Widget)

FILE: k3dsdk/ngui/interactive.h
  function namespace (line 29) | namespace Gtk { class Widget; }
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/keyboard.cpp
  type k3d (line 27) | namespace k3d
    type ngui (line 30) | namespace ngui
      function convert (line 33) | const k3d::key_modifiers convert(const unsigned int Modifiers)
      function convert (line 55) | const unsigned int convert(const k3d::key_modifiers Modifiers)

FILE: k3dsdk/ngui/keyboard.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/main_document_window.cpp
  type k3d (line 126) | namespace k3d
    type ngui (line 129) | namespace ngui
      type detail (line 132) | namespace detail
        type select (line 138) | struct select
          method select (line 140) | select(idocument& Document) : document(Document)
        function get_panel_frames (line 156) | void get_panel_frames(Gtk::Widget& Parent, panel_frame::controls& ...
        function get_panel_frames (line 174) | panel_frame::controls get_panel_frames(Gtk::Widget& Parent)
        function ui_layout_path (line 185) | const k3d::filesystem::path ui_layout_path()
      class main_document_window (line 195) | class main_document_window :
        method main_document_window (line 203) | main_document_window(document_state& DocumentState) :
        method delete_children (line 281) | void delete_children(Gtk::Widget& Widget)
        method save (line 307) | void save(k3d::xml::element& Element, const k3d::ipersistent::save...
        method load (line 316) | void load(k3d::xml::element& Element, const k3d::ipersistent::load...
        method set_default_layout (line 325) | void set_default_layout()
        method on_set_cursor (line 380) | void on_set_cursor(const Glib::RefPtr<Gdk::Pixbuf> Cursor)
        method on_clear_cursor (line 388) | void on_clear_cursor()
        method on_delete_event (line 1173) | bool on_delete_event(GdkEventAny*)
        method on_assign_hotkeys (line 1179) | void on_assign_hotkeys()
        method on_file_new (line 1186) | void on_file_new()
        method on_file_open (line 1191) | void on_file_open()
        method on_file_merge_nodes (line 1205) | void on_file_merge_nodes()
        method on_file_save (line 1210) | bool on_file_save()
        method on_file_save_as (line 1229) | bool on_file_save_as()
        class import_export_columns (line 1259) | class import_export_columns :
          method import_export_columns (line 1263) | import_export_columns()
        method file_revert (line 1275) | void file_revert()
        method on_file_revert (line 1304) | void on_file_revert()
        method on_file_import (line 1326) | void on_file_import()
        method on_file_export (line 1421) | void on_file_export()
        method on_file_close (line 1478) | void on_file_close()
        method on_file_quit (line 1490) | void on_file_quit()
        method on_edit_undo (line 1495) | void on_edit_undo(const bool All)
        method on_edit_redo (line 1520) | void on_edit_redo(const bool All)
        method on_selection_tool (line 1545) | void on_selection_tool()
        method on_move_tool (line 1550) | void on_move_tool()
        method on_rotate_tool (line 1555) | void on_rotate_tool()
        method on_scale_tool (line 1560) | void on_scale_tool()
        method on_parent_tool (line 1565) | void on_parent_tool()
        method on_snap_tool (line 1573) | void on_snap_tool()
        method on_instantiate (line 1581) | void on_instantiate()
        method on_duplicate (line 1586) | void on_duplicate()
        method on_delete (line 1591) | void on_delete()
        method on_render_region_tool (line 1601) | void on_render_region_tool()
        method on_select_all (line 1609) | void on_select_all()
        method on_select_none (line 1615) | void on_select_none()
        method on_select_invert (line 1621) | void on_select_invert()
        method on_select_parent (line 1627) | void on_select_parent()
        method on_select_child (line 1655) | void on_select_child()
        method on_select_sibling (line 1684) | void on_select_sibling()
        method on_select_curves (line 1738) | void on_select_curves()
        method on_select_patches (line 1744) | void on_select_patches()
        method on_select_faces (line 1750) | void on_select_faces()
        method on_select_nodes (line 1756) | void on_select_nodes()
        method on_select_vertices (line 1762) | void on_select_vertices()
        method on_select_split_edges (line 1768) | void on_select_split_edges()
        method on_select_uniform (line 1774) | void on_select_uniform()
        method on_layout_maximize_panel (line 1780) | void on_layout_maximize_panel()
        method on_layout_hide_show_unpinned (line 1814) | void on_layout_hide_show_unpinned()
        method hide_unpinned_panels (line 1834) | void hide_unpinned_panels()
        method hide_panes (line 1849) | bool hide_panes(Gtk::Widget* Widget)
        method show_all_panels (line 1873) | void show_all_panels()
        method show_all_panels (line 1882) | void show_all_panels(Gtk::Widget* Widget)
        method on_layout_pin_all (line 1896) | void on_layout_pin_all()
        method on_layout_unpin_all (line 1903) | void on_layout_unpin_all()
        method on_layout_decorate_panel (line 1910) | void on_layout_decorate_panel()
        method on_layout_undecorate_panel (line 1921) | void on_layout_undecorate_panel()
        method on_layout_split_horizontal (line 1987) | void on_layout_split_horizontal()
        method on_layout_split_vertical (line 1998) | void on_layout_split_vertical()
        method on_layout_kill_panel (line 2009) | void on_layout_kill_panel()
        method on_layout_save (line 2040) | void on_layout_save()
        method on_layout_reset (line 2046) | void on_layout_reset()
        method on_view_hide_selection (line 2052) | void on_view_hide_selection()
        method on_view_show_selection (line 2063) | void on_view_show_selection()
        method on_view_hide_unselected (line 2074) | void on_view_hide_unselected()
        method on_view_show_all (line 2088) | void on_view_show_all()
        method on_view_aim_selection (line 2099) | void on_view_aim_selection()
        method on_view_frame_selection (line 2108) | void on_view_frame_selection()
        method on_view_set_camera (line 2117) | void on_view_set_camera()
        method on_view_toggle_projection (line 2129) | void on_view_toggle_projection()
        method on_view_set_view (line 2138) | void on_view_set_view(const k3d::signed_axis Axis)
        method on_create_node (line 2198) | void on_create_node(k3d::iplugin_factory* const Factory)
        method on_modify_meshes (line 2206) | void on_modify_meshes(k3d::iplugin_factory* Modifier)
        method on_modify_transformations (line 2215) | void on_modify_transformations(k3d::iplugin_factory* Modifier)
        method on_scripting_play (line 2236) | void on_scripting_play()
        method on_scripting_script_editor (line 2256) | void on_scripting_script_editor()
        method on_scripting_python_shell (line 2267) | void on_scripting_python_shell()
        method on_scripting_action (line 2278) | void on_scripting_action(k3d::iplugin_factory* Factory)
        method on_window_fullscreen (line 2296) | void on_window_fullscreen(k3d::iunknown*)
        method on_advanced_create_dialog (line 2304) | void on_advanced_create_dialog(k3d::iplugin_factory* Factory)
        method on_help_learning_menu (line 2312) | void on_help_learning_menu()
        method on_help_file_bug_report (line 2320) | void on_help_file_bug_report()
        method on_help_open_log_window (line 2325) | void on_help_open_log_window()
        method on_help_guide (line 2333) | void on_help_guide()
        method on_help_online (line 2338) | void on_help_online()
        method on_help_release_notes (line 2343) | void on_help_release_notes()
        method on_help_about (line 2348) | void on_help_about()
        method on_unparent (line 2357) | void on_unparent()
        method on_render_preview (line 2372) | void on_render_preview()
        method on_render_frame (line 2392) | void on_render_frame()
        method on_render_animation (line 2412) | void on_render_animation()
        method on_render_viewport_frame (line 2432) | void on_render_viewport_frame()
        method on_render_viewport_animation (line 2450) | void on_render_viewport_animation()
        method on_render_set_viewport_preview_engine (line 2468) | void on_render_set_viewport_preview_engine()
        method on_render_set_viewport_still_engine (line 2480) | void on_render_set_viewport_still_engine()
        method on_render_set_viewport_animation_engine (line 2492) | void on_render_set_viewport_animation_engine()
        method on_document_title_changed (line 2504) | void on_document_title_changed(k3d::iunknown*)
        method on_panel_focus_changed (line 2511) | void on_panel_focus_changed(panel_frame::control* Panel)
        method update_panel_controls (line 2530) | void update_panel_controls(k3d::iunknown*)
        method save_ui_layout (line 2559) | void save_ui_layout()
        method load_ui_layout (line 2587) | bool load_ui_layout()
        method save_ui_container (line 2630) | void save_ui_container(Gtk::Widget* Widget, k3d::xml::element& Doc...
        method load_ui_container (line 2666) | bool load_ui_container(k3d::xml::element& Element)
        method on_key_press_event (line 2744) | bool on_key_press_event(GdkEventKey* event)
        method on_button_press_event (line 2754) | bool on_button_press_event(GdkEventButton* event)
        method update_undo_redo_controls (line 2759) | void update_undo_redo_controls()
        method unsaved_changes (line 2806) | const bool unsaved_changes()
        method unsaved_document_title (line 2811) | const std::string unsaved_document_title()
        method save_unsaved_changes (line 2816) | const bool save_unsaved_changes()
        method set_focus_viewport_panel (line 2822) | void set_focus_viewport_panel(panel_frame::control* Panel)
        method unset_focus_viewport_panel (line 2845) | void unset_focus_viewport_panel()
      function create_main_document_window (line 2896) | void create_main_document_window(document_state& DocumentState)

FILE: k3dsdk/ngui/main_document_window.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/ngui/menus.cpp
  type k3d (line 39) | namespace k3d
    type ngui (line 42) | namespace ngui
      type detail (line 45) | namespace detail
        function plugin_factory_markup (line 48) | const std::string plugin_factory_markup(k3d::iplugin_factory& Fact...

FILE: k3dsdk/ngui/menus.h
  function namespace (line 28) | namespace k3d { class iplugin_factory; }
  function namespace (line 29) | namespace Gtk { class ImageMenuItem; }
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/merge_nodes.cpp
  type k3d (line 50) | namespace k3d
    type ngui (line 53) | namespace ngui
      type merge_nodes (line 56) | namespace merge_nodes
        type detail (line 59) | namespace detail
          type node_check_t (line 63) | struct node_check_t
            method node_check_t (line 65) | node_check_t(const std::string& Name) :
          class merge_nodes_dialog (line 76) | class merge_nodes_dialog :
            method merge_nodes_dialog (line 82) | merge_nodes_dialog(document_nodes_t& DocumentNodes, std::strin...
            method on_response (line 133) | void on_response(int ID)
            method on_check_all (line 149) | void on_check_all()
            method on_clear_selection (line 156) | void on_clear_selection()
            method on_update_prefix (line 163) | bool on_update_prefix(GdkEventKey* Event)
            class columns_t (line 183) | class columns_t :
              method columns_t (line 187) | columns_t()
        function merge_nodes (line 201) | void merge_nodes(k3d::idocument& Document)

FILE: k3dsdk/ngui/merge_nodes.h
  function namespace (line 24) | namespace k3d { class idocument; }
  function namespace (line 26) | namespace k3d

FILE: k3dsdk/ngui/messages.cpp
  type k3d (line 38) | namespace k3d
    type ngui (line 41) | namespace ngui
      function message (line 44) | void message(const std::string& Message, const std::string& Secondar...
      function warning_message (line 55) | void warning_message(const std::string& Message, const std::string& ...
      function error_message (line 66) | void error_message(const std::string& Message, const std::string& Se...
      function query_message (line 77) | unsigned int query_message(const std::string& Message, const unsigne...
      function nag_message (line 101) | void nag_message(const std::string& Type, const k3d::ustring& Messag...
      function bool_t (line 128) | bool_t cancel_plugin(iplugin_factory& Factory)

FILE: k3dsdk/ngui/messages.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/modifiers.cpp
  type k3d (line 53) | namespace k3d
    type ngui (line 56) | namespace ngui
      function factories_t (line 59) | const factories_t& mesh_modifiers()
      function factories_t (line 77) | const factories_t& mesh_sinks()
      function factories_t (line 91) | const factories_t& transform_modifiers()
      function inode (line 106) | inode* modify_transformation(idocument& Document, inode& Object, ipl...
      function inode (line 146) | inode* modify_mesh(document_state& DocumentState, inode& Node, iplug...
      function modify_selected_meshes (line 214) | void modify_selected_meshes(document_state& DocumentState, iplugin_f...
      function transform_modifier (line 339) | const transform_modifier create_transform_modifier(idocument& Docume...
      function inode (line 351) | inode* insert_transform_modifier(inode& Object, const uuid& Modifier...
      function inode (line 370) | inode* upstream_transform_modifier(inode& Object)
      function mesh_modifier (line 385) | const mesh_modifier create_mesh_modifier(idocument& Document, const ...
      function inode (line 397) | inode* insert_mesh_modifier(inode& Object, const uuid& ModifierType,...
      function inode (line 416) | inode* upstream_mesh_modifier(inode& Object)

FILE: k3dsdk/ngui/modifiers.h
  function namespace (line 31) | namespace k3d { class idocument; }
  function namespace (line 32) | namespace k3d { class inode; }
  function namespace (line 33) | namespace k3d { class imesh_sink; }
  function namespace (line 34) | namespace k3d { class imesh_source; }
  function namespace (line 35) | namespace k3d { class iplugin_factory; }
  function namespace (line 36) | namespace k3d { class imatrix_sink; }
  function namespace (line 37) | namespace k3d { class imatrix_source; }
  function namespace (line 38) | namespace k3d { class uuid; }
  function namespace (line 40) | namespace k3d

FILE: k3dsdk/ngui/move_tool.cpp
  type k3d (line 51) | namespace k3d
    type ngui (line 54) | namespace ngui
      type detail (line 57) | namespace detail
        class move_manipulators (line 60) | class move_manipulators :
          type constraint (line 64) | struct constraint :
            method constraint (line 67) | constraint(const std::string& Label, Glib::RefPtr<Gdk::Pixbuf>...
            method label (line 79) | const std::string label()
            method cursor (line 84) | Glib::RefPtr<Gdk::Pixbuf> cursor()
            method set_plane (line 89) | void set_plane(const k3d::plane& Plane, const double XSensitiv...
            method begin_mouse_move (line 97) | void begin_mouse_move(const k3d::point2& Mouse, const k3d::poi...
            method mouse_move (line 102) | k3d::vector3 mouse_move(viewport::control& Viewport, const k3d...
          method move_manipulators (line 138) | move_manipulators() :
          method activate (line 156) | void activate()
          method redraw (line 192) | void redraw(viewport::control& Viewport, const bool Visible, con...
          method select (line 296) | void select(viewport::control& Viewport, const k3d::point3& Posi...
          method get_constraint_name (line 358) | std::string get_constraint_name()
          method set_constraint (line 366) | Glib::RefPtr<Gdk::Pixbuf> set_constraint(const std::string& Name)
          method constraint_name (line 388) | std::string constraint_name(const k3d::selection::id ID)
          method cycle_constraint (line 408) | std::string cycle_constraint(constraint* Constraint)
          method update_constraint (line 422) | void update_constraint(viewport::control& Viewport, const k3d::p...
          method begin_mouse_move (line 455) | void begin_mouse_move(const k3d::point2& Coordinates, const k3d:...
          method mouse_move (line 460) | k3d::vector3 mouse_move(viewport::control& Viewport, const k3d::...
          method draw_screen_xy (line 467) | void draw_screen_xy(viewport::control& Viewport, const k3d::colo...
          method select_screen_xy (line 488) | void select_screen_xy(constraint& Constraint)
          method draw_axis (line 507) | void draw_axis(const k3d::color& ArrowColor, const k3d::color& A...
          method select_axis (line 541) | void select_axis(constraint& Constraint, const k3d::matrix4& Mat...
          method draw_plane (line 566) | void draw_plane(const k3d::color& Color, const k3d::vector3& P1,...
          method select_plane (line 581) | void select_plane(constraint& Constraint, const k3d::vector3& P1...
          method GLUquadricObj (line 601) | GLUquadricObj* quadric()
      function viewport_input_model (line 727) | viewport_input_model& move_tool::get_input_model()

FILE: k3dsdk/ngui/move_tool.h
  function namespace (line 35) | namespace k3d

FILE: k3dsdk/ngui/navigation_input_model.cpp
  type k3d (line 52) | namespace k3d
    type ngui (line 55) | namespace ngui
      type detail (line 58) | namespace detail
        function angle (line 62) | double angle(const k3d::vector2& Vector)
      type navigation_input_model::implementation (line 72) | struct navigation_input_model::implementation
        method implementation (line 74) | implementation(document_state& DocumentState) :
        method on_button1_start_drag (line 79) | void on_button1_start_drag(viewport::control& Viewport, const GdkE...
        method on_button2_start_drag (line 147) | void on_button2_start_drag(viewport::control& Viewport, const GdkE...
        method on_drag (line 190) | void on_drag(viewport::control& Viewport, const GdkEventMotion& Ev...
        method on_end_drag (line 217) | void on_end_drag(viewport::control& Viewport, const GdkEventButton...
        method on_track_motion (line 247) | void on_track_motion(viewport::control& Viewport, const GdkEventMo...
        method on_dolly_motion (line 279) | void on_dolly_motion(viewport::control& Viewport, const GdkEventMo...
        method on_zoom_motion (line 299) | void on_zoom_motion(viewport::control& Viewport, const GdkEventMot...
        method on_orbit_motion (line 349) | void on_orbit_motion(viewport::control& Viewport, const GdkEventMo...
        method on_pan_tilt_motion (line 409) | void on_pan_tilt_motion(viewport::control& Viewport, const GdkEven...
        method on_roll_motion (line 442) | void on_roll_motion(viewport::control& Viewport, const GdkEventMot...
        method on_scroll (line 467) | void on_scroll(viewport::control& Viewport, const GdkEventScroll& ...
        method on_button1_click (line 508) | void on_button1_click(viewport::control& Viewport, const GdkEventB...
        method on_context_menu (line 542) | void on_context_menu(viewport::control& Viewport, const GdkEventBu...
        method wrap_mouse_pointer (line 547) | void wrap_mouse_pointer(viewport::control& Viewport)
        method ndc (line 594) | const k3d::point2 ndc(viewport::control& Viewport, const k3d::poin...
        method screen_pointer_coordinates (line 609) | const k3d::point2 screen_pointer_coordinates(viewport::control& Vi...

FILE: k3dsdk/ngui/navigation_input_model.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/node.cpp
  type k3d (line 28) | namespace k3d
    type ngui (line 31) | namespace ngui
      type node (line 34) | namespace node
        function show (line 37) | void show(inode& Node)
        function hide (line 47) | void hide(inode& Node)

FILE: k3dsdk/ngui/node.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/ngui/node_chooser.cpp
  type k3d (line 49) | namespace k3d
    type ngui (line 52) | namespace ngui
      type node_chooser (line 55) | namespace node_chooser
        type detail (line 58) | namespace detail
          class property_filter (line 62) | class property_filter :
            method property_filter (line 66) | property_filter(k3d::iproperty& Property) :
            method allow_none (line 71) | bool allow_none()
            method allow (line 76) | bool allow(k3d::iplugin_factory& Factory)
            method allow (line 81) | bool allow(k3d::inode& Object)
        function filter (line 265) | std::unique_ptr<iselection_filter> filter(k3d::iproperty& Data)

FILE: k3dsdk/ngui/node_chooser.h
  function namespace (line 36) | namespace Gtk { class Button; }
  function namespace (line 37) | namespace Gtk { class Label; }
  function namespace (line 38) | namespace Gtk { class Menu; }
  function namespace (line 39) | namespace Gtk { class MenuItem; }
  function namespace (line 40) | namespace k3d { class idocument; }
  function namespace (line 41) | namespace k3d { class istate_recorder; }
  function namespace (line 43) | namespace k3d

FILE: k3dsdk/ngui/node_collection_chooser.cpp
  type k3d (line 53) | namespace k3d
    type ngui (line 56) | namespace ngui
      type node_collection_chooser (line 59) | namespace node_collection_chooser
        class list_window (line 65) | class list_window :
          method list_window (line 70) | list_window(const boost::shared_ptr<imodel>& Model, k3d::istate_...
          method on_update (line 124) | void on_update()
          method on_selection_toggled (line 146) | void on_selection_toggled(const Gtk::TreeModel::Path& path, cons...
          method on_toggle_selected (line 178) | void on_toggle_selected()
          method on_model_changed (line 207) | void on_model_changed()
          method on_select_all (line 215) | void on_select_all()
          method on_deselect_all (line 220) | void on_deselect_all()
          class columns (line 225) | class columns :
            method columns (line 229) | columns()
        class property_model (line 255) | class property_model :
          method property_model (line 259) | property_model(k3d::iproperty& Property) :
          method label (line 272) | const Glib::ustring label()
          method available_nodes (line 282) | const k3d::inode_collection_property::nodes_t available_nodes()
          method selected_nodes (line 307) | const k3d::inode_collection_property::nodes_t selected_nodes()
          method set_selected_nodes (line 312) | void set_selected_nodes(const k3d::inode_collection_property::no...
          method connect_changed_signal (line 317) | sigc::connection connect_changed_signal(const sigc::slot<void>& ...
        function imodel (line 330) | imodel* const model(k3d::iproperty& Property)
        class control::implementation (line 338) | class control::implementation
          method implementation (line 341) | implementation(imodel* const Model, k3d::istate_recorder* StateR...

FILE: k3dsdk/ngui/node_collection_chooser.h
  function namespace (line 30) | namespace k3d { class iproperty; }
  function namespace (line 31) | namespace k3d { class istate_recorder; }
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/node_window.cpp
  type k3d (line 31) | namespace k3d
    type ngui (line 34) | namespace ngui
      class node_window::implementation (line 40) | class node_window::implementation
        method implementation (line 43) | implementation(k3d::inode& Node) :

FILE: k3dsdk/ngui/node_window.h
  function namespace (line 31) | namespace k3d { class inode; }
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/null_viewport_input_model.cpp
  type k3d (line 26) | namespace k3d
    type ngui (line 29) | namespace ngui

FILE: k3dsdk/ngui/null_viewport_input_model.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/options.cpp
  type k3d (line 30) | namespace k3d
    type ngui (line 33) | namespace ngui
      type options (line 36) | namespace options
        type detail (line 39) | namespace detail
        function nag (line 61) | const bool nag(const std::string& Type)
        function enable_nag (line 66) | void enable_nag(const std::string& Type, const bool Enabled)

FILE: k3dsdk/ngui/options.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/panel.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/panel_frame.cpp
  type k3d (line 52) | namespace k3d
    type ngui (line 55) | namespace ngui
      type panel_frame (line 58) | namespace panel_frame
        type detail (line 61) | namespace detail
          class floating_window (line 67) | class floating_window :
            method floating_window (line 73) | floating_window(document_state& Document) :

FILE: k3dsdk/ngui/panel_frame.h
  function namespace (line 38) | namespace k3d { class icamera; }
  function namespace (line 39) | namespace k3d { class iplugin_factory; }
  function namespace (line 40) | namespace k3d { namespace xml { class element; } }
  function namespace (line 42) | namespace k3d

FILE: k3dsdk/ngui/panel_mediator.cpp
  type k3d (line 29) | namespace k3d
    type ngui (line 32) | namespace ngui
      type panel (line 35) | namespace panel
        class mediator::implementation (line 41) | class mediator::implementation
          method implementation (line 44) | static implementation& instance(idocument& Document)
          method implementation (line 60) | implementation(idocument& Document) :

FILE: k3dsdk/ngui/panel_mediator.h
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/path_chooser.cpp
  type k3d (line 44) | namespace k3d
    type ngui (line 47) | namespace ngui
      type path_chooser (line 50) | namespace path_chooser
        class data_proxy<k3d::iproperty> (line 55) | class data_proxy<k3d::iproperty> :
          method data_proxy (line 61) | data_proxy(data_t& Data, k3d::istate_recorder* const StateRecord...
          method mode (line 70) | const k3d::ipath_property::mode_t mode()
          method type (line 75) | const std::string type()
          method reference (line 80) | const k3d::ipath_property::reference_t reference()
          method set_reference (line 85) | void set_reference(const k3d::ipath_property::reference_t Refere...
          method pattern_filters (line 91) | const k3d::ipath_property::pattern_filters_t pattern_filters()
          method value (line 96) | const k3d::filesystem::path value()
          method set_value (line 101) | void set_value(const k3d::filesystem::path& Value)
          method changed_signal_t (line 107) | changed_signal_t& changed_signal()
          method is_watchable (line 113) | const k3d::bool_t is_watchable() const
          method is_watched (line 119) | const k3d::bool_t is_watched() const
          method watch (line 124) | void watch(const k3d::bool_t Watched)
        function proxy (line 140) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Data, k3d::ista...

FILE: k3dsdk/ngui/path_chooser.h
  function namespace (line 35) | namespace Gtk { class Button; }
  function namespace (line 36) | namespace Gtk { class ComboBox; }
  function namespace (line 37) | namespace k3d { class istate_recorder; }
  function namespace (line 39) | namespace k3d

FILE: k3dsdk/ngui/pipeline.cpp
  type k3d (line 59) | namespace k3d
    type ngui (line 62) | namespace ngui
      type pipeline (line 65) | namespace pipeline
        type detail (line 68) | namespace detail
        function inode (line 178) | inode* default_gl_painter(idocument& Document)
        function inode (line 184) | inode* default_ri_painter(idocument& Document)
        function inode (line 190) | inode* create_node(idocument& Document, iplugin_factory& Factory)
        function freeze_transformation (line 279) | void freeze_transformation(k3d::inode& FromNode, k3d::inode& ToNod...
        function inode (line 311) | inode* instantiate_mesh(idocument& Document, inode& Node)
        function instantiate_selected_nodes (line 379) | void instantiate_selected_nodes(idocument& Document)
        function duplicate_selected_nodes (line 413) | void duplicate_selected_nodes(idocument& Document)

FILE: k3dsdk/ngui/pipeline.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ngui/point3.cpp
  type k3d (line 40) | namespace k3d
    type ngui (line 43) | namespace ngui
      type point (line 46) | namespace point
        type detail (line 49) | namespace detail
          class data_proxy (line 53) | class data_proxy :
            method data_proxy (line 57) | data_proxy(k3d::iproperty& Data, k3d::istate_recorder* const S...
            method writable (line 64) | bool writable()
            method value (line 69) | const k3d::point3 value()
            method set_value (line 84) | void set_value(const k3d::point3& Value)
            method changed_signal_t (line 99) | changed_signal_t& changed_signal()
        class spin_button_model (line 112) | class spin_button_model :
          method spin_button_model (line 116) | spin_button_model(point::idata_proxy& Data, const unsigned int I...
          method label (line 123) | const Glib::ustring label()
          method writable (line 128) | k3d::bool_t writable()
          method value (line 133) | k3d::double_t value()
          method set_value (line 138) | void set_value(const double Value)
          method connect_changed_signal (line 145) | sigc::connection connect_changed_signal(const sigc::slot<void>& ...
          method step_increment (line 150) | k3d::double_t step_increment()
        function proxy (line 211) | std::unique_ptr<idata_proxy> proxy(k3d::iproperty& Property, k3d::...

FILE: k3dsdk/ngui/point3.h
  function namespace (line 34) | namespace Gtk { class Button; }
  function namespace (line 35) | namespace k3d { class ihint; }
  function namespace (line 36) | namespace k3d { class iproperty; }
  function namespace (line 37) | namespace k3d { class istate_recorder; }
  function namespace (line 39) | namespace k3d

FILE: k3dsdk/ngui/property.cpp
  type k3d (line 55) | namespace k3d
    type ngui (line 58) | namespace ngui
      type property (line 61) | namespace property
        class create_dialog (line 68) | class create_dialog :
          method create_dialog (line 75) | create_dialog(k3d::inode& Node) :
          method on_property_type_changed (line 158) | void on_property_type_changed()
          method on_name_changed (line 174) | void on_name_changed()
          method on_label_changed (line 214) | void on_label_changed()
          method on_add (line 222) | void on_add()
        function create (line 380) | void create(inode& Node)

FILE: k3dsdk/ngui/property.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/ngui/property_button.cpp
  type k3d (line 46) | namespace k3d
    type ngui (line 49) | namespace ngui
      type property_button (line 52) | namespace property_button

FILE: k3dsdk/ngui/property_button.h
  function namespace (line 32) | namespace Gtk { class Image; }
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/property_label.cpp
  type k3d (line 46) | namespace k3d
    type ngui (line 49) | namespace ngui
      type property_label (line 52) | namespace property_label

FILE: k3dsdk/ngui/property_label.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/property_widget.cpp
  type k3d (line 49) | namespace k3d
    type ngui (line 52) | namespace ngui
      type property_widget (line 55) | namespace property_widget

FILE: k3dsdk/ngui/property_widget.h
  function namespace (line 31) | namespace Gtk { class Menu; }
  function namespace (line 32) | namespace Gtk { class MenuItem; }
  function namespace (line 33) | namespace k3d { class inode; }
  function namespace (line 34) | namespace k3d { class iproperty; }
  function namespace (line 35) | namespace k3d { class istate_recorder; }
  function namespace (line 37) | namespace k3d

FILE: k3dsdk/ngui/render.cpp
  type k3d (line 68) | namespace k3d
    type ngui (line 71) | namespace ngui
      type detail (line 74) | namespace detail
        class camera_columns (line 77) | class camera_columns :
          method camera_columns (line 81) | camera_columns()
        class camera_separators (line 97) | class camera_separators :
          method camera_separators (line 101) | camera_separators(camera_columns& Columns) :
          method is_separator (line 106) | bool is_separator(const Glib::RefPtr<Gtk::TreeModel>& Model, con...
        class render_engine_columns (line 209) | class render_engine_columns :
          method render_engine_columns (line 213) | render_engine_columns()
        class render_engine_separators (line 229) | class render_engine_separators :
          method render_engine_separators (line 233) | render_engine_separators(render_engine_columns& Columns) :
          method is_separator (line 238) | bool is_separator(const Glib::RefPtr<Gtk::TreeModel>& Model, con...
        function interface_t (line 249) | interface_t* pick_render_engine(document_state& DocumentState, con...
        function test_renderman_render_engine (line 342) | void test_renderman_render_engine(k3d::iunknown& Engine)
        function test_yafray_render_engine (line 377) | void test_yafray_render_engine(k3d::iunknown& Engine)
        class animation_sample_columns (line 401) | class animation_sample_columns :
          method animation_sample_columns (line 405) | animation_sample_columns()
        class animation_chooser_dialog (line 414) | class animation_chooser_dialog :
          method animation_chooser_dialog (line 420) | animation_chooser_dialog() :
          method get_files (line 426) | bool get_files(k3d::file_range& Files)
          method before_changed (line 523) | void before_changed()
          method after_changed (line 529) | void after_changed()
          method generate_samples (line 535) | void generate_samples()
        function generate_frames (line 554) | const bool generate_frames(document_state& DocumentState, k3d::fra...
        function assign_destinations (line 591) | const bool assign_destinations(k3d::iunknown& Engine, k3d::frames&...
      function test_render_engine (line 745) | void test_render_engine(k3d::iunknown& Engine)
      function render (line 751) | void render(k3d::irender_preview& Engine)
      function render (line 757) | void render(k3d::irender_frame& Engine)
      function render (line 770) | void render(document_state& DocumentState, k3d::irender_animation& E...
      function render (line 796) | void render(k3d::icamera& Camera, k3d::irender_camera_preview& Engine)
      function render (line 802) | void render(k3d::icamera& Camera, k3d::irender_camera_frame& Engine)
      function render (line 839) | void render(document_state& DocumentState, k3d::icamera& Camera, k3d...

FILE: k3dsdk/ngui/render.h
  function namespace (line 27) | namespace k3d { class icamera; }
  function namespace (line 28) | namespace k3d { class irender_preview; }
  function namespace (line 29) | namespace k3d { class irender_frame; }
  function namespace (line 30) | namespace k3d { class irender_animation; }
  function namespace (line 31) | namespace k3d { class irender_camera_preview; }
  function namespace (line 32) | namespace k3d { class irender_camera_frame; }
  function namespace (line 33) | namespace k3d { class irender_camera_animation; }
  function namespace (line 34) | namespace k3d { namespace gl { class irender_viewport; } }
  function namespace (line 36) | namespace k3d

FILE: k3dsdk/ngui/rotate_tool.cpp
  type k3d (line 51) | namespace k3d
    type ngui (line 54) | namespace ngui
      type detail (line 57) | namespace detail
        class rotate_manipulators (line 60) | class rotate_manipulators :
          type constraint (line 64) | struct constraint :
            method constraint (line 67) | constraint(const std::string& Label, Glib::RefPtr<Gdk::Pixbuf>...
            method label (line 77) | const std::string label()
            method cursor (line 82) | Glib::RefPtr<Gdk::Pixbuf> cursor()
            method set_plane (line 87) | void set_plane(const k3d::plane& Plane, const k3d::vector3& Axis)
            method begin_mouse_move (line 93) | void begin_mouse_move(const k3d::point2& Mouse, const k3d::poi...
            method mouse_move (line 99) | k3d::angle_axis mouse_move(viewport::control& Viewport, const ...
            method axis (line 145) | const k3d::vector3 axis()
          method rotate_manipulators (line 164) | rotate_manipulators() :
          method activate (line 173) | void activate()
          method redraw (line 203) | void redraw(viewport::control& Viewport, const bool Visible, con...
          method select (line 264) | void select(viewport::control& Viewport, const k3d::point3& Posi...
          method get_constraint_name (line 293) | std::string get_constraint_name()
          method set_constraint (line 301) | Glib::RefPtr<Gdk::Pixbuf> set_constraint(const std::string& Name)
          method constraint_name (line 320) | std::string constraint_name(const k3d::selection::id ID)
          method cycle_constraint (line 334) | std::string cycle_constraint(constraint* Constraint)
          method update_constraint (line 348) | void update_constraint(viewport::control& Viewport, const k3d::p...
          method begin_mouse_move (line 381) | void begin_mouse_move(const k3d::point2& Coords, const k3d::poin...
          method mouse_move (line 386) | k3d::angle_axis mouse_move(viewport::control& Viewport, const k3...
          method draw_handle (line 393) | void draw_handle(const k3d::color& Color, const k3d::matrix4& Ma...
          method select_handle (line 406) | void select_handle(constraint& Constraint, const k3d::matrix4& M...
          method draw_gl_handle (line 417) | void draw_gl_handle(const k3d::matrix4& Matrix, const double Size)
      function viewport_input_model (line 568) | viewport_input_model& rotate_tool::get_input_model()

FILE: k3dsdk/ngui/rotate_tool.h
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/safe_close_dialog.cpp
  type k3d (line 38) | namespace k3d
    type ngui (line 41) | namespace ngui
      type safe_close_dialog (line 44) | namespace safe_close_dialog
        type detail (line 47) | namespace detail
          class unsaved_document_columns (line 50) | class unsaved_document_columns :
            method unsaved_document_columns (line 54) | unsaved_document_columns()
        function run (line 66) | int run(Gtk::Window& Parent, const std::string& Title)
        function run (line 87) | int run(Gtk::Window& Parent, entries_t& UnsavedDocuments)

FILE: k3dsdk/ngui/safe_close_dialog.h
  function namespace (line 32) | namespace Gtk { class Window; }
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/savable_application_window.cpp
  type k3d (line 35) | namespace k3d
    type ngui (line 38) | namespace ngui
      function unsaved_document (line 72) | unsaved_document* savable_application_window::on_safe_close()

FILE: k3dsdk/ngui/savable_application_window.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/savable_document_window.cpp
  type k3d (line 34) | namespace k3d
    type ngui (line 37) | namespace ngui
      function unsaved_document (line 87) | unsaved_document* savable_document_window::on_safe_close()

FILE: k3dsdk/ngui/savable_document_window.h
  function namespace (line 31) | namespace k3d { class idocument; }
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/scale_tool.cpp
  type k3d (line 51) | namespace k3d
    type ngui (line 54) | namespace ngui
      type detail (line 57) | namespace detail
        class scale_manipulators (line 60) | class scale_manipulators :
          type constraint (line 64) | struct constraint :
            method constraint (line 67) | constraint(const std::string& Label, Glib::RefPtr<Gdk::Pixbuf>...
            method label (line 80) | const std::string label()
            method cursor (line 85) | Glib::RefPtr<Gdk::Pixbuf> cursor()
            method set_plane (line 90) | void set_plane(const k3d::plane& Plane, const double XSensitiv...
            method begin_mouse_move (line 98) | void begin_mouse_move(const k3d::point2& Mouse, const k3d::poi...
            method mouse_move (line 107) | k3d::point3 mouse_move(viewport::control& Viewport, const k3d:...
          method scale_manipulators (line 181) | scale_manipulators() :
          method activate (line 193) | void activate()
          method redraw (line 224) | void redraw(viewport::control& Viewport, const bool Visible, con...
          method select (line 330) | void select(viewport::control& Viewport, const k3d::point3& Posi...
          method get_constraint_name (line 391) | std::string get_constraint_name()
          method set_constraint (line 399) | Glib::RefPtr<Gdk::Pixbuf> set_constraint(const std::string& Name)
          method constraint_name (line 421) | std::string constraint_name(const k3d::selection::id ID)
          method cycle_constraint (line 441) | std::string cycle_constraint(constraint* Constraint)
          method update_constraint (line 455) | void update_constraint(viewport::control& Viewport, const k3d::p...
          method begin_mouse_move (line 488) | void begin_mouse_move(const k3d::point2& Coordinates, const k3d:...
          method mouse_move (line 493) | k3d::point3 mouse_move(viewport::control& Viewport, const k3d::p...
          method draw_xyz (line 500) | void draw_xyz(viewport::control& Viewport, const k3d::color& Color)
          method select_xyz (line 520) | void select_xyz(constraint& Constraint)
          method draw_axis (line 529) | void draw_axis(const k3d::color& ArrowColor, const k3d::color& A...
          method select_axis (line 561) | void select_axis(constraint& Constraint, const k3d::matrix4& Mat...
          method draw_plane (line 584) | void draw_plane(const k3d::color& Color, const k3d::vector3& P1,...
          method select_plane (line 599) | void select_plane(constraint& Constraint, const k3d::vector3& P1...
      function viewport_input_model (line 730) | viewport_input_model& scale_tool::get_input_model()

FILE: k3dsdk/ngui/scale_tool.h
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/screen_overlay.cpp
  type k3d (line 31) | namespace k3d
    type ngui (line 34) | namespace ngui

FILE: k3dsdk/ngui/screen_overlay.h
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/script_button.cpp
  type k3d (line 48) | namespace k3d
    type ngui (line 51) | namespace ngui
      type script_button (line 54) | namespace script_button
        class property_model (line 61) | class property_model :
          method property_model (line 65) | property_model(iproperty& Data) :
          method iproperty (line 71) | iproperty* property()
          method string_t (line 76) | const string_t value()
          method set_value (line 81) | void set_value(const string_t& Value)
          method changed_signal_t (line 87) | changed_signal_t& changed_signal()
        function imodel (line 100) | imodel* const model(iproperty& Property)

FILE: k3dsdk/ngui/script_button.h
  function namespace (line 35) | namespace k3d

FILE: k3dsdk/ngui/scripting.cpp
  type k3d (line 41) | namespace k3d
    type ngui (line 44) | namespace ngui
      type detail (line 47) | namespace detail
        function script_escape_handler (line 54) | int script_escape_handler(Gtk::Widget* Widget, GdkEventKey* Event)
        function execute_script (line 74) | bool execute_script(const k3d::script::code& Script, const std::st...
      function execute_script (line 120) | bool execute_script(const k3d::script::code& Script, const std::stri...
      function execute_script (line 125) | bool execute_script(const k3d::script::code& Script, const std::stri...
      function execute_script (line 130) | bool execute_script(const k3d::filesystem::path& Script, k3d::iscrip...

FILE: k3dsdk/ngui/scripting.h
  function namespace (line 30) | namespace k3d { namespace filesystem { class path; } }
  function namespace (line 32) | namespace k3d

FILE: k3dsdk/ngui/selection.cpp
  type k3d (line 61) | namespace k3d
    type ngui (line 64) | namespace ngui
      type selection (line 67) | namespace selection
        type detail (line 70) | namespace detail
          function replace_selection (line 77) | void replace_selection(const nodes_t& Nodes, const UpdatePolicyT...
          type select_all_points (line 105) | struct select_all_points
          type select_all_components (line 128) | struct select_all_components
            method select_all_components (line 130) | select_all_components(const k3d::selection::type Component) :
          type invert_points (line 158) | struct invert_points
          type invert_components (line 181) | struct invert_components
            method invert_components (line 183) | invert_components(const k3d::selection::type Component) :
            type generate_selection (line 188) | struct generate_selection
              method generate_selection (line 190) | generate_selection(const uint_t Primitive, const k3d::select...
          type deselect_all (line 250) | struct deselect_all
          function merge_interactive_selection (line 260) | void merge_interactive_selection(const nodes_t& Nodes, const Upd...
          type select_points (line 288) | struct select_points
            method select_points (line 290) | select_points(const double_t Weight) :
          type select_component (line 330) | struct select_component
            method select_component (line 332) | select_component(const k3d::selection::type& Component, const ...
          type select_edges (line 389) | struct select_edges
            method select_edges (line 391) | select_edges(const bool_t SelectAdjacent, const double_t Weigh...
        class state::implementation (line 587) | class state::implementation
          method implementation (line 590) | static implementation& instance(idocument& Document)
          method inode_selection (line 601) | inode_selection* node_selection()
          method nodes_t (line 617) | const nodes_t selected_nodes()
          method inode (line 629) | inode* rubber_band()
          method implementation (line 666) | implementation(idocument& Document) :
          method on_selection_mode_changed (line 679) | void on_selection_mode_changed(k3d::iunknown*)
          method on_node_selection_node_changed (line 776) | void on_node_selection_node_changed()
        function mode (line 800) | const mode state::current_mode()
        function bool_t (line 815) | bool_t state::keep_selection()
        function bool_t (line 830) | bool_t state::convert_selection()
        function bool_t (line 845) | bool_t state::select_adjacent_edges()
        function nodes_t (line 860) | const nodes_t state::selected_nodes()
        function bool_t (line 995) | const bool_t state::is_selected(inode& Node)
        function bool_t (line 1001) | static const bool_t is_curve_selected(const k3d::selection::record...
        function bool_t (line 1070) | static const bool_t is_edge_selected(const k3d::selection::record&...
        function bool_t (line 1122) | static const bool_t is_face_selected(const k3d::selection::record&...
        function bool_t (line 1174) | static const bool_t is_patch_selected(const k3d::selection::record...
        function bool_t (line 1243) | static const bool_t is_point_selected(const k3d::selection::record...
        function bool_t (line 1283) | const bool_t state::is_selected(const k3d::selection::record& Record)
        function inode (line 1388) | inode* state::rubber_band()
        function mesh (line 1393) | mesh* get_mesh(inode* Node, const k3d::selection::id& MeshID)

FILE: k3dsdk/ngui/selection.h
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/selection_input_model.cpp
  type k3d (line 46) | namespace k3d
    type ngui (line 49) | namespace ngui
      type selection_input_model::implementation (line 55) | struct selection_input_model::implementation :
        method implementation (line 58) | implementation(document_state& DocumentState) :
        method on_button_down (line 77) | void on_button_down(viewport::control& Viewport, const GdkEventBut...
        method on_button_click (line 83) | void on_button_click(viewport::control& Viewport, const GdkEventBu...
        method on_button_double_click (line 175) | void on_button_double_click(viewport::control& Viewport, const Gdk...
        method on_button_start_drag (line 198) | void on_button_start_drag(viewport::control& Viewport, const GdkEv...
        method on_button_drag (line 273) | void on_button_drag(viewport::control& Viewport, const GdkEventMot...
        method on_button_end_drag (line 323) | void on_button_end_drag(viewport::control& Viewport, const GdkEven...

FILE: k3dsdk/ngui/selection_input_model.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ngui/selection_tool.cpp
  type k3d (line 36) | namespace k3d
    type ngui (line 39) | namespace ngui
      type detail (line 44) | namespace detail
        function toggle_property (line 48) | void toggle_property(bool_property_t& Property)
      class selection_tool::implementation (line 61) | class selection_tool::implementation :
        method implementation (line 65) | implementation(document_state& DocumentState) :
        method on_extended_mode_changed (line 113) | void on_extended_mode_changed(k3d::iunknown*)
        method on_extended_component_mode_changed (line 118) | void on_extended_component_mode_changed(k3d::iunknown*)
        method on_paint_mode_changed (line 123) | void on_paint_mode_changed(k3d::iunknown*)
        method on_double_click_mode_changed (line 128) | void on_double_click_mode_changed(k3d::iunknown*)
        method on_pick_backfacing_changed (line 133) | void on_pick_backfacing_changed(k3d::iunknown*)
        method on_paint_backfacing_changed (line 138) | void on_paint_backfacing_changed(k3d::iunknown*)
        method on_rubber_band_backfacing_changed (line 143) | void on_rubber_band_backfacing_changed(k3d::iunknown*)
      function viewport_input_model (line 206) | viewport_input_model& selection_tool::get_input_model()

FILE: k3dsdk/ngui/selection_tool.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/ngui/spin_button.cpp
  type k3d (line 58) | namespace k3d
    type ngui (line 61) | namespace ngui
      type spin_button (line 64) | namespace spin_button
        class property_model (line 71) | class property_model :
          method property_model (line 75) | property_model(k3d::iproperty& Data) :
          method label (line 81) | const Glib::ustring label()
          method writable (line 91) | k3d::bool_t writable()
          method value (line 96) | k3d::double_t value()
          method set_value (line 114) | void set_value(const double Value)
          method connect_changed_signal (line 132) | sigc::connection connect_changed_signal(const sigc::slot<void>& ...
          method step_increment (line 137) | k3d::double_t step_increment()
        function imodel (line 165) | imodel* const model(k3d::iproperty& Property)
        class control::implementation (line 173) | class control::implementation
          method implementation (line 176) | implementation(imodel* const Model, k3d::istate_recorder* const ...

FILE: k3dsdk/ngui/spin_button.h
  function namespace (line 34) | namespace Gtk { class Button; }
  function namespace (line 36) | namespace k3d

FILE: k3dsdk/ngui/target.cpp
  type k3d (line 47) | namespace k3d
    type ngui (line 50) | namespace ngui
      type detail (line 53) | namespace detail
        class point_visitor (line 57) | class point_visitor
          method point_visitor (line 60) | point_visitor(k3d::bounding_box3& BBox, k3d::mesh::points_t& Poi...
        function traverse_selected_points (line 79) | void traverse_selected_points(const k3d::mesh& Mesh, visitor_t& Vi...
        function traverse_selected_edge_points (line 92) | void traverse_selected_edge_points(const k3d::mesh& Mesh, visitor_...
        function traverse_selected_face_points (line 114) | void traverse_selected_face_points(const k3d::mesh& Mesh, visitor_...
        function selection_position (line 150) | bool selection_position(const selection::mode& SelectionMode, cons...
      function aim_selection (line 222) | void aim_selection(document_state& DocumentState, viewport::control&...
      function frame_selection (line 245) | void frame_selection(document_state& DocumentState, viewport::contro...

FILE: k3dsdk/ngui/target.h
  function namespace (line 27) | namespace k3d

FILE: k3dsdk/ngui/text.cpp
  type k3d (line 44) | namespace k3d
    type ngui (line 47) | namespace ngui
      type text (line 50) | namespace text
        class property_model (line 57) | class property_model :
          method property_model (line 61) | property_model(k3d::iproperty& Data) :
          method label (line 67) | const Glib::ustring label()
          method writable (line 77) | const k3d::bool_t writable()
          method value (line 82) | const k3d::string_t value()
          method set_value (line 92) | void set_value(const k3d::string_t& Value)
          method connect_changed_signal (line 104) | sigc::connection connect_changed_signal(const sigc::slot<void>& ...
        function imodel (line 120) | imodel* const model(k3d::iproperty& Property)
        class control::implementation (line 128) | class control::implementation
          method implementation (line 131) | implementation(imodel* const Model, k3d::istate_recorder* const ...

FILE: k3dsdk/ngui/text.h
  function namespace (line 31) | namespace k3d { class iproperty; }
  function namespace (line 32) | namespace k3d { class istate_recorder; }
  function namespace (line 34) | namespace k3d

FILE: k3dsdk/ngui/toggle_button.cpp
  type k3d (line 32) | namespace k3d
    type ngui (line 35) | namespace ngui
      type toggle_button (line 38) | namespace toggle_button

FILE: k3dsdk/ngui/toggle_button.h
  function namespace (line 31) | namespace k3d { class istate_recorder; }
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/tool.cpp
  type k3d (line 34) | namespace k3d
    type ngui (line 37) | namespace ngui
      function viewport_input_model (line 96) | viewport_input_model& tool::input_model()

FILE: k3dsdk/ngui/tool.h
  function namespace (line 31) | namespace k3d { class inode; }
  function namespace (line 32) | namespace k3d { class iproperty_collection; }
  function namespace (line 33) | namespace k3d { class iviewport; }
  function namespace (line 35) | namespace k3d

FILE: k3dsdk/ngui/tool_selection.h
  function namespace (line 44) | namespace k3d

FILE: k3dsdk/ngui/toolbar.cpp
  type k3d (line 28) | namespace k3d
    type ngui (line 31) | namespace ngui
      type toolbar (line 34) | namespace toolbar

FILE: k3dsdk/ngui/toolbar.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/transform.cpp
  type k3d (line 42) | namespace k3d
    type ngui (line 45) | namespace ngui
      function transform_history_t (line 48) | const transform_history_t parent_to_node_history(k3d::inode& Object)
      function unparent (line 88) | void unparent(k3d::inode& Node)

FILE: k3dsdk/ngui/transform.h
  function namespace (line 29) | namespace k3d { class inode; }
  function namespace (line 31) | namespace k3d

FILE: k3dsdk/ngui/transform_tool.cpp
  type k3d (line 63) | namespace k3d
    type ngui (line 66) | namespace ngui
      type detail (line 69) | namespace detail
        function manipulators_scale (line 72) | double manipulators_scale(viewport::control& Viewport, const k3d::...
        function is_front_facing (line 89) | bool is_front_facing(viewport::control& Viewport, const k3d::vecto...
        function get_selected_points (line 100) | k3d::point3 get_selected_points(selection::mode SelectionMode, con...

FILE: k3dsdk/ngui/transform_tool.h
  function namespace (line 46) | namespace k3d

FILE: k3dsdk/ngui/undo_utility.cpp
  type k3d (line 26) | namespace k3d
    type ngui (line 29) | namespace ngui
      function parent_nodes_t (line 32) | const parent_nodes_t parent_nodes(const k3d::istate_recorder::node* ...

FILE: k3dsdk/ngui/undo_utility.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/unsaved_document.h
  function namespace (line 25) | namespace k3d

FILE: k3dsdk/ngui/uri.cpp
  type k3d (line 34) | namespace k3d
    type ngui (line 37) | namespace ngui
      type uri (line 40) | namespace uri
        function open (line 43) | void open(const std::string& URI)

FILE: k3dsdk/ngui/uri.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/utility.cpp
  type k3d (line 33) | namespace k3d
    type ngui (line 36) | namespace ngui
      type detail (line 39) | namespace detail
        function sleep_callback (line 42) | bool sleep_callback(bool* Done)
        function share_path (line 48) | const k3d::filesystem::path share_path()
      function handle_pending_events (line 55) | void handle_pending_events()
      function non_blocking_sleep (line 61) | void non_blocking_sleep(const double Seconds)
      function load_pixbuf (line 72) | Glib::RefPtr<Gdk::Pixbuf> load_pixbuf(const k3d::filesystem::path& P...
      function load_pixbuf (line 77) | Glib::RefPtr<Gdk::Pixbuf> load_pixbuf(const k3d::filesystem::path& S...
      function convert (line 102) | const Gdk::Color convert(const k3d::color& RHS)
      function convert (line 111) | const k3d::color convert(const Gdk::Color& RHS)

FILE: k3dsdk/ngui/utility.h
  function namespace (line 30) | namespace Gdk { class Pixbuf; }
  function namespace (line 31) | namespace k3d { namespace filesystem { class path; } }
  function namespace (line 33) | namespace k3d

FILE: k3dsdk/ngui/viewport.cpp
  type k3d (line 75) | namespace k3d
    type ngui (line 78) | namespace ngui
      type viewport (line 81) | namespace viewport
        type detail (line 84) | namespace detail
          function select_nodes (line 90) | const k3d::gl::selection_state select_nodes()
          type sort_by_zmin (line 105) | struct sort_by_zmin
          class hit_record (line 114) | class hit_record
            method hit_record (line 117) | explicit hit_record(GLuint* const Storage) :
            method GLuint (line 124) | GLuint zmin() const
            method GLuint (line 130) | GLuint zmax() const
            method empty (line 136) | bool empty() const
            method size (line 142) | unsigned int size() const
            method const_name_iterator (line 151) | const_name_iterator name_begin() const
            method const_name_iterator (line 157) | const_name_iterator name_end() const
          class hit_iterator (line 176) | class hit_iterator
            method hit_iterator (line 179) | hit_iterator() :
            method hit_iterator (line 185) | hit_iterator(gl_selection_buffer_t& Buffer, const unsigned int...
            method hit_record (line 191) | hit_record operator*() const
            method hit_record (line 196) | hit_record operator->() const
            method hit_iterator (line 201) | hit_iterator& operator++()
            method hit_iterator (line 214) | hit_iterator operator++(int)
          function select_nearest_point (line 238) | void select_nearest_point(const k3d::mesh::points_t& Points, con...
          function select_nearest_edge (line 263) | void select_nearest_edge(const k3d::mesh::indices_t& EdgePoints,...
          class context (line 326) | class context :
            method context (line 330) | context(GtkWidget* Widget) :
            method on_begin (line 338) | void on_begin()
            method on_end (line 344) | void on_end()
        class control::implementation (line 360) | class control::implementation
          method implementation (line 363) | implementation(document_state& DocumentState) :
        function GLint (line 1461) | const GLint control::select(const k3d::gl::selection_state& Select...
        function GLint (line 1470) | const GLint control::select(const k3d::gl::selection_state& Select...
      function widget_to_ndc (line 1532) | const k3d::point2 widget_to_ndc(viewport::control& Viewport, const k...
      function ndc_to_widget (line 1555) | const k3d::point2 ndc_to_widget(viewport::control& Viewport, const k...
      function mouse_to_world (line 1578) | const k3d::line3 mouse_to_world(viewport::control& Viewport, const k...

FILE: k3dsdk/ngui/viewport.h
  function namespace (line 42) | namespace k3d { namespace gl { class selection_state;
  function namespace (line 46) | namespace k3d

FILE: k3dsdk/ngui/viewport_input_model.h
  function namespace (line 29) | namespace k3d

FILE: k3dsdk/ngui/widget_manip.cpp
  type k3d (line 31) | namespace k3d
    type ngui (line 34) | namespace ngui
      type detail (line 37) | namespace detail
        function get_accel_path (line 49) | const std::string get_accel_path(Gtk::Widget* Widget)
        function dynamic_accelerator_on_enter_notify_event (line 58) | bool dynamic_accelerator_on_enter_notify_event(GdkEventCrossing*, ...
        function dynamic_accelerator_on_key_press_event (line 74) | bool dynamic_accelerator_on_key_press_event(GdkEventKey*, Gtk::Wid...
      function enable_dynamic_accelerators_impl (line 94) | void enable_dynamic_accelerators_impl(Gtk::Widget* const Widget)

FILE: k3dsdk/ngui/widget_manip.h
  function namespace (line 35) | namespace Gtk { class ImageMenuItem; }
  function namespace (line 37) | namespace k3d
  type make_toolbar_button (line 217) | struct make_toolbar_button
  type set_accelerator_path (line 235) | struct set_accelerator_path
  type enable_dynamic_accelerators (line 258) | struct enable_dynamic_accelerators

FILE: k3dsdk/node.cpp
  type k3d (line 33) | namespace k3d
    function iplugin_factory (line 71) | iplugin_factory& node::factory()
    function idocument (line 76) | idocument& node::document()
    function inode (line 157) | inode* node::lookup_one(idocument& Document, const string_t& NodeName)

FILE: k3dsdk/node.h
  function namespace (line 37) | namespace k3d

FILE: k3dsdk/node_change_signal.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/node_name_map.cpp
  type k3d (line 31) | namespace k3d
    class node_name_map::implementation (line 37) | class node_name_map::implementation
    function inode (line 88) | inode* node_name_map::node(const std::string& Name)

FILE: k3dsdk/node_name_map.h
  function namespace (line 30) | namespace k3d

FILE: k3dsdk/nodes.cpp
  type k3d (line 40) | namespace k3d
    type detail (line 43) | namespace detail
      type factory_id_filter_t (line 47) | struct factory_id_filter_t
        method factory_id_filter_t (line 49) | explicit factory_id_filter_t(const uuid FactoryID, functor_t Funct...
      function factory_id_filter (line 58) | factory_id_filter_t<functor_t> factory_id_filter(const uuid ID, func...
      function skip_node (line 63) | void skip_node(inode& Node, ipipeline::dependencies_t& NewDependencies)
      function skip_nodes (line 94) | void skip_n
Copy disabled (too large) Download .json
Condensed preview — 3509 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (25,698K chars).
[
  {
    "path": ".ditz-plugins",
    "chars": 17,
    "preview": "- issue-claiming\n"
  },
  {
    "path": ".gitignore",
    "chars": 60,
    "preview": ".kdev4\n*.kdev4\n*.pyc\nshare/k3d/guide/content/._pipeline.txt\n"
  },
  {
    "path": "AUTHORS",
    "chars": 344,
    "preview": "This is K-3D, the free-as-in-freedom 3D modeling, animation, and rendering system.\n\nFor a list of K-3D contributors, use"
  },
  {
    "path": "CMakeLists.txt",
    "chars": 26961,
    "preview": "PROJECT(k3d)\n\n# Configure CMake ...\nCMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR)\nCMAKE_POLICY(SET CMP0003 OLD)\nIF(${C"
  },
  {
    "path": "COPYING",
    "chars": 17987,
    "preview": "\t\t    GNU GENERAL PUBLIC LICENSE\n\t\t       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc."
  },
  {
    "path": "CTestConfig.cmake",
    "chars": 234,
    "preview": "SET(CTEST_PROJECT_NAME \"K-3D\")\nSET(CTEST_NIGHTLY_START_TIME \"02:00:00 MST\")\n\nSET(CTEST_DROP_METHOD \"http\")\nSET(CTEST_DRO"
  },
  {
    "path": "CTestCustom.cmake.in",
    "chars": 249,
    "preview": "\nSET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 400)\nSET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 400)\n\nSET(CTEST_CUSTOM_WARNI"
  },
  {
    "path": "INSTALL",
    "chars": 385,
    "preview": "This is K-3D, the free-as-in-freedom 3D modeling, animation, and rendering system.\n\nYou will need CMake, http://www.cmak"
  },
  {
    "path": "README",
    "chars": 444,
    "preview": "This is K-3D, the free-as-in-freedom 3D modeling, animation, and rendering system.\n\nFor instructions on building the pro"
  },
  {
    "path": "application/CMakeLists.txt",
    "chars": 5527,
    "preview": "PROJECT(application)\n\nCONFIGURE_FILE(config.h.in config.h)\nCONFIGURE_FILE(Info.plist.in Info.plist @ONLY)\n\nINCLUDE_DIREC"
  },
  {
    "path": "application/Info.plist.in",
    "chars": 980,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.c"
  },
  {
    "path": "application/config.h.in",
    "chars": 1014,
    "preview": "#ifndef APPLICATION_CONFIG_H\n#define APPLICATION_CONFIG_H\n\n// K-3D\n// Copyright (c) 1995-2010, Timothy M. Shead\n//\n// Co"
  },
  {
    "path": "application/icon.rc",
    "chars": 59,
    "preview": "IDI_ICON1 ICON DISCARDABLE \"../share/k3d/icons/k3d.ico\"\r\n\r\n"
  },
  {
    "path": "application/k3d_main.cpp",
    "chars": 31881,
    "preview": "// K-3D\n// Copyright (c) 1995-2008, Timothy M. Shead\n//\n// Contact: tshead@k-3d.com\n//\n// This program is free software;"
  },
  {
    "path": "application/k3d_main.h",
    "chars": 1185,
    "preview": "#ifndef APPLICATION_K3D_MAIN_H\n#define APPLICATION_K3D_MAIN_H\n\n// K-3D\n// Copyright (c) 1995-2008, Timothy M. Shead\n//\n/"
  },
  {
    "path": "application/main.cpp",
    "chars": 1143,
    "preview": "// K-3D\n// Copyright (c) 1995-2008, Timothy M. Shead\n//\n// Contact: tshead@k-3d.com\n//\n// This program is free software;"
  },
  {
    "path": "application/winmain.cpp",
    "chars": 1243,
    "preview": "// K-3D\n// Copyright (c) 1995-2008, Timothy M. Shead\n//\n// Contact: tshead@k-3d.com\n//\n// This program is free software;"
  },
  {
    "path": "bugs/CMakeLists.txt",
    "chars": 199,
    "preview": "PROJECT(ditz)\n\nFIND_PROGRAM(DITZ_EXECUTABLE ditz)\n\nADD_CUSTOM_TARGET(bugs-html\n\tWORKING_DIRECTORY \"${CMAKE_CURRENT_SOURC"
  },
  {
    "path": "bugs/issue-000e833956e3ebedbddc7a8f239368296cef05cf.yaml",
    "chars": 654,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Remove legacy code from CollapseEdges.\ndesc: Like it says.\ntype: :bugfi"
  },
  {
    "path": "bugs/issue-01d720a02d5558508a3b56a7ad0e603d0b8e57f7.yaml",
    "chars": 1521,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" Bug while moving vertices, edges and faces on a tutorial\"\ndesc: \"Resu"
  },
  {
    "path": "bugs/issue-028d81eef227a051d03293c46b451db439f0c460.yaml",
    "chars": 1253,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 Black screen on the work area\ndesc: |-\n  Contact: hiper_army@hotmail."
  },
  {
    "path": "bugs/issue-02e36eaa0b39160335d6eb8d576d75c56577c5f7.yaml",
    "chars": 642,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: NURBS OpenGL rendering weird on OSX\ndesc: On OSX, NURBS patches have st"
  },
  {
    "path": "bugs/issue-067c122609d0478c12319a8cfebda9c4f290bc78.yaml",
    "chars": 1004,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Path User Properties are not well serialized\ndesc: |-\n  Inspecting the "
  },
  {
    "path": "bugs/issue-0ca786b59608c113bdb0a99f16c1e0e8e0076d8f.yaml",
    "chars": 1120,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5 Cannot correctly Undo a \\\"Delete All\\\" from a script \"\ndesc: \"1-Run "
  },
  {
    "path": "bugs/issue-0f0dc8929f4bd8dd646aedbab164defb8b01ba68.yaml",
    "chars": 1671,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Closing main window during tutorial playback causes errors\ndesc: |-\n  C"
  },
  {
    "path": "bugs/issue-0f2e779987beba2c16355000e49002e668efe3cd.yaml",
    "chars": 473,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Provide manual creation of points.\ndesc: Like it says ... this is a ver"
  },
  {
    "path": "bugs/issue-12ac6cbd6ff111c686796d107c8a9b8338158e8f.yaml",
    "chars": 1437,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"hings keep freezing and images stay up even after they've been exited "
  },
  {
    "path": "bugs/issue-13cd1ca286fd727add47164d6b9829a864732688.yaml",
    "chars": 950,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Support display of non-SI units of measure.\ndesc: K-3D uses SI units in"
  },
  {
    "path": "bugs/issue-1478f28b825b4003e89e19fd6627210de42670f1.yaml",
    "chars": 749,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix MergeCoplanarFaces.\ndesc: Need to update MergeCoplanarFaces to matc"
  },
  {
    "path": "bugs/issue-162c9fd22b62e2228b4963639d7cd652b4af2e5d.yaml",
    "chars": 847,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Polygon meshes and NURBS meshes don't snap when translated.\ndesc: |-\n  "
  },
  {
    "path": "bugs/issue-164f2e0cd8b280e764bc49d2f1db806e4fef7fa3.yaml",
    "chars": 560,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Create a test to ensure that const_cast isn't abused.\ndesc: \"\"\ntype: :t"
  },
  {
    "path": "bugs/issue-1787ece116f7300528f97ab0a9eb6c128a4ae826.yaml",
    "chars": 1326,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"Wiever doesn't show block being still, when moved it diplays. What's w"
  },
  {
    "path": "bugs/issue-1850897e4259a756faf449a72ea07ac863d83cd0.yaml",
    "chars": 1018,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 shifted gizmo\ndesc: |-\n  I created 3x3 cube, turned it to SDS, then s"
  },
  {
    "path": "bugs/issue-1ae2d51bee03627b3d7136008951efc67ab7766e.yaml",
    "chars": 961,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: GUI widgets to help users know direction and orientation of lights.\ndes"
  },
  {
    "path": "bugs/issue-1af4c139c1c4fe06ca2e3fbe31f1237cf963a20e.yaml",
    "chars": 1110,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: program freezing\ndesc: |-\n  Contact: db_silvis@yahoo.com\n  Summary: pro"
  },
  {
    "path": "bugs/issue-1e7b3a952423fcf332c8f369ee0646873cafb877.yaml",
    "chars": 1493,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"Python Script: bug on Document.delete_node()\"\ndesc: \"Steps:\\n\\n\\\n  1- "
  },
  {
    "path": "bugs/issue-1f0827906ae4174800898596b0c8e4c623425ebd.yaml",
    "chars": 1989,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" k3d 0.7.8 does not build in x86_64 arch\"\ndesc: |-\n  In file included "
  },
  {
    "path": "bugs/issue-20324fd0e902a7a6bdb85dbf5f2ae4ce8180a61a.yaml",
    "chars": 638,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix CatmullClark implementation.\ndesc: Need to update the CatmullClark "
  },
  {
    "path": "bugs/issue-20c18a2b4fe16b8e1a3982d83be136220b4cf863.yaml",
    "chars": 673,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Restore robust picking.\ndesc: Robust primitive picking by looking at ne"
  },
  {
    "path": "bugs/issue-250f99eac16ec2eda3d6b7e324592efc46a1e250.yaml",
    "chars": 702,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Duplicated / instantiated objects aren't visible when rendered.\ndesc: T"
  },
  {
    "path": "bugs/issue-25c0b2699b08309f7452d4d7390d05a3fa78bf57.yaml",
    "chars": 1190,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Harmless warning messages when ATK is disabled.\ndesc: |-\n  At startup, "
  },
  {
    "path": "bugs/issue-26470a23cd083556484c98f6120b5f33661775c6.yaml",
    "chars": 563,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Remove legacy code from BevelFaces.\ndesc: Like it says.\ntype: :bugfix\nc"
  },
  {
    "path": "bugs/issue-28d83330170a35565ca1ada32317f34b2daf37a2.yaml",
    "chars": 1140,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: when doing \"unparent\", the software crashes.\ndesc: |-\n  Contact: ingira"
  },
  {
    "path": "bugs/issue-28e8b98350d458dfe53427f2497401663b0dc97a.yaml",
    "chars": 1118,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: the K-3D wont start\ndesc: |-\n  Contact: colonization1@yahoo.com\n  Summa"
  },
  {
    "path": "bugs/issue-2c158e15ef869a5b8ec01db38e4ed19a507b0bc2.yaml",
    "chars": 1434,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Tried to render\ndesc: |-\n  Contact: jfmotion@gmail.com\n  Summary: Tried"
  },
  {
    "path": "bugs/issue-2c5ca49215d98ef29255e323180b3715cee1b1c1.yaml",
    "chars": 593,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: By default, automatically select both half-edges in the UI layer.\ndesc:"
  },
  {
    "path": "bugs/issue-2e6128ca3bb63de99d369f1ae2f4f457cf7a1470.yaml",
    "chars": 1378,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: viewport doesn't work\ndesc: |-\n  Contact: 4d3l.jarrah@gmail.com\n  Summa"
  },
  {
    "path": "bugs/issue-3074be871fbce4de2da49a1abc0432d8e49e30c1.yaml",
    "chars": 1083,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Complete LuxRender material set.\ndesc: |-\n  With materials the the miss"
  },
  {
    "path": "bugs/issue-361aa608201ea4f1ec2fd204a7c62df2ebfeb1b8.yaml",
    "chars": 1265,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: My view port is blank. does not show coordinates.\ndesc: |-\n  Contact: j"
  },
  {
    "path": "bugs/issue-363308f0b4815dcf1b3fb24103eb8b40f6645779.yaml",
    "chars": 817,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Add filtering to the Node List Panel.\ndesc: Like it says, much of the c"
  },
  {
    "path": "bugs/issue-38ed366c277ad6ad3cbf7113a50c73ab0dc6ecb9.yaml",
    "chars": 1533,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Ensure primitive attributes are updated correctly.\ndesc: Many (probably"
  },
  {
    "path": "bugs/issue-3c77f6ba4e20fe744f97629df5b855476eaefef0.yaml",
    "chars": 560,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Separate cuda bitmap functionality from cuda mesh functionality that do"
  },
  {
    "path": "bugs/issue-3cb4616e3fdf2b348db28c1ec4761759e7570b91.yaml",
    "chars": 15516,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Segmentation fault on startup (Linux/PPC)\ndesc: |-\n  Hi,\n  I'm running "
  },
  {
    "path": "bugs/issue-4084f1c41c9a58ab4b0b49b7c8f988f45328edcc.yaml",
    "chars": 1244,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: My Viewport is Blank. No Grid/ Axis Lines\ndesc: |-\n  Contact: justshonu"
  },
  {
    "path": "bugs/issue-40ed654ea75987f34bbe51980b5622cc079d3c7e.yaml",
    "chars": 712,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Optionally create 'back' faces in ExtrudeFaces.\ndesc: When extruding ou"
  },
  {
    "path": "bugs/issue-413564006de7bfe4283dc79f9165dedd9b49c271.yaml",
    "chars": 605,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: SDSCorner modifier should produce vertex attributes instead of point at"
  },
  {
    "path": "bugs/issue-41f14db348415ee631409034dafa0d42d0deddea.yaml",
    "chars": 672,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Make the K-3D guide readable from the NGUI.\ndesc: |-\n  Users should be "
  },
  {
    "path": "bugs/issue-42a7588ab85a23f2a39a9fb36b63b6fa9d7af0f5.yaml",
    "chars": 1276,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5 (k3d:26077): GdkGLExt-WARNING **: cannot load PangoFont Segmentation"
  },
  {
    "path": "bugs/issue-432f8b1d7711eb5d22d6046d20bc006c18d5090b.yaml",
    "chars": 1427,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Empty viewport on Windows Vista\ndesc: |-\n  Contact: matts-address@hotma"
  },
  {
    "path": "bugs/issue-43ed5f6b35f29c0788a75461bf33f3120387f6c1.yaml",
    "chars": 996,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Texture baking from RM SL to bitmaps.\ndesc: |-\n  CGKit lets you bake a "
  },
  {
    "path": "bugs/issue-44735744038c3434abe3f3a7e13f881e2e2cc48e.yaml",
    "chars": 563,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Remove legacy code from FilletEdges\ndesc: Like it says.\ntype: :bugfix\nc"
  },
  {
    "path": "bugs/issue-4523543999b211ff2977debc785b31e70964ea2b.yaml",
    "chars": 4388,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: compilation errors\ndesc: |-\n  hi, i have compilation errors... version "
  },
  {
    "path": "bugs/issue-45a8e81c24329d52763349b662988a9969e2a929.yaml",
    "chars": 596,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Cleanup icons\ndesc: We have many misnamed, obsolete, and missing icons "
  },
  {
    "path": "bugs/issue-478fd768c3286ce365c29af422175f8b9969ca11.yaml",
    "chars": 728,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Revisit how to properly interpolate integer attributes.\ndesc: Currently"
  },
  {
    "path": "bugs/issue-49b3bc440ae6da65fec9979da016681ccdd7df24.yaml",
    "chars": 859,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 .7.3 crashes (SelectEdgeLoops Undo)\ndesc: |-\n  0: Start K-3D,\n  1: cr"
  },
  {
    "path": "bugs/issue-4a400f4d42a40bb64cb5df9e83481ec74ea8974e.yaml",
    "chars": 1736,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"assertion `WIDGET_REALIZED_FOR_EVENT (widget, event)' failed \"\ndesc: |"
  },
  {
    "path": "bugs/issue-4a7cea3d5863e1dec9aa8e78e239963e9c451926.yaml",
    "chars": 612,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Restore BridgeFaces\ndesc: Now that I understand how BridgeFaces differs"
  },
  {
    "path": "bugs/issue-4ac006d705b9b7b5b3468932c4e7750d95564cce.yaml",
    "chars": 1121,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: no images come up on viewport\ndesc: |-\n  Contact: markbaird88@hotmail.c"
  },
  {
    "path": "bugs/issue-52654f9476391c6612de54e91d54e4dcda7bb847.yaml",
    "chars": 1514,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: build error\ndesc: \"In file included from\\n\\\n  /home/7eggert/l/k3d-sourc"
  },
  {
    "path": "bugs/issue-538f9fab4a345ba7c88ba39b4faa0ef55cfffaad.yaml",
    "chars": 1000,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Manipulators dissapear when changing the selection mode.\ndesc: \"Steps:\\"
  },
  {
    "path": "bugs/issue-555cc14dcbca30e03f0a333f0236c8f653e0a7f1.yaml",
    "chars": 1467,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: keeps just closing (as if i had told it to do so, no error message) whe"
  },
  {
    "path": "bugs/issue-5970a8d939cc358d1ab2bef5c0eeabf2baa2a9e8.yaml",
    "chars": 1075,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Remove legacy code from DissolveComponents.\ndesc: Like it says.\ntype: :"
  },
  {
    "path": "bugs/issue-5d9c8400eb4dcb02edcf8dc56ce8bcd91955a53c.yaml",
    "chars": 974,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: MakeCreases has no implementation.\ndesc: Like it says ... we either nee"
  },
  {
    "path": "bugs/issue-5f88eac8fa3003c363a0364ee8827a438bcda2ca.yaml",
    "chars": 1393,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Viewport Display Not functioning\ndesc: |-\n  Contact: truswellj@gmail.co"
  },
  {
    "path": "bugs/issue-5fde01d7a4fcdff886003dbaeb9773d33e2b9f18.yaml",
    "chars": 997,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Selection issues when moving from 64-bit to 32-bit platforms.\ndesc: We "
  },
  {
    "path": "bugs/issue-607cbe27448028c9efc67e008d01f1e507bb1fbd.yaml",
    "chars": 871,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Review plugin names\ndesc: |-\n  Among other proposals:\n  \n  Should JoinP"
  },
  {
    "path": "bugs/issue-624ea57c7b26a27eba7f3bfd65f0dee40eb814d3.yaml",
    "chars": 1306,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 when I try to point element, viewport become black, and after it retu"
  },
  {
    "path": "bugs/issue-630255130a08cc316bba010d111dad725f7f9258.yaml",
    "chars": 995,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Doesn't work with Windows 7\ndesc: |-\n  This program isn't work with Win"
  },
  {
    "path": "bugs/issue-637f683833589ed1b5cd3f5028206c80ec97d3e9.yaml",
    "chars": 557,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: NurbsEditCurveKnotVector segfaults when created.\ndesc: \"\"\ntype: :bugfix"
  },
  {
    "path": "bugs/issue-63e3d51ee3915a539f21adf515ed7275f359295b.yaml",
    "chars": 532,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix broken NURBS tests.\ndesc: \"\"\ntype: :bugfix\ncomponent: K-3D\nrelease:"
  },
  {
    "path": "bugs/issue-66dbf9444de6bcf5ef19d5ad94b51e0e5b58c3cd.yaml",
    "chars": 1258,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"black box were the model should be \"\ndesc: |-\n  Contact: macfuehrbush@"
  },
  {
    "path": "bugs/issue-6a66838dfc4773a21c04575103c92d8e8802f5ff.yaml",
    "chars": 558,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Remove legacy code from CollapseFaces.\ndesc: Like it says.\ntype: :bugfi"
  },
  {
    "path": "bugs/issue-6aedc6869efacb25e643f2bb3d447338cc7307e5.yaml",
    "chars": 1360,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5 Das Tutorial Skript Nr. 5 st\\xC3\\xBCrzt ab\"\ndesc: \"Contact: hans.fre"
  },
  {
    "path": "bugs/issue-6b7163b333419334ced5dd726d5b5a5c669cb9c8.yaml",
    "chars": 1416,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 Rendering of files does not work\ndesc: |-\n  Contact: shashank.araokar"
  },
  {
    "path": "bugs/issue-6d0f5f71bcca568aab7d418c23ea12de51a07b88.yaml",
    "chars": 1521,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5  Bug while moving vertices, edges and faces on a tutorial\ndesc: \"Resu"
  },
  {
    "path": "bugs/issue-6e358533fc719d3b3c1fe8b061f7091cd046453e.yaml",
    "chars": 1329,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: lots of soft of this packages are unsigned , loaded from mandriva 2008."
  },
  {
    "path": "bugs/issue-703980e3eb7434bec1481e3f7b5558bf64926f9e.yaml",
    "chars": 1739,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5  Segfault right after the splash screen comes up\ndesc: |-\n  Contact: "
  },
  {
    "path": "bugs/issue-7186061f7d139f1591333c49d6bc53b93cb6ecc3.yaml",
    "chars": 1002,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: RenderManArrayXD plugins should be more generic.\ndesc: |-\n  I think tha"
  },
  {
    "path": "bugs/issue-71a4669f4804254394b5e170afb5ca0fc537ad62.yaml",
    "chars": 885,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Hint Refactoring\ndesc: Complete the action items documented in http://w"
  },
  {
    "path": "bugs/issue-71abd763037b718e574529c33c58a458f05af48c.yaml",
    "chars": 1184,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"User properties Order and NullOutputScript \"\ndesc: |-\n  On 0.7 rev 899"
  },
  {
    "path": "bugs/issue-71e0e500fc3a528e690296d69e5f6c8d62cb0076.yaml",
    "chars": 820,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Add support for merging polyhedra.\ndesc: |-\n  The MergeMesh modifier ge"
  },
  {
    "path": "bugs/issue-720f97d969465f88647103a679fccfba9fdfe595.yaml",
    "chars": 695,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Interactive node selection doesn't update node properties panel.\ndesc: "
  },
  {
    "path": "bugs/issue-726036fd940e69af892483f4fb81ced5076343c0.yaml",
    "chars": 522,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Add information on materials to the Guide.\ndesc: Like it says - there a"
  },
  {
    "path": "bugs/issue-72b9eb7ea6f2ee49a1aa6de0f9bdda95fd8226af.yaml",
    "chars": 1125,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5  Nothing showing in the view port\ndesc: |-\n  Contact: vnhg@yahoo.com\n"
  },
  {
    "path": "bugs/issue-734d997c30a2208e4cc49cfc83071a6e8c446203.yaml",
    "chars": 1720,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 The viewport does not update\ndesc: |-\n  Contact: wil.lemmelliw@gmail."
  },
  {
    "path": "bugs/issue-73b9d9eaea5e3100dfbd016ed74852541fea45b3.yaml",
    "chars": 832,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Nothing right\ndesc: |-\n  When i want to open K-3D it is on another lang"
  },
  {
    "path": "bugs/issue-748f4bfe0ef0aca0e383b81aa75f4ea91b90a9fb.yaml",
    "chars": 1251,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Use the solar position data in other parts of the pipeline.\ndesc: A mea"
  },
  {
    "path": "bugs/issue-7642bc88b925585b8359bf58a5e818edf5575823.yaml",
    "chars": 689,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Create a test to validate that code never calls exit().\ndesc: \"\"\ntype: "
  },
  {
    "path": "bugs/issue-79d92fefbdd858ed65e5dcc7605f304a4d29f4db.yaml",
    "chars": 1177,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 After importing k3d file, render doesnt work.\ndesc: |-\n  Contact: mar"
  },
  {
    "path": "bugs/issue-7b49e59fee09d9c477c0bc0099d17bda335bafc1.yaml",
    "chars": 1040,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: k3d should use cmake's module to find system boost\ndesc: |-\n  cmake alr"
  },
  {
    "path": "bugs/issue-7bc390041917f4dad49790f8eaf5b365add00512.yaml",
    "chars": 919,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" Orthographic Toggle doesn't work inside a Tutorial \"\ndesc: \"1-Run the"
  },
  {
    "path": "bugs/issue-7c1f591407ab1ed2d13f8d12ac20f23ba757029b.yaml",
    "chars": 1166,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fatal Error\ndesc: |-\n  Contact: zeletik@seznam.cz\n  Summary: Fatal Erro"
  },
  {
    "path": "bugs/issue-7d151b992517ccf1a476e994da4ae95f811a0f28.yaml",
    "chars": 861,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" vertex selection is not visible\"\ndesc: |-\n  Vertex selection is nigh "
  },
  {
    "path": "bugs/issue-7d2708ff9bb5cd775481c46e2c34639a6baece89.yaml",
    "chars": 1408,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: NGUI startup fails on FreeBSD.\ndesc: |-\n  During startup on FreeBSD 8, "
  },
  {
    "path": "bugs/issue-7f5736e37d226ef0df24d5ff0a103233993c1871.yaml",
    "chars": 1164,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"Crash deleting a node with property connections with undo/redo disable"
  },
  {
    "path": "bugs/issue-809dbf8876e9da36c54d116410338e64ea634de7.yaml",
    "chars": 607,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix SubdivideFaces.\ndesc: Need to update SubdivideFaces to match change"
  },
  {
    "path": "bugs/issue-80b04a4ce93501dca03dff1f05711e2e22a6cdf7.yaml",
    "chars": 1733,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5  Tutorial and Examples - Panel Basics - Timeline short description -"
  },
  {
    "path": "bugs/issue-810cbd67c6f6737ee2900a8a85fd107e81a416bf.yaml",
    "chars": 620,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: help() in python shell locks up K-3D with 0% CPU usage.\ndesc: \"\"\ntype: "
  },
  {
    "path": "bugs/issue-83af56cb47d6d6414fdc911fd5ae4ea45b23691b.yaml",
    "chars": 578,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Add a nag message when using experimental plugins.\ndesc: Like it says.\n"
  },
  {
    "path": "bugs/issue-85307f5c478fef938ea9202d85d4fb6ca351f82b.yaml",
    "chars": 827,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5 uuid.random wrongly implemented \"\ndesc: |-\n  uuid.random() implement"
  },
  {
    "path": "bugs/issue-87422f875fafba82217cb6ea9926431c664008e1.yaml",
    "chars": 1544,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Problems selecting points in instanced geometry.\ndesc: |-\n  Steps to re"
  },
  {
    "path": "bugs/issue-880751463fbb518318275de1613945c253d371d4.yaml",
    "chars": 1404,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Script with NURBS\ndesc: |-\n  mpetion1@gmail.com writes\n  \n  This attach"
  },
  {
    "path": "bugs/issue-895d272b3cce6c0d083757a9b1d22066be7e8d48.yaml",
    "chars": 1266,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Desktop is all horz lines\ndesc: |-\n  Contact: ladrnbrgr@gmail.com\n  Sum"
  },
  {
    "path": "bugs/issue-8b7048ef71c42a4ddfbd754d0eec458ced28cabb.yaml",
    "chars": 639,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix the Delete modifier implementation.\ndesc: Need to update the Delete"
  },
  {
    "path": "bugs/issue-8e23f26186d044718dee4d0c597684d194ebb3ab.yaml",
    "chars": 677,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix (non-VBO) SDS painter.\ndesc: \"\"\ntype: :bugfix\ncomponent: K-3D\nrelea"
  },
  {
    "path": "bugs/issue-91df55f58cd343ef052644a22be6ed6da975f4ff.yaml",
    "chars": 704,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Review plugin categories.\ndesc: Before the release we need to review pl"
  },
  {
    "path": "bugs/issue-9340867dbd5c408b4505e0a5aac01dfd7cf13531.yaml",
    "chars": 1401,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5 the viewport is black and i can't see anything thats on it,,, and ev"
  },
  {
    "path": "bugs/issue-93918136ae33aada69f7550025c0fc8b9844630f.yaml",
    "chars": 661,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Pick a better component name for \"varying\" components.\ndesc: Choose som"
  },
  {
    "path": "bugs/issue-94d550d30436720fef32ba3311fd367a4b5317d2.yaml",
    "chars": 1300,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: The last Tutorial cannot be loaded , because of the wrong language\ndesc"
  },
  {
    "path": "bugs/issue-956ceb914b4a6b27defd0c78bb54adc3c4893b32.yaml",
    "chars": 820,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Create a test to validate copyright notices.\ndesc: \"\"\ntype: :task\ncompo"
  },
  {
    "path": "bugs/issue-9a2fb7311eae397db36e237be063404532b3b4a0.yaml",
    "chars": 1253,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Tutorial Error\ndesc: |-\n  Contact: rls@cx3.net\n  Summary: Tutorial Erro"
  },
  {
    "path": "bugs/issue-9b2e091f7e3b9e36ff649b48155458080d7da913.yaml",
    "chars": 1929,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Errors creating VirtualOpenGLSDSPainter at startup with advanced painte"
  },
  {
    "path": "bugs/issue-9c495b89016c7cceebed30b1c37286a935f9a2eb.yaml",
    "chars": 1060,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Update regression tests to use CMake labels\ndesc: Recent versions of CM"
  },
  {
    "path": "bugs/issue-9cc79c6fd45d45ec92cdac3eef3ad3f050bae375.yaml",
    "chars": 600,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Double-check that all scripts are working\ndesc: Preferably, create test"
  },
  {
    "path": "bugs/issue-9d6b0d8eaf8d80a966066c342bf1de0dd67869cf.yaml",
    "chars": 1438,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" the program froze and the clicker got stuck in the top left corner an"
  },
  {
    "path": "bugs/issue-9e18e7eda2cde5ef31f3c5d75099f7e5aafbbb70.yaml",
    "chars": 462,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Create DissolveEdges and DissolvePoints modifiers.\ndesc: Like it says.\n"
  },
  {
    "path": "bugs/issue-9e5b6f8facf5da51725b10a558ac3560e03d651d.yaml",
    "chars": 1007,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Rotate and Scale Tools don't work around correct center\ndesc: |-\n  When"
  },
  {
    "path": "bugs/issue-a121afe2e22a6a972946c3f90472758987ca1d11.yaml",
    "chars": 519,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Add LuxRender usage to the Guide.\ndesc: Like it says - there seems to b"
  },
  {
    "path": "bugs/issue-a30d997fb6cf859f56794c2ba693d986d109a143.yaml",
    "chars": 1007,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Replace 'mesh' with 'geometry' in all classes / tests / documentation\nd"
  },
  {
    "path": "bugs/issue-a35971476137c99b326c5df30dc1c65c05d251fa.yaml",
    "chars": 658,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Generic Primitive Refactoring\ndesc: Complete the action items documente"
  },
  {
    "path": "bugs/issue-a51f6fb9050dd6b4fc6b07052508b122ad181762.yaml",
    "chars": 750,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Transform manipulators don't appear when selecting in transform mode\nde"
  },
  {
    "path": "bugs/issue-a8c5a1d70781b39476748bd155c24a309d8ff50f.yaml",
    "chars": 846,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Add support for binary STL files to STLMeshReader and STLMeshWriter.\nde"
  },
  {
    "path": "bugs/issue-ab67e65a87a4e7a37e5d858119e62a23fe218e09.yaml",
    "chars": 1244,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" selecting viewport after exiting tutorial \"\ndesc: |-\n  Contact: mikeh"
  },
  {
    "path": "bugs/issue-ab989d228e5a69168eb8a345a1dd5d59e0e264c0.yaml",
    "chars": 1255,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" viewport black except when clicking\"\ndesc: |-\n  Contact: ginkgo389@gm"
  },
  {
    "path": "bugs/issue-abb391e69f742b790e8da66ffaa784db0a5988bb.yaml",
    "chars": 574,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Create image-based regression tests for reference painters.\ndesc: \"\"\nty"
  },
  {
    "path": "bugs/issue-ac1657b6dc20fb04947f9d412ada980948978fb5.yaml",
    "chars": 1276,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: the screens gone crazy, just a mess of colors, fresh install, could be "
  },
  {
    "path": "bugs/issue-acffc0b1158b9235a406f1e988c574800e4cd368.yaml",
    "chars": 1754,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: The Tutorial Crashed\ndesc: |-\n  Contact: deskr@comcast.net\n  Summary: T"
  },
  {
    "path": "bugs/issue-ad39f08267111c35c8e26b5264df5d06af65f718.yaml",
    "chars": 555,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Remove legacy code from JoinPoints.\ndesc: Like it says.\ntype: :bugfix\nc"
  },
  {
    "path": "bugs/issue-ad7ebb0ae83ac37ee352a9775b601e181d460e3d.yaml",
    "chars": 1422,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" Fatal error \\\"Caught unknown exception\\\"\"\ndesc: |-\n  Contact: itsikbe"
  },
  {
    "path": "bugs/issue-ae912d5a99e4737fe82a9576842bf25a9b7a83bf.yaml",
    "chars": 842,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Create tests to ensure that new code uses the standard K-3D types.\ndesc"
  },
  {
    "path": "bugs/issue-afe8a5c7a2db5849096010a7e4e37ffd246fc5de.yaml",
    "chars": 1928,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Modifiers break per-face attributes (among others)\ndesc: |-\n  The way t"
  },
  {
    "path": "bugs/issue-b143f0495234766027975401fdc8c071ceaccdc2.yaml",
    "chars": 790,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Viewport black, unusable.\ndesc: |-\n  The viewport has a large rectangul"
  },
  {
    "path": "bugs/issue-b56196fba885cf00f611139e6b09a9135d465338.yaml",
    "chars": 2502,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Prog quits loading in same place each attempt (see log). Veiwport not a"
  },
  {
    "path": "bugs/issue-baacef33fb990943146dd8064244e33486e5ea09.yaml",
    "chars": 628,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Review plugin status\ndesc: Before the release we need to review each pl"
  },
  {
    "path": "bugs/issue-c08027d5b63ee4951a747d366509431f86626ce3.yaml",
    "chars": 982,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Selected polygon face colors rendered incorrectly.\ndesc: |-\n  Is anyone"
  },
  {
    "path": "bugs/issue-c15440cffbee3a681e073542040ad92aaa03e211.yaml",
    "chars": 1199,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: K-3D Fatal Error - Caught unknown exception.\ndesc: |-\n  Contact: jneo@l"
  },
  {
    "path": "bugs/issue-c24cff95ec0290dc053789f3749c2d3a576427e6.yaml",
    "chars": 729,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Owning document not visible in the NGUIPythonShellDialog context.\ndesc:"
  },
  {
    "path": "bugs/issue-c3442cdcfa64300b26c4e16560338858110051e0.yaml",
    "chars": 1146,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5 The 3D view only updates when i hit a buoon that moves or rotates an"
  },
  {
    "path": "bugs/issue-c35b6212ab0df100143b32254a41325252ffec42.yaml",
    "chars": 689,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Cleanup RenderMan shaders\ndesc: \"We have lots of shaders that are: redu"
  },
  {
    "path": "bugs/issue-c38bd09d7aa33d18d9df72894e7d7f4231a7afa4.yaml",
    "chars": 909,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Eliminate legacy mesh code.\ndesc: ExtrudeFaces (and all other legacy pl"
  },
  {
    "path": "bugs/issue-c3ec9bb8e635c2592d8ee6f80f29b56e939c7be4.yaml",
    "chars": 777,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Rubber band selection not visible on OSX.\ndesc: It seems that graphic X"
  },
  {
    "path": "bugs/issue-c4141d8b96026e37fc47c03ec3a610eb76d255e4.yaml",
    "chars": 614,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Need alternative interaction modes for use with trackpads.\ndesc: Curren"
  },
  {
    "path": "bugs/issue-c4fac5d4134a27c60a732f65c7aca6d081d888bd.yaml",
    "chars": 639,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Pass normals to the LuxRender engine.\ndesc: Currently, normal attribute"
  },
  {
    "path": "bugs/issue-c566b10c51cf9be076002e098a80e627f7e57ad7.yaml",
    "chars": 1087,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5 \\\"Duplicated\\\" nodes after importing a .k3d \"\ndesc: \"Steps\\n\\\n  1- R"
  },
  {
    "path": "bugs/issue-c5bb24ef560d028232ce7243e179caf89232424a.yaml",
    "chars": 1398,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Ensure polyhedron shells are updated correctly.\ndesc: There is probably"
  },
  {
    "path": "bugs/issue-c60b33c866619f09ee3d9d98a588097c246dce9d.yaml",
    "chars": 1030,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Eliminate libuuid dependency.\ndesc: It would be nice if we could switch"
  },
  {
    "path": "bugs/issue-c62d4189ed3035ce0a2c7896f97007ac715a1159.yaml",
    "chars": 726,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5  Prompt for camera when splitting viewport panel\ndesc: |-\n  Like it s"
  },
  {
    "path": "bugs/issue-c7068025feb6bc837b3c8238689cbd2808e602ec.yaml",
    "chars": 1408,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: The 3d environment view is not stable; scrambles and freezes when movin"
  },
  {
    "path": "bugs/issue-c88402eb19c30deba7254e8583c5554e169b4ee2.yaml",
    "chars": 646,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Edge selection broken.\ndesc: Currently, interactive selection of polyhe"
  },
  {
    "path": "bugs/issue-c920698bb22ce982c3f377ceebe1c146ff08fa9e.yaml",
    "chars": 590,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Add explicit check / nag screen when loading legacy documents.\ndesc: Li"
  },
  {
    "path": "bugs/issue-caa327a1b446cc943f4f8563d11862bb9a323006.yaml",
    "chars": 1791,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Make SUSE 10.2, make install, try to run and go boom.. LOL\ndesc: |-\n  C"
  },
  {
    "path": "bugs/issue-cbc65707315095a3c85694e09e179f711248ae01.yaml",
    "chars": 779,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Display component selections when adding a selection modifier.\ndesc: Wh"
  },
  {
    "path": "bugs/issue-cf2cdc4985a66db59f55052f03c3c620237b451f.yaml",
    "chars": 1133,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Program hang loading documents in OSX release build.\ndesc: Like it says"
  },
  {
    "path": "bugs/issue-cfefcca75810ec3b784ee014ff12c2b345d0e37d.yaml",
    "chars": 983,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 Components move via typeng wont be saved\ndesc: |-\n  Details:\n  \n  Ste"
  },
  {
    "path": "bugs/issue-d171dd355a94e4b8c639dce81bab88f3b30ad4c1.yaml",
    "chars": 1187,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: K3D disappeared\ndesc: |-\n  Contact: b.lewkow@chello.fr\n  Summary: K3D d"
  },
  {
    "path": "bugs/issue-d33d9c38e1484b8ca1380cee2cc381a58073f2b8.yaml",
    "chars": 563,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Confirm that all sample documents are working.\ndesc: \"\"\ntype: :task\ncom"
  },
  {
    "path": "bugs/issue-d641db2e9857dad68c2cb5cddad523f6a11a9f4c.yaml",
    "chars": 1646,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Problems with rendering\ndesc: |-\n  Contact: shashank.araokar@gmail.com\n"
  },
  {
    "path": "bugs/issue-d7a44bff78ad31a7e7a6762e37c67cc721882f83.yaml",
    "chars": 847,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix MergeCollinearEdges.\ndesc: Need to update MergeCollinearEdges to ma"
  },
  {
    "path": "bugs/issue-d8ead7e3cb76c1f6312855dfb1007959bf2a81a3.yaml",
    "chars": 704,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix Collada reader.\ndesc: Doesn't compile due to code changes.\ntype: :b"
  },
  {
    "path": "bugs/issue-da7d93a9b31ed0769f5b56af3f388737dd957b7f.yaml",
    "chars": 1195,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Normals flipped when extruding 0 m\ndesc: |-\n  Summary: Normals are flip"
  },
  {
    "path": "bugs/issue-da8965ea23097589e5b98a3b8c42580329dad12c.yaml",
    "chars": 1360,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"Viewport update problems with Windows Vista \"\ndesc: |-\n  Contact: tamm"
  },
  {
    "path": "bugs/issue-daee8a01c7a1e37079658831fb65738559dc0493.yaml",
    "chars": 855,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Replace interactive tutorial code with ATK-based tests\ndesc: As describ"
  },
  {
    "path": "bugs/issue-dbaae5eafd86c96dd10c4636fee6dbcf4a6223d2.yaml",
    "chars": 605,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Paint-deselection broken.\ndesc: Although paint *selection* works, paint"
  },
  {
    "path": "bugs/issue-dbc9bdf294e3af3096d5b7b0777fbd501dbec183.yaml",
    "chars": 565,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" We need edge bevelling\"\ndesc: We need edge bevelling\ntype: :bugfix\nco"
  },
  {
    "path": "bugs/issue-dbddd7fdc90195a94e62d0ae6440ac9d90308f40.yaml",
    "chars": 573,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: ConnectVertices problem with concave polys\ndesc: See attached.\ntype: :b"
  },
  {
    "path": "bugs/issue-dc74ee9aa83bfe125ef4948bd8e8a46d3b895167.yaml",
    "chars": 1270,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"closed tutorial window, created nurb sphere, app crashed - ID: 2761553"
  },
  {
    "path": "bugs/issue-dcaa8d49244983968dcc3d24b45671270e0238ba.yaml",
    "chars": 421,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Fix cuda mesh functionality.\ndesc: \"\"\ntype: :bugfix\ncomponent: K-3D\nrel"
  },
  {
    "path": "bugs/issue-deed7f51f539b6c62b97c585ed7453b3242c9992.yaml",
    "chars": 2023,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: K-3D viewport onlys shows a black screen when starting application whil"
  },
  {
    "path": "bugs/issue-e200400ec942d61b5d25ff523fbc59331e5cd00c.yaml",
    "chars": 1262,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: bug report for scripting issue\ndesc: |-\n  http://sourceforge.net/forum/"
  },
  {
    "path": "bugs/issue-e223abcb170a54b129321cb4020ec090b91aa06d.yaml",
    "chars": 698,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Restore selection-conversion functionality.\ndesc: Selection conversion "
  },
  {
    "path": "bugs/issue-e24dc27f9e5a9b6debdc7fbacdaef0390aa835b5.yaml",
    "chars": 1217,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 Rotate manipulator works wrong on multiple viewports\ndesc: \"Having mu"
  },
  {
    "path": "bugs/issue-e345f325aab4099f88dfc47616a86d4ddea54db3.yaml",
    "chars": 897,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5  K-3D crashes on pipeline panel \"\ndesc: |-\n  On k3d 0.7 on linux ubu"
  },
  {
    "path": "bugs/issue-e4ab51a81942250ae3e8a0ecff44c1e0b329859e.yaml",
    "chars": 1113,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: will not let me use polygons\ndesc: |-\n  Contact: SeamonkeyC1@AOL.com\n  "
  },
  {
    "path": "bugs/issue-e4e3a8d3d7b0effd24b47227a38154c7f9ad1af1.yaml",
    "chars": 588,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Material Manager crashes\ndesc: Mount a material manager panel -> boom!\n"
  },
  {
    "path": "bugs/issue-e695dc7181caa53d244666975fcb9416d23456d6.yaml",
    "chars": 1155,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: shortcuts assignment is wacky\ndesc: |-\n  Contact: kartalgoz@bluebottle."
  },
  {
    "path": "bugs/issue-e7da3769c8568a8dd24b895d954ce0f2afb278fb.yaml",
    "chars": 1324,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"It can't read the 5th tutorial. \"\ndesc: |-\n  Contact: daniel.craven@ho"
  },
  {
    "path": "bugs/issue-e7e2260686f43af5350ced8daf3fd52f748b7d4d.yaml",
    "chars": 1095,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: programs not starting\ndesc: |-\n  Contact: darius_persaud@yahoo.com\n  Su"
  },
  {
    "path": "bugs/issue-e7f06c793e88c43060dc24a5e7b645e87f5c3372.yaml",
    "chars": 761,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Segfault using autocompletion in the NGUIPythonShellDialog\ndesc: Enteri"
  },
  {
    "path": "bugs/issue-e83e4967aac6828eb4e02208edacd68d23252cde.yaml",
    "chars": 878,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: 5 Animation rendering code can't handle negative time values\ndesc: |-\n "
  },
  {
    "path": "bugs/issue-e86ef362f926037001e1c60a9fedea2822620595.yaml",
    "chars": 1284,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5  Array out of bounds in point painter \"\ndesc: |-\n  I'm not sure how "
  },
  {
    "path": "bugs/issue-eab8f46b39c3ce8da3052e6c33ad2942556f3c8d.yaml",
    "chars": 1005,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" BevelFaces only works on one face at a time? \"\ndesc: |-\n  I am trying"
  },
  {
    "path": "bugs/issue-ebaf6c348e0fa045023a7a486ea7c70969f96dde.yaml",
    "chars": 1873,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \"5 Didn't do much of anything exept mess with a tube, and import anothe"
  },
  {
    "path": "bugs/issue-ec7e14fd48fc42fd5b2ca9a3d30caf4f1b027c1a.yaml",
    "chars": 1388,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: \" Segmentation fault (core dumped)\"\ndesc: |-\n  Contact: gabriel.andrey@"
  },
  {
    "path": "bugs/issue-ee2fe3f71ced0add4f940683db864c5cfe7422d9.yaml",
    "chars": 621,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Generic Selection Refactoring\ndesc: Complete the action items documente"
  },
  {
    "path": "bugs/issue-eefe2f1c031bdf2fbe9723b6baf8aaa7a6daac91.yaml",
    "chars": 1260,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: k3d crashes. File not saved. Frame not saved\ndesc: |-\n  Contact: super_"
  },
  {
    "path": "bugs/issue-efc598f7db94d366529406ccc835541ed77da749.yaml",
    "chars": 915,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Segfault connecting an output property to an input property\ndesc: \"Step"
  },
  {
    "path": "bugs/issue-f0214576609193a60f014f6c1b55e5b01af8197d.yaml",
    "chars": 1057,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: Problems with Axes text labels\ndesc: |-\n  But I still have a problem wi"
  },
  {
    "path": "bugs/issue-f20b5cc0c3904cfa8ec18ee3c7753e4bbff69d4e.yaml",
    "chars": 1534,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: White Screen on startup\ndesc: |-\n  Contact: whitejediguy@gmail.com\n  Su"
  },
  {
    "path": "bugs/issue-f70081ac577a3f841537885c3d1d3af7f23f5aef.yaml",
    "chars": 1194,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: CMakeCache.txt have wrong path\ndesc: |-\n  CMakeCache.txt have your own "
  },
  {
    "path": "bugs/issue-f7a6867233d707004a53404495ec68af38de7dc2.yaml",
    "chars": 1204,
    "preview": "--- !ditz.rubyforge.org,2008-03-06/issue \ntitle: MakeSDS segfault.\ndesc: |-\n  Steps to reproduce:\n  \n  * Start K-3D.\n  *"
  }
]

// ... and 3309 more files (download for full content)

About this extraction

This page contains the full source code of the K-3D/k3d GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 3509 files (23.0 MB), approximately 6.2M tokens, and a symbol index with 10113 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!