Editing Community Publication Portal
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 31: | Line 31: | ||
---- | ---- | ||
+ | ==BRL-CAD Accomplishments : GCI 2012== | ||
− | + | [TODO: ADD FIGURES IN PLACE OF ** ] | |
− | |||
− | + | [http://www.google-melange.com/gci/org/google/gci2012/brlcad Google Code -In 2012] brought ** budding new shoots and branches to the mighty BRL-CAD tree, and the canopy of warmth and love offered by the community helped them blossom and bloom in the 7 weeks of the program . With a few snips, a little trimming and pruning, they have learned, innovated, created and contributed to one of the largest free and open source communities in the world, and have contributed to a software that will touch many people around the world. They now have their roots planted in the BRL-CAD community with the successful completion of their tasks and are ready to shelter budding shoots to come! | |
− | + | We had 66 students from 36 countries complete 178 tasks in the 7 week contest. Students worked with BRL-CAD on coding, documentation, training, user interface, research, outreach tasks, and quality assurance tasks. | |
+ | Akshay Kashyap and Cezar El-Nazli were among the 20 lucky and hardworking [http://google-opensource.blogspot.in/2013/06/google-code-in-grand-prize-winners.html grand prize winners of GCI-2012] who received a trip to Google’s Mountain View, California, USA Headquarters for themselves and a parent or legal guardian for an award ceremony, an opportunity to meet with Google engineers, explore the Google campus and have a fun day in the San Francisco, California sun. | ||
− | --- | + | [http://www.google-melange.com/gci/homepage/google/gci2013 Google Code In 2013] has been already announced. If you are of the age 13-17 years, a pre-university student, this is the best opportunity for you to grab and get your hands on and step into the whole new world of software development and maintenance. Are You Ready ? |
− | + | More information on what is Google Code-In, how you can participate, what are the exciting prizes for you, etc. is available [http://brlcad.org/wiki/Google_Code_In here]. | |
− | + | For further queries mail us on our [http://brlcad.org/wiki/Mailing_Lists mailing list] or contact us via [http://brlcad.org/wiki/IRC IRC] | |
− | |||
− | + | == Ready for Publication == | |
+ | These articles are ready for publication. Release notes should be posted after tarballs, ideally the last or first week of a month. Other publications should be scheduled one or two weeks later, ideally on the second or third week of the month. | ||
− | + | Note: if you see a comment indicating that a section is FROZEN, any changes you make in that section may go unnoticed as the article is being prepared for distribution. If you find errors in a FROZEN article, go ahead and correct the article but contact Sean (brlcad on freenode [[IRC]]) who may be able to incorporate changes during final publication. | |
− | |||
− | + | ==== Move from Final Review to Here When Ready==== | |
+ | ------ | ||
+ | ==== Draft Release Note ==== | ||
− | + | <b>BRL-CAD Release 7.24.0 </b> | |
− | + | After nearly an entire year's worth of intense collaborative effort, the 7.24.0 major release of BRL-CAD is now available for download! This is the alpha release unveiling of Archer/MGED, a preliminary interface update to BRL-CAD's graphical geometry editor. As alpha software, this new MGED prototype aims to provide functional feature parity with the antecedent MGED interface while introducing various changes. Some highlights include an integrated graphical tree view, a single window framework, drag and drop geometry editing, information panels, shortcut buttons, improved polygonal mesh and 2D sketch editing, level of detail wireframes, NURBS shaded display support, and much more. Prior to upcoming beta testing where the emphasis is predominantly on stability and usability, this alpha status solicits feedback from community on capability and features. | |
− | + | This release also includes various improvements to BRL-CAD's ray tracing infrastructure including CPU thread affinity locking for faster performance, more consistent grazing hit behavior, expanded volume and surface area calculations, numerous bug fixes, and more robust NURBS evaluation. Following BRL-CAD's interface deprecation policy (see CHANGES file), the Jove text editor is no longer being bundled. Various converters including the STEP, Patch, and 3DM importers received robustness improvements. | |
− | + | Since the previous 7.22.0 release, the following user-visible changes have occurred: | |
− | + | <b>Additions:</b> | |
+ | * -b option to set tpkg network packet size | ||
+ | * arbn surface area and volume to analyze command | ||
+ | * epa surface area and volume to analyze command | ||
+ | * eto surface area and volume to analyze command | ||
+ | * gqa -q quiet option to suppress 'was not hit' | ||
+ | * hyp centroid and volume output to 'analyze' | ||
+ | * level-of-detail wireframe support to mged/archer | ||
+ | * manual page for bot_sync, bot_flip, bot_split | ||
+ | * manual page for existing mged reid command | ||
+ | * manual page for running rtarea within mged | ||
+ | * plate mode BoT support to 'bot_merge' command | ||
+ | * support for editing 2D sketch objects in archer | ||
+ | * support for wireframe drawing of 'hyp' labels | ||
+ | * initial NURBS shaded display and tessellation support | ||
+ | * new mouse-input unpushed matrix edit option in archer | ||
+ | * level-of-detail mged configuration dialog, under Tools | ||
− | <b> | + | <b>Improvements:</b> |
+ | * 3dm-g output and invalid geometry support | ||
+ | * BoT mesh editing interface in archer | ||
+ | * Linux platform application and file icons | ||
+ | * Linux ray tracing via cpu thread affinity | ||
+ | * Linux support for multiple hardware displays | ||
+ | * Mac, BSD, & Windows ray tracing performance | ||
+ | * documentation consistency and authorship info | ||
+ | * gqa performance on parallel SMP hardware | ||
+ | * help option consistency across numerous tools | ||
+ | * large file support for the patch-g importer | ||
+ | * ray tracing behavior for grazing rays | ||
+ | * robustness of the step-g geometry importer | ||
+ | * support for NURBS with big uv-domain changes | ||
+ | * 'idents' command no longer reports negative booleans | ||
+ | * modified gqa to report all missed regions | ||
+ | * openNURBS updated to version 5.0 (2012-10-24) | ||
+ | * output from g-var no longer prints 'fwrite' messages | ||
+ | * g_diff gives non-zero return code if .g files differ | ||
+ | * quell pix-png gAMA chunk warning defaulting to unset | ||
− | + | <b>Fixed:</b> | |
+ | * File->New deprecation error in archer | ||
+ | * TIE perpendicular face mesh evaluation failure | ||
+ | * TIE raytracing bugs shotlining plate-mode BoTs | ||
+ | * asc2g and mged empty revolve object crashes | ||
+ | * bounding box size calculation for pipe geometry | ||
+ | * bug during pipe editing with working units set | ||
+ | * corrupted tessellation pipe export bug | ||
+ | * crash in step-g tool importing AP214 entities | ||
+ | * crash revolving empty sketch objects | ||
+ | * crash when parsing invalid shader parameters | ||
+ | * crash when running screengrab in archer | ||
+ | * gqa to not report overlap regions as zero hits | ||
+ | * graphics window z-clipping bug in mged | ||
+ | * infinite loop raytracing subtracted lights | ||
+ | * memory leak in bot_condense | ||
+ | * memory leak when working with pipe primitives | ||
+ | * mged 'dbupgrade' -permissions error on windows | ||
+ | * mged interactive object translation keypoint bug | ||
+ | * mged lesson 15 toy truck 'inside' ordering bug | ||
+ | * nirt high object count failure on Windows | ||
+ | * patch-g -f input file permissions failure | ||
+ | * random number SMP bug affecting rt and adrt | ||
+ | * search command bombing on v4 database file | ||
+ | * typographical errors in numerous tools and docs | ||
+ | * uninstallable Linux RPM package on Fedora 18 | ||
− | <b> | + | <b>Removed:</b> |
+ | * jove (see jove.emacs for compatibility bindings) | ||
− | + | Thank you to all that have contributed towards this release including <i>Aaron Keesing, Akshay Kashyap, Andrei Popescu, Daniel Roßberg, Tom Browder, Carl Moore, Cliff Yapp, Jordi Sayol, Chris Dueck, Keith Bowman, Nick Reed, Bob Parker, Richard Weiss, and Sean Morrison</i>. Special thanks to GSoC student <i>Kesha Shah</i> for her efforts helping prepare release notes as well. | |
+ | This is a backwards-compatible source with binaries provided for Windows, Mac OS X, and Linux. Please visit our website to download the latest version: http://brlcad.org/d/download | ||
− | + | ---- | |
− | + | == "Improving BRL-CAD's networking library":Andrei - Constantin Popescu == | |
+ | by: Plamen Nikiforov | ||
− | + | Andrei - Constantin Popescu is a second year undergraduate at Polytechnic University of Bucharest, studying at the computer science department. Here is an interview about Andreis Google Summer of Code project. | |
+ | Plamen(Pl): How did you found out about BRL-CAD and why did you chose to them? | ||
− | + | Andrei(An): I heard about BRL-CAD when I was searching for a Google Summer of Code project to do. After doing some research on their website regarding Google Summer of Code ideas, several interested me particularly. | |
+ | The language I am currently strongest in is C and I am also interested in computer graphics, this motivated me towards applying for BRL-CAD. Another key aspect was that the BRL-CAD mentoring community was very friendly and helpful towards me. | ||
− | |||
− | + | Pl: Why did you choose "Improving BRL-CAD's networking library" to be your project? | |
− | + | An: The first project idea I proposed was " Code reduction". First, I looked at this project at Sean's suggestion. There were several reasons why I chose this project idea : I was taking a networking course and it would help me consolidate my knowledge and the performance testing seemed a more interesting problem to investigate. | |
− | |||
− | |||
− | + | Pl: What were your aims of the project? | |
− | + | An: My initial aims were to investigate and fix any performance bottleneck regarding transfer speed for various file sizes and package sizes, test the code integrity of networking library and eliminating as many unhandled exceptions as well as eliminating global variables from the networking library. | |
− | + | “Here are some of Andreis performance measurements for different package sizes: | |
+ | Package size 1 – 2048 - http://i.imgur.com/OPum5.png | ||
+ | Package size 2048 – 4194304 - http://i.imgur.com/fH4rL.png | ||
+ | Package size 1 – 4194304 - http://i.imgur.com/AXUpN.png ” | ||
− | |||
− | + | Pl: Has this project helped your skills improve? | |
− | + | An: Definetly! The most important aspect is that I greatly improved my communication skills. Aside of that, I also improved my capacity to work in a team, developed the ability to work with a large code base and of course improved my implementation skills. | |
− | BRL-CAD | + | Pl: Would you continue to contribute to BRL-CAD? |
+ | An: Of course ! I continued to contribute even after Google Summer of Code. Even if my contributions aren't as numerous as I would like because of my crowded academic schedule, I am trying to contribute for as much as possible. Contributing to BRL-CAD helps me improve knowledge as well as providing code that is actually useful for a large number of people. | ||
− | |||
− | + | ====Google Summer of Code: Jianbang Wu==== | |
− | + | by: John | |
− | + | This article is based on some questions I asked Jianbang and in his profile page. | |
− | |||
+ | Jianbang Wu (also known as Phoenix) participated in BRL-CAD development during Google Summer of Code 2012. His work was "to convert implicit Constructive Solid Geometry (CGS) primitives to boundary representations (BREPs)". He is a sophomore student in Peking University, China. | ||
+ | His skills involve C/C++, Object Oriented Programming, data structures, algorithms, math, and image processing. | ||
− | + | Jianbang chose to apply to BRL-CAD because "The mentors of BRL-CAD are really nice. :)" and because he loves computer graphics and math. | |
+ | He started working without any Computer Aided Design (CAD) software experience, which he learned during the summer. | ||
+ | He worked on two projects: | ||
− | + | First, he followed Cliff's suggestion: "Implicit to NURBS conversion". This consisted in the conversion from implicit primitives to Non Uniform Rational Basis Spline (NURBS) primitives. In this project he also modified some unfinished conventions and added some new primitives. | |
+ | Since he finished this task before the mid-term evaluation, he decided to make a follow-up: "NURBS surface-surface intersection". | ||
− | + | Finally, he suggests future Google Summer of Code students to "Follow your interest, choose the project you like, and you will find Google Summer of Code really an excellent experience". | |
− | + | You can check out some images related with his work here: | |
− | + | http://brlcad.org/wiki/User:Phoenix/GSoc2012/Reports#Test_Results | |
− | + | Related with his first work: | |
+ | * m35.g: component (left: implicit + csg, right: brep + csg) | ||
+ | [[Image:M35.implicit.png]] [[Image:M35.brep.png]] | ||
− | + | Related with his second work: | |
+ | * The intersection curves (green) of a tgc (red) and an epa (blue). (Two segments) | ||
+ | [[Image:Tgc epa.png]] | ||
− | + | John is a Google Code-In student living in Portugal. He's favourite language is Python although he's considering to widen his knowledge to C. | |
− | + | ==== Linux Release Packaging Process: A mission for Jordi Sayol ==== | |
+ | By: John | ||
− | + | Jordi Sayol is the man behind the automation of the BRL-CAD Linux release packaging process, which he recently finished. His work continues the one made previously by Manuel A. Fernandez Montecelo in .dbm packages. | |
− | + | This article is based on some questions I asked him and on an interview made to Jordi by Gala, a Google Code-in student. | |
− | + | Jordi has been working with BRL-CAD since January 2011,with his Linux experience (as advanced user) as his only companion. By that time, he started to collaborate on-line with other BRL-CAD team members. | |
− | + | With such a massive project, which has millions of lines of code, he decided to take as his responsability the building of binary packages for Linux systems, since he's not a programmer. | |
− | + | In both interviews, he explains quite accurately the process of making those. He has made two scripts that automate the whole work. What the scripts do is to handle all the pre-building proccess and then create the packages. "In fact the building job is done by debhelper to create deb packages, and the rpmbuild command to create rpm packages. The scripts tries to ensures that all dependencies needed by these commands are available, copy Linux specific files, create configuration files, etc. before building the packages". | |
+ | The scripts allow anyone to easily create their own deb/rpm packages as needed", since they "create deb/rpm packages for the host architecture where they are executed". | ||
+ | This allows BRL-CAD to be distributed Debian-like and Fedora-like systems, which means a great variety of platforms where BRL-CAD will be able to work. Unfortunately, since Fedora and OpenSUSE don't share the same nomenclature, their rpm packages must be separate ones. | ||
+ | The scripts can be found at the "sh" folder when you download the BRL-CAD sources. | ||
− | + | Since he is not a programmer (only an advanced Linux user), he won't develop other parts of the code, but I think all the BRL-CAD community can be grateful for what he has done. | |
− | + | by John. | |
− | + | John is a Google Code-In student living in Portugal. He's favourite language is Python although he's considering to widen his knowledge to C. | |
− | + | Gala Taylor is a 2012 Google Code-In participant. Although she has used various Free and Open Source Software (FOSS) products over the years, and has contributed example files and tutorials to several projects, this is the first time she has actively participated in the development of FOSS code. Gala is currently in 9th grade, and her favorite computer language is Java. | |
− | + | ==== Gala Taylor: New BRL-CAD Linux Release Packaging Process Automation ==== | |
+ | By: Gala Taylor | ||
− | + | BRL-CAD supports Debian, Ubuntu, Fedora, and openSUSE, and other Linux distributions. Jordi Sayol recently finished automating the BRL-CAD Linux release packaging process, and he took some time out to chat with Gala Taylor about it - and also answer some question about what it's like to work on the BRL-CAD project. | |
− | - | + | '''Gala Taylor (GT)''': How long have you been working on the BRL-CAD project? |
− | + | '''Jordi Sayol (JS)''': I've been involved with the BRL-CAD project since January 2011. | |
− | |||
− | + | '''GT''': How much education and experience were required to prepare you to contribute to the BRL-CAD project? | |
− | |||
− | + | '''JS''': My experience is just as an advanced Linux user. | |
− | |||
+ | '''GT''': Do you need to physically meet with the other team members in order to contribute to the BRL-CAD project, or is it sufficient to work on-line? | ||
− | + | '''JS''': All of my collaboration is done on-line. | |
− | + | '''GT''': The BRL-CAD project is a collection of over four hundred tools, utilities and applications, with over a million lines of source code. With such a massive and complex system, how do you decide what to work on? Is it necessary to understand all that code in order to contribute to the project? | |
+ | '''JS''': My responsibility is focused on building binary packages of BRL-CAD for Linux systems. | ||
− | + | '''GT''': Besides the release processing work which is described in the HACKING file, can you walk me through the process of actually transforming a developer’s checked-in source code into an .rpm or .deb that is ready to be downloaded and installed? | |
− | + | '''JS''': It's quite simple. I have created two bash scripts that automate this process. The "sh/make_deb.sh" script creates a deb package installable on Debian-like systems. This currently includes Debian, Ubuntu, Linux Mint, and other distributions. The "sh/make_rpm.sh" script creates an rpm package for Fedora-like systems. This includes Fedora, Centos, Redhat, and some other distributions, or OpenSUSE, depending on the system where it is built. There are separate rpm packages for Fedora and OpenSUSE because they do not share the same nomenclature on their packages. Note also that both scripts create deb/rpm packages for the host architecture where they are executed, and that the results are currently only tested on x86_32 and x86_64 hosts. | |
− | + | With these scripts, anyone can easily create their own deb/rpm packages as needed. This is especially useful if the user wants to install BRL-CAD on a very old system, maybe requiring special compilation for specific graphic cards drivers, etc. | |
− | |||
− | |||
− | |||
+ | '''GT''': Thank your for your time today and your contributions to BRL-CAD, Mr. Sayol! | ||
− | + | '''JS''': It was a pleasure. | |
− | |||
− | + | Please visit the BRL-CAD project website for more information: http://brlcad.org | |
− | |||
− | |||
− | |||
− | + | '''Jordi Sayol''' is the maintainer of the BRL-CAD Linux release packaging process. | |
− | |||
− | + | '''Gala Taylor''' is a 2012 Google Code-In participant. Although she has used various Free and Open Source Software (FOSS) products over the years, and has contributed example files and tutorials to several projects, this is the first time she has actively participated in the development of FOSS code. Gala is currently in 9th grade, and her favorite computer language is Java. | |
− | + | ---- | |
− | ==== | + | ==== Kyle Bodt: Ronja ==== |
− | + | http://brlcad.org/wiki/Ronja | |
− | + | Ronja (Reasonable Optical Near Joint Access) is an innovative piece of equipment that utilizes reliable optical data links to create a current communication range of 1.4 km and a speed of 10Mbps full duplex that can be used as a general purpose wireless link for virtually any networking project. This is a very important project for Twibright Labs, a small group of computer science graduate students operating out of Charles University in Prague in the Czech Republic. The group specializes in the usage of Free Software and User Controlled Technology Development. | |
− | + | The primary output for the Ronja project is a design. The lab does not intend to manufacture and sell the hardware that is being designed but wants to engage in open source development of the technology. The philosophy surrounding User Controlled Technology is the ideal that the end-user is provided with unrestricted access to the intellectual property surrounding the technology, including the tools that are being used to create it. One tool playing an integral part in the development of the Ronja designs is BRL-CAD. All of the models that Twibright labs use to display the different variants of their Ronja concept were created with the help of BRL-CAD. BRL-CAD has allowed the members of Twibright labs to create instructional diagrams so that the users and builders of their open source technology will be able to have the latest information with regard to the proper construction of a Ronja unit. The interactive geometry editor and ray-tracers in BRL-CAD are an integral part in the communication of design plans for Twibright labs and enables them to connect with the users, who are the driving force behind the User Controlled Technology ideal. | |
− | + | ---- | |
− | + | == Initial Drafts == | |
− | + | These are incomplete articles being worked on. Short 250 to 500-word articles (not counting tables, images, etc) are usually perfect. | |
− | |||
− | + | ==== Google Doc Camp ==== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | BRL-CAD is one of three organizations,among openMRS and Gnome, accepted to participate in the 2013 Google Doc Camp taking place at Google's headquarters in Mountain View, California. | ||
+ | Our team was made up of Sean, Cliff, Eric, Harmanpreet ,Check and two free agents - Scott Nesbitt and Isaac Kamga. | ||
==== Anurag Murty: Voxelizing Geometry ==== | ==== Anurag Murty: Voxelizing Geometry ==== | ||
Line 409: | Line 465: | ||
Initial progress on the integration of ADRT's libtie "triangle intersection engine" with LIBRT. | Initial progress on the integration of ADRT's libtie "triangle intersection engine" with LIBRT. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
− | |||
− | |||
− | |||
− | |||
== Idea Hopper == | == Idea Hopper == |