void CMesh::Simplify(int iVertices2Remain, float fMaxError, bool bConsiderMaterials) { TEdge *pEdge; bool bRemoveSecond; m_bConsiderMaterials = bConsiderMaterials; if (!m_arrCollapses.m_iCount) { InitOutputs(); InitBorders(); } InitEdgeEvaluation(); while (m_hashVertices.m_iCount > iVertices2Remain) { if (!SelectEdge(pEdge, bRemoveSecond, fMaxError)) break; RecordCollapse(pEdge, bRemoveSecond); CollapseEdge(pEdge, bRemoveSecond); // CheckEdges(); } }
void StyledFrame::Init() { m_frameSizer = new wxFlexGridSizer(3, 0, 0); m_frameInnerSizer = new wxBoxSizer(wxVERTICAL); m_framePanel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE); m_framePanel->SetSizer(m_frameSizer); m_frameInnerPanel = new wxPanel(m_framePanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE); m_frameInnerPanel->SetSizer(m_frameInnerSizer); m_frameInnerPanel->SetMinSize(wxSize(0, 0)); m_frameInnerPanel->SetBackgroundColour("#3e3e42"); m_headerPanel = new FrameHeader(m_frameInnerPanel, this); m_headerPanel->SetTitle(GetTitle()); m_headerPanel->SetMinSize(wxSize(0, 26)); m_headerPanel->SetBackgroundColour("#3e3e42"); m_contentPanel = new wxPanel(m_frameInnerPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE); m_contentPanel->SetBackgroundColour("#3e3e42"); /* Initialize the inner panel */ m_frameInnerSizer->Add(m_headerPanel, 0, wxEXPAND); m_frameInnerSizer->Add(m_contentPanel, 1, wxEXPAND); m_resizeHandler = new ResizeHandler(this); /* Initialize the borders */ InitBorders(); SetBorderSize(5); /* Set the default colors */ SetBackgroundColour("#3e3e42"); SetBorderColor("#2d2d30"); /* Fit everything on the frame */ Fit(); }