← Back to team overview

kicad-developers team mailing list archive

Re: 3D refactor

 

Hi Cirilo,

I suggest that in CBBOX.cpp
instead of:

void CBBOX::Union( const CBBOX &aBBox )
{
    wxASSERT( aBBox.IsInitialized() );

you change the assert to something like:

if( !aBBox.IsInitialized() )
 return;

That is safer and compatible with the actual source code.

Mario
________________________________________
From: Cirilo Bernardo [cirilo.bernardo@xxxxxxxxx]
Sent: 24 February 2016 22:12
To: Mário Luzeiro
Cc: Nick Østergaard; KiCad Developers
Subject: Re: [Kicad-developers] 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<mailto: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<mailto:ua.pt@xxxxxxxxxxxxxxxxxxx>] on behalf of Nick Østergaard [oe.nick@xxxxxxxxx<mailto: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


References