[Bf-committers] FW: Edit Mesh ideas

Kiernan Holland bf-committers@blender.org
Wed, 26 Nov 2003 12:28:12 -0700


I eliminated a step in my mail program that kept me from keeping the mail
program 
from sending the email.. I was going to revise this.. Sorry about the
replication 
of the topic and message:

Is it possible that the mesh data can be abstracted away, separated, from
the edit mode 
functions that manipulate the mesh data, such that the functions can be
written to apply to 
any kind of surface data. 

I'm thinking of this as a way that the programmers can choose the 
level of complexity that they wish to deal with when performing edits on
the structure.. Like 
if I wanted to design a new kind of mesh warp tool I could maybe request a
view on 
the data structure of all the points, which would return a list of pointers
to 
the vertex data in the general surface type, then I could do 
my transformations on the general type and update the surface.. Keeping 
Ton's suggestions in mind about the data structure being compressed or
compact, It 
also should be possible, for efficiency's sake to toggle the surface
between 
compressed/compact form and expanded form in the interest of 
trading memory usage off for speed of manipulation, if a compressed data 
format is desired. 
 
I believe that as soon as there is a way to abstract the surface types from 
the functions that manipulate them, it will be easier to write new
functions to 
manipulate the surfaces and easier to change the underlying types,
incorporate 
new data types and manage the code that exists. Eventually this has to
happen. 
 
I think once this happens, it will be easy to port the code to C++ if
needed. 
I think it will also allow the python interface to such capabilities to be
kept 
simple, thus reducing overlap. 

But its possible Python is this abstraction and that all functions that
really 
don't need to be in the blender core should be implemented as resident 
python mesh manipulators. Like the magnet tool probably could be 
implemented in python efficiently..