示例#1
0
void ISegChain::Draw()
{
	//glBegin( GL_LINES );
	//deque< ISeg* >::iterator s;
	//for ( s = m_ISegDeque.begin() ; s != m_ISegDeque.end(); s++ )
	//{
	//	(*s)->Draw();
	//}
	//glEnd();

	//ISeg* backSeg  = m_ISegDeque.back();
	//ISeg* frontSeg = m_ISegDeque.front();


	//glBegin( GL_POINTS );
	//	glVertex3dv( backSeg->m_IPnt[1]->m_Pnt.data() );
	//	glVertex3dv( frontSeg->m_IPnt[0]->m_Pnt.data() );
	//glEnd();

	//glColor3ub( 255, 255, 0 );
	//m_ACurve.Draw();
	//glColor3ub( 0, 255, 255 );
	//m_BCurve.Draw();

//	glColor3ub( 255, 0, 255 );
	glLineWidth(1.0);
	glBegin( GL_LINE_STRIP );
	for ( int i = 0 ; i < (int)m_TessVec.size() ; i++ )
	{
		IPnt* ip = m_TessVec[i];
		vec2d uw = ip->GetPuw( m_SurfA )->m_UW;
		vec3d p = m_SurfA->CompPnt( uw[0], uw[1] );
		glVertex3dv( p.data() );
	}
	glEnd();
	glPointSize(4.0);
	glBegin( GL_POINTS );
	for ( int i = 0 ; i < (int)m_TessVec.size() ; i++ )
	{
		IPnt* ip = m_TessVec[i];
		vec2d uw = ip->GetPuw( m_SurfA )->m_UW;
		vec3d p = m_SurfA->CompPnt( uw[0], uw[1] );
		glVertex3dv( p.data() );
	}
	glEnd();

	//ISeg* backSeg  = m_ISegDeque.back();
	//ISeg* frontSeg = m_ISegDeque.front();

	//glPointSize(4.0);
	//glBegin( GL_POINTS );
	//	vec2d uw = frontSeg->m_AUW[0];
	//	vec3d p = frontSeg->m_SurfA->CompPnt( uw[0], uw[1] );
	//	glVertex3dv(p.data() );
	//	uw = backSeg->m_AUW[1];
	//	p = backSeg->m_SurfA->CompPnt( uw[0], uw[1] );
	//	glVertex3dv(p.data() );

	//glEnd();

	////glPointSize(5.0);
	////glColor3ub( 0, 255, 255 );
	////glBegin( GL_POINTS );
	////for ( int i = 0 ; i < (int)m_SplitVec.size() ; i++ )
	////{
	////	glVertex3dv(m_SplitVec[i].m_Pnt.data() );
	////}
	////glEnd();



}