예제 #1
0
파일: ccOctree.cpp 프로젝트: cnyinfei/trunk
void ccOctree::drawMeOnly(CC_DRAW_CONTEXT& context)
{
	if (m_thePointsAndTheirCellCodes.empty())
		return;

	if (MACRO_Draw3D(context))
	{
		bool pushName = MACRO_DrawEntityNames(context);

		if (pushName)
		{
			//not fast at all!
			if (MACRO_DrawFastNamesOnly(context))
				return;
			glPushName(getUniqueIDForDisplay());
		}

		assert(m_displayedLevel < 256);
		RenderOctreeAs(m_displayType,this,static_cast<uchar>(m_displayedLevel),m_theAssociatedCloudAsGPC,m_glListID,m_shouldBeRefreshed);

		if (m_shouldBeRefreshed)
			m_shouldBeRefreshed = false;

		if (pushName)
			glPopName();
	}
}
예제 #2
0
파일: ccOctree.cpp 프로젝트: dshean/trunk
void ccOctree::drawMeOnly(CC_DRAW_CONTEXT& context)
{
	if (m_thePointsAndTheirCellCodes.empty())
        return;

    if (MACRO_Draw3D(context))
    {
        bool pushName = MACRO_DrawEntityNames(context);

        if (pushName)
            glPushName(getUniqueID());

        RenderOctreeAs(displayType,this,displayedLevel,_associatedCloud,glID,shouldBeRefreshed);

        if (shouldBeRefreshed)
            shouldBeRefreshed = false;

        if (pushName)
            glPopName();
    }
}