Re: [gts-devel] disabling GTS's memory management
Brought to you by:
popinet
From: Rob M. <ro...@as...> - 2005-06-27 17:30:03
|
> OK, I'll have a look at the "Gerris tutorial" you pointed me to and see > if I can do this. Will it be possible to make gts_vertex derive from > say gts_notmemmanaged_object, or will i have to create a whole > mirror-image inheritance tree? Stephane is certainly the expert on this one, but from what I remember of extending the GTS class structure, there is no way to slip a new layer 'in the middle'. If I recall correctly, faces are extended from triangles, which are extended from objects. And so on with the other entities. When a surface is created, you pass parameters telling it what classes should be used to provide faces, edges, and vertices. That way, one may extend an entity (say a face) and then use it in the surface. There may be a way to extend this approach to replacing the fundamental gts_object that everything else inherits from. This would involve a secondary constructor for each of the objects. This constructor would take a parameter specifying the gts_object--based class to build from. (A replacement default constructor would be written to maintain backward compatibility). I'm not sure how feasible this is, but it is the first approach I would take a close look at. Let me know if this doesn't make sense, Also, the object-oriented in ANSI-C programming paradigm used by GTS is borrowed heavily from glib & related projects. It may serve you well to poke around there for examples on how to accomplish this sort of thing. Rob |