[Bf-committers] C++ in Blenders Kernel lib (Nav mesh)

Sergey I. Sharybin g.ulairi at gmail.com
Sat Sep 17 10:15:56 CEST 2011


I'm not also fan of having C++ in kernel.

Not sure if this navmesh_conversion can be  can be easily moved to 
intern/ -- it uses DNA_meshdata_types and DerivedMesh structures. Was 
thinking about C-API for recast library, soblender kernel can easily use it.

There's at leats one more file which confuses me -- MOD_navmesh.cpp. 
Think it's better to make it C too.

I can try to get rid of this C++ today-tomorrow.

Campbell Barton wrote:
> Recent navmesh commit adds C++ into blenkernel - source/blender/blenkernel/intern/navmesh_conversion.cpp
> Until now we didn't have C++ in core libs, so not sure if this is acceptable? - or what we should do now its in.
> The file is only 450 LOC and doesn't use C++ classes or functionality which is tricky to convert, the main thing holding it back from going to C is Recast.h which has initializers inline with structs.
> While I'm not up on C++, to me there seems to be 2 options.
> 1) Make Recast.h C compatible, convert navmesh_conversion.cpp to C code.
> 2) move navmesh_conversion.cpp into its own lib and have a C API (for such a small file this is overkill but at least means no mixing C/C++).
> #2 is most straightforward, we can have intern/navmesh and arrange much the same was as ghost.
> Any comments?, anyone want to put their hands up to do this? :)
> ... or do we just not bother and have C++ in blenkernel?

With best regards, Sergey I. Sharybin

More information about the Bf-committers mailing list