//--------------------------------------------------------- void CWKSP_TIN::_Draw_Triangles(CWKSP_Map_DC &dc_Map) { if( m_Parameters("DISPLAY_TRIANGES")->asBool() && dc_Map.IMG_Draw_Begin(m_Parameters("DISPLAY_TRANSPARENCY")->asDouble() / 100.0) ) { for(int iTriangle=0; iTriangle<asTIN()->Get_Triangle_Count(); iTriangle++) { CSG_TIN_Triangle *pTriangle = asTIN()->Get_Triangle(iTriangle); if( dc_Map.m_rWorld.Intersects(pTriangle->Get_Extent()) != INTERSECTION_None ) { TPoint p[3]; for(int iNode=0; iNode<3; iNode++) { CSG_TIN_Node *pNode = pTriangle->Get_Node(iNode); TSG_Point_Int Point = dc_Map.World2DC(pNode->Get_Point()); p[iNode].x = Point.x; p[iNode].y = Point.y; p[iNode].z = pNode->asDouble(m_fValue); } _Draw_Triangle(dc_Map, p); } } dc_Map.IMG_Draw_End(); } }
//--------------------------------------------------------- void CWKSP_PointCloud::On_Draw(CWKSP_Map_DC &dc_Map, bool bEdit) { if( Get_Extent().Intersects(dc_Map.m_rWorld) != INTERSECTION_None && dc_Map.IMG_Draw_Begin(m_Parameters("DISPLAY_TRANSPARENCY")->asDouble() / 100.0) ) { _Draw_Points (dc_Map); dc_Map.IMG_Draw_End(); } }