[Source] Extrusion diagnostics improved; how to get the DEF name of a node?
Rex Melton
rex.melton at jeospace.net
Wed Aug 22 07:53:07 PDT 2012
An alternative suggestion.
In the xj3d browser app, there is a
SceneTreeViewer. This is an example of walking the
scenegraph and identifying nodes (and DEF names).
It could be extended to provide a view of field
data of selected nodes.
On 8/21/2012 11:54 PM, Alan Hudson wrote:
> on vacation till Sept 5th. So very short reply.
>
> If you code something that provides the service
> from the execution context level without adding
> a per-node variable that's great. I don't have
> time to walk through the ways to implement this
> and I personally don't need this functionality.
> Any map we have of def name - node should be
> reversible in a slow walk of the map.
>
>
> On Tue, Aug 21, 2012 at 4:05 PM, Don Brutzman
> <brutzman at nps.edu <mailto:brutzman at nps.edu>> wrote:
>
> On 8/21/2012 9:28 PM, Alan Hudson wrote:
> > On 8/21/2012 11:47 AM, Richard Puk wrote:
> > Hi, Alan --
> >>
> >> Perhaps you can have your cake and eat it
> too. Why not provide a run-time
> >> switch that either enables the saving of
> DEF names or disables it?
>
> Very constructive suggestion, thanks Dick.
>
> > you can't unallocate class variables at
> runtime so if there is a slot for it in the
> class then it consumes memory.
>
> So maybe a similar approach might work?
> - Empty strings consume very little memory.
> - Empty hash tables consume very little memory.
> - Some other on-demand approach perhaps?
>
> I've asked for a testing-support mechanism and
> - suggested several approaches,
> - worked diligently to not break anything,
> - asked a series of questions,
> - emphasized testing for debugging broken
> parts of Xj3D
> - emphasized testing for making
> architectural judgements
> - remained polite and cooperative, looking
> for common ground
> in order to achieve greatest shared good
>
> You guys have hinted that some mechanism
> exists in X3DExecutionContext
> but declined to explain how that might work.
> I looked there to determine
> what you might be saying, is it something
> like lines 42-48:
>
> > public void
> readableFieldChanged(X3DFieldEvent evt) {
> > System.out.println("Clicked!");
> > X3DExecutionContext
> ec=myBrowser.getExecutionContext();
> > if(myRoute==null) {
> > System.out.println("Route added");
> >
> myRoute=ec.addRoute(ec.getNamedNode("OI"),"value_changed",
> > ec.getNamedNode("greenBox"),"set_rotation");
>
> That would only seem to work for retrieving
> an X3DNode if DEF name
> is known. I'm asking how, or how best, to
> do the opposite: given
> an X3DNode (presumably a 'this' reference),
> how to retrieve the
> corresponding DEF name? Maybe I'm missing
> something but I still don't
> see that capability in there.
>
> When one goes to X3DExecutionContext and
> look up getNamedNode() to try to
> decipher your pattern, one finds... an
> interface definition with no method
> bodies. If one then goes to look up the
> implementations of this interface,
> there are four implementers/overriders:
> BaseExecutionContext, SAIScene,
> WorldScene, and X3DScene. So you already
> have multiple ways to override
> the base classes depending on execution
> context... which would be yet
> another general approach to decide where to
> put a utility method, with
> at least four variants that exist. Once
> again, hat in hand, am asking
> what guidance might experienced Xj3D
> programmers provide about the best
> way to accomplish this fundamental but
> nontrivial task?
>
> Instead you are both making forceful
> arguments that appear to say:
> - you don't and won't do it that in any way,
> because you haven't
> - no tests are needed to justify past
> assertions, they are simply true
> unless proven otherwise
> - if i (or presumably anyone else) asks
> again after "no," then they
> don't understand open source (personal
> attack?) or should just fork off
> (discouraging common understanding, best
> practices, community building?)
>
>
> if you don't want to listen to our experience on
> something don't expect us to bend over backwards
> to provide proven test cases to show that adding
> variables to a class that is replicated
> thousands to millions of times will add memory.
> My personal goals for Xj3D involve handling
> large files efficiently so that's where I spend
> my time. If your use cases differs that's fine
> but if they conflict then I'm going to put on my
> project maintainers hat and say no.
>
>
>
> _______________________________________________
> Source mailing list
> Source at web3d.org
> http://web3d.org/mailman/listinfo/source_web3d.org
More information about the Source
mailing list