I'm going to ponder this question for a minute. I'm thinking it might be
possible to combine both ops into single pass.
On Feb 12, 2014 6:22 PM, "ZappoMan" <notifications@github.com> wrote:

> In interface/src/VoxelSystem.cpp:
>
> > +
> > +void VoxelSystem::inspectForOcclusions() {
> > +
> > +    // don't re-enter...
> > +    if (_inInspectForOcclusions) {
> > +        return;
> > +    }
> > +
> > +    _inInspectForOcclusions = true;
> > +
> > +    bool showDebugDetails = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
> > +    PerformanceWarning warn(showDebugDetails, "inspectForOcclusions()");
> > +
> > +    _tree->lockForRead();
> > +    _tree->recurseTreeWithPostOperation(inspectForExteriorOcclusionsOperation);
> > +    _tree->recurseTreeWithOperation(inspectForInteriorOcclusionsOperation);
>
> if the issue is that you want to do some operations pre recursion and some
> operations post recursion, then maybe we can make a
> recurseTreeWithOperations() that take two operator functions pre and post.
>
> Does the algorithm depend on the inspectForExteriorOcclusionsOperation()
> pass completing before the inspectForInteriorOcclusionsOperation() pass?
>
> --
> Reply to this email directly or view it on GitHub<https://github.com/highfidelity/hifi/pull/1987/files#r9691154>
> .
>