← Back to team overview

kicad-developers team mailing list archive

Re: 3D refactor

 

Hi Mario,

 For the initial merge would it be OK for me to remove that assert?
Although it is useful for debugging, the current 3DViewer works well
even with that assertion failure and the Union() function still behaves
as expected, essentially ignoring the uninitialized BBox.

- Cirilo

On Thu, Feb 25, 2016 at 4:51 AM, Mário Luzeiro <mrluzeiro@xxxxx> wrote:

> Hi NickOe,
> Thanks for trying the branch!
>
> Cirilo is managing that branching. He is "cherry picking" things from my
> working branch on the renders to get a smooth transition between our
> branches and trunk
> I guess that is because that cbbox.cpp comes from the new branches and
> maybe it indicated that something is wrong originally in the stable trunk
> or something was not proper integrated with that new cbbox.
> It is however a minor issue, since this new cbbox lib have more checks and
> expect the things more strictly... so maybe it is not an issue at all.
>
> The backtrace does not help since it does not show any function that is
> using the cbbox :/
> I think if you run it with gdb it will give more precise info if you get
> the backtrace.
>
> Mario
>
> ________________________________________
> From: Kicad-developers [kicad-developers-bounces+mrluzeiro=
> ua.pt@xxxxxxxxxxxxxxxxxxx] on behalf of Nick Østergaard [oe.nick@xxxxxxxxx
> ]
> Sent: 24 February 2016 17:36
> To: Cirilo Bernardo
> Cc: KiCad Developers
> Subject: Re: [Kicad-developers] 3D refactor
>
> Hi Cirilo and Mario,
>
> I just built the 3d_initial_merge branch revno 6528, but I see some
> annoying asserts when running the 3d viewer, not the previewer in the
> 3d properties dialog:
>
> ASSERT INFO:
>
> /somepath/3d_initial_merge/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cbbox.cpp(114):
> assert "aBBox.IsInitialized()" failed in Union().
>
> BACKTRACE:
> [1] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
> wxEvent&) const
> [2] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase
> const&, wxEvtHandler*, wxEvent&)
> [3] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
> [4] wxEvtHandler::TryHereOnly(wxEvent&)
> [5] wxEvtHandler::ProcessEventLocally(wxEvent&)
> [6] wxEvtHandler::ProcessEvent(wxEvent&)
> [7] wxEvtHandler::SafelyProcessEvent(wxEvent&)
> [8] wxGLCanvas::OnInternalIdle()
> [9] wxWindowBase::SendIdleEvents(wxIdleEvent&)
> [10] wxWindowBase::SendIdleEvents(wxIdleEvent&)
> [11] wxFrame::SendIdleEvents(wxIdleEvent&)
> [12] wxWindowBase::SendIdleEvents(wxIdleEvent&)
> [13] wxFrame::SendIdleEvents(wxIdleEvent&)
> [14] wxAppBase::ProcessIdle()
> [15] wxApp::DoIdle()
> [16] g_main_context_dispatch
> [17] g_main_loop_run
> [18] gtk_main
> [19] wxGUIEventLoop::DoRun()
> [20] wxEventLoopBase::Run()
> [21] wxAppConsoleBase::MainLoop()
> [22] APP_SINGLE_TOP::OnRun()
> /somepath/3d_initial_merge/common/single_top.cpp:173
> [23] wxEntry(int&, wchar_t**)
> [24] main /somepath/3d_initial_merge/common/single_top.cpp:210
> [25] __libc_start_main
> [26] _start
>

Follow ups

References