Difference between revisions of "Developer Documents"

From BRL-CAD
(update the mime-type example with more details and link to my config file)
(I'm interested in BRL-CAD development. How can I get involved?)
 
(46 intermediate revisions by 17 users not shown)
Line 1: Line 1:
= Projects under active development =
+
[[Category:Design Documents]]
 +
[[category:Projects]]
  
* [[libpg : A parametrics/constraint library]]
+
== Introduction ==
* [[Revolve Primitive]]
+
If you are going to contribute and wish to be the part of ongoing development of BRL-CAD, you are highly recommended to read following introductory article to let you know the current roadmap of the project.
* [[OpenGL GUI Framework]]
 
* [[Metropolis_Light_Transport|Global Illumination using Metropolis Light Transport]]
 
* [[Geometry Service]]
 
  
= Developer FAQ =
+
[[An Introduction To New Developers]]
  
== I'm trying to add a new file to the repository and I get an error on commit about mime types.  What should I do? ==
+
== Developer FAQ ==
  
You should set the mime type.
+
=== I'm interested in BRL-CAD development. How can I get involved? ===
  
Subversion uses file mime-types for lots of useful things like for web interface browsing of the repository. You can either set up your subversion config to auto-set mime types or you can directly set the mime type on the file before you commit the file using svn propset.
+
* Join the IRC channel #brlcad at irc.libera.chat and/or the [http://lists.sourceforge.net/lists/listinfo/brlcad-devel developer mailing list]
 +
* Read the [https://github.com/BRL-CAD/brlcad/blob/main/HACKING developer's guide]
 +
* Start submitting [https://github.com/BRL-CAD/brlcad/pulls pull requests]
  
Sean provides a copy of his Subversion configuration that includes property settings for many file types. You can download and install it with this:
+
=== I'm trying to add a new file to the repository and I get an error on commit about mime types. What should I do? ===
  
'''curl http://brlcad.org/~sean/subversion.config > ~/.subversion/config'''
+
You should set the mime type. See [[mime-types]] for more information.
  
Once installed, run ''svn revert'' on your new file and then add it again.  The properties should be set if the config file is installed properly and it's a recognized file type.
+
== Developer Examples ==
  
This problem usually looks like this:
+
* [[Example_libbu|Linking against a library]]
 +
* [[Example_db_walk_tree|Using db_walk_tree()]]
 +
* [[GCV_Plugin_Tutorial]]
 +
* [[:Category:Code examples]]
  
[sean@bz (Wed May 28 13:27:55) brlcad]$ svn commit some_new_file.c
+
== Development Tips ==
Sending      some_new_file.c
+
* [[Compiling]]
Transmitting file data ...svn: Commit failed (details follow):
+
* [[Emacs]]
svn: MERGE request failed on '/svnroot/brlcad/brlcad/trunk'
+
* [[SVN+SSH]]
svn: 'pre-commit' hook failed with error output:
 
/var/local/mastertree/service-svn/hook-scripts/check-mime-type.pl:
 
 
brlcad/trunk/some_new_file.c : svn:mime-type is not set
 
 
 
    Every added file must have the svn:mime-type property set. In
 
    addition text files must have the svn:eol-style property set.
 
   
 
    For binary files try running
 
    svn propset svn:mime-type application/octet-stream path/of/file
 
   
 
    For text files try
 
    svn propset svn:mime-type text/plain path/of/file
 
    svn propset svn:eol-style native path/of/file
 
   
 
    You may want to consider uncommenting the auto-props section
 
    in your ~/.subversion/config file. Read the Subversion book
 
    (http://svnbook.red-bean.com/), Chapter 7, Properties section,
 
    Automatic Property Setting subsection for more help.
 
  
[sean@bz (Wed May 28 13:28:55) brlcad]$ svn revert some_new_file.c
+
== Development Projects ==
Reverted 'some_new_file.c'
+
 
[sean@bz (Wed May 28 13:29:55) brlcad]$ curl http://brlcad.org/~sean/subversion.config > ~/.subversion/config
+
* [[Online Geometry]]
  % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
+
** [[OGV|Online Geometry Viewer Project]]
                                  Dload  Upload  Total  Spent    Left  Speed
+
*** [[OGV_on_FreeBSD]]
100 10810  100 10810    0    0  30099      0 --:--:-- --:--:-- --:--:-- 81278
+
** [http://more.brlcad.org/ BRL-CAD Model Repository]
[sean@bz (Wed May 28 13:30:55) brlcad]$ svn add some_new_file.c
+
* New GUI
A        some_new_file.c
+
** [[OpenGL GUI Framework]]
[sean@bz (Wed May 28 13:31:55) brlcad]$ svn commit some_new_file.c
+
* Geometry Engine / Server
... no mime type error ...
+
** [[BRL-CAD's core C++ interface]]
 +
** [[Geometry Service]]
 +
*** [[Geometry_Service_Project_Main|Geometry Service Project]]
 +
* Geometry Conversion
 +
** [[ProE-BRL|Pro/ENGINEER to BRL-CAD export plugin]]
 +
** [[STEP|ISO 103030 STEP Geometry Conversion Support]]
 +
* Community Initiatives
 +
** [[Google Summer of Code]]
 +
** [[ESA Summer of Code in Space]]
 +
** [[Google Code In]]
 +
** [[Google_Doc_Camp|Google Doc Camp]]
 +
** [[Google Season of Docs]]
 +
* Out-of-date Orphans
 +
** [[libpg : A parametrics/constraint library]]
 +
** [[libpc | libpc : Geometric Constraint Solving]]

Latest revision as of 02:40, 8 February 2022


Introduction[edit]

If you are going to contribute and wish to be the part of ongoing development of BRL-CAD, you are highly recommended to read following introductory article to let you know the current roadmap of the project.

An Introduction To New Developers

Developer FAQ[edit]

I'm interested in BRL-CAD development. How can I get involved?[edit]

I'm trying to add a new file to the repository and I get an error on commit about mime types. What should I do?[edit]

You should set the mime type. See mime-types for more information.

Developer Examples[edit]

Development Tips[edit]

Development Projects[edit]