Editing User:Krajkreddy/GSOC14/summary

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 209: Line 209:
 
'''''August 2 (Saturday)
 
'''''August 2 (Saturday)
  
I have sampled all the errors from the build http://tny.cz/802fe6f9.
+
I have sampled all the errors from the build [[here | http://tny.cz/802fe6f9]].
  
 
The build mainly contains following types of errors from PBG(PyBindGen). They are :
 
The build mainly contains following types of errors from PBG(PyBindGen). They are :
Line 228: Line 228:
 
**wrapping of private methods.
 
**wrapping of private methods.
 
All though couldnot understand how private method wrapping can be avoided by PBG. But there are few overloading functions. My plan is to manually change the overloading functions in the produced cpp file. (Although this might cause an issue because of large number but cannot find an alternative.)
 
All though couldnot understand how private method wrapping can be avoided by PBG. But there are few overloading functions. My plan is to manually change the overloading functions in the produced cpp file. (Although this might cause an issue because of large number but cannot find an alternative.)
 
 
'''''August 6 (Wednesday)
 
*I spend my time today mainly working on the issue of overloaded functions.
 
*As suggested by the PBG developer(by personnel email), I  checked the pybindgen.gccxmlparser module but could not find any issue.
 
*Later on diging the code of OpenNurbs I found that all the overloaded functions which were causing the issue were private constructors mainly used for singleton pattern
 
*Also Interestingly all these private constructors didnt have definitions as well.
 
*Thus I removed them manually from the auto generated c++ file.
 
 
 
'''''August 7 (Thursday)
 
*One of the error I the PBG was regarding retval which is an internal parameter in many functions. This was an error in PBG. Now resolved.
 
*Errors have majorily shrinked now by taking care of the above issues.
 
*Now the major errors are here http://tny.cz/2ed6eadc
 
*There are main two types of error left.
 
##Accessing of symbols from union which is not supported by PBG.
 
##Also overloading functions in string class of opennurbs.
 
 
'''''August 8 (Friday)
 
*While Compiling I received many errors related to overloading of functions.
 
*I have seen that these are in ON_String and ON_wString class.
 
*These are mainly created due to excessive overloading of methods.
 
*I have removed some redundant overloaded functions from these classes and now these work.
 
 
'''''August 9 (Saturday)
 
*Since Union is not supported by PBG, therefore the generated file creates error issues while compiling.
 
*In OpenNurbs library there is an instance of union in a struct MAP_VALUE
 
*I have contacted the developer of PBG. They have suggested on mannually changing the generated c++ code.
 
*I have thus manually changed the c++ code wherever there are instances of the struct.
 
*And thus now the struct errors are eliminated.
 
 
'''''August 11 (Monday)
 
*Now everything compiles perfectly.
 
*But on loading the compiled library in a python shell I lot of symbols are not defined.
 
*I found that BRL_CAD main repository removes the OpenGL dependencies thus I also removed them
 
*The problem on diagnosis turned out that, some functions in OpenNurbs have only declarations and lack definitions. This is indeed a common practice by c++ developers.
 
*But Since pybindgen only scans header files thus the undefined symbols creep in.
 
*I have removed such declarations. And it works well.
 
 
'''Suggested 'pencils down' date'''
 
 
End term summary is [[User:Krajkreddy/GSOC14/end_term_summary|here]]
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)