opensg-core  

Re: [Opensg-core] [Opensg-commits] r862 - in trunk: Source/Base/Base Source/Base/Field Source/Contrib/Manipulators Source/Contrib/VTK Source/System/Action/RenderTraversal Source/System/Cluster/Window/

Gerrit Voss
Tue, 31 Jul 2007 07:53:26 -0700

Hi,

On Tue, 2007-07-31 at 07:35 -0500, Allen Bierbaum wrote:
> [EMAIL PROTECTED] wrote:
> > Author: vossg
> > Date: Tue Jul 31 01:57:53 2007
> > New Revision: 862
> > Trac changeset: http://opensg.vrsource.org/trac/changeset/862
> > ViewVC: http://realityforge.vrsource.org/viewvc/opensg?view=rev&revision=862
> > 
> [..]
> > Log:
> > changed : redesign generic interface
> 
> Anytime I see something like "redesign generic interface" I have to ask, 
> can you give us more details about this change.  
> What does this change fix/add and is it part of a bigger effort?

Foremost the original 2 generic interface was crap.

Especially the need to explicitly carry the FieldDesc/FC around was not
the brightest idea ever. So there was a general need to change it.

So it basically moves back to retrieve a single polymorphic object that
is able to handle all field access either by giving direct access to the
field (get/edit for all value fields and get for pointer fields) or by
providing a wrapper in case the field can not be modified directly (edit
pointer fields). Similar it provides the virtual interface to handle
fields in an abstract way (e.g. fromString, toStream for the
loaders/writer).

As fields in 2 are not polymorphic it had to be something else so on 
the highest level in looks like

class ReflexivceContainer
{
    GetHandlePtr  getField (UInt32 fieldId);
    EditHandlePtr editField(UInt32 fieldId);
};

where GetHandle / EditHandle are the polymorphic objects.

As to the bigger effort it is half of finally clearing all the basic
stuff (the other half is RefPtr use internally) so we can move on and
clean all the small stuff that needs to be done to get closer to an
alpha state.

As Dirk is currently looking into the RefPtr stuff I committed this one 
early though it is still not complete. It does at least what the
available loader/writer need but for example some of the clone stuff is
not complete. So it is still evolving (in terms of completeness) but as
the current head is in an experimental/unstable state anyway I mainly
preferred not to let Dirks and my tree diverge to much. So there wasn't
any big announcement because half of the puzzle is still missing
(RefPtr).
But I don't expect fundamental changes to it right now (hopefully,
except if the fields ever become polymorphic again).

regards,
  gerrit




-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Opensg-core mailing list
Opensg-core@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-core